利用SPComm控件实现的PC机与单片机串口通讯.docVIP

利用SPComm控件实现的PC机与单片机串口通讯.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用SPComm控件实现的PC机与单片机串口通讯

利用SPComm 控件实现的PC 机与单片机串口通讯 发布日期:2006-06-01 作者:刘 畅 汪道辉 来源:微计算机信息 最小巧、最精致、测试最完整、性价比最高的无线射频开发平台和模块: NORDIC无线射频开发平台系列 NORDIC无线射频模块系列 最超值的ARM7/ARM9开发板系列 AVR单片机开发板与仿真器 摘?要??本文介绍一种基于Delphi语言利用SPComm控件实现PC机与单片机串口通讯的软硬件实现方法。给出硬件设计思路,介绍SPComm控件的使用发法。详细介绍PC机与单片机多机通讯的通讯原理,通讯协议以及软件实现方法。着重介绍上位机通讯软件实现过程中几个重点环节的解决发法。 关键词????串口通讯;RS-232;RS-485;SPComm;?Delphi;?PC机 1.引言 随着计算机网络通讯与信息技术的高速发展,采用PC与多台单片机构成的分布式系统、工业控制系统、数据传输系统等越来越受到广泛应用。下位机采用运行性能较为可靠的单片机,直接对所控制对象进行实时数据的采集、计算、判断和处理;而上位机则多采用PC机(如Pentium系列),主要负责对各单片机进行综合管理,以实现测控系统的自动检测与控制。在这类应用系统中,稳定可靠、方便快捷的数据通信是实现应用系统功能的基础和保障。因此,如何根据系统的实际工作环境条件,选择恰当的通信接口和协议,合理设计通信软件和硬件控制电路以获得高可靠性,强抗干扰和容错能力成为衡量此类系统好坏的最重要因素。 本文以某一工程项目通讯系统为例,介绍一种基于Delphi语言利用SPComm控件实现了计算机与下位AT80C51单片机之间通信的软硬件设计与实现,并给出关键环节的具体的实现方法。 2.硬件系统 ??? 该系统以PC机作为上位主机,各下位机由AT80C51单片机组成,各下位机之间无数据传输,只与主机产生数据交换。根据该工程的特点,各单片机与PC机以RS-485总线连接。 由于微机串口通常采用RS-232电平,而单片机串口是TTL电平,二者不兼容。所以,接口必须做电平转换处理。单片机串行口的TXD、RXD经MAX485电平转换为RS-485电平,在主机端经MAX485和MAX232转换为RS-232电平,再与微机的RxD、TxD和GND相连。为了提高可靠性和抗干扰能力。在本项目工程中,可以对下位机主控板上的通信部分进行光电隔离。这样的话,使得即便是有超越MAX485的ESD保护范围的静电或雷电感应在信号线上,也只会毁坏驱动器或光耦合,不至于破坏整个后级系统。同时,通信总线采用屏蔽线,各段线路屏蔽层相联接,集中到某一处,采用了必要的接地措施。布置总线时尽量避免了与高压电或动力电线路平行,无法避免时,尽量让两者之间距离足够大。其接口系统结构图如图所示: 3.系统软件设计 1) 通讯协议 在本系统中,PC机是主控单元,单片机是PC机信息的接受者。由于涉及到单片机多机通讯,因此串行口工作方式选为方式3,通讯格式为每11位构成一串行帧:1位起始位(0),8位数据位(最低有效位在前),1位地址帧识别位(1),1位停止位(1),无奇偶校验位(其中第9位进到单片机RB8)。该设计中,每次通讯过程总是由上位PC机首先发起,通讯时单片机先进入通讯状态,等待与计算机通讯。其过程分为以下几步: (1)? 通讯前每台单片机设置一个地址。所有单片机SCON寄存器中的SM2位置1,准备接收地址帧。 (2)? PC机向所有单片机发地址帧,单片机接收到地址帧后与本机地址比较,若不同则不动作,继续等待下一个地址帧;若相同,返回本机地址确认。 (3)? 主机接收到地址确认后,按要求向目标发送命令字。①传送数据命令:可根据要求单片机发送的数据的不同具体定义,为8位单字节数 ;②接收数据命令:EFh; (4)? 目标单片机接收到命令字后:按要求动作。①接收到“请求接收命令”:发FEh(若做好接收准备),发00h(若未准备好发送)。②接收到“请求发送数据”:按指定要求发送数据。 (5)? 由于数据传输是在强干扰的环境中进行的,而且传输距离又较远,为了保证数据能高速、准确传输,软件编程考虑对大批量数据进行分组传送,同时对每组数据进行和校验,检查其准确性。PC机每次接收到一组数据,均要进行再次和校验,然后将PC机的校验和结果和单片机传送过来的校验和相比较,若两者不等则说明传输有错校验失败,PC机给单片机发重传命令,要求单片机重新发送该组数据。若校验正确,PC机发确认信号,并准备接收下一组采样数据。 ??? 在传输过程中上位机发送出去的数据有三类:①从机地址;②命令字;③向下位机发送的数据包;收到的数据有两类:①从下位单片机发来的确认信号;②从下位机传来的数据;下位单片机接收和发送的数据与之

文档评论(0)

teda + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档