PC机与多MCS51单片机间的串行通信设计解析.docx
- 文档编号:15665984
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:12
- 大小:243.87KB
PC机与多MCS51单片机间的串行通信设计解析.docx
《PC机与多MCS51单片机间的串行通信设计解析.docx》由会员分享,可在线阅读,更多相关《PC机与多MCS51单片机间的串行通信设计解析.docx(12页珍藏版)》请在冰点文库上搜索。
PC机与多MCS51单片机间的串行通信设计解析
PC机与多MCS-51单片机间的串行通信设计ΞTheMethodofSerialCommunicationbetweenPCandMultipleMCS-51ChipMicrocomputer
北京工业大学 (北京100022 许丽佳 陈阳舟
【摘 要】 主要讲解了IBM2PC机与MCS251单片机多机系统的通信原理,给出了其硬件接口框图,并详细地分析了系统的多机通信软件设计。
关键词:
单片机,分布式系统,串行通信
【Abstract】 ThepaperdiscussestheprincipunPCandmultipleCS251chipmicrocomputers.Italsogivesinterface,andthedetailedanalysisofthesoftwarethemulti2processors.
Keywords:
chdsystem,serialcommunication
1 引 言
在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。
它们大多由IBM2PC微机和MCS251单片机组成。
单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。
同时,IBM2PC机正好补充单片机人机对话和外围设备薄弱的缺陷。
各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。
故IBM2PC机(上位机与各MCS251单片机(下位机之间的通信显得尤其重要。
本文主要探讨它们之间的远距离串行通信接口和软件程序设计。
2 硬件设计接口
RS22322C串行通信接口是美国电气工业协会(EIA与BELL公司等一起开发的一种标准通信协议,现在它在终端、外设与计算机中被广泛采用。
该标准规定了21个信号和25个引脚,但在智能仪器与计算机之间的通信中常用2个信号及3个引脚(2脚数据输入,3脚数据输出,7脚信号地。
它采用双极性的负逻辑信号,0逻辑信号为+3V至12V,1逻辑信号为-3V至-12V,它的传输速率最大为20kbits,传输距离仅为15m。
由于RS2232主要是完成电平移位、转换和信号反相等,所以它有自己的电平转换与驱动芯片,如MC1488(发送与MC1489(接受。
IBM2PC机有两个标准的RS2232串行口,其电平采用的是EIA电平,而MCS251单片机的串行通信是由TXD(发送数据和RXD(接收数据来进行全双工通信的,它们的电平是TTL电平,为了PC机与MCS251机之间能可靠地进行串行通信,需要用电平转换芯片。
由于MC1488和MC1489需要±12V、+5V电源供电,故采用MAXIM公司生产的低功耗、单电源的MAX232芯片,因为它自身带有电源电压变换器,可以把+5V电源变换成RS2232输出电平所需的±10V电压,能实现RS2232的技术指标,并只需要+5V的电源,
为串行通信带来了较好的性能和低廉的价格。
MAX232的接口电路图如图2所示。
图1
PC机采用可编程串行异步通信控制器8251A来
电子工程师通信技术与设备 Vol.28No.8 2002Ξ收稿日期:
2002—05—14
图2
实现,通过对INS
8251A送格式和速度及其工作方式,方式一致,机的通信。
MCS251和8251A3。
图3
由于远距离数据传输,在系统中用了两片MAX485芯片进行数据传送,还采用了两级光电隔离来提高系统的抗干扰能力。
单片机和PC机之间的RS2232通信硬件接口电路框图如图4所示。
3 串行通信的软件程序设计
3.1 主从式多机通信原理
MCS251用于多机通信时必须工作在方式2或方
式3。
以方式3为例,每发送一帧数据为11位:
1位起始位(0,8位数据位和1位停止位(1,附加的第9位
数据在非多机系统中为奇偶校验位,在发送端有
SCON的TB8产生,在接收端传送到SCON的RB8。
它还可设定为“0”或“1”作为在多机通信中区分数据帧(0标志还是地址帧(1标志的标志。
在
MCS251多机
系统中有以下协议:
所有的各从机均处于听命状态,即SM2=1,以便接收主机发来的地址,当接收到一帧信息的RB8为“1”时,表示主机发送来的是地址信息,所有的从机均发生接收中断,否则中断屏蔽。
当一从机进入相应的中断服务程序,把接收到的地址和本机的地址比较,如果相符合就令其SM2=0,并向主机发回本机地址以作应答,该从机就与主机联通,准备接收主机发来的命令或数据信息,而其他的未被寻址从机保持
SM2=1并退出各自的中断服务程序。
这样,只有SM2=0,顺利
被寻址从机在通信完成M1,,等待下次通图4
3.2 多机通信协议
要实现单片机和PC机的正常通信,必须正确设定它们两者之间的通信方式,保证双方都用相同的波特率、起始位、停止位、奇偶校验位,并且要建立双方通信的应答信号。
单片机既可工作在同步移位寄存器方式下也可工作在UART(通用异步收发器下。
串行口的通信方式是由特殊功能寄存器SCON来控制的。
其各控制定义如下:
SM0
SM1
SM2REN
TB8
RB8
TI
RI
SM0,SM1:
工作模式设定位;SM2:
允许使用方式2、
3多机通信控制位;RB8:
接收数据第9位;TB8:
发送数据第9位;TI:
发送中断标志;RI:
接收中断标志。
本文中工作方式为3,即9位UART定时器T1作为波特率发生器,工作在方式2,若选定波特率为1200bps,则
计数初值为0E8H(SMOD=0,时钟频率Fosc为11.059MHz。
PC机的异步通信接口为INTEL8251A,它可设
定1位、1.5位或2位停止位,数据可在5~8位之间选择,通信频率为0~9.6Kbps,有奇偶校验、帧校验、溢出校验三种方式。
可通过对它写入一定的方式控制字、命令控制字从而进行初始化。
它与MCS251的连接如前面所示,则它的数据口地址为0F0H,控制口地址
许丽佳,等:
PC机与多MCS-51单片机间的串行通信设计
为0F1H。
它的工作状态寄存于其状态字寄存器中,可由MCS251的CPU读取。
通信协议如下:
(1串行通信波特率为1200bps;(2帧格式为8位数据位,一位起始位,一位可编程的第9位(即发送和接收的地址数据位的标志位,一位停止位;(3主机和从机遵循主从原则,主机用呼叫方式选择从机,数据在主机和从机之间双向传递,各从机之间的相互通信需通过主机作为中介;(4主从机之间还应传送一些供它们识别的命令和状态字,如以00H表示主机发送从机接收命令,以01H表示从机发送主机接收命令等。
3.3 通信程序设计思路及其实现
程序主要包括主机程序(由主机主程序和通信子
程序组成、从机主程序和其中断服务程序组成。
主机程序主要完成对8251A间的通信,主机程序框图见图5成对串行口的初始化、(的波特率一致,MCS251单片机与PC图6
。
图5
这里简单介绍8251A的初始化程序,设8251A工
作于异步通信方式,波特率系数×1,字符长度为8位,偶校验,所以方式字为7DH,又设8251A为全双工方式,出错标志复位,故其命令控制字为27H,其相应的初始化程序如下:
MOVR0,#0F0
H
图6
;数据口地址0F0H赋给R0MOVR1,#0F1H
;控制口地址0F1H赋给R1MOVA,#7DHMOVX@R1,A;方式控制字送8251AMOVA,#27HMOVX@R1,A;命令控制字送8251ASETBEA;开中断SETBEX0;允许INT0中断MOVIP,#01H
;INT0为中断最高优先级别
……
2从机的串行口初始化程序(主程序:
MOVTMOD,#20H;定时器T1定义为方式2MOVTL1,#0E8H;波特率为1200bpsMOVTH1,#0E8H;
(下转第25页
电子工程师
通信技术与设备 Vol.28No.8 2002
Ne激光器,由于该激光器工作寿命可长达5万小时且
功率高,这样就能使探测口开小一些,也即光阑口径小一些,使背景光的信号弱
。
图2
光学透镜采用f=60mm,物距、像距都约在
120mm,使测量点在光轴附
近,若测量范围大时,d取得大些。
3.2 数据采集及接口设计
CCD线阵(1024个像素,间距14Λm及其驱动电
路板探头内,
该电路板上自
带AD转换、缓存器和
RS485通讯口(传送数据的波特率为38.4KbpRS4852RS232号的串入。
图3
两块CCD采用同步时钟同时采样,上一路信号送主机,下一路信号送从机。
从机对采集来的数据进行分析处理得到下位移x2,然后送主机。
虽然从机功能简单,也要用奔腾机,要满足数据处理的高速度(与主机匹配及采集和发送数据的高波特率;系统标定的参数
由于热胀冷缩及不小心碰撞会发生变化,再次标定参数很方便,直接接上显示器调用标定参数子程序即可;微机的价格现在已很便宜。
4 系统软件设计
首先通过软件设置CCD的光积分时间,在内存中开辟出1024×8位的存储区供采集来的数据缓存用。
主从机各自读COM1口数据,进行阈值二值化处理,然后根据求中点得出像的位置z1、z2,再根据各自像上零点位置z0、z0′求出像位置x′1、x′2,x′1=(z1-z0×
14Λm,x′2=(z2-z0′×。
根据标定好的系统参数求出1x2,2通过COM2口送主机,
h。
然后主机保存,若正常则重新采集数据,,然后去采集数据。
主机、从机系统软件流程图略。
5 结束语
该板材在线测厚系统的精度为20Λm,测量重复
性好,抗干扰性好。
由于数据采集用串行口通讯,每秒采样4个点。
参 考 文 献
1 戴立敏,江潼君.激光三角法测量传感器的精密位移测量.
仪器仪表学报,1994,15(4
2 章小兵.激光三角法测厚研究.中国科学院安徽光学精密
机械研究所硕士学位论文,1999
3 章小兵,戚俊,张毅等.一种关于大位移激光三角法测量参
数标定方法的研究.量子电子学报,2002,19(1:
74 ■
(上接第21页
SETBTR1MOVPCON,#00H;置SMOD=0MOVSCON,#0F8H;串行口定义为方式3,允
许接收,SM2=1,TB8=1
SETBIE,#90H
;开CPU中断,开串行口中断CLRRI ……SJMP$
4 结束语
本系统软硬件在IBMPCXT机和DICE系列的
仿真平台的控制,现已用于实际系统,且特别适用于从机实时性要求较高的中小型工控系统。
参 考 文 献
1 何立民.单片机应用文集(2.北京:
北京航空航天大学出
版社,1993
2 何立民.单片机高级教程.北京:
北京航空航天大学出版
社,2000
3 胡汉才.单片机原理及其接口技术.北京:
清华大学出版社,
1996
4 陈荣保,肖本贤,李钢.基于MODEM和单片机的远程通讯
系统设计与实现.微电子学与计算机,1999(1
5 何飞跃。
基于MCS251单片机的LCU与上位机的通信.微
计算机信息,1999(1 ■
章小兵:
激光三角法板材在线测厚系统设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PC MCS51 单片机 串行 通信 设计 解析