1、LED点阵广告牌的设计电气与信息工程系课程设计任务书专业电力系统自动化班级课程名称单片机原理设计题目LED点阵广告牌设计指导教师起止时间周数1设计地点设计目的:通过为期一周的单片机设计,完成LED点阵广告牌设计原理及调试运行。设计任务或主要技术指标:1.设计一款能显示不同字符的LED点阵广告牌;2.设计不同的字符切换效果(闪烁,静止,平移等);3.设计控制按钮,可以在不同的效果间切换;*4.(创新功能) 其他功能;设计进度与要求:1.系统组成,确定,分析,系统框图,应用背景;2.硬件电路设计及原件清单;3.软件设计及系统流程图;4.仿真调试;5.参考文献及总结;主要参考书及参考资料:1单片机原
2、理及应用:C语言版/周国运主编.-北京:中国水利水电出版社,20092全国计算机等级考试二级教程.C语言程序设计:2010年版/教育部考试中心.-北京:高等教育出版社,2007.8(2009重印)教研室主任(签名) 系(部)主任(签名) 年 月 日课程设计评定意见设计题目: LED点阵广告牌设计 学生姓名: 专业 班级 评定意见:评定成绩: 指导教师(签名): 年 月 日评定意见参考提纲:1.学生完成的工作量与内容是否符合任务书的要求。2.学生的勤勉态度。3.设计或说明书的优缺点,包括:学生对理论知识的掌握程度、实践工作能力、表现出的创造性和综合应用能力等。摘要本设计使用AT89C51系列高速
3、单片机作为主控制模块,利用简单的外围电路来驱动1616的点阵LED显示屏。利用AT89C51系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示广告牌广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。本LED显示广告牌能够以动态扫描的方式同时显示4个1616点阵汉字,并能通过上位机软件修改显示内容和显示效果等等。把字符内码存储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储1024个字符。设计中采用了SPI接口的GB2312标准字库,支持所有的国标字符和ASC标准字符的显示。因
4、为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。本文从LED的显示原理入手,详细阐述了LED动态显示的过程,以及硬件电路的设计、计算和软件的算法。关键词:动态显示;单片机;点阵字库1 LED概述 11.1 LED电子显示屏概述 12 显示原理及控制方式分析 22.1 LED点阵模块结构 22.2 LED 动态显示原理 32.3 LED常见的控制方式 43 系统硬件概述 53.1单片机简介 53.1.1 单片机概念 63.1.2 单片机的发展史 63.1.3单片机的特点 73.1.4主控单片机的接口说明 73.2 74HC一三8译码器 83.3 1616LED点阵显示制作
5、 93.3.1 1616LED点阵的内部结构及工作原理 93.3.2 用88LED点阵构成1616LED点阵 103.4 LED显示驱动电路 114 字模生成 一三4.1 字模简介 一三4.1.1 LED显示屏领域字模实现技术 一三4.1.2 软件控制系统字模提取的分析与设计 一三4.2 字模存储技术 144.3 字库生成 一五5软件设计 165.1 程序设计总体思路和结构 165.1.1 程序设计总体思路 165.1.2 程序流程图 165.2 各模块程序设计 175.2.1 系统初始化程序: 175.2.2 LED动态显示 一八5.2.3 字符显示的原理 195.3系统功能测试 195.3
6、.1 单元模块电路测试 195.3.2 系统整体功能测试 19总结 21致谢 22附录A 23附录B 24参考文献 341 LED概述1.1 LED电子显示屏概述LED(Light Emitting Diode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N兴办导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当
7、电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。多个 LED发光灯组成固定的字符或图形进行显示,即形成LED点阵图文显示屏。其主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵(如1616 点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。LED点阵显示具有如下特点:(1) 电压:LED使用低压电源,供电电压在6-24V之间,根据产
8、品不同而异,所以它是一种比使用高压电源更安全的电源。(2) 效能:消耗能量比同光效的白炽灯减少80%。(3) 适用性:每个单元LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。(4) 稳定性:10万小时,光衰为初始的50%。(5) 响应时间:其白炽灯的响应时间为毫秒级,LED灯的响应时间为纳秒级。(6) 对环境污染:无有害金属汞。(7) 颜色:改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带结构和带隙,实现红黄绿兰橙多色发光。由于LED的众多优势,在市场中得到了广泛的应用,主要应用领域有:(1)、信号指示应用:信号照明是LED单色光应用比较广
9、泛也是比较早的一个领域,约占LED应用市场的4%左右。(2)、显示应用:指示牌、广告牌、大屏幕显示等, LED用于显示屏幕的应用约占LED应用的20%25%,显示屏幕可分为单色和彩色。(3)、照明应用:便携灯具,汽车用灯,特殊照明。由于LED尺寸小,便于动态的亮度和颜色控制,因此比较适合用于建筑装饰照明。背光照明:普通电子设备功能显示背光源、笔记本电脑背光源、大尺寸超大尺寸LCD显示器背光源等。以及投影仪用RGB光源。LED电子显示屏(Light Emitting Diode Panel)是由几百-几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的
10、LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。1.2 LED电子显示屏的分类按颜色分类:单基色显示屏:单一颜色(红色或绿色)。双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。按显示器件分类
11、: LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。2 显示原理及控制方式分析2.1 LED点阵模块结构八十年代以来出现了LED点阵组合型模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有44、48、57、58、88、1616等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文
12、字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。图2.1示出最常见的88单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。 图2.1 88单色LED模块内部电路LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5x7点阵显示器用于显示西文字母58点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图
13、形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。2.2 LED 动态显示原理LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于2
14、4帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流
15、流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2.2图2.2 用动态扫描显示字符“B”的过程2.3 LED常见的控制方式目前常见的是并行传输方式,通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个1616点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要
16、留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。一以传统8051单片机为控制器的LED显示屏。因受到单
17、片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。二以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,
18、可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。三以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。四以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在
19、条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。3 系统硬件概述整个电路由单片机89C51,4个74HC一三8,1个1616的LED组成。该电路所设计的电子屏可显示多个字符。3.1单片机简介AT89C51是一种带4KB可编程可擦除只读存储器的低电压,高性能微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由
20、于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚即外观如图3.1所示。图3.1 AT89C51的管脚图3.1.1 单片机概念单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。3.1.2 单片机的发展史19
21、75年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等。四位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。 1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面市。例如,莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能
22、的8位单片机相继问世。例如,1978年摩托罗拉公司的MC6801系列及齐洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。这类单片机的寻址能力达64KB,片内ROM容量达4-8KB,片内除带有并行IO口外,还有串行IO口,甚至还有AD转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司
23、推出的783XX系列等。16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。20世纪80年代末推出了32位单片机,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年来流行的ARM系列单片机。32位单片机是单片机的发展趋势,随着技术的发展及开发成本和产品价格的下降。近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的Transputer T800是高性能的64位单片机。3.1.3单片机的特点 1)单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数
24、据表格。RAM则为数据存储器,用作工作区及存放用户数据。2)采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。3)单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。 3.1.4主控单片机的接口说明P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复制用口,作为输入口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写入“1可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转
25、换地址(低8位)和数据总线复用,在访问期激活内部上拉电阻。在Flash编程时,PO口接收指令节,而在程序校检时,输出指令字节,校检时,要求外接上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。Flash编程和程序校检期间,P1接收低8位地址。P2口:P2口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内
26、部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问外部数据存储器或16位地址的外部数据存储(例如执行MOVXxDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXxRI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程和校检时,P2亦接收高位地址和其他控制信号。P3口:P3口是一个带内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻
27、拉高并可作输入端口,作输入端时,被外部拉低的P3口将用上拉电阻,输出电流I。P3口还接收一些用于Flash闪速存储器编程和程序校检的控制信号。RST:复位输入,当震荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低8位字节。即使不访问外部存储器,ALE乃以时钟振动频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。3.2 74HC一三8译码器译码器是组合逻辑电路的一个重要的器件,74HC一三8的输出是低电平
28、有效,故实现逻辑功能时,输出端不可接或门及或非门,74HC一三8与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。74HC一三8译码器管脚如图3.2所示。图3.23.3 1616LED点阵显示制作3.3.1 1616LED点阵的内部结构及工作原理以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国家标准汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形
29、理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。这里我们以“高”字说明,如图3.3所示。图3.3 16*16LED汉字显示用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般把它拆分为上部和下部,上部由816点阵组成,下部也由816点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00p07口。方向为p00到p07 ,显示汉字“高”时,p02点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭, p0.3 灭, p0.4 灭, p0.5 亮,p0.6灭,p0.7 灭。即二进制000
30、00100,转换为16进制为 04h。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p01点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p20点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“高”的扫描代码为02h,00h,01h, 04h,0FFh,0FEh, 00h,00h,1Fh,0F0h, 10h, 10h, 1
31、0h, 10h, 1Fh,0F0h,00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。3.3.2 用88LED点阵构成1616LED点阵Proteus中只有57和88等LED点阵,并没有1616LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要1616点阵。下面我们就首先介绍使用88点阵构建1616点阵的方法,并构建一块1616LED点阵,用于本例的显示任务。首先,从Proteus7.1的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1