基于MSComm控件的PC机与单片机串行通信的实现.pdfVIP

基于MSComm控件的PC机与单片机串行通信的实现.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯 企业应用 琶 ◇ |蠢≯≯0|g ≯ 基于MSComm控件的PC机与单片机 串行 娣 哆 坝 庞友会,撒 潮,吴兴福 (北京林业大学工学院,北京 100083) 摘 要:本文介绍了如何利用通信控件MSComm设计PC机与单片机之间的串行通信。硬件部分采用 MAX232AESE芯片解决了Pc机与单片机之问通信连接电平不一致的问题;软件部分给出了 VC++6.0编写的PC机通信程序和C语言编写的单片机通信程序。 关键词:VC++6.0;PC机;单片机;串行通信 在自动计量测试系统中,由单片机控制的智能仪器与 PC机之间经常要进行数据交换。由于串行通信所用的传输 线少,并且可以借助现成的电话网进行信息传送,所以串行 通信是微机业应用系统进行数据交换常用通信方式。本文 介绍了基于微软VC++控件MSComm的串行通信编程,并 分别给出了PC机和单片机串行通信的实例程序。 1 PC机与80C51单片机之间的硬件 — -_L★ 】圭按 图1 PC机与8051之间的硬件连接图 由于 PC机与单片机是通过异步通讯口进行通信的。 协议由PC机采取主动,通信开始时由PC机发出一个 PC机中的串行口是标准的RS·232C,它的高电平信号在 握手信号 “0x0a”,并等待确认 (单片机接收到握手信号后响 +3V到+15V之间代表逻辑0,低电平信号在 ·15V到 ·3V之 应 “OxOb”),若收到确认 ,则通讯建立成功 ,并设一个标志 间代表逻辑1,与TTL电平不同;而80C51串行口输入输出 (m—rflag)表示通信已建立。之后PC向单片机发出发送数 都是1_rL电平。因此要完成两机之间的通信,必须对80C51 据命令 “0x0c”,单片机接收到命令后向PC机发送数据,开 单片机的串行口TXD(发送端)和RXD(接收端)进行电平转 始进行通信。如果数据出错 ,则PC机向单片机发送数据命 换。本系统中使用MAX232AESE芯片完成这两种电平之间 令 “0x0d”,单片机再次传数据。若要结束通信,则由PC机 的转换。采用RS232接口中的RD(接收数据线)、TD(发送 发出一个结束命令 “0x08”,通讯结束。每接收到一个数据 数据线)、GND(信号地)三线来完成双工通信。 先进行判断,若数据帧头和帧尾都正确,则把数据保存下来。 PC机与80C51单片机之间的硬件连接如图1所示。图 若接收到的是其它的数据,则直接丢弃。 中80C51的串行口仅占用了P3.o(i0脚)用作RXD,P3.1(11 3 单片机通信程序的实现 脚)用作TXD。因此,80C51的串行口可构成全双工的通信方 式。 3.1单片机80C51的串行通信原理 2 通信协议的设置 在80C51单片机中有一个异步通信串行接口,能方便地 构成双机串行通信。80C51的串行口主要由两个物理上独立 在进行通信软件设计时,如果所涉及的通信要求有较高 的串行数据缓冲器SBUF、发送控制器、接收控制器、输入 的正确性,而线路中会出现偶尔的错误,可设置相关的通信 移位寄存器和输出控制门组成。发送数据缓冲器SBUF只能 协议来保证通信

文档评论(0)

ewtoiu + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档