


已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
洛阳理工学院毕业设计(论文)基于单片机的LED滚动显示屏设计摘 要LED是英文light emitting diode(发光二极管)的缩写。由镓(Ga)与砷(As)、磷(P)、氮(N)、铟(In)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。并且不同的元素化合形成的二极管会发出不同颜色的可见光。LED行业发展迅速并已成为一个具有一定规模的新兴产业,而且从总体上来看,宏观环境也非常有利于LED行业的发展,可以说LED行业前景广阔,市场潜力巨大。本设计实现了基于单片机AT89C51的1664 LED点阵的图形的滚动显示。本文主要介绍了LED点阵显示的硬件电路的设计思路以及各个部分的功能及原理和相应程序设计的设计思路和功能。该设计使用取模软件对所要显示的图形进行取模,采用C语言编写其显示程序,利用KeilC集成开发平台生成HEX文件,在Proteus中对硬件电路的时钟、复位、驱动、1664点阵进行设计并通过译码器等与AT89C51芯片连接,进而对系统进行仿真调试。本设计具有使用性强,操作简单易实现等优点。关键字:单片机 ,二极管,LED点阵,图形显示,硬件电路The Design of LED Mobile Displayed Based on Single-Chip Microcomputer ABSTRACTThe LED is light emitting diode. Diode is made of gallium (Ga) and arsenic (As), phosphorus (P) and nitrogen (N), indium (In) elements, when electrons and holes integrate can radiate light, thus it can be used to make light emitting diode. In the circuit and equipment it act as light, or display the words or figures. And if the diode has different elements it will emits different colors of visible light. LED industry has developed rapidly and has became a new industry which has a certain scale , and on the whole, macro environment is beneficial to the LED industry develop, so the LED industry has prospect, huge market potential.This design has realized scroll of graphics on 16 x 64 LED which based on AT89C51. This article mainly introduced the he function and principle of hardware circuit of LED dot matrix display, each part and the design idea and function of corresponding programming.This design using the modulus software to get the model of graphics, using C language to write the display program, HEX file generated by KeilC integrated development platform. The clock, reset, drives, 16 64 LED dot matrix of hardware circuit will be designed and connect with AT89C51 in the Proteus, and then do system simulation and debugging. This design has the advantage of usability is strong, easy to realize operation etc.KEY WORDS: Single chip microcomputer,Diode,LED dot matrix ,Graphic display,Hardware circuitIV目录第1章 绪论11.1 课题背景及意义11.1.1 LED显示屏发展背景以及国内外现状11.1.2 LED显示屏发展的简要回顾21.1.3 LED显示屏的应用领域31.2 论文的主要内容3第2章 系统的硬件部分设计42.1 设计基本方案42.2 硬件电路芯片介绍42.2.1 单片机的发展过程42.2.2 AT89C51芯片的简要介绍52.2.3 时钟电路82.2.4 复位电路92.2.5 驱动电路102.3 LED点阵显示屏显示原理182.3.1 单个点阵显示原理182.3.2 1616点阵显示原理212.4 汉字显示原理252.5 硬件系统的整体设计图与原理分析28第3章 软件设计323.1 程序设计思路与结构323.1.1 程序设计思路323.1.2 程序设计流程图323.2 模块程序设计323.2.1 主程序323.2.2 延时程序343.2.3 显示子程序34第4章 系统仿真444.1 仿真环境介绍444.2 仿真过程与结果444.2.1 绘制电路图444.2.2 HEX文件的生成454.2.3 调试与结果45结 论48谢 辞49参考文献50附 录51外文资料翻译67第1章 绪论1.1 课题背景及意义1.1.1 LED显示屏发展背景以及国内外现状能源是人类生存与经济发展的物质基础,然而伴随着人类的一次次科技革命,世界经济是出现了持续、高速地发展,但也带来了很多负面的问题,例如能源短缺、生态恶化等问题。当前世界的能源供给主要以化石资源为主,部分国家是以煤炭或者石油与天然气为主。根据专家预测,按目前能源的消耗情况来看,石油、天然气资源最多只能在未来半个世纪内为人类提供能源,煤炭能维持的时间也不会超过二百年。因此许多国家在想法设法提高能源的使用效率,其中开发可再生能源是一个重要举措。 随着全球环境的日恶化、人类节能环保意识的逐步加强,具有节能环保概念的LED行业在全世界大放光彩。在欧洲,由于人们的节能环保意识比较强,因此使用环保产品的接受度较高,加之欧盟较早提出淘汰白炽灯的相关法律,各国政府在节能灯的应用领域均推出了比例相当高的补贴计划。因此从全球来看,欧洲市场在节能灯方面的应用普及和推广率比其他地区高的多。在技术上,由于欧洲相关的市场准入标准和技术门槛相对宽松,所以节能行业尤其是LED照明行业发展迅速,技术水平比同行业其他地区也高的多。在美洲,由于金融海啸的影响,一向不懂节省的美国人也不得不开始变得节约起来,不得不想方设法节省支出,因此LED照明应用产品也摆上各大市场和超市的货架。在技术上,美国人在市场准入方面非常严格,除了能源之星标准以外,针对固态光源的UL标准草案也在制定和陆续出台,同时还伴随着其他准入标准也在陆续制定和协商中,虽然LED应用产品被欧美做芯片的公司忽悠的风生水起,大有立刻扑向全世界消费市场的势头,但由于UL等认证费用的高昂和繁琐,LED固态照明市场在北美市场的真正启动也在2012年以后。 在亚洲地区,超高亮度的LED蓝光技术是由日本人于八十年代研究出来的,所以日本社会对LED照明应用抱有全世界最高的热情,所以日本市场对LED应用的支持力度非常大,随着近些年政府强力推出积分换购LED产品的计划,LED产品在日本市场的销售增长率一直遥遥领先于其他国家;而对于韩国和台湾地区由于拥有较为成熟的半导体制造和研发技术,目前全世界70%的中高端LED芯片制造都是在这个区域完成的。在我国的照明行业里,传统光源产品将被节能灯所替代已是势不可挡。继全球十多个国家和地区陆续发布白炽灯淘汰计划之后,我国发布了逐步淘汰白炽灯路线图。路线图指出,在2016年前,我国将分多个阶段一步步使白炽灯退出市场,同时以节能灯替代之,这样我国一年便可节电达480亿度。十二五期间,国内还将加大推广绿色照明工程的力度,与此同时节能灯市场容量也将出现空前增长,LED照明行业发展潜力巨大。1.1.2 LED显示屏发展的简要回顾 上世纪六十年代未,第一个发光二极管(LED)问世,到七十年代,随着电子技术与半导体技术的迅速发展,发光二极管的发光颜色、亮度等性能得到很大提高。八十年代后,对发光二极管性能的研究有了突飞猛进的发展,LED显示屏也在这个时期形成。 大体上,LED显示屏的发展可以分为三个时期: 第一个时期是1990年以前,这是时期LED显示屏开始形成。在这个时期LED在材料上受到很大的限制,同时控制技术也相对落后,影响了LED显示屏的显示效果,产品成本又较高,直接影响了LED显示屏的推广。因此在1990年以前LED显示屏的应用领域非常狭窄。第二个时期是1990-1995年,这一阶段随着相关技术上的突破和信息产业飞速增长,LED行业也得到了迅速发展,全彩色LED显示屏开始进入市场。这一时期,我国的LED行业也快速发展,由几家企业年产值几千万元发展到几十家企业年产值达数十亿元。LED显示屏成为了平板显示领域的主流产品。第三个时期是从1995年至今,LED行业进入一个总体稳步提高但格局仍需完善的发展时期。自1995年以来,LED行业市场容量扩大,技术更加成熟,许多中小企业如雨后春笋般出现,使产品价格大幅降低,行业内部竞争更加剧烈。1.1.3 LED显示屏的应用领域LED显示屏是集电子信息技术与半导体技术于一体的显示系统。它具有体积小、色彩显示范围广、亮度高等优点,因而成为各种显示媒体的理想选择。近几年LED点阵显示技术发展迅速,其抗干扰能力强等特点使得其在户外广告、公共告示、标语提示等方面得到了广泛的应用,因此研究LED点阵显示屏接口与控制技术具有较高的实际应用价值。LED显示屏的应用领域非常广泛,主要包括:城市道路使用的太阳能LED,各类工矿企业、宾馆、商厦、写字楼的高效照明,车站、银行、证券、医院的LED提示用的显示屏,市政广场、演唱会用的播放媒体的全彩显示屏等。1.2 论文的主要内容在撰写此论文之前,我从学校的图书馆借阅了大量有关单片机、LED显示电路设计和显示程序编写的相关书籍,并在网络搜集、参阅了较多的相关论文。经过对这些资料的研究与整理,我从中学习到很多新的相关专业知识,加深和丰富了我对单片机的理解。最后,我写出了这篇基于单片机的LED滚动显示屏设计的论文。其主要内容是:(1)LED、单片机的背景与发展前景。(2)AT89C51芯片的功能与应用以及时钟、复位、驱动、电源电路的设计与组成。(3)1664 LED点阵以及汉字、图形的显示原理。(4)汉字、图形显示的取模与程序编写。(5)仿真电路图的绘制,HEX文件的生成以及调试。(6)实物的制作。各个章节安排如下:第1章 绪论主要讲述该设计的背景,意义以及设计思想。第2章 系统的总体方案设计主要是硬件组成部分及与设计电路相关的芯片介绍。第3章 显示程序的编写部分。第4章 系统仿真,显示符合设计要求的显示结果。第2章 系统的硬件部分设计2.1 设计基本方案本设计主要采用AT89C51单片机及其周边芯片,设计点阵LED与单片机的接口电路。硬件电路包括:主控单片机模块、驱动电路模块、LED显示模块、复位电路模块、时钟电路模块。总体组成框图如图2-1所示。图2-1 总体结构框图图2-1 简略的描述了系统的结构,本系统由电源电路提供电源,先由单片机的P2.0口按位输出所要显示字的代码到列驱动,然后再通过单片机的P3.0至P3.3口送行代码到LED显示模块选中行,这样进行逐行扫描从而实现汉字、图形等的显示。2.2 硬件电路芯片介绍2.2.1 单片机的发展过程单片机技术发展十分迅速,产品种类已经琳琅满目。纵观整个单片机技术发展过程,可以分为以下是三个主要阶段:(1)单片形成阶段1976年,Intel公司推出了MCS-48系列单片机。基本型产品在片内集成有,8位CPU、1KB程序存储器(ROM)、64B数据存储器(RAM)、1个8位定时器/计数器、2个中断源。此阶段的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口等部件的集成,但存储器容量较小,存执范围小(不大于4KB),无串行接口,指令系统功能不强。(2)结构成熟阶段1980年,Intel公司推出MCS-51系列单片机。基本型产品在片内集成有,8位CPU,4KB程序存储器(ROM),128B数据存储器(RAM),2个16位定时器/计数器,5个中断源、2个优先级,1个全双工串行口。此阶段的主要特点是:存储器容量增加,寻址范围扩大(64KB),结构体系成熟。现在MCS-51已成为公认的单片机经典机种。(3)性能提高阶段近年来,各半导体厂商不断推出新型单片机芯片,典型的产品如ATMEL的AT89C51RD2单片机,在片内集成有,8位CPU,64KB程序存储器(Flash)、具有ISP能力,256B的RAM+1KB的XRAM+2KB的EEPROM,3个16位定时器/计数器,7个中断源,4个优先级,1个全双工串行口,硬件Watchdog Timer等。此阶段的主要特点是:控制性能优异、种类繁多。现在单片机芯片市场已经呈现出百花齐放、欣欣向荣的局面。2.2.2 AT89C51芯片的简要介绍 AT89C51是一种带4kB闪速可编程可擦除只读存储器的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写/擦循环,数据保留时间为10年。他是一种高效微型控制器,它灵活性高,价格低廉,常用于嵌入式控制系统。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。其引脚分配见图2-2所示。图2-2 AT89C51引脚分配图AT89C51可以按照常规方法进行编程,也可以在线编程。AT89C51将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 AT89C51拥有40个引脚,它的主要性能参数: (1)8位微处理器(CPU); (2)程序存储器(4KB Flash ROM); (3)数据存储器(128KB RAM); (4)1个全双工的异步串行通信口; (5)4个8位可编程并行I /O口(P0口、P1口、P2口和P3口); (6)2个可编程的16位定时/计数器; (7)5个中断源,2个优先级;(8)有低功耗空闲和掉电模式;(9)1000次擦写周期; (10)与MCS-51产品指令系统完全兼容。AT89C51的管脚说明:1电源引脚电源引脚接入单片机的工作电源。(1)VCC(40脚):接+5V电源。(2)VSS(20脚):接数字地。2时钟引脚(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外接时钟源时,该引脚接外部时钟振荡器的信号。(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外部时钟时,该引脚悬空。3. 控制引脚 此类引脚提供控制信号,有的引脚还具有复用功能。(1)RST(TESET,9脚):复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以是单片机复位。在大年纪正常工作时,此引脚应为0.5V低电平。(2)EA/VPP(31脚):EA为该引脚的第一功能,即外部程序存储器访问允许控制端。VPP为该引脚第二功能,即在对片内Flash进行编程时,VPP引脚接入编程电压。(3)ALE/PROG(30脚):ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外的地址锁存器中。PROG为该引脚的第二功能,即在对片内Flash存储器编程时,此引脚作为编程脉冲的输入端。(4)PSEN(29脚):片外程序存储器的读选通信号,低电平有效。4. 并行I/O口引脚P0口:(1)P0口为双功能口地址/数据复用口和通用I/O口。(2)当P0口用作地址/数据复用口时,是一个真正的双向口,用作与外部存储器的,输出低8位地址和输出/输入8位数据。(3)当PO口用作通用I/O口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此是一个准双向口。为保证引脚信号的正确读入,应首先向锁存器写1。单片机复位后,锁存器自动被置1;当P0口由原来的输出状态转变为输入状态时,应首先置锁存器为1,方可执行行输入操作。(4)一般情况下,P0口大多作为地址/数据复用口使用,这时就不能再作为通用I/O口使用。P1口:(1)P1口是一个8位双向I/O口。 P2口:(1)作为地址输出线使用时,P2口可以输出外部存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址,可以寻址64KB的地址空间。当P2口作为高8位地址输出口时,输出锁存器的内容保持不变。(2)作为通用I/O口使用时,P2口为一个准双向口。功能能与P1口。(3)一般情况下,P2口大多作为高8位地址总线口使用,这时就不能再作为通用I/O口使用。 P3口:(1)P3口内部没有上拉电阻,不存在搞阻抗输入状态,为准双向口。(2)当某位不作为第二功能使用时,可作为第一功能通用I/O口使用。2.2.3 时钟电路 AT89C51单片机时钟信号为各个部件单位的运行提供时间基准,即各个部件均在时钟信号的基础上有条不紊的工作,因此,单片机的工作速度直接受到时钟信号频率快慢的影响,时钟信号的稳定性也直接决定着单片机系统能否正常工作。内部时钟方式和外部时钟方式是单片机时钟电路常用的两种方式。本设计采用的是内部时钟方式。图2-3是AT89C51内部时钟方式的电路。图中的电容C1和C2值的通常均选择为30pF。晶震频率的范围通常在1.2-12 MHz内。本设计选用的晶体振荡频率为12 MHz。晶体的频率越高,系统的时钟频率越高,单片机的工作运行速度越快。但反过来,运行速度越快对存储器的速度要求就越高,对印刷电路板的工艺要求也越高,即要求线间的寄生电容越小。晶体和电容应尽可能的安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高,现在部分类型的单片机芯片的时钟频率最高可达33 MHz。图2-3 时钟电路图2.2.4 复位电路 图2-4 复位电路图复位是单片机的初始化操作,只需要给AT89C51的复位引脚RST加上大于2个机器周期的高电平就可使单片机复位。复位电路的基本功能是:从系统上电直至系统电源稳定前为系统提供复位信号,待系统电源稳定后再将复位信号撤除。但为防止电源开关抖动,电源稳定后也要经一段时间后才能撤销复位信号。复位电路有上电自动复位和按钮复位两种方式,按键复位又分为电平复位和脉冲复位两种。本设计采用按键电平复位方式,按键手动电平复位是通过RST端经电阻与电源VCC接通来实现,具体电路如图2-4所示,图中电容为10uF,电阻为10K。2.2.5 驱动电路1. 行驱动电路行驱动电路由74HC154译码器来充当。所谓译码,就是将每一组代码的含意翻译出来的过程,也就是编码的逆过程。该设计中采用74HC154译码器,其作用即是将一组4位代码转换为想要的确定的16位代码。译码器是组合逻辑电路的一个重要的器件,芯片74HC154为 4线16线译码器,74HC154译码器的引脚(管脚)如图2-5所示。图2-5 74HC154引脚图其引脚功能如表2-1所示。74HC154译码器工作原理:当两个选通端(E1和E2)均为低电平时,可将地址端(A、B、C、D,A为最低位,D为最高位)的二进制编码在一个对应的输出端以低电平的方式译出。假设地址端的值为0000(分别对应D、C、B、A),那么则说明其O号端口输出是有效的,则其输出值为0111111111111111(低电平有效)。假设地址端的值为0001,那么则说明其1号端口输出是有效的,则其输出值为1011111111111111。假设地址端的值为0010,那么则说明其3号端口输出是有效的,则其输出值为1101111111111111,以此类推。表2-1 74HC154引脚功能表引脚号符号功能1Y0输出2Y1输出3Y2输出4Y3输出5Y4输出6Y5输出7Y6输出8Y7输出9Y8输出10Y9输出11Y10输出12GND接地端13Y11输出14Y12输出15Y13输出16Y14输出17Y15输出18G1使能端19G2使能端20D地址输入端21C地址输入端22B地址输入端23A地址输入端24VCC电源表2-2 74HC154译码器真值表输入输出端口选通端口地址端口E1E2DCBA0000000000001100001020000113000100400010150001106000111700100080010019001010100010111100110012001101130011101400111115011111-10XXXX-11XXXX-74HC154译码器引脚功能如表2-2所示。以上已经介绍该毕业设计使用74HC154作为译码器,且其输出端口以“0”(低电平)有效。在下面介绍汉字显示原理时我们会发现LED点阵的行以“1”(高电平)为有效,即其有效电平方式与我们所使用的74HC154译出的有效电平方式刚好相反,所以在将74HC154译出的代码发送给LED端口前,我们要加一个反相器。因为该设计需要做实物,即要考虑驱动能力,所以我们选择74HC04作为反相器,反相的同时,增加其驱动能力。74HC04的输出电流是20mA,选用的点阵的LED点阵的点亮电流也为20mA,所以74HC04足够驱动LED显示屏。74HC04的引脚图如图2-6所示。图2-6 74HC04的引脚图其引脚功能表,如表2-3所示。其功能表如表2-4。将74HC154译码器和74HC04反相器组合起来,就可以满足该设计的列驱动的要求。其应用电路图如图2-7所示。表2-3 74HC04引脚功能表引脚符号功能11A数据输入21Y数据输出32A数据输入42Y数据输出53A数据输入63Y数据输出7GND接地端84Y数据输出94A数据输入105Y数据输出115A数据输入126Y数据输出136A数据输入14VCC电源表2-4 74HC04功能表输入输出输出控制数据AY000100101XXZX1XZ注释:0=低电平 1=高电平 Z=高阻抗 X=未知图2-7 74HC154和74HC04应用电路图2. 列驱动图2-8 74HC595的引脚图该设计中的LED点阵的列代码直接由单片机的P2.0口按位发送到移位寄存器74HC595的DS端口。74HC595的引脚图,如图2-8所示。其引脚功能表如表2-5所示。表2-5 74HC595引脚功能表引脚符号功能1Q1输出2Q2输出3Q3输出4Q4输出5Q5输出6Q6输出7Q7输出8GND接地端9Q7串行数据输出10MR移位寄存器清零端11SH_CP移位寄存器时钟输入端12ST_CP存储寄存器时钟输入端13OE输出使能端14DS串行数据输入端15Q0输出16VCC电源其真值表如表2-6所示。由74HC595真值表可知,数据由DS端输入,每来一个SH_CP的上升沿,数据便按Q0到Q7再到Q7的方向每次依次移动一位,当ST_CP接收到上升沿时,便将移位寄存器中的数据锁存到输出存储器中,再使输出使能端OE为低电平,便可将输出存储器中的数据输出,从而实现串行输入并行输出。本设计就是利用74HC595的串行输入并行输出的特点,将欲显示的字的代码按位发送给74HC595,再由其并行将数据输出。一个74HC595能实现8位的并行输出,本设计是1664 LED点阵,即行是16位,列是64位,74HC595是作为列的驱动,所以需要采用8片74HC595,8片74HC595的连接方式如图2-9。表2-6 74HC595真值表输入功能SH_CPST_CPOEMRDSHQ0-Q7输出高阻LQ0-Q7输出有效值L清空移位寄存器HL移位寄存器存储LHH移位寄存器存储HH移位寄存器状态保持输出存储器锁存移位寄存器中的状态值输出存储器状态保持注释: H=高电平状态 L=低电平状态 =上升沿 =下降沿 =无效图2-9 74HC595连接方式2.3 LED点阵显示屏显示原理2.3.1 单个点阵显示原理图2-11是典型的共阳极1616点阵内部结构原理图。所有的行的阳极连接在一起,共引出16条行线。所有列的阴极连接在一起,引出16条列线。图2-11 1616点阵原理图图2-11所示的点阵有1616共256个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当LED点阵的行线上加载扫描选通信号,列线上为数据输入,当行线上有一正脉冲选通信号时,列端16位数据中为“0”的发光二极管导通点亮。如要将第一个LED灯点亮,则将17脚接高电平,1脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第17脚为高电平,1到16脚接低电平,则第一行就会被点亮;如果要将第一列点亮,那么将1脚接低电平,17到32脚接高电平,那么第一列就会被点亮。LED显示屏的扫描方式分为逐行扫描方式和逐列扫描方式。逐行扫描方式以行线为选通端,列线为数据输入端,每次选通一个行线,将要显示在该行的图形的代码发送至列线,这样,就可以实现一行的显示。然后再紧接着选通下一行,向列线输入在该行将显示的图形的代码,依此进行,逐行扫描,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送16此数据扫描完16行,就可以看到一个完整的字。逐列扫描方式与逐行扫描的原理相似。逐列扫描方式以列线为选通端,行线为数据输入端,每次选通一个列线,将要显示在该列的图形的代码发送至行线,这样,就可以实现一列的显示。然后再紧接着选通下一列,向行线输入在该列将显示的图形的代码,依此进行,逐列扫描,从而达到显示的效果。本设计采用显示采用逐行扫描的方式,行线以高电平为有效电平,列线以低电平为有效电平。 图2-11 88LED点阵图Proteus中的单个点阵都是88的,即横竖都有8个发光二极管, 如图2-11所示。从proteus库中取出LED 88点阵不要做任何翻转,如图2-12,如果将上端左起第1脚接高电平,下端左起第1脚接低电平,那么第1行与第1列的交叉点出的点被点亮。 图2-12 点阵点亮图 图2-13 点阵点亮图图2-14 点阵点亮图如图2-13,如果将上端左起第1和第8个脚接高电平,下端左起第1脚接低电平,那么第1行与第1、8列的交叉点出的点被点亮。如图2-14,如果将上端左起第1和第8个脚接高电平,下端左起第1和第2脚接低电平,那么第1、2行与第1、8列的交叉点出的点被点亮。由图2-12与2-13可知,该点阵的上端引脚以高电平为有效电平,下端引脚以低电平为有效电平,即上端引脚接高电平,下端引脚接低电平,对应点阵被点亮。同时,可知,上端引脚控制列线,且上端左起第一个引脚控制第一列(自左而右)。由图2-13与图2-14可知,下端引脚控制行,且下端左起第一个引脚控制第一行(从上向下)。以类似的方法,可以推知,上端引脚由左向右,依次控制自左而右的列线,下端引脚从左向右,依次控制从上到下的列线。2.3.2 1616点阵显示原理Proteus中只有57和88等LED点阵,并没有1616LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要1616点阵。下面我们就首先介绍使用88点阵构建1616点阵的方法,并构建一块1664LED点阵,用于本设计的显示任务。首先,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),那么此时它的上面8个引脚是其列线(高电平有效),下边8个引脚是其行线(低电平有效)。但如果直接使用这样的器件(列线为高电平有效,行线为低电平有效),那么在整体硬件图中,我们便需要11个74HC04与74HC595相连作为驱动。然而,如果我们将行线变为高电平有效,列线变为低电平有效,那么我们只需要用3个74HC04与74HC154相连作为驱动。这样在仿真时简化了电路图,最重要的是,在做实物时减少了大量的工作量,节省了很多时间。可是如何使本来列线为高电平,行线为低电平的器件变为列线为低电平,行线为高电平呢?下面我们就来做详细介绍。首先要弄清楚行列的定义,我们定义横向为行,竖向为列。所以,如果我们对原器件进行合适的翻转,变可以将原来的行变为列,原来的列变为行,从而得到行线为高电平,列线为低电平的点阵。得到这样的器件需要如下几个步骤。第一步,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。我们要先对其做一个上下翻转,但要注意元器件的上下是对称的,如果直接对器件做上下翻转,翻转后的器件和原器件从图像上看是一模一样的,我们不知道是否正确做了翻转。所以我们在翻转前,我们先给其上端左起第一个引脚接一条线如图2-15,然后按住左键拖动鼠标选中该器件,右键选择“Y-Mirror”(Y轴对称)得到如图2-16。这样便知已经正确翻转。要注意,上端左起第一个引脚虽自身翻转到下端左起第一个引脚,但其控制的仍然是左起第一列,其他列引脚依次控制的列依次自左向右。然而原器件中下端左起第一个引脚原控制的是最上面的那一行,翻转后其自身翻转到上端左起第一个引脚,其控制的行也变为最下端的一行,其他行引脚控制的行依次自下而上。 图2-15 翻转前器件 图2-16 翻转后器件第二步,为了得到行为高电平,列为低电平的点阵,我们再对做了Y轴翻转的器件做一个向右90度翻转。与上次翻转方法相似,选中器件,右键选择“Rotate Clockwise”(顺时针方向旋转),翻转后左边引脚高电平有效,自上而下的引脚控制从上向下的行,右边引脚低电平有效,自上而下控制从左向右的列,如图2-17,这样我们的准备工作就做完了,下面就可以开始拼接1664点阵了。图2-17 顺时针翻转后器件图2-18 1664点阵拼接图图2-19 1664点阵拼接图图2-20 1664点阵拼接图第三步,先将各个引出一定长度的线,然后复制成四个如图2-18所示排列好。第四步,先将上下两个点阵的列对应相连,再将左右两个点阵的对应行相连。注意,如果先连接行线,再连列线的话,接线图看上去比较复杂,容易错误接线,而且在连接行线时,要按住CTRL键才能“穿过”点阵。连接好后如图2-19所示。第五步,将图2-19所示的点阵图复制成四个,每两个的对应行线按上述方法相连。如图2-20。第六步,拖动各个点阵模块并使其相并拢,我们可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。便可得到如图2-21所示的1664点阵。点阵的左端为16条行线,高电平有效,引脚自上而下控制从上到下的行;上端引脚为64条列线,低电平有效,自左向右控制从左到右的列。图2-21 1664点阵拼接图2.4 汉字显示原理国标规定每一个字由16行16列的点阵即由256个点阵来显示。我们可以这样理解,点阵上每一个点为一个像素,无论是中文还是英文或者图画我们都可以认为是一个图形。那么不难理解,1616点阵可以显示任何在256像素范围内的图形。这里我们以“洛”字说明,如图2-21所示。如前所述,本设计采用行扫描方式,且行代码以高电平为有效电平,列代码以低电平为有效电平。对汉字取模的方法是,逐行同时自左向右8位一组取模,即每一行会产生2组代码,并且每组中左边为高位,右边为低位。需要说明的是,列代码以低电平为有效电平,意味着不点亮的LED灯为高电平,点亮的为低电平。如对上图中的“洛”字取模。图2-21 “洛”字显示图第一行,最左边的四位均不亮,故为1111即十六进制F,下一个四位也是都不亮,那么也为F,这样第一行的第一组代码为0xFF;第二组的8位与第一组的8位相同,所以,第二组的代码也为0xFF。这样便得到了第一行的代码:0xFF,0xFF。第二行,最左边的四位均不亮,为F,紧着的四位只有最右边的一位(最低位)点亮,所以代码为1110即十六进制E,所以第一组代码就为0Xfe,第二组的8位均不亮,代码为0xFF,所以第二行的代码为0xFE,0xFF。其他各行依照相同的方法取模。但如果每个字都要这样手工的进行计算,工作效率太低。在本设计中,我们采用取模软件取模,选用的取模软件是汉字字模点阵数据批量生成工具。该工具具有丰富的功能,如能对字体、字型、大小进行设置,对字体位置可以手动进行调整,可以选择甚至自定义点阵的大小,还提供水平扫描、垂直扫描两种扫描方式。本设计对字模数据设置为取反(低电平为有效电平),点阵大小设置为1616,扫描方式设置为水平扫描,字体为楷体_GB2312,字型常规,大小为小四。设置好后如图2-22所示,然后在上方的编辑区输入要显示的字,如输入“洛”字,然后再点击“创建点阵数据-创建单个字模”,便会自动生成一个记事本文档,字模的代码就在写在该记事本里。图2-22 取模软件如对“洛”字取模的代码为/* 0 洛(16x16,H) suki software*/0xFF,0xFF, 0xFE,0xFF, 0xEE,0xFF, 0xF6,0x1F, 0xFD,0xDF, 0xBA,0xBF, 0xDF,0x7F, 0xFE,0xBF, 0xED,0xCF, 0xEB,0xF1, 0xD6,0x1F, 0x9D,0xDF, 0xBD,0xDF, 0xFC,0x3F, 0xFF,0xFF, 0xFF,0xFF,点阵汉字的显示可以认为是取模的逆过程,先由行线选中第一行,向列线输入第一行的代码,这样便可以看到第一行应该显示的图形。紧接着行线选中第二行,向列线输入第二行的代码,然后是第三行、第四行直至第十六行。只要每一行的扫描时间间隔恰当,由于人眼有视觉暂留作用,就可以看到一个完整的1616图形。对于1664点阵或者更大的点阵或者除汉字以外的其他图形,其显示原理与此也都与此相同。2.5 硬件系统的整体设计图与原理分析图2-23 硬件系统的整体设计图硬件系统的整体设计图如图2-23所示。原理分析:Proteus 7.4软件中只有88和57等LED点阵,所以需要由小的LED屏拼接成一个大的LED显示屏。上图的LED显示部分是由16个88的点阵构成整体的1664点阵屏。点阵屏的拼接方法已经在前面叙述过了。本设计中 LED点阵显示屏采用的是逐行扫描的工作方式。XTAL1与XTAL2接12MHz的晶振;RST接复位电路;P1.7口与74HC154的E1相连,以此控制74HC154是否工作即是否产生输出;E2直接接地,即E2保持为低电平;P3.0与74HC154的地址线A相连,P3.1与74HC154的地址线B相连,P3.2与74HC154的地址线C相连,P3.3与74HC154的地址线D相连,以此选择74HC154有效的输出端口;74HC154的输出端口(0到15脚)分别连接一个反相器74HC04,需要说明的是,Proteus中的74HC04是一相反相,而实物中的74HC04是六相反相;反相器74HC04的输出直接与点阵屏的行线对应相连接,即输入端与74HC154的0号输出引脚相连的反相器74HC04的输出端与点阵最上端的行线相连,其余各行按顺序对应相连;P2.0口与左边第一个74HC595的DS端口相连,然后下一个74HC595的DS端口与上一个74HC595的Q7相连,这样能够实现串行数据的依次“向后传递”;每一个74HC595的SH_CP端口均与P2.1端口相连;与此类似,每一个74HC595的ST_CP端口均与P2.2端口相连;每一个74HC595的MR与电源相连、OE与地相连;74HC595按从左向右,输出端口按Q0Q7的顺序,依次与列线(自左向右)相连。在画仿真图的过程中,我们会发现很多线需要连接,尤其是列线与行线,如果直接端口与端口连线,仿真图会占很大的面积而且不满密密麻麻的线,为了节省空间,我们只需要将需要连接在一起的端口各引出一条小短线,然后给其命上相同的名字便可,这样Proteus就默认为这两条线是连接在一起的。其操作方法是,选中要命名的线,右键选择“Place Wire Label”(给线写标签),然后在弹出的对话框中的“String”(线)中选择或者输入名称。接线方式与方法已经叙述完,下面讲解本设计整体硬件的工作原理。由接线图可知,所有74HC595的SH_CP移位寄存器时钟输入端、ST_CP存储寄存器时钟输入端分别接在一起,也就是它们共用一个移位寄存器时钟和存储寄存器时钟,由前面叙述的74HC595的功能表可知,这样的连接可以使8片74HC595同时进行数据移位和数据输出。由单片机的P2.0口按位向左边第一个74HC595的DS端口输入数据,当数据输入到DS后,此时若SH_CP产生一个上升沿,然后ST_CP产生一个上升沿,那么在输出端口Q0上便会输出该数据,如果再继续向DS端口输入新的数据,同时SH_CP和ST_CP相继产生上升沿,那么Q1上就会输出原本在Q0上输出的数据,同时Q0上输出新输入在DS端口的数据,依此进行,当SH_CP和ST_CP的第八个上升沿产生以后,Q7上输出Q7上的数据。因此,本设计中,将左边的74HC595的Q7端口与其右边的74HC595的DS端口相连,这样,上一片的输出Q7作为下一片的DS的输入,可以使数据连续向右传递,从而实现64位的串行输入,64位的并行输出。在此我们要考虑一个问题,在该设计中,每一行均是64位,这64位是四个字的第一行的代码,而且74HC595的数据时不断向右传递的,那么我们从P2.0发送数据时,要先发送那个字的哪一组数据呢?经过观察和思考,我们不难发现,最先从P2.0发送的数据将会被传送到点阵的最右端,所以最先发送的数据应该是第四个字的第一行的第二组代码,然后是第四个字的第一行的第一组代码,再是第三个字的第一行的第二组代码,以此类推。这样一行行的发送代码,同时选中对应行,就可以显示出我们将要显示的图形。下面介绍移动显示原理,我们先介绍图形的左右移动,以向右移动为例。向右移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旧房拆墙改造方案范本
- 浙江长征职业技术学院《生命应急救护》2023-2024学年第一学期期末试卷
- 沈阳工程学院《温病学研究进展》2023-2024学年第二学期期末试卷
- 咖啡行业指数分析报告
- 天津传媒学院《数值计算与》2023-2024学年第一学期期末试卷
- 塔里木职业技术学院《中医药文化与养生》2023-2024学年第二学期期末试卷
- 辽宁中医药大学杏林学院《工程光学(1)》2023-2024学年第一学期期末试卷
- 2025旅游度假区建设项目合同范本
- 中国矿业大学(北京)《禅宗与文学》2023-2024学年第一学期期末试卷
- 辽宁医药职业学院《合唱与指挥A》2023-2024学年第二学期期末试卷
- 企业信誉自查承诺书范文
- 旅游资源同步练习(区一等奖)
- 大学生创业计划书word文档(三篇)
- 平移和旋转的应用
- 小学书法兴趣小组活动方案及小学书法兴趣小组活动记录
- 和面机设计说明书毕业设计
- JJG 8-1991水准标尺
- GB/T 4857.17-2017包装运输包装件基本试验第17部分:编制性能试验大纲的通用规则
- 直流汇流箱知识培训
- 综合工业废水处理PACT工艺
- GA/T 16.31-2017道路交通管理信息代码第31部分:交通违法行为类别代码
评论
0/150
提交评论