随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC 机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC 机,由PC 机对这些数据进行处理或显示。本文介绍PC 机和单片机通信在一种基于C8051F 单片机的波形发生器中的应用,在上位机上显示正弦波的幅值和频率,由上位机发送指令可以改变波形幅度及频率。
硬件电路的设计
MCS251 单片机有一个全双工的串行通讯口UART,利用其RXD 和TXD 与外界进行通信,其内部有2 个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。所以单片机和PC 机之间可以方便地进行串口通讯。单片机串口有3条引线: TXD (发送数据) 、RXD (接收数据)和GND(信号地) 。因此在通信距离较短时可采用零MO2DEM方式,简单三连线结构。IBM2PC 机有两个标准的RS2232串行口,其电平采用的是E IA电平,而MCS251单片机的串行通信是由TXD (发送数据)和RXD (接收数据)来进行全双工通信的,它们的电平是TTL 电平;为了PC 机与MCS251机之间能可靠地进行串行通信,需要用电平转换芯片,我们采用芯片MAX232 进行转换。