微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AT89S52的串口通信控制LCM显示

基于AT89S52的串口通信控制LCM显示

时间:01-07 来源:互联网 点击:

1 引言

计算机带来的革命性进步渗透到各个行业,传统意义上计算机的定义也发生大的变化.单片机简称Micro-Controller/Embedded -Controller,以其高性价比,备受工业控制,电子消费领域重视.单片机串口通信是很多系统集成用到的方式。在一些复杂的控制系统中,单片机和 PC机互联成为一种系统解决方案。单片机和PC机互联,利用PC机的强大运算决策能力,单片机作为特殊环境的数据采集和执行单元,越来越多地被利用到工业控制领域,这样可以大幅度地节约系统成本。

2 总体解决方案

单片机选用Atmel89S52,通过DB9串口线连接到计算机,串口通信采用RS232标准。单片机和计算机之间通信采用一定的通信协议。通过计算机端的串口通讯软件控制单片机上LCM的显示内容和显示方式。发送字符串或文本文件到单片机,单片机驱动LCM,并将接收到的内容显示在LCM上(LCM只能显示ASCII字符及8个自定义字符),通过PC端软件可以控制字符的显示方式,如滚动显示,换行显示,换屏显示,并可以读取当前LCM显示的内容。所以系统的基本组成就是单片机,PC机端串口通信软件。

由于PC端计算功能强于单片机,所以要预先处理好数据再向MCU发送。MCU提供一个容量有限的缓冲区,PC机端软件把要显示的内容送入缓冲,也可以从缓冲中读取正在显示的内容。PC端串口通信软件采用JAVA语言编写,JAVA语言的特色是高度的可移植性,另外JDK (JAVA Development Kits)提供了丰富的类库,能够很方便地构造良好图形用户接口的(GUI)应用程序。

3 系统硬件电路设计与实现

硬件电路主要分成电源电路,单片机的上电复位和振荡电路,单片机和LCM间的数据通路,另外就是单片机和PC机间的RS232通信模块的设计,采用MAX232系列芯片,负责电平信号的转换。

.3.1 电源部分设计

如图1所示,该电源部分电路,自带整流桥,所以可以输入直流或是交流9V电源,然后再通过7805稳定到5V供单片机工作。固定式三端稳压电源 7805是由输出脚Vo,输入脚Vi和接地脚GND组成,它的稳压值为+5V,它属于CW78XX系列的稳压器,输入端接电容可以进一步的滤波,输出端也要接电容可以改善负载的瞬间影响,此电路的稳定性也比较好,只是采用的电容必须要漏电流要小的钽电容,如果采用电解电容,则电容量要比其他的数值要增加 10倍。


图1 系统电源电路图

3.2单片机外围电路及LCM驱动电路

单片机的最小系统包括震荡电路、复位电路等。该系统的时钟部分都是采用晶体振荡器实现的。考虑到电源的输入纹波对单片机的影响,在电源的管脚增加一个电容来实现滤波,以较小输入端受到的干扰。在本系统中采用11.0592Mhz的晶振,由10K电阻和10uF电容构成上电复位电路。-EA/Vpp 接VCC,因为访问内部存储器.ALE/-PROG应置空。单片机的P0和P2口和RT1602 LCM连接。采用11.0592MHz的目的是方便串口使用9600bit/s的通信速率。

LCM显示模块是一种将液晶显示器件,连接件,集成电路,PCB线路板,背光源,结构件装配在一起的组件,实际上它是一种商品化的部件。本设计选用 1602系列液晶点阵字符模块,每行可以显示16个字符,共2行。它是由点阵字符液晶显示器和专用的行,列驱动器,控制器及必要的连接件,结构件装配而成的,可以显示数字和西文字符。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。

图2 单片机外围电路及LCM驱动电路原理图

3.3 RS232串口通信电路

该系统实现串口通信模块主要是与上位机进行通信。单片机系统将保存在RAM中的数据送到上位机进行处理,从而减轻单片机系统的负担。由于单片机与上位机进行通信时接口电平不同,因此需要进行接口转化,这里采用MAX232芯片来实现接口电平的转化。

4 通信协议的设计

单片机和PC机端软件进行通信,就必须要遵守一定的通信规则,比如,MCU主动发送初始化成功代码到PC端,PC端发送一个特定的代码说明将要向MCU发送数据了,MCU做好接收的准备.

RS232通信速率最高支持19200bit/s.本软件采用9600bit/s通信速率。所以通信协议要尽可能短小,以提高通信效率。

因为LCM只能显示192个英文字符及标点符号。所以握手信号不能采用此已知的字符,并且要保证握手信号尽可能地短,所以使用十六进制的值来表示。通信协议的定义如表2所示:

表2 通讯协议

握手信号(通信协议)

字节码(十六进制)

含义

0xff

PC向MCU发送LCM 显示信息

0xfe

PC发送LCM信息结束

0xfd

PC请求MCU发送LCM显示信息到PC

5系统软件设计

系统软件设计部分包括单片机端和PC端两部分。单片机端主要是通过串口接收来自上位机的信息,然后将得到的信息在LCM中显示。PC端软件部分主要通过编

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top