单片机串口通信的设计教学文案Word下载.docx
- 文档编号:20556585
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:6
- 大小:167.05KB
单片机串口通信的设计教学文案Word下载.docx
《单片机串口通信的设计教学文案Word下载.docx》由会员分享,可在线阅读,更多相关《单片机串口通信的设计教学文案Word下载.docx(6页珍藏版)》请在冰豆网上搜索。
组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。
3PC机与单片机的硬件接口电路
图1为上位PC机与下位单片机80C51的连接电路。
PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片
机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。
RS-485采用差分式传输信号,最大传输距离为1219m最大传输速率为10Mb^s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。
当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而
言,用双绞线可获得较强的抗干扰能力。
RS-485采用二线与四线平
衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上
接电阻(约120Q)。
由于80C51系列单片机STC89C5串行接口的,TTL电气特性与
RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电
气转换。
这里采用Maxim公司的MAX485图2为其接口电路。
图2STC89C52与MAX紹亦筋農驻睦
图2中,MAX485的RE和DE南STC89C52单片机的P1.7控制。
由于MAX48以半双工的方式工作,因此由P1.7控制其发送与接收。
当P1.7为高电平时,驱动器使能而接收器为高阻态,此时可发送数据;
而当P1.7为低电平时.接收器使能而驱动器为高阻态,此时接收数据。
另外由于PC机的COM口是基于RS-232的串行通讯口.其电气特性与RS-485不一致,因此也需电平转换。
图3为单片机地址设置电路,单片机STC89C52勺P1口的低4位用于设定本机地址,通过4位DIP开关的组合最多可设定16种地址。
如当4位开关全部断开时,对应的本机地址是1111。
下位单片机在
开始工作前需先设定自己的地址,这样,在开机自检时下位单机片就能获取本机地址。
+5V
SWDIP-4lkn
lk£
)
IkQJ
lkQ
4n~o>
Pl.1
PL2>
pT7T>
图3单片机地址设並lUn路严氷袒
4系统通讯协议设计
组态王提供了通过PC机与单片机串口进行十六进制数据通讯的驱动,而驱动中已经规定好其通讯协议。
4.1通讯参数
通讯参数包括数据位、停止位、波特率、校验方式。
其中,数据位、停止位、波特率由单片机决定。
组态王中的设定和单片机一致即可。
校验方式参照“数据传输格式”部分。
4.2数据传输格式与协议说明
格式1组态王发送地址请求格式(检验位为1):
:
N(
Sta
EOT
el.ecfai!
CRC
'
scorn电8坂盘MU
格式2单片机应答地址格式(检验位为0):
ACK
ETX
elecfar
J叽
格式3组态王读数据请求格式(检验位为0):
ENQ
R
DataType
DataAddr
DataNum
EOT!
CRCelecfanscom电扌覧杞丘
格式4单片机应答读数据格式(正确)(检验位为0):
—
i)ataLong
Data-*
EH
el
edansccmt
格式5单片机应答读数据格式(错误)(检验位为0):
7'
7-1'
/、厂1-41八
NAKEnorCodeETX
CRCrfanscomits
格式6组态王写数据请求格式(检验位为0):
E
NQWDalaTypeDataAdflrData
1.-J
FATCRC
格式7单片机应答写数据格式(正确)(检验位为0):
11]
EnorCode
L.
fansmms<
协议具体说明如下:
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系
列单片机多机通讯可归纳如下:
发进应备地址
雄教釈默4)
上位机的SM2=0所有下位机的SM2=1以便只接收上位机发来
的地址;
上位机给下位机发送地址时,第9数据位应该为1,以指示下位机接收这个地址;
所有下位机在SM2=1RB8=1和RI=O时,接收上位机发来的地址,进入相应中断服务程序,并与本机地址相比较,以确认是否为被寻址的下位机;
被寻址下位机通过指令清除SM2以便正常接收上位机发送来的数据,并向上位机发回接收到的地址以便核实。
未被寻址的下位机保持SM2=1并退出各自的中断服务程序;
完成上位机和被寻址下位机之间的数据通信后,被寻址从机使SM2=1并退出中断服务程序,等待下次通信。
6结束语
该系统实现组态王软件与单片机多机的实时通信,已经在实际项目中得到应用。
应用的结果表明该设计方法简单有效,实时性好,成本低廉,可以在控制与监控系统中推广应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串口 通信 设计 教学 文案