用C语言或汇编语言实现串口通信(PC和单片机间) 上位机和下位机的主从工作方式为工业控制及自动控制系统所采用
由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS-232或者RS-485接收、发送数据和传送指令
单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示 1 硬件电路的设计 MCS-51单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据
所以单片机和PC机之间可以方便地进行串口通讯
单片机串口有3条引线:TXD(发送数据),RXD(接收数据)和GND(信号地)
因此在通信距离较短时可采用零MODEM方式,简单三连线结构
IBM-PC机有两个标准的RS-232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了PC机与MCS-51机之间能可靠地进行串行通信,需要用电平转换芯片,可以采用MAXIM公司生产的专用芯片MAX232进行转换
电路如图 1所示
硬件连接时,可从MAX232中 的2路发送器和接收器中 任选 一路,只 要注 意 发送与接收的引脚 对应 关 系即 可
接口电路如图 3
总体设计按照整体设计思路方案绘制原理图如下所示: 2 系统软件设计 软件设计分上位机软件设计和下位机软件设计
这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的:一个发送,另一个接收
为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序
现约定通信协议如下:PC机和单片机都可以发送和接收
上位机和下位机均采用查询方式发送控字符和数据、