当前位置:首页 > 单片机 > 单片机
[导读] 在PC机与MCS-51单片机之间进行串行通信时,基本是一对一的,即用PC机向单片机每发1条命令,就等待单片机的1条返回信息。这样可能把大量时间浪费在PC机与单片机的通信过程中了。为此笔者经过实践,设计出可以批处理

 在PC机与MCS-51单片机之间进行串行通信时,基本是一对一的,即用PC机向单片机每发1条命令,就等待单片机的1条返回信息。这样可能把大量时间浪费在PC机与单片机的通信过程中了。为此笔者经过实践,设计出可以批处理执行PC机发给单片机的命令,就像DOS操作系统中的批处理命令一样,可连续批处理信息,结果当然提高了系统速度。文中提供了部分平台式C51软件源代码,以供大家参考。

1 通信协议

(1)通信数据格式
PC机→MCS-51单片机数据格式如表1所列。
MCS-51单片机→PC机数据格式如表2所列。

(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]格式:

一般把单条命令的长度控制在255以内。
PC机向单片机发送数据序列为:
STX,LENH,LENL,COMMANDH,COMMANDL,DATA…DATA,EDC,ETX
3 批处理的思想方法

(1)批处理命令BATCH_COMMAND (0X0000)

PC格式:

NUM——后续命令的个数;
Flag——需要返回的标志(00为要返回数据,其它为无需返回数据)。
COMMAND[i]=LEN,子命令体
功能:批处理执行功能。
返回状态及数据:根据Flag标志决定是否返回数据,按发送命令的顺序返回数据。

(2)控制批处理转移的命令

功能:没有数据和状态返回,控制下位机跳转。

① 控制BATCH_If(0X0001)用于判断,条件执行命令

功能:单片机遇到该命令,执行判断,如果结果为逻辑真,则执行紧跟BATCH_If的第1条命令;否则执行紧跟BATCH_If第2条命令。

PC格式:



num: 返回数据从右到左的第几个数据,为0时为状态数据的低位字节;
EQUAL/NOT——00为相等,1为不等;
VALUE——数值。
返回:无。

② 控制BATCH_Break(0x0002)跳出循环命令

功能:用于跳出BATCH_While循环。

PC格式:

返回:无。

③ 控制BATCH_While(0x0003)循环执行循环体内的命令

功能:循环执行循环体内的命令。

PC格式:

返回:无。

④ 控制BATCH_Return(0x0004)退出打包程序块

功能:退出打包程序块。

PC格式:

返回:无。

(3)注意事项

◇ BATCH _While循环不能嵌套使用;
◇ BATCH _Break只能用于BATCH _While循环体内;
◇ 需要立即获取返回数据的命令,一般不要放到批处理中。

(4)控制打包程序转移的PC机命令举例说明

该实例根据命令的结果判断是否转移,循环中只使用Reader_Version()。

PC机下传给单片机的代码:BATCH_ COMMAND

Reader_Version():假设为0X1001

实际PC机下传的代码为(HEX格式):
60 28 00 00 06 01 00 03 00 00 05 01 00 04 00 01 00 00 03 01 00
02 00 02 01 00 05 00 01 05 00 61 01 00 02 00 04 00 00 02 10 01 校验码 03

4 程序流程

各程序流程如图1~图4所示。

5 部分源程序代码

由于篇幅所限,这里只提供部分源程序。

(1)主程序

主程序首先接收数据,对数据进行分析,区分批处理和单条命令;然后执行命令;最后将结果返回上传给PC机。

(2)批处理程序

批处理程序将控制转移的命令都用标志来区分,通过解释命令序列来执行命令,最后将结果按照通信数据格式打包,上传给PC机,程序清单见本刊网站补充版。

结束语

本文在PC机与单片机串行通信的软件编程中做了探索,实现批处理信息数据通信的处理。相信这种新的思路和方法会有所发展并很快应用于实际嵌入式系统。

参考文献
1 曹素芬. 单片微型计算机原理与接口技术. 沈阳:东北大学出版社,1994
2 李朝青. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社,1999
3 徐爱钧,彭秀华. 单片机高级语言C51应用程序设计. 北京:电子工业出版社,1998
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭