1 引言
本文所设计的是一个同等灰度的单色LED显示屏控制系统,该控制系统以AT89S51为控制器,采用RS-232通信标准,可显示汉字、字符、数字或单色图片。系统采用ATMEL公司新推出的AT89S51作为主控芯片,由单片机完成与PC机的通讯,同时完成数据存储、循环显示等。系统能脱机运行,具有结构简单、维护方便、显示刷新速度快、成本低等特点。配合在线下载程序CONTROL ENGINEERING China版权所有,随时更新显示的内容,通过级连更改显示屏面积的大小,使用起来非常方便。
2 LED显示屏系统的组成
2.1 原理框图和硬件电路结构
显示屏控制系统由显示控制器和LED点阵显示屏组成。控制系统的结构框图如图1所示。主要由微处理器、通信电路、数据存储器、显示电路等组成。
2.2 AT89S51芯片
本显示系统采用ATMEL公司新推出的AT89S51作为主控芯片,AT89S
ROM,下载程序代码整个过程仅用几秒钟,使用起来非常方便。而8051内部的程序存储器是4KB的PROM,只能一次性写入程序代码,以后就无法修改。另外AT89S51提供了一个ISP下载接口。很适合用于单片机应用系统的设计或开发。
3 系统硬件电路的介绍
显示屏控制器的硬件电路部分主要由三个部分组成:外部存储器的扩展、串行通信接口和LED点阵显示驱动及接口电路。
一般来说要显示的内容比较多,所以必须要扩展外部数据存储器。静态数据存储器成本低、功耗小,读写速度快,我们使用二片静态RAM62256数据存储器(共64KB)。把要显示的内容代码全部存放到62256里面。
62256与单片机的接口电路如图2所示,显示的内容代码通过串行接口下载到62256中。串行通信接口电路如图3所示,通过MAX232E跟PC机的串行口连接。LED显示驱动及接口电路如图4所示控制工程网版权所有,控制信号通过缓冲器74LS245后分两路CONTROL ENGINEERING China版权所有,一路由CD4515译码后经TIP127驱动点阵的行;另一路由数据移位寄存器74HC595驱动点阵的列。当多个显示单元级联时只需相应地把下一级输入接到上一级的输出即可。
图3 AT89S51与PC机的通信电路
4 软件程序
软件程序是整个控制系统的核心部分。整个软件设计主要分为两大部分:显示部分和通信部分。显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。程序中将数据存储器分为三个区:显示缓冲区、数据存储区和接收缓冲区。单片机通过串口中断接收PC机传来的数据,暂时存放在接收缓冲区CONTROL ENGINEERING China版权所有,经分析处理后按一定的规律放入数据存储区保存起来,然后再根据显示方式依次从数据存储器中取出数据放入显示缓冲区中用于显示。显示采用逐行扫描的方式,图5是显示一屏字符的程序流程图。与PC机的实时通信部分主要是利用单片机串口中断接收数据信息CONTROL ENGINEERING China版权所有,实现与计算机的数据信息传输。其程序流程图如图6所示。
通信部分的上位机软件采用Visual Basic(简称VB)编程,使用VB提供具有强大功能的通信控件MSCOMM,该控件可对串口状态及串口通信的信息格式和协议进行设置,直接利用PC机的串口发送数据。为实现单片机与PC机的可靠通信,须保证双方具有相同的数据格式和波特率。该软件的使用比较简单,如图7所示。使用时可以先用Microsoft Word处理好需要显示的内容(注意页面设置的宽度跟LED显示屏的宽度应该相同),然后选择编辑菜单里面的全选命令和复制命令,然后运行LED显示下载软件V1.1。在界面中选择“来自剪贴板”按钮,需要下载显示的内容即可在右边的预览框中显示,检查无误后选择合适的波特率和连接的串行通信口,按下“下载”按钮,即可下载到显示屏上显示。需要修改或要