访问电脑版页面

导航:老古开发网手机版51单片机AT89C51单片机

以AT89C51单片机为核心的LED汉字滚动显示屏设计

导读:
关键字:
显示屏,单片机,

引言

LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED显示屏发展较快,本文讲述了基于AT89C51单片机16×16LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。

1 硬件电路组成及工作原理

本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,如图1所示。其中,AT89C51是一种带4kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一5l指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。时钟电路由AT89C5l的18,19脚的时钟端(XTAI l及XTAL2)以及12 MHz晶振X、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

2 汉字的点阵显示原理及字库代码获取方法

我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。如查用8位的AT89C51单片机控制,由于单片机的总线由8位,一个字需要拆分为2个部分,如图2所示

以AT89C51单片机为核心的LED汉字滚动显示屏设计

为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00~P07口,方向为P00到P07,显示汉字“我”时,为全灭,第一列的下半部分也为全灭。第二列的上半部分P06、点亮,由上往下排列,为:PO.0灭,PO.1灭,P0.2灭PO.3灭,PO.4灭,P0.5灭,P0.6亮,P0.7灭。即二进制00000010,转换为十六进制为02h.上半部第二列完成后,继续扫描下半部的第二列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列P23亮,即为00001000,十六进制则为08h.依照这个方法转向第三列、第四列,……,直至第十六列的扫描,一共扫描32个8位,可以得出汉字“我”的扫描代码为:

00H,02H,08H,06H,28H,02H,24H,22H

0FCH,3FH,24H,2 1H,20H,10H,3CH,08H

0E2H,07H,20H,0AH,0E4H,11H,0A8H,20H

20H,30H,00H,00H,00H,00H,00H,00H

由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图3所示。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64-1 024 Hz,周期小于1 ms即可。行扫描和列扫描方法的扫描频率必须大于16×8一128 Hz,周期小于7.8 ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。

3 在Keil环境中程序设计与调试

软件程序主要由开始、初始化、主程序、字库组成。其中主程序的流程图如图4所示。下面的程序能够用来实现滚动显示“我爱你一一祖国”。汉字的显示。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

程序清单如下:

以AT89C51单片机为核心的LED汉字滚动显示屏设计

以AT89C51单片机为核心的LED汉字滚动显示屏设计

在keil软件中完成程序编写、调试和编译之后,生成能让单片机运行的Hex文件,如图5所示。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

4 元器件选择

本设计所需元器件如表1所示。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

5 运用Proteus软件仿真LED汉字显示屏

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机外围电路或没有单片机参与的其它电路的工作情况,也能仿真单片机CPU的工作情况。因此在仿真和程序调试时,是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲Proteus仿真,基本接近与工程应用。本次基于AT89C51单片机16×16LED汉字滚动显示屏的设计已运用Proteus软件仿真实现,如图6所示。

以AT89C51单片机为核心的LED汉字滚动显示屏设计

虽然本设计只使用了一块16×16LED点阵,电路简单,但是已经包涵了LED汉字滚动显示屏的电路基本原理、基本程序和Proteus软件仿真,只要扩展单片机的10接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。

来源:网络整理   作者:工程师黄明星  2018/7/26 7:39:00
栏目: [ AT89C51单片机]

相关阅读

转:AT89C51的串口和电脑的串口进行通信

AT89C51\52的编程原理

[转载]基于AT89C51型单片机的号音自动播放器设计

AT89C51单片机电话遥控报警器电路的设计

基于AT89C51单片机的温度检测系统硬件电路设计

基于AT89C51单片机的贪吃蛇游戏代码设计

基于AT89C51单片机的双向通信FSK系统设计与实现

AT89c51与AT89S51单片机的区别

AT89C51/8通道ADC0809电压采集器,功能在完善中。

基于AT89C51单片机的LED汉字点阵滚动显示屏设计

基于AT89C51单片机的算术运算计算器系统设计

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

AT89C51单片机对智能语音拨号报警系统的设计

基于AT89C51单片机的RS232-GPIB控制器设计

AT89C51/55构成温湿度自动监测系统

基于AT89C51单片机在变频调速恒压供水系统中的应用

基于AT89C51单片机的高性能直流稳压电源控制电路设计

以AT89C51单片机为核心的LED汉字滚动显示屏设计

采用AT89C51单片机设计的变频调速控制系统

以AT89C51单片机为核心的发光二极管阵列控制系统设计