1.任务描述
单片机在工业控制系统中已得到广泛的应用,它以价格低、功能全、体积小、抗干扰能力强、开发应用方便等特点已渗透到各个开发领域。特别是利用其能直接进行全双工通信的特点,在数据采集、智能仪表仪器、家用电器和过程控制中可作为智能前沿机。但由于单片机计算能力有限,难以进行复杂的数据处理,因此应用高性能的计算机对系统的所有智能前沿机进行管理和控制,已成为一种发展方向。在功能较复杂的控制系统中,通常以PC为主机,单片机为从机,由单片机完成数据的采集及对装置的控制,而由主机完成各种复杂的数据处理和对单片机的控制。所以计算机与单片机之间的数据通信越发显得重要。
本任务是设计一个单片机串行通信接口板,基本要求如下:
(1)借助一个Windows下的串口调试软件,从PC向单片机发送字符。
(2)当字符为0~9或A~F时单片机将会在数码管上显示相应的字符。
(3)实现单片机与PC之间的串行通信。
(4)要求上电后数码管上显示0。
2.任务分析
本设计主要采用了三线制连接串口。按照设计要求,完成该任务需要解决以下几个问题:①单片机的选型;②单片机与PC电平转换电路的构建;③单片机与PC串口通信软件(通信协议)的设计。
单片机的选型同前面项目。本任务的目的是充分利用单片机的串口资源与PC进行通信。51单片机有一个全双工的串行通信口,所以单片机和计算机之间可以方便地进行串行口通信。但进行串行口通信时要满足一定的条件,比如计算机的串口是RS-232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路。在此,我们采用专用芯片MAX232。PC与单片机的接口电路如图8-11所示。
3.任务实施
(1)总体设计。
根据任务分析,单片机与PC机的串行通信接口设计可采用AT89S51单片机,需要1个通用异步接收和发送器UART用来发送和接收数据。由于51单片机输入、输出电平为TTL电平,而PC配置的是RS-232C标准接口,二者的电气规范不同,所以在设计中需要加电平转换电路。常用的有MC1488、MC1489和MAX232,本任务电平转换采用MAX232芯片,与PC相连采用9芯标准插座。单片机与PC的串行通信接口系统结构图如图8-11所示。
图8-11 单片机与PC的串行通信接口系统结构图
主要采用AT89S51单片机来控制管理,整个系统工作时,单片机与PC实现点对点的串行通信。
(2)硬件设计。
本任务采用的是点对点发射与接收,单片机与PC的串行通信接口原理图如图8-12所示。实现该任务的硬件电路中包含的主要元器件为:AT89S51 1片、MAX232 1片、LED共阴数码管1个,11.0592MHz晶振1个、电阻和电容等若干。(www.xing528.com)
图8-12 单片机与PC的串行通信接口原理图
(3)软件设计。
(1)软件流程设计。
单片机与PC的串行通信接口软件流程图如图8-13所示。
软件采用模块化设计方法,其中包括主程序模块、向串口发送一个字符模块、向串口发送一个字符串模块、串口接收中断模块、串口初始化模块、LED共阴数码管0~F显示字形常数表。
源程序如下:
图8-13 单片机与PC的串行通信接口软件流程图
(4)虚拟仿真。
单片机与PC的串行通信接口板的Proteus仿真硬件电路图如图8-14所示,当字符为0~9或A~F时,数码管正常显示该输入字符,实现了单片机与PC之间的正常串行通信。
图8-14 单片机与PC的串行通信接口板Proteus仿真硬件电路图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。