单片机的点阵式汉字显示屏的设计

单片机的点阵式汉字显示屏的设计[20200128190706]
【摘要】
本课题设计一个16*16点阵式显示屏,它以AT89C51单片机为核心,使用两片74LS595位移寄存器来控制列的显示,一片74LS154译码器来控制行的显示。采用4个8*8点阵构成16*16LED点阵,实现汉字显示。通过字模提取软件来实生成字模,得到汉字代码。采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。采用C语言进行软件设计,增加了程序的可读性和可移植性。
本文介绍了基于AT89C51单片机点阵显示屏的设计方案,阐述了16×16点阵LED显示屏的设计原理与思路,详细叙述了系统硬件、软件设计的具体实现过程。最后使用PROTEUS仿真软件对系统进行调试,通过仿真试验实现了汉字的滚动显示功能,达到了预期效果。
 *查看完整论文请+Q: 351916072 
关键字:单片机;汉字显示屏;PROTEUS仿真;
目录
前  言    1
一、LED点阵显示原理及方案    1
(一)LED点阵显示原理    1
(二)总体设计方案    3
1、显示方式    3
2、数据传输方式    3
3、系统方案    4
二、硬件系统设计    5
(一)硬件介绍    5
1、AT89C51单片机    5
2、74LS595芯片    6
3、74LS154芯片    7
4、RESPACK-8芯片    8
5、RX8芯片    9
6、16×16 LED点阵    9
(二)硬件电路设计    11
1、控制电路    11
2、显示驱动电路    11
3、LED点阵    13
三、系统软件设计    15
(一)汉字显示的实现    15
(二)汉字的编译    15
(三)程序流程图    17
四、PROTEUS仿真    18
总 结    20
致  谢    21
参考文献    22
附录一   硬件电路图    23
附录二   程序代码    24
前  言
    LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。它充分利用了由发光二极管构成的点阵模块显示屏幕,它具有清晰度高、工作稳定、色彩鲜艳、寿命较长、功耗低等优点。由于它一般都采用单元模块化结构设计,所以屏体大小可按用户要求设计;它的超高亮度,使它在户内外显示中具有不可替代的作用。它以寿命长、可靠性高、适应能力强、性价比高、成本低等特点,迅速成为平板显示器的主流一线产品,尤其在信息显示领域得到了广泛的应用。还有广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。目前LED显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。
随着LED显示屏在信息显示领域逐渐崭露头角,其控制系统也如雨后春笋、层出不穷。但是由于LED显示屏控制较为复杂,特别是对于显示特殊效果,如循环移动、覆盖霓虹灯效果,要求处理器运算速度快、执行效率高、无抖动、闪烁、重影等现象。因此,LED显示屏的设计既要考虑硬件因素,同时还要考虑到显示数据组织方式,通过软硬件结合的方法才能设计出一款价性比比较高的控制电路。本课题提出一种基于51系列单片机实现16×16LED点阵控制的原理及方法,有很好的开放性和可发挥性,对作者的要求比较高,因此本课题具有一定现实意义。
一、LED点阵显示原理及方案
(一)LED点阵显示原理
如图1.1.1所示是一种8*8的LED点阵单色行共阳模块的内部结构图, 8X8点阵一共由64个发光二极管组成,每个发光二极管是位于行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如果把第一个点点亮,则9脚接高电平13脚接低电平,第一个点就亮;同样要将第一行点亮,则第9脚接高电平,而13、3、4、10、6、11等这些引脚则接低电平,那么第一行就亮;假如将第一列点亮,那么第13脚就接低电平,而9、14、8、12、1、7、2、5接高电平,则第一列就会点亮。
图1.1.1   8*8点阵显示器内部结构图
   “你”的汉字代码如图1.1.2所示,要显示“你”,则相应的点就要点亮,由于我们的点阵在列线上是低电平有效,而在行线上是高电平有效,所以要显示“你”字的话,它的位代码信息要取反,即所有列(13~16脚)送(1111011101111111,0xF7,0x7F),而第一行(9脚)送1信号,然后第一行送0;再送第二行要显示的数据(13~16脚)送(1111011101111111,0xF7,0x7F),而第二行(14脚)送1信号。依此类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字。
要实现汉字的显示,至少需要用一块16x16点阵显示屏,在本设计中采用四个8x8点阵显示构成16*16点阵显示屏。如果要显示多个汉字则需要增加点阵显示屏的数量。
图1.1.2 “你”汉字代码
(二)总体设计方案
1、显示方式
16×16的点阵一共有256个发光二极管,当然单片机肯定没有这么多接口,可以采用锁存器来扩展端口数量,按8位的锁存器计算的话,16×16的点阵屏需要32个锁存器。需求数量太多,因为只是16×16的点阵,在实际生活应用中的点阵显示屏都要大的多,所以在锁存器上花的成本会很多。所以我在本设计中选择采用动态扫描显示方法。
动态扫描的意思就是每一行依次点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列一起使用一个列驱动器。就拿16×16的点阵来讲,我把所有同行的发光二级管的阳极连接在一起,把所有同列的发光二级管的阴极连接在一起(共阳接法),先传出对应第一行发光二级管亮灭的数据并锁存,然后选通第一行让它点亮一定的时间,然后熄灭;然后再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭;以此类推,第十六行之后又重新开始点亮第一行,这样反复点亮熄灭。当轮回的速度足够快的时候(每秒24次以上),人眼就产生视觉暂留现象,我们就可以看到点阵屏上稳定的图形了。
2、数据传输方式
当采用扫描方式显示时,每行有一个行驱动器,每一行的同名列同用一个列驱动器。显示数据一般存储在单片机中的存储器中,按8位一字节的形式顺序排放。显示的时候要把一行中各列的数据全部传送到对应的列驱动器上去,这就产生了显示数据传输的问题。控制电路到列驱动器的数据传输方式可以采用并行方式或者是串行方式。当我们采用并行方式的时候,控制电路到列驱动器的线路多且复杂,硬件数目也多,很麻烦。所以当列数很多时,并行传输方案是不可取的。
当采用串行传输的方法时,控制电路只使用一根信号线,把列数据一位一位

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4719.html

好棒文