基于AT89C51单片机的16×16点阵显示屏的设计

2017-12-26 07:50牛晓飞张秀香郝保明唐永刚
宿州学院学报 2017年12期
关键词:显示屏时钟端口

牛晓飞,张秀香,李 明,郝保明,王 祥,唐永刚

宿州学院机械与电子工程学院,宿州,234000

基于AT89C51单片机的16×16点阵显示屏的设计

牛晓飞,张秀香,李 明,郝保明,王 祥,唐永刚

宿州学院机械与电子工程学院,宿州,234000

针对LED显示屏设计研究中存在的问题,提出一种基于AT89C51单片机的16×16点阵显示屏的设计方案。16×16 LED显示屏可以显示汉字、数字和符号等,其主要由四片8×8 LED点阵组成,可以实现的扩展功能有实时温度采集和实时时钟以及LED点阵屏滚动显示。本设计主要以51系列单片机为核心控制块来实现对显示的控制,并对硬件设计、软件设计以及软件和硬件的组合调试分别进行讨论。

单片机;LED点阵;显示屏;发光二极管

LED显示屏可以分为图文、数字和视频显示屏,它们都是由LED矩阵模块构成的。7段码数码管为LED显示屏的显示器件,常应用于制作时钟、利率屏等,显示数字字符[1]。与计算机连接的图文显示屏是用来显示英文、汉字和图形等。视频显示屏则是利用计算机对其进行控制,以播放各种视频文件,还可以显示电视节目、动画等。LED具有亮度好、电压低、功耗小、微型化、耐碰撞、使用寿命长和性能稳定等优点,应用前景广阔,目前正朝着更高亮度、更耐气候性、更高发光均匀性、更高发光密度、更高图像可靠性和全色化等方向发展[2]。

目前,控制LED的系统都是使用嵌入式微处理器开发的。单片机由于具有广泛的适用性,作为LED的控制系统的开发也应该占有一定比例[3]。但是LED显示屏的控制系统要求复杂,特别在呈现特殊效果如覆盖霓虹灯、循环移动时,要求处理器运算快和执行效率高,导致生产厂家几乎清一色地采用嵌入式系统设计。这样也存在弊端,比如,虽然在一定程度上提高了数据处理的速度,但是不能完全满足显示效果,而且会大大增加产品开发的成本;同时,如果设计不当,还会引起闪烁、抖动、重影等现象[4]。总之,硬件设备是LED显示屏控制器设计中的一个重要因素,显示数据组织方式是另外一个重要因素,只有将软硬件相结合,才能设计出性价比高的控制卡[5]。本文提出一种基于51系列单片机对LED显示屏控制的方法,采用4片8×8点阵单元组合而成一片16×16点阵单元,以显示一个完整的汉字以及其他的字符,达到用单片机控制点阵显示屏的目的。

1 系统总体设计

16×16LED显示屏由四片8×8LED显示屏组成。要想由8×8点阵扩展成为16×16点阵,这就需要4片这样的点阵单元。在硬件连接方面只用将同行的两片点阵单元的行引脚连接,将同列的两片点阵单元的列引脚连接即可。根据点阵的显示原理,要想该点阵工作就要加上相应的列驱动电路和行驱动电路。列驱动器用于输入数据,而行驱动器则用来控制扫描。由此可以得到如下结构,如图1所示。

图1 系统结构框图

2 系统的硬件设计

硬件系统是整个设计的关键。设计中所涉及到的元器件和芯片有发光二极管、LED点阵显示单元、51系列的AT89C51单片机、74LS138译码器、74HC573锁存器、时钟芯片DS1302和温度传感器DS18B20等[6]。

2.1 点阵显示原理

一个16×16的点阵是由4个8×8的点阵单元构成的。对于一片8×8点阵,其内部电路结构分为8条行线和8条列线。行和列的交叉处有一个LED,每个单元由64个LED构成。一片8×8点阵单元的内部结构如图2所示。由图可以看出,若LED的阳极与行相连接,而阴极与列相连接时,只要给LED对应的某个行施加高电平,某个列施加低电平,那么对应位置的LED就可以发光[7]。这只是显示点阵单元中的一个点,如果要显示一个复杂一点的字符,例如要想在点阵单元中显示一个“O”字符,可以有两种方式实现:一是点亮若干个LED灯,使亮的LED组合成字符“O”的形象;二是与其相反,点亮其他的LED灯,使不亮的LED组合成字符“O”形象。通常使用的是第一种方式。

图2 8×8点阵单元的内部结构图

由图3可以看出,16×16点阵与8×8点阵的唯一差别就在于引脚增多了,但是控制方式依然相同;而相对于8×8点阵来说,16×16点阵能够显示的字符增多了,已经可以显示一个完整的汉字[8]。

图3 16×16点阵连接图

2.2 行驱动电路设计

点阵的显示原理是在每一时刻仅显示一行数据,然后通过每行轮流显示,以很快的速度不断地刷新,也就产生了静态的显示效果。因此需要采用一定的驱动电路来实现对当前该显示的行进行驱动[9]。

2.3 列驱动电路设计

显示数据一般都是由列线传递过来的,这需要外接一个驱动电路接口。由于16×16点阵给出的列接口有16个,如果采用IO端口直接驱动,那么将占用16个IO端口,造成IO端口的浪费,不利于其他外设的扩展,这可以有两种方式解决:一是使用锁存器来实现,即使用两片8位的锁存器进行连接,将其输入端接入同一个8位IO端口,通过信号的锁存来实现数据的分次传输;二是使用移位寄存器来实现,即使用两片8位的移位寄存器实现,两片实现级联,一片负责高八位,一片负责低八位。使用移位寄存器来实现硬件连接简单,由于采用的是串行数据传输方式,所以占用的IO端口也比较少,但是软件编程相对复杂。而使用锁存器实现的列驱动电路硬件连接相对简单,软件编程也方便,但所要占用的IO端口较多,对于大分辨率的点阵显示屏来说,IO端口资源有限,所以该方式不适合大系统的点阵显示屏的设计。在本设计中,由于采用16×16点阵模拟点阵显示屏,所占的IO端口资源较少,因此,可以采用锁存器来实现列驱动电路,这里采用的锁存器为74HC573。

图4 73LS138级联原理图

2.4 基于AT89C51单片机的最小系统设计

图5为基于AT89C51单片机的最小系统设计,其中晶振电路为单片机的工作提供相应的时钟脉冲,使程序按照一定的节拍有序运行。此晶振频率决定单片机的运行速度,晶振频率越大,单片机的处理速度就越快。复位电路的作用主要有两方面:一是单片机在启动时需要进行复位,从而使CPU和系统各个部件都处于一定的初始状态,从初始状态开始工作。二是当程序进入到非正常状态(非预期的死循环),要想使程序恢复到初始的工作状态,可以通过复位电路来实现[9]。

图5 单片机最小系统

3 系统软件设计

在绘制流程图时,需要根据相关的模块分别进行绘制,这样有利于进行模块化编程。该设计被划分为三个模块:主程序点阵刷新显示模块、DS1302实时时钟中断处理函数模块和DS18B20温度传感器中断处理函数模块。主程序点阵刷新显示模块主要任务是不断循环地显示汉字、实时时钟和当前温度值。显示的方式采用循环右移,即数据循环向右移动显示,主要由单片机驱动点阵的行驱动和列驱动电路来实现数据的显示。该模块的程序流程如图6所示。

图6 主程序点阵刷新显示模块流程图

图6表示系统启动到运行的整个流程。但是,对于扩展功能,实时时钟和温度的显示首先要解决数据的采集。根据之前的软件设计思想,对于实时时钟和温度的采集和读取,采用中断的方式来完成,因此这部分的处理可以放到中断服务子程序中来实现。最后结合硬件模块和软件模块进行了模拟,实现了预想的各种功能,然后组合制作了对应的实物电路,综合系统实现了显示汉字、显示数字、显示英文、温度显示、时钟显示等多种功能。

4 结束语

本文针对目前LED点阵显示存在的问题,提出了一种基于51单片机的16×16点阵显示屏的系统设计与制作方法。该系统采用AT89C51单片机为主控芯片,C语言为编程软件,具有实现低成本、设计简单和系统稳定性强等特点。而且,由于LED点阵显示具有亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等诸多优点,在当代提倡更环保、更节能、更高效的大背景下,必将有着更广阔的发展前景。

[1]唐康.基于STM32的3D16光立方设计 [J].电子技术与软件工程,2015(11):56-59

[2]杜朝.基于单片机的嵌入式系统开发[J].无线互联科技,2016(1):56-57

[3]张志良.单片机原理及控制技术[M].北京:机械工业出版社,2005:23-34

[4]王成飞,董明明,樊钊.基于单片机的LCD显示终端设计技术研究[J].电子测试,2016(16):22-30

[5]金发庆.传感器技术与应用[M].北京:北京机械工业出版社,2000:78-79

[6]侯丽玲.基于AT89S52单片机的LED点阵显示屏控制系统的设计[J].漳州师范学院学报,2008,34(3):23-24

[7]靳桅.基于51系列单片机的LED显示屏开发技术[M].北京:北京航空航天出版社,2007:45-47

[8]郑宝华.LED图文显示屏的设计与实现[J].吉林化工学院学报,2001,18(3):44-45

[9]杜战波,.基于单片机的LED显示屏设计[J].中国新技术新产品,2016(20):27-28

[10]李径达.基于锁存方式LED显示屏的软件设计[J].计算机应用研究,1999(5):23-25

[11]范涛,彭猛,胡棵,等.基于单片机的晶闸管数字触发研究与实践[J].邵阳学院学报:自然科学版,2014(1):33-36

[12]王连君.基于单片机的LCD显示终端设计[J].硅谷,2014(6):20-26

10.3969/j.issn.1673-2006.2017.12.026

TM852

A

1673-2006(2017)12-0097-04

2017-06-25

安徽省教育厅质量工程项目(2016sjjd074,2015sjjd025);宿州学院卓越人才教育培养计划(szxy2016zyjh01);宿州学院科研平台开放课题(2015YKF18);安徽省教育厅重大教改课题(2015ZDJY160)。

牛晓飞(1980— ),安徽宿州人,博士,副教授,研究方向:实训基地建设、校企合作。

刘小阳)

猜你喜欢
显示屏时钟端口
一块布就是一个显示屏?
别样的“时钟”
一种端口故障的解决方案
古代的时钟
苍蝇迷恋显示屏
端口阻塞与优先级
有趣的时钟
未来五年LED显示屏出货将保持16%增长
时钟会开“花”
8端口IO-Link参考设计套件加快开发速度