《16X16点阵显示器毕业设计完整版(共41页).docx》由会员分享,可在线阅读,更多相关《16X16点阵显示器毕业设计完整版(共41页).docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上西安航空职业技术学院毕 业 设 计(论 文)论文题目: 1616点阵LED电子显示屏的设计所属系部: 指导老师: 职 称: 学生姓名: 班级、学号: 专 业: 西安航空职业技术学院制2012年 12月 15日西安航空职业技术学院 毕业设计(论文)任务书题目: 1616点阵LED电子显示屏的设计 任务与要求: 利用AT89C51单片机控制整个电路,设计1616点阵LED电子显示屏,在目测条件下1616点阵LED显示屏各点亮度均匀、充足,可以显示文字。文字应稳定,清晰无串扰。时间 2012 年 10 月 15 日 至 2012 年 12 月 15 日 共 8 周所属系部:
2、 电子工程系学生姓名: 学 号: 专业: 指导单位或教研室: 指导教师: 职 称: 西安航空职业技术学院制2012年 12 月 15日毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字2012.10.15至2012.10.29熟悉课题和相关资料查阅已完成2012.10.30至2012.11.11总体设计方案确定已完成2012.11.12至 2012.11.17系统硬件设计已完成2012.11.18至-2012.11.24系统软件设计已完成 2012.11.25至-2012.12.1进行程序编写已完成2012.12.2至2012.12.9程序调试及电路仿真已完成2012.
3、12.10至2012.12.15整理.撰写论文,准备答辩已完成教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。1616点阵LED电子显示屏【摘要】本设计是一1616点阵LED电子显示屏的设计。单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。经实践证明,该系统显示误差小,性能稳定,结构
4、合理,扩展能力强。关键词:AT89C51单片机; LED; 点阵显示; 动态显示; 汇编语言。【Abstract】This design is a 16 16 lattice LED electron display monitor design.SCM process control system used for editing MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effect
5、ively control the defense showed bright spots. LED display with fabric means flexibility, stability, low power consumption, long life, mature technology, low-cost features at the station, securities, sports venues, transportation corridors and various indoor / dissemination of information on foreign
6、 shows occasions, good publicity, real-time environmental parameters, etc. countdown major activities are widely used.As the practice proves, the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.Key words: AT89C51 Micro Controller Unit;LED;L
7、attice display;Dynamic display; Assembly language.目 录1引言单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。单片机的特点是体积小、集成度高、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为单片机有如此多的优点,因此其应用领域之广,几乎到了无孔不入的地步。1.1研究背景在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。我们可以开发利用单片机系统以获得很高的经济效益。更重要的意义
8、是单片机的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。例如,本文所要论述的通过单片机来控制LED点阵显示。LED是发光二极管英文Light Emitting Diode 的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和-结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED电子显
9、示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。LED显示屏经历了从单色、双色图文显示屏
10、,到图像显示屏的发展过程。随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以用单片机控制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型。汉字显示方式是先根据所需要的汉字提取汉字点阵(如1616点阵),将点阵文
11、件存入ROM,形成新的汉字编码。而在使用时则需要先根据新的汉字编码组成语言,再由MCU根据新编码提取相应的点阵进行汉字显示。具体显示技术和原理将会在正文中得到详细论述。2系统整体设计方案2.1 需要实现的功能设计一个室内用1616点阵LED显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示文字,显示文字应稳定、清晰无串扰。文字显示有静止、移入移出等显示方式。2.2 LED显示特点LED发光灯可以分为单色发光灯、双色发光灯、三色发光灯、面发光灯、闪烁发光灯、电压型发光灯等多种类型。按照发光灯强度又可以分为普通亮度发光灯、高亮度发光灯、超高亮度发光灯等。这种单个的发光灯适宜用做指示灯,
12、如电源指示、电路状态指示灯,进而对能够转变成电信号的各种物理量进行指示。也可以用多个LED发光灯组成固定的字符或图形进行显示,如大型剧场会堂的出入口及洗手间的显示。和很多应用术语一样,LED图文显示屏并没有一个公认的严格的定义,一般把显示图形和/或文字的LED显示屏称为图文屏。这里所说的图形,是指由单一亮度线条组成的任意图形,以便于不同亮度(灰度)点阵组成的图像相区别。图文显示屏的主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED图文显示屏的外观可以做成条形,叫做条形图文显示屏(简称条屏),也可以按一定高度比例做成矩形的平面图文显示屏。其实条屏只不过是
13、其宽度远大于高度的平面显示屏,在显示与控制的原理上并无区别。 从理论上说,不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。通常事先把需要显示的图形文字转换成点阵图形,再按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样是可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文
14、字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有1616、2424、3232、4848等不同规格。汉字的点阵结构相应的显示数据是用16进制格式以字节为单位表示的。用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。 点阵显示方式适应信息变化的优点是以点阵显示器的价格和其复杂的控制电路为代价的。点阵显示器在整个显示单元的所有位置上都布置了LED器件,而像数码管一类的显示器件只在需要发光的七段位置上布置LED器件,其它位置是空白的
15、。因此,点阵显示器在相同面积情况下,价格要贵些。但是,数码管可显示的信息有限,只有09或单个的英文字符,由于组合形成的字符不多,所以其显示数据和控制电路都比较简单。点阵显示器则不然,它要对点阵上全部LED进行控制,并能生成所有可能显示的图形文字,其显示数据和控制电路自然要复杂得多。因此,根据不同的场合,不同的显示特点和格式可以分别采用数码管器件或点阵显示方式,有的情况可以采用两者搭配的混合屏显示方式。图文显示屏的颜色,有单色、双色、和多色几种。最常用的是单色图文屏。单色屏多使用红色、橘红色或橙色LED点阵单元。双色图文屏和多色图文屏,在LED点阵的每一个“点”上布置有两个或多个不同颜色的LED
16、发光器件。换句话说,对应于每种颜色都有自己的显示矩阵。显示的时候,各颜色的显示点阵是分开控制的。事先设计好各种颜色的显示数据,显示时分别送到各自的显示点阵,即可实现预期效果。每一种颜色的控制方法和单色的完全相同,因此掌握了单色图文显示屏的原理,双色屏和多色屏就不难理解了。2.3 设计方案论证 2.3.1显示模式方案为了吸引观众增强显示效果,可以有多种显示模式,最简单的显示模式是静态显示。这里所说的“静态显示模式”不同于静态驱动方式。与静态显示模式相对应,就有各种动态显示模式,它们所显示的图文都是能够动的。按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法,
17、并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。刷新的时间控制,要考虑运动图形文字的显示效果。刷新太慢,动感不显著;刷新太快了,中间过程看不清。一般刷新周期可控制在几十毫秒范围之内。同时控制LED显示屏的各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这么多端口,
18、如果我们采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。而且静态显示功耗大,显示一个1616的字的功耗为:1616105=12800mW=12.8W!普通电池根本无法驱动,要是组成大显示屏那功耗将更惊人。因此虽然静态显示效果好,但是在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器,每行有一个行驱动
19、器,具体就1616的点阵来说,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列燃亮相应的LED;未接通的列所对应的LED熄灭。当一行的扫描持续时间结束后,该行燃亮的LED也就熄灭;下一行又以同样的方法进行显示。全部各行都扫过一遍之后(一个扫描周期),又从第一行开始下一个周期的扫描。只要一个扫描轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就不容易感觉出
20、闪烁现象,就能看到显示屏上稳定的图形了。而且动态扫描方式功耗低,硬件成本低,每个LED都不是连续工作,因而还有利于延长LED的使用寿命。2.3.2数据传输方案采用扫描方式进行显示时,显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输方式的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无
21、疑是十分经济的。但是,串行传输过程较长,数据要经过并行到串行和串行到并行两次变换。首先,单片机从存储器中读出的8位并行数据要通过并串变换,按顺序一位一位地输出给列驱动器。与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到全部列数据都传输完为止。只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用
22、重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图2.1为显示屏电路实现的结构框图。电源行驱动LED显示点阵列驱动 单片机 图2.1显示屏电路3系统硬件部分设计 由于图文屏的控制电路采用单片机方案,控制功能的实现应在硬件和软件两方面进行折中。单片机及相应软件,主要负责存
23、储(或生成)显示数据、安排控制信号的定时与顺序等。但是单片机的接口数量少,驱动能力不强,必须扩展一定的硬件电路,才能满足显示屏的需要。系统硬件部分电路大致上可以分成单片机系统及外围电路、列驱动器电路、行驱动器电路和LED显示屏电路五部分。3.1单片机系统及外围电路3.1.1单片机的选择 AT89C51作为该系统设计的核心器件。该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8
24、位中央处理器和Flash存储单元,AT89S51单片机在电子行业中有着广泛的应用。单片机小系统的电路图如图3.1所示。图3.1 单片机小系统电路3.1.2 AT89C51单片机的主要特性(1)兼容MCS-51指令系统,4K字节可编程闪烁存储器;(2)8k可反复擦写(大于1000次)Flash ROM;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0Hz-33Hz;(5)三级程序存储器锁定;(6)128*8位内部RAM,32可编程I/O线;(7)两个16位定时器/计数器,6个中断源;(8)全双工串行UART通道,低功耗的闲置和掉电模式;(9)低功耗空闲和掉电模
25、式,设置睡眠和唤醒功能;(10)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。3.1.3 引脚功能及管脚电压AT89C51为8位,采用工业标准的C51内核,在内部功能及管脚排布上与通用的89C52相同。如图3.2所示。图3.2 AT89C51引脚图(1)P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口
26、接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。(2)P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表3.1。Flash编程和程序校验期间,P1接收低8位地址。表3.1 P1.0和P1.1的第二功能引脚号功能特性P1.
27、0T2,时钟输出P1.1T2EX(定时/计数器2)(3)P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。(4)P3口P
28、3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。(5)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(6)ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6
29、输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。(7)PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存
30、储器,将跳过两次PSEN信号。( 8)EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。(9)XTAL1振荡器反相放大器的及内部时钟发生器的输入端。(10)XTAL2振荡器反相放大器的输出端。3.2列驱动电路列驱动电路由集成电路74HC595构成,它具有一个8位串行输入/输出或者并行输出的
31、移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。74HC595的管脚及内部结构形式如图3.3所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SER是串行数据的输入端。引脚SRCLK输入移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚是输出三态门的开放信号,只有当其为低时
32、锁存器的输出才开放,否则为高阻态。信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为0,由于SRCLK和RCLK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级连应用时,向上一级的级连输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级连输出。移位寄存和输出锁存的时序波形如图3.4所示: 图3.3 74HC595的管脚及内部结构逻辑图图3.4 移位寄存和输出锁存的时序波形图由74HC595组成的列驱动器示于图3.5中。该图由两片74HC595组成16列的驱动,由
33、16个行驱动器驱动16行。第一片列驱动器的SER端连接单片机输出的串行列显示数据,其QH端连接第二片的SER端,采用这样的方法组成两片的级连。两片相应的SRCLK、RCLK端分别并联,作为统一的串行数据移位信号、串行数据清除信号和输出锁存器打入信号。这样的结构,使得各片串行移位能把16列的显示数据依次输入到相应的移位寄存器输出端。移位过程结束之后,控制器输出RCLK打入信号,16列显示数据一起打入相应的输出锁存器。然后选通相应的行,该行的各列就按照显示数据的要求进行显示。图3.5显示驱动电路3.3 行驱动电路3.3.1行驱动芯片74HC154 介绍译码器是一个多输入、多输出的组合逻辑电路。其功
34、能是将给定的输入码组进行“翻译”,变换成对应的输入信号对每一种可能的输入组合,使输出通道中相应的一路有信号输出,一个且仅一个输出信号为有效电位。74HC154为变量译码器,也称二进制译码器,它是一种四线十六线译码器, 译码的输入端有4个,输出端有24=16个,并有两个选通端(使能端),它的管脚形式如图3.6所示,当选通端 1、 2均为低电平时,译码器处于工作状态,可将地址输入端(A0A3)的二进制编码在一个对应的输出端以低电平译出。否则,译码器被禁止,所有的输出端被封锁在高电平。 为译码输出端,输出是低电平有效,即在选通时,每输入一个二进制代码将使对应的一个输出端为低电平,而其它输出端均为高电
35、平的无效信号,也可以说对应的输出端被“译中”。74HC154译码器的真值表如表3.2所示:图3.6 74HC154管脚图表3.2 74HC154译码器的真值表从真值表可知,每组4个变量输入,在16个输出中只有一个引脚为“0”(且正好与输入代码是一一对应),其余15个全为“1”,这种译码输出称为低电平有效;四线十六线译码器逻辑形式为: , ,。3.3.2 行驱动电路行驱动电路相对简单。行选通信号来源于单片机按照时序要求所给出的二进制信号,每次更新行号(开始扫描新的一行)时,由单片机输出4位二进制行号,行号经4/16线译码器译码后,生成16条行选通信号线,再经过驱动器驱动对应的行线。采用译码器的方
36、案,还可以保证同一时刻只选通一条行线,从而达到显示的稳定性。行驱动电路原理如图3.7所示:图3.7 行驱动电路原理图行选通信号从74HC154的端输出,某一端输出低电平即为有效,而其它端输出均为高电平的信号无效。如端输出低电平,此信号传至相应的PNP型三极管Q1,此时,三极管的基极为低电平,因此,发射结正向偏置,集电结反向偏置,三极管导通,其集电极再将高电平加于LED阵列的对应的行上,即将此行选通;而同时74HC154的其它端输出高电平而致使该行对应的三极管截止,从而所对应LED行线不被选通。行选通按顺序从,全部各行都选通一遍之后又重新开始,这就是行驱动电路的逐行扫描过程。行信号A、B、C、D
37、的顺序变化范围从0000、0001、0010、至l111,来一个选通信号,行信号顺序就变化一次,其频率由扫描电路决定。 由于行驱动电路一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,就需要1620=320mA的驱动电流,选用三极管8550作为驱动管可以在逻辑功能和驱动能力上符合LED的驱动要求。3.4 LED显示屏电路LED显示屏是将发光二极管按行按列布置的,驱动时也就按行按列驱动。在扫描驱动方式下可以按行扫描按列控制,当然也可以按列扫描按行控制。LED显示屏现多采用多块88点阵显示单元拼接而成。本文就是使用4块SBM1388型号的实验模块组成
38、1616点阵,以满足汉字显示的要求。88 LED点阵是最基本的点阵显示模块,理解了88 LED点阵的工作原理就可以基本掌握LED点阵显示技术。88点阵LED结构如图3.8所示,其等效电路如图3.9所示:图3.8 88点阵LED结构图图3.9 88点阵LED等效电路图从图中(本图的LED阵列采用共阳的接法)可以看出,88点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。
39、行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到 8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。以上就是1616点阵LED电子显示屏系统硬件
40、部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。系统综合电路原理图见附录一。4系统软件部分设计在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框
41、图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现语言的直观,易于记忆和检查,可读性较好和使语言程序占用较
42、少的单片机存储空间,实时处理系统可以快速的执行指令的角度考虑,本设计中显示屏程序采用汇编语言编写。4.1 系统主程序系统主程序的总体结构如图4.1所示。系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后LED显示屏进入开机状态,转入正常的显示。首先是向上滚动显示“单片机是工业中最基本的应用方式”15个汉字,每个字停留时间约1.6s;接着再向上滚动显示“我爱单片机”这5个汉字。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服
43、务程序、多字滚动显示子程序、单字显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。图4.1系统主程序的总体结构4.2 显示驱动程序图4.2为显示驱动程序(显示屏扫描函数)流程图。图4.2 显示驱动程序流程图根据流程图可以编写出相应的显示程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷新率(帧频)=T0溢出率 =其中f为晶振频率,t为定时器T0初值(工作在16位定时器模式)。T0初值=2其中N与工作方式有关,本设计定时
44、/计数器工作于方式1,如图4-3所示,方式1构成一个16位定时计数器,即N=16。方式1最大计数值为216=65536 ,若fosc=12MHz,则定时时间范围为165536s。机周时间与主振频率有关,机器周期是时钟周期的12倍,因此,机周时间=12/ fosc。当fosc=12MHz时,1机周=1s。图4.3 定时/计数器T0工作方式1逻辑电路结构图然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。显示程
45、序给出了各控制信号和显示数据,其作用及相互配合关系均已在硬件部分作过介绍,相应的程序部分在清单的注释区内分别进行了说明,在此不再详述。5调试及性能分析一个单片机系统经过总体设计,完成了硬件和软件设计开发。元器件安装后,在系统的程序存储器中写入编制好的应用程序,系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,多少会出现一些硬件、软件上的错误。这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。在允许的条件下,根据本设计系统的需求性首先采用在PC机上用模拟开发软件进行检测和调试,然后进行硬件的组装与调试。5.1软件调试软件调试采用脱机调试的方法,即完全用仿真器软件在PC机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、