1、目录摘要I第一章 前言5第二章 设计任务62.1任务62.2 要求72.2.1 基本要求:设计并制作LED电子显示屏和控制器。72.2.2 发挥部分:72.2.3其它7第三章 方案论证83.1 显示部分832 数据传输方案8第四章 系统硬件部分设计1041 电源设计1042 单片机系统及外围电路11421 单片机的选择11422 AT89S52芯片介绍11423 单片机系统外围电路1543 列驱动电路1644 行驱动电路18441 行驱动芯片74HC154 介绍18442 行驱动电路2045 LED显示屏电路22第五章 系统软件部分设计245.1系统主程序25结束语26致谢28参考资料28附录
2、28摘要本设计是一1632点阵LED电子显示屏的设计。整机以美国ATMEL 公司生产的40脚单片机AT89S52为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74HC154和四个列驱动器74HC595来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示2个汉字,采用8块88点阵LED显示模块来组成1632点阵显示模式。显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。单片机控制系统程序采用单片机汇
3、编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。关键词:AT89C51单片机; LED; 点阵显示; 动态显示; 汇编语言。第一章 前言单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注
4、,所以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为单片机有如此多的优点,因此其应用领域之广,几乎到了无孔不入的地步。在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。我们可以开发利用单片机系统以获得很高的经济效益。更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。例如,本文
5、所要论述的通过单片机来控制LED点阵显示。LED是发光二极管英文Light Emitting Diode 的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和-结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。由于它具有发光效率高、使用寿命长、组
6、态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如
7、银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以用单片机控制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型。汉字显示方式是先根据所需要的汉字提取汉字点阵(如1616点阵),将点阵文件存入ROM,形成新的汉字编码。而在使用时则需要先根据新的汉字编码组成语言,再由MCU根据新编码提取相应的点阵进行汉字显示。具体显示技术和原理将会在正文中得到详细论述。第二章 设计任务 点阵点阵显示屏
8、制作 2.1任务设计并制作一台简易LED电子显示屏,16行*32列点阵显示,原理示意图如下:LED显示控制显示器控制器串行口键盘接口数据存储器PC机键盘LED电子显示屏原理框图2.2 要求2.2.1 基本要求:设计并制作LED电子显示屏和控制器。自制一台简易16行*32列点阵显示的LED电子显示屏;自制显示屏控制器,扩展键盘和相应的接口实现多功能显示控制,显示屏显示数字和字母,亮度可用按键连续调整。 显示屏通过按键切换显示数字和字母,显示内容可以平滑的左右移动;显示屏能显示4组特定数字或者英文字母组成的句子,通过按键切换显示内容;能显示4组特定汉字组成的句子,通过按键切换显示内容,并具有掉保护
9、功能。2.2.2 发挥部分:自制一台简易16行*64列点阵显示的LED电子显示屏;LED显示屏亮度可根据环境亮度自动调节。实现信息的左右滚屏显示,预存信息的定时循环显示,滚屏方向和速度(5级)可以设定;实现实时时间、日期、温度显示,显示屏数字显示: 时分秒;可以用相关软件将PC中的汉字显示在LED屏上(软件打包成WINDOWS下可执行文件并刻成光盘,比赛结束时封入到作品箱中,测试时由组委会提供PC,PC机上只装有WINDOWSXP系统,测试时不得使用U盘。)注:一次性到少将20个汉字写入到控制器中。2.2.3其它 完成一份3000字左右的设计报告,正文中应包括系统总体框图、核心电路原理图、主要
10、流程图、主要的测试结果。完整的电路原理图、重要的源程序、和完整的测试结果用附件给出。设计报告用A4纸打印,第一页用一张空白纸做封面,在纸上写明参赛队号和参赛题目代号。 第三章 方案论证 3.1 显示部分 显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。方案二:
11、动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间1m s 时, 显示亮度较好, 无闪烁感.。 鉴于上述原因, 我们采用方案二 32 数据
12、传输方案采用扫描方式进行显示时,显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输方式的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据要经过并行到串行和串行到并行两次变换。首先,单片机从存储器中读出的8位并行数据要通过并串变换,按顺序一位一
13、位地输出给列驱动器。与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到全部列数据都传输完为止。只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动
14、器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图2-1为显示屏电路实现的结构框图。单片机列驱动器行驱动器LED显示点阵电源图2-1 显示屏电路框图 第四章 系统硬件部分设计由于图文屏的控制电路采用单片机方案,控制功能的实现应在硬件和软件两方面进行折中。单片机及相应软件,主要负责存储(或生成)显示数据、安排控制信号的定时与顺序等。但是单片机的接口数量少,驱动能力不强,必须扩展一定的硬件电路,才能满足显示屏的需要。系统
15、硬件部分电路大致上可以分成稳压电源、单片机系统及外围电路、列驱动器电路、行驱动器电路和LED显示屏电路五部分。41 电源设计稳压电源的功能是把来自电网的220V交流电压转变为所需的、稳定的直流电压。它由电源变压器、整流电路、滤波电路和稳压电路四个部分组成,如图3-1所示: + 电 源 + 整 流 + 滤 波 + 稳 压 + u1 u2 u3 uI U0 _ 变压器 _ 电 路 _ 电 路 _ 电 路 _(a)稳压电源的组成框图 u1 u2 u3 uI U0 0 t 0 t 0 t 0 t 0 t (b)整流与稳压过程图3-1 稳压电源的组成框图及整流与稳压过程根据要求所确定的稳压电源的电路形式
16、如图3-2所示。图中变压器T将来自电网的220V交流电压变换为整流电路所需要的7.5V交流电压,再经整流电桥(4个二极管)D1将交流电压变换成脉动的直流电压,随后电解电容器C1将脉动直流电压中的大部分纹波加以滤除,以得到较为平滑的直流电压。为了得到改善的纹波电压,再将直流电压通过电容C2,然后经集成稳压器IC1稳压,在输出端得到稳定的5V直流电压。这时,在输出端接上电容C3,用以滤除输出端的高频信号,改善负载的瞬态响应,最后即可得到所需的、稳定的直流电压。电路最后接入的发光二极管用做电源指示灯。图3-2 电源电路图42 单片机系统及外围电路421 单片机的选择单片机采用89S52或其兼容系列的
17、芯片进行控制,它负责控制整个电路以及相应的程序的运行、以及给屏体电路部分发送命令。这里我们选择了内含4K字节Flash的AT89S52,因为我们只需要显示特定的图形和文字,无需庞大的字库,因此4K Flash已经可以满足字库储存的需求,不需要扩展外存储器。422 AT89S52芯片介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使
18、得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52单片机一般采用双列直插DIP封装,共40个引脚,图3-
19、3为其引脚排列图。40个引脚大致可分为4类:电源、时钟、控制各I/O引脚。 一 电源Vcc芯片电源,接+5V;GND接地端。二 时钟XTAL1、XTAL2晶体振荡电路反相输入端和输出端。2图3-3 AT89S52引脚图三 控制线控制线共有4根,其中3根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。1ALE/地址锁存允许/片内EPROM编程脉冲。(1)ALE功能:用来锁存P0口送出的低八位地址。AT89C51在并行扩展外存储器时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0
20、口传送的是低8位地址信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。需要指出的是,当CPU不执行访问外RAM指令,ALE以时钟振荡频率1/6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。(2)功能:片内EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。2 外ROM读选通信号。89S52读外ROM时,每个机器周期内两次有效输出。可作为外ROM芯片输出允许的选通信号。在读内ROM或读外RAM时,无效。3RST/VPD复位/备用电源。(1)正常工作时,RST端为复位信号输入端,只要在该引
21、脚上连续保持两个机器周期以上高电平,AT89C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。(2)VPD功能:在VCC掉电情况下,该引脚可接上备用电源,由VPD向片内RAM供电,以保持片内RAM中的数据不丢失。4/VPP内外ROM选择/片内EPROM编程电源。(1)功能:正常工作时,为内外ROM选择端。AT89S52单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外。当保持高电平时,先访问内ROM,但当PC值超过4KB时,将自动转向执行外ROM中的程序。当保持低电平时,则只访问外ROM,不管芯片内有否内ROM。(2)VPP功能:片内有EPROM的芯片
22、,在EPROM编程期间,此引脚用于施加编程电源。四 I/O引脚AT89S52有P0、P1、P2、P3 4个8位并行I/O端口,共32个引脚。P0口是一组8位漏级开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口写1时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。在Flash编程时,P0端口接收指令字节;而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。P1 口是带内部上拉电阻的双向I/O口,向P1口写入1时P1口被内部上拉为高电平,可用作
23、输入口。当作为输入脚时被外部信号拉低的P1口会因为内部上拉而输出一个电流。Flash编程和程序校验期间,P1接收低8位地址。P2 口是带内部上拉电阻的双向I/O口,向P2口写入1时P2口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据,当使用8位寻址方式(MOVXRI)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容,在整个访问期间不改变。Flash编程和程序校验时,P2也接收高位地址和一些控制信号。P3 口是带内部上拉电阻的双向I/O
24、口,向P3口写入1时P3口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流。P3口除了作为一般的I/O口线外,更重要的是它的第二功能,如表31所表31 P3各端口第二功能端口引脚第二功能P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2外部中断0请求输入端P3.3外部中断1请求输入端P3.4T0定时/计数器0外部信号输入端P3.5T1定时/计数器1外部信号输入端P3.6外RAM写选通信号输出端P3.7外RAM读选通信号输出端423 单片机系统外围电路单片机系统外围电路形式如图3-4所示。单片机振荡器反相放大器的输入端(XTAL1)和输出端(XT
25、AL2)之间接上12MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。电容C4、C5是晶振的负载电容,主要起频率微调和稳定的作用。单片机的串行口工作在方式0下,作为同步移位寄存器使用,端口RXD(P3.0)作为数据移位的输入/输出端,而由TXD(P3.1)端输出移位时钟脉冲。移位数据的发送和接收均以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。AT89S52的通用I/O口P1作为显示数据和二进制行号的公用输出口。两种数据的输出在时间上是错开的。P1口的低4位与行驱动器相连,送出二进制的行选信号;P1.5P1.7口则用来发送控制信号。P0和P2口空着,在有必要的时
26、候可以扩展系统的ROM和RAM。图3-4 单片机系统外围电路图43 列驱动电路列驱动电路由集成电路74HC595构成,它具有一个8位串行输入/输出或者并行输出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。74HC595的管脚及内部结构形式如图3-5所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SER是串行数据的输入端。引脚SRCLK输入移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。移位后的各位信号出现在各移位
27、寄存器的输出端,也就是输出锁存器的输入端。RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为0,由于SRCLK和RCLK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级连应用时,向上一级的级连输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级连输出。移位寄存和输出锁存的时序波形如图3-6所示:图3-5 74HC
28、595的管脚及内部结构逻辑图 图3-6 移位寄存和输出锁存的时序波形图 由74HC595组成的列驱动器示于图3-7中。该图由两片74HC595组成16列的驱动,由16个行驱动器驱动16行。第一片列驱动器的SER端连接单片机输出的串行列显示数据,其QH端连接第二片的SER端,采用这样的方法组成两片的级连。两片相应的SRCLK、RCLK端分别并联,作为统一的串行数据移位信号、串行数据清除信号和输出锁存器打入信号。这样的结构,使得各片串行移位能把16列的显示数据依次输入到相应的移位寄存器输出端。移位过程结束之后,控制器输出RCLK打入信号,16列显示数据一起打入相应的输出锁存器。然后选通相应的行,该
29、行的各列就按照显示数据的要求进行显示。图3-7 显示驱动电路44 行驱动电路441 行驱动芯片74HC154 介绍译码器是一个多输入、多输出的组合逻辑电路。其功能是将给定的输入码组进行“翻译”,变换成对应的输入信号,对每一种可能的输入组合,使输出通道中相应的一路有信号输出,一个且仅一个输出信号为有效电位。74HC154为变量译码器,也称二进制译码器,它是一种四线十六线译码器, 译码的输入端有4个,输出端有24=16个,并有两个选通端(使能端),它的管脚形式如图3-8所示,当选通端1、2均为低电平时,译码器处于工作状态,可将地址输入端(A0A3)的二进制编码在一个对应的输出端以低电平译出。否则,
30、译码器被禁止,所有的输出端被封锁在高电平。为译码输出端,输出是低电平有效,即在选通时,每输入一个二进制代码将使对应的一个输出端为低电平,而其它输出端均为高电平的无效信号,也可以说对应的输出端被“译中”。74HC154译码器的真值表如表32所示:图3-8 74HC154管脚图表32 74HC154译码器的真值表 说明:H高电平; L低电平;X任意从真值表可知,每组4个变量输入,在16个输出中只有一个引脚为“0”(且正好与输入代码是一一对应),其余15个全为“1”,这种译码输出称为低电平有效;四线十六线译码器逻辑形式为: ,。442 行驱动电路行驱动电路相对简单。行选通信号来源于单片机按照时序要求
31、所给出的二进制信号,每次更新行号(开始扫描新的一行)时,由单片机输出4位二进制行号,行号经4/16线译码器译码后,生成16条行选通信号线,再经过驱动器驱动对应的行线。采用译码器的方案,还可以保证同一时刻只选通一条行线,从而达到显示的稳定性。行驱动电路原理如图3-9所示:图3-9 行驱动电路原理图行选通信号从74HC154的端输出,某一端输出低电平即为有效,而其它端输出均为高电平的信号无效。如端输出低电平,此信号传至相应的PNP型三极管Q1,此时,三极管的基极为低电平,因此,发射结正向偏置,集电结反向偏置,三极管导通,其集电极再将高电平加于LED阵列的对应的行上,即将此行选通;而同时74HC15
32、4的其它端输出高电平而致使该行对应的三极管截止,从而所对应LED行线不被选通。行选通按顺序从,全部各行都选通一遍之后又重新开始,这就是行驱动电路的逐行扫描过程。行信号A、B、C、D的顺序变化范围从0000、0001、0010、至l111,来一个选通信号,行信号顺序就变化一次,其频率由扫描电路决定。 由于行驱动电路一条行线上要带动32列的LED进行显示,按每一LED器件20mA电流计算,32个LED同时发光时,就需要3220=640mA的驱动电流,选用三极管8550作为驱动管可以在逻辑功能和驱动能力上符合LED的驱动要求。45 LED显示屏电路LED显示屏是将发光二极管按行按列布置的,驱动时也就
33、按行按列驱动。在扫描驱动方式下可以按行扫描按列控制,当然也可以按列扫描按行控制。LED显示屏现多采用多块88点阵显示单元拼接而成。本文就是使用4块SBM1388型号的实验模块组成1632点阵,以满足汉字显示的要求。88 LED点阵是最基本的点阵显示模块,理解了88 LED点阵的工作原理就可以基本掌握LED点阵显示技术。88点阵LED结构如图3-10所示,其等效电路如图3-11所示: 图3-10 88点阵LED结构图图3-11 88点阵LED等效电路图从图中(本图的LED阵列采用共阳的接法)可以看出,88点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形
34、或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到 8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一
35、列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。 以上就是1632点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。 第五章 系统软件部分设计在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM
36、资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序
37、由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现语言的直观,易于记忆和检查,可读性较好和使语言程序占用较少的单片机存储空间,实时处理系统可以快速的执行指令的角度考虑,本设计中显示屏程序采用C语言编写。5.1系统主程序系统主程序的总体结构如图4-1所示。系统的主程序开始以后,首先是对系统环境初始化;然后LED显示屏进入开机状态,按第一个下按键转入正常的显示。首先是向左滚动显示“来自河池学院的点阵显示”11个汉字,每个字停留时间约1.6s;接着再继续按下第一个按键左滚动显示“把爱随身携带”这5个汉字;然后继续按下第一个按键右滚动显示
38、“有志者事竟成”这6个汉字;最后再继续按下第一个按键左滚动显示“有一种成功叫坚持!”这8个汉字;按下第二个按键可左或右滚动显示英文和数字;按下第三个按键可连续调整显示屏的速度;按下第四个按键可连续调整显示屏的亮度;由于单片机没有停机指令,所以没有按下按键系统程序不断地循环执行上述显示效果。根据总体结构,可将程序划分为几个部分:、汉字滚动显示子程序、英文滚动显示子程序、数字滚动显示子程序、扫描程序、速度的调整和亮度的调整。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。 开始系统初始化化按下按键“左滚屏”显示效果循环扫描显示
39、图4-1 系统主程序的总体结构结束语以上仅对LED显示屏的结构和驱动、显示电路原理作一详细介绍和分析。LED点阵的应用很广,对于不同的应用环境和应用要求,可以有各种各样的应用方式,在这里就不做详尽叙述。由于自己知识水平的局限和时间的仓促,设计中或还存在着一些不足,我真诚的接受评委、老师们的批评和指正.。经过了几周的努力学习和工作,我终于完成了电子竞赛。从题目选择、方案论证到具体设计,每一步对我来说无疑是巨大的尝试和挑战,我不断地给自己提出新的问题,然后去论证、推翻,不懂就请教老师或同学,再接着提出新的问题,在这个往复的过程中,我这篇稚嫩的设计日趋完善。每一次改进我都收获良多,虽然我的设计作品不
40、是很成熟,而且借鉴了前人的很多资料,但我仍然心里有一种莫大的幸福感,因为我实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程,更重要的是这个设计中我加入了自己鲜活的思想。在做这次毕业设计过程中使我学到了很多,加深了对数子电路的理解,验证了所学理论知识,提高了基本的解决实际问题的能力,并增加了对电子设计方面的兴趣。更重要的是我体会到不论做什么事都要真真正正用心去做,才会使自己更好的成长,没有学习就不可能有实践的能力,实践才是最终的目的,没有实践就不会有自己的突破和创新,希望这次的经历能让我在以后的工作和生活中不断成长与进步。 就此作结!致谢在此,我要衷心的感谢老师、学长、同
41、学们的帮助,如果没有他们,我将不会这么快就做出这次的电子竞赛。此外,在设计中我发现了自己知识的不足,从这次设计中我学到了很多东西,最重要的是我学会了一种精神永不放弃。在以后的时间里面我们会用这种精神去学习,更上一层楼。参考资料1基于单片机结构的智能系统设计与实现 沈红卫 编 电子工业出版社2单片机原理与接口技术 黄惠媛 编 海洋出版社3单片机应用技术 周平 伍云辉 编 电子科技大学出版社48051单片机实践与应用 吴金戌 沈金阳 郭庭吉 编 清华大学出版社5电子设计竞赛赛题解析 黄正谨等编 东南大学出版社 附录显示左移的程序#include#define uchar unsigned char
42、#define uint unsigned int#define SCAN P0/行驱动接到P0sbit SHCP=P24;/595 CLKsbit STCP=P25;/595 STRsbit DR=P20; sbit DG=P21;sbit ENT=P23;/595 OE/Gsbit key1=P33;uint word; /字模计数器uchar move;/列指针uchar line;/行指针uchar speed=5;/设定移动速度uchar BUF16;/缓存数组uchar code disp;/字模数组/*装载一线点阵数据*/ void loadline()uchar s;for(s
43、=0;s6;s+)/s为要显示的字数+1BUF2*s= dispword+32*s+2*line;BUF2*s+1=dispword+1+32*s+2*line;/*发送一线移动数据*/void sendline()char s,p;uchar inc,k,j;if(move8) inc=0;else inc=1; for(s=0+inc;s=7+inc;s+)if(move8) j=move;else j=move-8; k=(BUFs(8-j); /字模左边字节左移j位,右边字节右移j位,2者相或for(p=0;p8;p+) DR=(k&0x80); /选择红色显示SHCP=0; /595时钟信号