产品 求购 供应 文章 问题

0431-81702023
LED
基于STC89C54RD+单片机的点阵LED显示屏的设计

摘要:以单片机系统组成的点阵LED显示屏开发过程.系统采用上一下位机的结构构建,上位机PC可 通过串行通信接口实现对下位机LED显示系统显示参数的设定.下位机以LED屏的显示电路和单片机控 制电路为核心,实现点阵LED屏以多样化的方式显示各种信息的功能,同时可实现本地温度采集、显示和 本地时间实时显示的功能.

关键词:点阵LED;串行移位;12C;单片机;上位机.

LED电子显示屏是近年来得到广泛应用的 重要信息设备.这种显示屏具有耗电省、成本低、 清晰度高、寿命长、显示内容的信息量大,外形美 观大方,操作使用方便灵活,用户可随时任意自行 编辑修改显示内容,显示方式图文并茂等优点,因 此被广泛应用于商场、学校、银行、邮局….

1系统的总体结构

系统采用上位机——下位机的结构搭建,上 位机为PC机,通过串行通信接口与下位机显示 系统实现交互,能够实现字符串的修改、显示方式 的设定、时间的设置等功能;下位机系统由核心 板、显示板两个模块组成.下位机系统由单片机控 制LED点阵显示屏的显示,汉字显示采用16×16 点阵模式,并能够实现屏幕显示内容的实时更改; 采用动态显示,实现字符从下往上、从右往左滚动 等动态显示效果;实时采集并显示周围环境的温 度;显示当前的时间与13期.

2点阵LED显示屏系统的硬件结构

2.1微控制器选型

MCU是整个显示系统的核心部件,系统的整体性能很大程度上取决于MCU的先进性和灵活 性.本系统选用STC公司的s1℃89C54RD+增强 型51单片机.

STC89C54RD+单片机具有提高MCU的运 行速度,运行稳定,价格便宜,良好的性价比等特 点.其支持的最高时钟为80M,这样能最大限度地 提高MCU的运行速度;具有双倍速的功能,支持 6时钟周期模式运行;具有ISP在线系统编程功 能,大大缩短开发复杂度,同时可节省购买编程器 的额外投人;STC89C54RD+单片机内部包括 16KBFlash程序存储器ROMlKB的数据存储 器RAM,与普通的8051单片机完全兼容,而51 单片机的开发环境也很成熟:如Keil C语言被广 .泛地应用于新产品的开发,这对于缩短系统开发 周期有着很重要的意义.

22外扩数据存储器

在系统中需要板载汉字字库.STC89C54RD +单片机内部只有lKBRAM,最多只能暂存 32个汉字的点阵数据,一定程度上限制了程序对 硬件资源的利用,所以必须外扩RAM,扩展系统 的可应用性.

单片机与外扩存储器连接的电路如图I所示.系统巾选用256KBFlash ROM—— W29C020来存储一个标准的16×16点阵汉字 霹.弱时选弱32KBHN62256来扩爱努部数据 存储器,用于存储显示缓冲区的数据和程序运行 对存储资源的开销.用一个74LS373作为地址锁 森器锬存地址,霹以实溪单片枫约数据缝址总线 的分离.HM62256的片选信号由单片机IO管脚 P34控制,当HM62256不被系统访问时,要求程 穿控制HM62256豹片选无效,以减少功耗. W29C02018根地址线,而MCU的地址总线只 有16根,因此必须用两个单片机的IO(P1 6P17)侔为高两位地址线。

23串行通信

系统上位机——下位机是通过串行通信接口 联系。STC89C54RD÷单片撬内部含有一个霹编程 全双工串行通信接口(RXDTXD),具有UART的 全部功能,该接口电路能同时进行数据发送和接 救.一般情魏下只要通过TXDRXDGND三条 线连接就可以实现与PC上位机的串行通信.但本 系统为了实现单片机与PC机的串行通信功能,还 嚣要将单片槐戆事行接蠢酶毫平转换成RS232 电平标准.电平转换选用单片机应用系统中最常 用的RS232电平转换芯片,此芯片具有集成度 离,内置了电压倍增电路及负电源电路,单+5 V 电源工作,只需外接5个容量为O1l心的小 电容即可完成两路RS232与朋:L电平之间转 换,连接图如图2所示.

24驱动电路的设计

系统所选用的点阵强D是佳光电子生产的8 ×8点阵LED一一KWM30881.系统中所显示的 汉字点阵为16×16点阵,显示一个汉字要用4 8×8的点阵LED8×8的点箨LED8条行线、8 条列线,共16个管脚.则每个16×16显示屏共需 用16条行线、16条列线.

241行驱番电路

采用16 x 16点阵显示需要16个行驱动信 号.单片机的IO有限,所以系统采用74HCl38译 码器来扩震IO瑟,将两片。138译码器连接在一 起形成一个416线译码器,通过改变译码器4 个输入信号,来轮流驱动16行,由于单片机的 m输浅瑟的驱动髓力菲常有限,所以在每个输 出口都加一个三极管,增加I0口的驱动电流,用 来驱动LED显示屏的行信号。

242列驱动电路

由于本系统中的LED显示屏是可以拼接的, 所以乖J髑串行转并行技术,只要一个单片机的I0 口,通过串行转并行,就能得刭所需数爨的输击蕊 线来驱动列信号,很好地解决单片机I0口资源 有限豹阕题.系统巾一个LED(显示416×16的汉字)由八片的74HC595芯片级联组成串行 转并行输出来驱动列信号.

3点阵LED显示屏系统的软件组成

本系统采用模仿多任务的操作系统运行方式 与体系结构来编程的.

下位机软件设计分为五个模块:(1)、系统初 始佬设置模块;(2)、串墨通信模块;

<3)、时闻、温 度采集处理模块;(4)、强D驱动显示模块;(5)、 按键处理模块. >

把每个程序模块都写成一个独立的任务模 块,任务冀任务之闽的资源通过缓冲区来传递,并 且通过信号投放机从信号缓冲区中取信号来实现 任务的谖度。

31汉字的显示

汉字一般是以点阵式存储的,对于16点阵字 模,就是把汉字写在一个16×16的网格内,汉字 的笔画通过某网格时该网格就对应l,否则该网格 对应0,这样每一网格均对应10,把对应1的网 格连起来餐,就是邀拿汉字。实瑷点阵技术在LCD 屏幕显示的关键是,如何通过汉字的机内码检索 到该点阵位置.ASCII字符表从第161个歪255个 字符(即舛个字符)之阕为非常蔫字符,将其作力 汉字标识符.并规定每两个字节组成一个汉字,即 可组成94×94=8 836个汉字.161255的字符 被分成94个区,每个区懿数篇就是区褥,每个区 又分成94位,每个位的数值就是位码.同时,我们 将组成字符的两个字节的数值称为汉字的机内 码,分舅l称为高字节内码和低字节内码。槐内码与 区位码之间的联系在于:区码=高字节内码一 160,位码=低字节内码一160.因为汉字是按94 个嚣、位越分的,新以记录号(汉字在字库中的位 置)=(区码一1)×94+(位码一1).在16点阵字 中,汉字的实际位置为记录号×32L.因此可以得 酲汉字撬内码与W29C02016点阵汉字的地址 空间之间的数学关系如下:汉字点阵起始位置= [(高字节内码一0xal)×94+(低字节内码一 Oxal)×32L.从该起始位置的连续32字节单元 即为该汉字机内码对应的汉字点阵库.

当系统启动之后,配合P16P17的工作时 序完成对就9O嵩位地址的锁存,并采用外部RAM寻址方式,根据需要读取汉字机内码,按照 上述的逻辑关系,从W29∞20中读取汉字点阵, 送至溅D点阵屏幕上显示.总共可实现16点阵的 汉字显示.

32对闻、温度采集处理模块

时闻与温度的采集都是通过12C总线来实现 的,所以此模块主要是通过12C总线来实现时间 的读取,以及时阉的读写操偿.并把读趣来的数据 存放于数据缓冲区中,以便显示时阐或温度时显 示状态机调用.

33按键处理模块

本系统采取中断来响应按键.所以在外中断0 的中断服务子程序中要完成两个事情:(1)、读取 键值;(2)、往信号缓冲区发送信号(惫括信号鲍类 型按键信号、信号的数据一按键值).然后再通 过信号投放机,根据不同的键值执行相应的操作. 假如按下按键s2,疆D屏劂显示酵阏;按下按键 S3LED屏则显示实时周围环境的温度;按下按 键S4LED屏则晟示英文;按下按键S1LED屏 掰显示汉字.

34 LED驱动嚣示模块

此模块是整个系统的程序中最为关键的模 块。在它只有一个子翟穿一显示程穿,在程序审 定义一个全局变量一结构体,这个结构体用来表 示字符滚动显示的六个参数,而这个结构体也只 有在囊示状态机巾改变,从褥实褒字符在强D燕 示屏上滚动显示的效果.而各个状态中的任务以 及各个状态间的转换过程如图3所示.

状态说臻:

0lDLE空闲;ITEMP—MODE读取温度并进 行处理;

2:骶ME—MODE状态读取日期醛间并进行处理;

3SWITCH—STRING—INIT初次切屏;

4SHOW—STRING字符串显示等待;

5SWITCH—STRING字符串切换;

6READ—STRING读下一字符串并存字模到 缓冲区.

4结论

设计的点阵LED显示屏系统采用上位 机——下位机的结构搭建,上位机为PC机,通过 串行通信接口与下位机显示系统进行通信,能够 实现所要显示的字符串的修改、显示方式的设定、 时间的设置等功能;下位机系统由单片机控制 LED点阵显示屏的显示.汉字显示采用16×16点 阵模式,并能够实现屏幕显示内容的实时更改;显 示方式采用动态显示,实现字符从下往上、从右往 左滚动等动态显示效果;系统同时实时采集并显 示周围环境的温度;并具有显示当前的时间与日 期的功能.所设计的系统具备显示稳定、功耗低、 寿命长、显示内容易改、显示方式丰富等优点.