位置:51电子网 » 技术资料 » 测试测量

PC机与单片机串行通信中实现命令批处理

发布时间:2008/5/27 0:00:00 访问次数:950

作者:航天信息股份有限公司 严天华 来源:《单片机与嵌入式系统应用》

摘要:介绍pc机与mcs-51单片机通信批处理命令的实现思想、方法、通信协议和c51程序平台。为pc机与单片机间串行通信程序设计提供一种方法上的新思路。 关键词:批处理 mcs-51单片机 通信协议 在pc机与mcs-51单片机之间进行串行通信时,基本是一对一的,即用pc机向单片机每发1条命令,就等待单片机的1条返回信息。这样可能把大量时间浪费在pc机与单片机的通信过程中了。为此笔者经过实践,设计出可以批处理执行pc机发给单片机的命令,就像dos操作系统中的批处理命令一样,可连续批处理信息,结果当然提高了系统速度。文中提供了部分平台式c51软件源代码,以供大家参考。 1 通信协议 (1)通信数据格式 pc机→mcs-51单片机数据格式如表1所列。

表1 stx len comma data[0]…data[n-1] edc etx 开始 长度 命令 数据体 校验码 结束码 0x60 n+2(2byte) (2byte)   stx^len^commandh^

commandl^data[0]…data[n-1] 0x03 mcs-51单片机→pc机数据格式如表2所列。

表2 stx len status data[0]…data[n-1] edc etx 开始 长度 命令 数据体 校验码 结束码 0x60 n+2(2byte) 2(byte)   stx^len^commandh^

commandl^data[0]..data[n-1] 0x03 (2)初始通信参数

  pc机与单片机间(9600,n,8,1)即波特率为9600 baud,1起始位,8数据位,1停止位,无奇偶校验。 (3)数据收发方式

  所有数据按二进制单字节发送。 (4)发送数据顺序

  发送同步码(1byte):stx=0x60

  发送后续字节的长度(2byte):len=2+n

  发送len个后续数据字节(n+2 byte):commandh,commandl,data[0]…data[n-1]

  发送校验码(1byte): edc=stx^commandh^ commandl^data[0]^…data[n-1]

  发送结束码(1byte): etx=0x03

2 单条命令command[n] command[n]格式: command data[0]~-data[n-1] xxxxh 数据体

作者:航天信息股份有限公司 严天华 来源:《单片机与嵌入式系统应用》

摘要:介绍pc机与mcs-51单片机通信批处理命令的实现思想、方法、通信协议和c51程序平台。为pc机与单片机间串行通信程序设计提供一种方法上的新思路。 关键词:批处理 mcs-51单片机 通信协议 在pc机与mcs-51单片机之间进行串行通信时,基本是一对一的,即用pc机向单片机每发1条命令,就等待单片机的1条返回信息。这样可能把大量时间浪费在pc机与单片机的通信过程中了。为此笔者经过实践,设计出可以批处理执行pc机发给单片机的命令,就像dos操作系统中的批处理命令一样,可连续批处理信息,结果当然提高了系统速度。文中提供了部分平台式c51软件源代码,以供大家参考。 1 通信协议 (1)通信数据格式 pc机→mcs-51单片机数据格式如表1所列。

表1 stx len comma data[0]…data[n-1] edc etx 开始 长度 命令 数据体 校验码 结束码 0x60 n+2(2byte) (2byte)   stx^len^commandh^

commandl^data[0]…data[n-1] 0x03 mcs-51单片机→pc机数据格式如表2所列。

表2 stx len status data[0]…data[n-1] edc etx 开始 长度 命令 数据体 校验码 结束码 0x60 n+2(2byte) 2(byte)   stx^len^commandh^

commandl^data[0]..data[n-1] 0x03 (2)初始通信参数

  pc机与单片机间(9600,n,8,1)即波特率为9600 baud,1起始位,8数据位,1停止位,无奇偶校验。 (3)数据收发方式

  所有数据按二进制单字节发送。 (4)发送数据顺序

  发送同步码(1byte):stx=0x60

  发送后续字节的长度(2byte):len=2+n

  发送len个后续数据字节(n+2 byte):commandh,commandl,data[0]…data[n-1]

  发送校验码(1byte): edc=stx^commandh^ commandl^data[0]^…data[n-1]

  发送结束码(1byte): etx=0x03

2 单条命令command[n] command[n]格式: command data[0]~-data[n-1] xxxxh 数据体

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!