AT89S52单片机与PC机串行通讯设计
时间:02-27 10:07 阅读:3181次
*温馨提示:点击图片可以放大观看高清大图
简介: 单片机与PC机串行通讯,又称为下位机与上位机的串行通讯。采用这种通讯方式,可以解决工况条件差对工作职员带来的危害,又可以实现实时在线远间隔集中监控,对工作现场分散的单片机采用控制平台治理,既可以改善工作条件,又可以进步工作效率。本文针对串行通讯的电路设计和程序设计做出了具体的阐述。
1电路设计
通讯接口标准有RS232、RS423A、RS422A、RS485等,常用的接口标准有RS232和RS485。RS232在微机串行通讯接口中广泛采用,在加装了调制解调器(modem)的情况下,这种通讯可以通过电话线传输数据,并且可以传输几千公里远的间隔,假如没有modem可以传输十几米远。本课题采用的是RS-232直连无modem方式和DB-9连接器,单片机采用AT89S52,使单片机的串行输进端(RXD)和串行输出端(TXD)与PC机的COM口相连接。
RS232是用正负电压来表示逻辑状态,与TTL高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口相连或TTL器件相连,必须在RS232与TTL之间进行电平和逻辑关系的变换。实现这种变换的方法可以用单立元件,也可以用集成芯片,本文采用MAX232来完成TTL-EIA(美国电子产业联合会)双向电平转换。MAX232内部有电压倍增电路和转换电路,仅需+5V电源便可工作,使用十分方便,其与AT89S52连接时可以采用最简单的方式连接(见图1),MAX232的T1IN引脚与89S52的串行输进口线P3.1TXD相连,R1OUT引脚与89S52的串行输进口线P3.0RXD相连,MAX232的T1OUT、R1IN分别于与RS232的2、3引脚相连。MAX232泵电源引脚必须接0.1μf电容,如图中的C26、C27、C28、C29。
由于电路中采用了电平转换芯片,只需把单片机所用到的连接器和PC机串口所用的连接器的2、3、5管脚对应连接起来,2、3管脚不需交叉连接(如图2所示);假如是PC机之间或同一个PC机的两个COM口相连,则两个连接器的2、3管脚需交叉相连。
2程序设计
主程序的设计是:AT89S52单片机采用定时器1,工作于方式2,11.059MHz的晶振,波特率为9600Hz,时间常数是FDH,由单片机先向PC机发送十六进制的联络信号“aaH”,PC机接收正确时回答BBH,以数组adr[]的和作为校验和,测试正常时发送数组tri[]。完整程序代码如下:
上下位机间通讯是否正常可以通过上位机安装的串口调试软件实现,上述程序经过调试软件调试后运行正常。