新闻中心

EEPW首页>嵌入式系统>设计应用> 组态王与单片机多机串口通信的设计

组态王与单片机多机串口通信的设计

作者: 时间:2011-12-12 来源:网络 收藏

Sta:设备地址,1个字节,设备地址范围为0~255,此地址为单片机的地址,由单片机中的程序决定;
R:读标志,1个字节(0x52);
W:写标志,1个字节(0x57);
DataType:需要交换的数据类型,1字节。其中“1”代表字节,“2”代表字,“3”代表浮点型;
DataNum:读取数据的个数,1字节;
DataAddr:数据偏移地址,2字节,低字节在前,高字节在后;
Data:实际传输的数据,低字节在前,高字节在后;
DataLong:单片机返回Data的字节数,2字节,低字节在前,高字节在后:
CRC:为从第1个字节至CRC前的所有字节的异或值,1字节;
ErrorCode:错误代码,“0”代表正确应答,“1”代表数据类型错误,“2”代表数据范围超限,“3”代表指令无法识别。

5 单片机通讯程序流程设计
图4为程序流程,图5为单片机通讯程序流程。80C51系列单片机多机通讯可归纳如下:

上位机的SM2=0,所有下位机的SM2=1,以便只接收上位机发来的地址;
上位机给下位机发送地址时,第9数据位应该为1,以指示下位机接收这个地址;
所有下位机在SM2=1,RB8=1和RI=0时,接收上位机发来的地址,进入相应中断服务程序,并与本机地址相比较,以确认是否为被寻址的下位机;
被寻址下位机通过指令清除SM2,以便正常接收上位机发送来的数据,并向上位机发回接收到的地址以便核实。未被寻址的下位机保持SM2=1,并退出各自的中断服务程序;
完成上位机和被寻址下位机之间的数据通信后,被寻址从机使SM2=1,并退出中断服务程序,等待下次通信。

6 结束语
该系统实现软件与单片机多机的实时通信,已经在实际项目中得到应用。应用的结果表明该设计方法简单有效,实时性好,成本低廉,可以在控制与监控系统中推广应用。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭