




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文) 题 目:16*16点阵汉字显示控制器的设计学生姓名:汪滔滔学 号:2010013295所在学院:电子信息工程学院专业班级:电子1004班届 别:2014 届指导教师:张金波皖西学院本科毕业设计(论文)创作诚信承诺书 1.本人郑重承诺:所提交的毕业设计(论文),题目 16*16点阵汉字显示控制器的设计是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容; 2.毕业设计(论文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源; 3. 毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、
2、篡改数据的情况; 4.本人已被告知并清楚:学校对毕业设计(论文)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业设计(论文)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果; 5.若在省教育厅、学校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。 学生(签名): 日期: 年 月 日目 录1概述21.1 研究背景与意义21.2 国内外研究现状22开发工具32.1 Keil u Vision3软件简介32.2 Protues 7软件简介33
3、系统整体设计方案33.1 显示模式方案43.2 数据传输方案44系统硬件部分设计54.1单片机系统及外围电路54.2 显示驱动电路84.3 LED显示屏电路115系统软件部分设计135.1 主程序层135.2 数据处理程序层165.3 数据存储层25参考文献:27皖西学院2014届本科毕业设计(论文)16*16点阵汉字显示控制器的设计摘 要:本设计是16*16点阵LED显示控制设计。这次设计主要采用了具有40个引脚的主流单片机STC89C51,它是美国ATMEL公司生产的。利用其作为核心控制器,在控制行驱动中,主要用74HC138来驱动行线,在控制列驱动中却采用了直接连接IO口的方法,从而控制
4、整个电子显示屏中文字的移动效果。因为显示屏要显示汉字,同时考虑到16进制数据码,所以在设计过程中采用了16x16个LED灯构成。一个单片机总共就40个引脚,如果控制16x16个LED则明显端口数不够用,所以采用轮流显示(即动态显示)一个LED灯,可以达到静止显示,动态移入移出的效果。因为每一个灯的亮灭都是根据其阳极和阴极的高底电平所决定的。利用C语言编程可以使程序代码简洁,且所显示字符的点阵需要的数据是可以通过专业软件提取出来的,使用起来十分方便,也给编程带来了方便。关键字:STC89C51;点阵显示;LEDThe controller design of 16*16 lattice disp
5、lay Chinese charactersAbstract:The design is a 16*16 dot matrix LED display control design. This design mainly uses has 40 pins of the mainstream STC89C51 micro controller, it is USA produced by ATMEL company. Use it as a core controller, on the control of driving, 74HC138 used to drive line, in the
6、 control column is directly connected to IO port driver in the use, so as to control the mobile effect of text in electronic display screen. Because the display screen to display the Chinese characters, taking into account the 16 hexadecimal data code, so the 16x16 LED lights in the design process,
7、use 4 8x8 LED lamp current is. A total of 40 pin single-chip control, if 16x16 LED is obviously the number of ports is not enough, so the display rotation (i.e., dynamic display) of a LED lamp, can reach a static display, the effect of dynamic migration.Because of the need to control 256 LED lights,
8、 and each light is according to the bottom level in the anode and the cathode of the decision. Using the C programming language can make the program code is simple, and the characters dot matrix display data needed can be extracted by professional software, very easy to use, but also brings convenie
9、nce to programming.Key word: Dynamic display; LED; MCU;1概述1.1 研究背景与意义自从上个世纪70年代单片机的问世以来,单片机因为的它的价格低功能强大,而不断的受到大量硬件工程师的青睐,而它确实应用十分的广泛,大到航空器件小到电子表都有它的影子。正是因为其体积小、集成高、抗干扰能力强,对环境要求不高,价格低廉,开发容易,而不断的应用到我们日常生活中去。Light Emitting Diode就是我们常说的LED,通俗的说就是发光二极管,它是上个世纪60年代末开发出来的。进入八十年代后,伴随着LED灯性能的不断提高、使用寿命的增长,开始将许
10、多LED灯集成到一个板子上形成一个模块,即LED电子显示屏,它利用每一个LED灯的亮和灭来显示需要显示的内容。这个显示系统涉及到了电子技术、计算机技术、光电子技术、信息处理技术等等,是目前国际上最主流的产品。汉字的显示则必须先要通过字模提取软件提取汉字的点阵码,然后将点阵码文件存入唯一只读存储器中。在使用时,则是先根据汉字点阵码通过一系列的函数处理,然后得到新的移动的点阵码,最终由单片机的IO口输出这些16进制的数据码,表现为LED灯的亮灭,从而显示出要显示的汉字或者动态显示。1.2 国内外研究现状随着我国科技的不断发展,单片机技术已经在我国生活的各个层面体现出来,比如现在比较流行的智能家电、
11、以及工业流行的工业自动化、航空航天等等。随着科技成为第一生产力,单片机技术的应用所带来的经济效益也会越来越大。随着单片机技术的不断成熟,以前老套的硬件控制方法正在逐渐被淘汰,取而代之的是用单片机通过软件方法来实现控制。这种软硬结合的新技术也称为微控制技术。改革开放之后的今天,越来越多的公共场合需要实时发布不同信息,而LED显示屏技术的发展正好满足这一要求,于是LED显示屏的技术又得到了不断的更新发展。同时也是因为其易懂易学、结构简单,而不断的受到工程师们的青睐从而逐渐形成了光电产业!2开发工具2.1 Keil u Vision3软件简介Keil是美国Keil Software公司推出的一款单片
12、机C语言类的集成开发系统,由于C语言本身的特点加上Keil软件简单明了的集成环境而易学易用,所以受到广大爱好者的青睐。与其他开发工具相比,Keil有着其独特的开发环境,让整个编程变的更加轻松,仿真更加准确。而运行Keil软件需要WIN98、NT、WIN2000、WINXP、WIN7等操作系统。2006年1月30日ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成Keil u Vision3的Real View MDK开发环境。Real View MDK开发工具Keil uVision3源自Keil公司。Real View MDK集成了业内领先的技术,包括Keil uVision3集成开发
13、环境与Real View MDK编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器。因此Keil软件对于单片机编程者来说是一款极其好用的软件。2.2 Protues 7软件简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。该软件不仅仅具有仿真功能,和其它EDA软件相比它更是有着得天独厚的一面,即它也能仿真单片机及外围器件。他的元件库丰富达到了27000种,而且也可以很方便的创建元件库。其搜索元件库的方式是通过智能模糊搜索这样可以快速的定位所需要的元件;其智能化的连线功能即相似的连线可以直接双击,在很大程度上缩减了绘图所用的时间;在总线
14、布线时使用总线器件工具也可以使电路设计简明清晰。最重要的一点是Protues软件中的单片机可以加载已经生成好的.hex文件,达到正真目的上的实时仿真,可以帮助你快速找到自己在编程中的问题所在。3系统整体设计方案因为单片机要控制多到256个LED灯,所以在显示过程中如果使用传统的静态显示模式,则需要大量的控制器件且随着LED灯的增加呈几何增长,因此只能够使用动态显示模式,即轮流的点亮一个LED,通过视觉停留从而展现出与静态显示模式相同的显示效果。现在多数显示屏流行的都是左右移动显示、闪烁显示、错位显示、以及上下移动显示。虽然显示方法各有不同,但是总的来说都是一个规律,就是不断的利用函数处理原先已
15、经存在ROM中汉字数据码,然后产生新的带有移动性质的数据码。随后单片机就会输出这些16进制数据到IO口从而控制了每个LED灯亮灭。所以只要你控制好函数处理就可以以不同的模式不同的花样显示汉字。当然有时候事与愿违,你设计的函数太过于复杂时,也可以考虑将需要刷新的数据提前储存在唯一只读存储器中,效果显示也是一样的。这次设计我是利用中断来输出显示数据的,中断的时间控制即刷新时间也是有讲究的,如果中断需要的时间条件太慢的话很多移动时的效果更新太慢,不会达到预期的效果就会出现断断续续的显示。 3.1 显示模式方案在控制LED灯的过程中,我们依旧采用了动态扫描,但是这次扫面我略微改动了行译码器的设计,以往
16、的设计总是利用数组来控制扫面信号的更新,扫描前还要读取数据,执行效率比较低也比较繁琐,而这次我用行数据自加作为扫面信号,并且列扫面信号仅仅在行更新的时候乘2就可以实时更新了。这样在进行行扫描的时候,在存储的一个汉字中的16个数据中对应的16进制数据会被显示在与之对应的列中。所以当某一行被扫描到的时候,该行就会显示应该显示的数据;同样的方式下一行也是一样的机制显示。因为软件中行扫描的时候通过各种逻辑控制符与或非来实现了循环扫描,因此就会周而复始的循环。正是因为这种动态显示模式的工作机制,从而大大降低了硬件成本,也正是所有的LED灯不是同时点亮而是有所选择的轮流点亮,使LED更加耐用功耗更加低。3
17、.2 数据传输方案采用扫描方式进行显示时,因为扫面方式的不同不管是列扫面在先还是行扫面在先,只需要将对应的8字节数据按要显示的顺序摆放好放在单片机的只读存储器中即可。在显示时把列所对应的行中药显示的数据传送到相应的P2口和P0口,这样每扫描一行,P2和P0口就会输出该行对应的列的数据,从而控制整个点阵的显示。之所以这样设计,因为整个设计是围绕着点阵显示,而没有其他功能,所以IO口足以应付,避免了器件的浪费。同时,因为将P0、P2直接接在点阵的列上,这样不仅可以简化硬件设计,也可以简化程序代码。在将每列的数据输入到点阵中时,必须对点阵的点亮和熄灭保留一定的时间,达到视觉停留,从而让人感觉整个点阵
18、显示的汉子是完整显示的。如果停留的时间过多或者过少都会出现断层的现象。这次设计我利用中断,只要时间一达到停留时间,就进行一次数据输出,从而不会因为算法执行的时间过长而影响输出。图1为整个硬件电路实现的结构框图。图 14系统硬件部分设计由于显示屏通过单片机来控制,而单片机的函数处理又是通过软件来实现,因此整个设计必须充分考虑软硬设计。整个系统中软件最主要的功能就是负责函数的执行,并且控制着IO口输出高低电平。在硬件上单片机共有4组IO口,虽然满足了本次设计需要的端口数,但是考虑到软件的设计,我在行驱动上加上了译码器,这不仅利于软件的编写,同时也解决了LED灯的驱动问题。硬件包括了单片机系统及外围
19、电路、显示驱动电路、LED点阵电路。4.1单片机系统及外围电路4.1.1 单片机的选择综合了定时器、中断、端口等等因素,这里我们选择了内含4K字节Flash的STC89C51,因为我们只需要显示特定的图形和文字,无需庞大的Flash存储库就已经可以满足需求,不再需要扩展外部存储器了。4.1.2 AT89C51芯片介绍AT89C51AT89C51是ATMEL公司生产的8位Flash ROM单片机。其最突出的优点是片内ROM为Flash ROM,可擦写1000次以上,应用并不复杂的通用ROM写入器就能方便的擦写,读取也很方便,价格低廉,具有在片程序ROM二级保密系统。AT89C51包含以下一些功能
20、部件:(1)一个8位CPU;(2)片内振荡器时钟电路;(3)4KB Flash ROM;(4)128B 内RAM;(5)可寻址64KB的外ROM和外RAM控制电路;(6)两个16位定时/计数器;(7)21个特殊功能寄存器 ;(8)4个8位并行I/O口;(9)可编程全双工串行口;(10)具有5个中断源,并且有2个可设置优先级。STC89C51可以采用双列直插DIP封装类型,40个引脚可分为4类:电源、时钟、控制线、控制I/O引脚。图2为其引脚排列图。图 2电源VCC芯片电源,接+5V;GND接地端。时钟XTAL1、XTAL2晶荡的反相输入端和输出端。控制线因为在本次设计中很少能使用到控制线的功能
21、,所以在这里就简单介绍下:1. ALE为地址锁存允许/片内EPROM编程脉冲。2. RST复位按钮。3. VPD为备用电源。4. Vpp为内外ROM选择/片内EPROM编程电源。I/O引脚STC89C51有P0、P1、P2、P3 4个8位并行I/O端口,共32个引脚。P0口是漏级开路型即地址/数据总线复用的双向I/O口。其作为输出口用时,每个端口都可以驱动一个TTL逻辑门电路。当单片机内部对其中一个端口写“1”时,其端口电平就会呈现出高阻状态。正是因为这独特的漏极开路的设计,所以在用该I/O口当作输出时,必须接上上拉电阻才可以进行正常的功能。P1口和P0口有所不同,P0口作为输出端口是必须接上
22、拉电阻,但是P1口其内部已经有上拉电阻了,所以当向P1口写入“1”时P1口就会被内部上拉为高电平。但是,如果外部信号将其拉低,通过作用其内部的上拉电阻就会输出一个电流。P2口和P1口的类型完全相同,不再累述。P3也有其独特的一个方面,它的I/O口功能和P1、P2口是一样的,但是P3口独特在于除了作为一般的I/O口线外,它有着更重要的第二功能: P3.0口RXD作为串行口输入端 P3.1口TXD作为串行口输出端 P3.2口INT0作为外部中断0请求输入端 P3.3口INT1作为外部中断1请求输入端 P3.4口T0作为计数器0或者定时器0外部信号输入端 P3.5口T1作为计数器1或者定时器1外部信
23、号输入端 P3.6口WR作为外部随机存储器写选通信号输出端 P3.7口RD作为外部随机存储器读选通信号输出端 4.1.3 单片机外围电路单片机系统外围电路的具体连接设计如图4-1-3所示。在单片机的18端口(XTAL1)和19端口(XTAL2)之间接上12MHz或者11.0592MHz,这是由单片机在进行传输时的波特率所决定的,这种选择可以使传输没有损失,并且高晶振可以使显示更加的稳定。电容C1、C2是晶振的负载电容,主要起频率微调和稳定启振的作用。STC89C51的通用I/O口P1的低四位控制了两个74HC138,从而控制了行灯的熄灭。P0口接上了上拉电阻作为点阵列控制器,也是点阵的数据输出
24、端口,P2口也是作为点阵列的控制器,也是数据输出端口。复位电路则是通过100pF的电容和500的电阻组成的,能在两个机器周期内给予低电平,从而达到复位的条件。如图3:图 34.2 显示驱动电路4.2.1 列驱动电路因为考虑到软件的编写,所以在这次设计中,我直接将P0口和P2口与点阵相连,因为列所在的线是提供电压的,所以直接相连可以满足需要。而行所在的线是承受电流的,所以利用芯片7CHC138可以满足同时点亮所有点阵的所需电流的需要!同时为了简化电路,方便仿真的进行。4.2.2 行驱动电路行驱动芯片74HC138介绍所谓的译码器顾名思义就是一个输入少、输出多的组合逻辑电路模块。其功能是将给定的输
25、入码组进行“翻译”,对每一种可能的输入组合,使输出通道中相应的一路有信号输出,一个且仅一个输出信号为有效电位。74HC138它是一种三线/八线的二进制译码器,它的输入端有3个,输出端有23=8个,并有三个选通端(使能端),它的管脚形式如图4所示。当选通端1为高电平,2、3均为低电平时,译码器74HC138才能处于正常工作状态,这个时候就可以将地址输入端(A,B,C)的一个二进制组合编码翻译成在一个与之对应的输出端,并且该输出端是以低电平输出的,其中Y0Y7是该译码器的输出端,而没有被翻译的输出端口均表现为高电平即无效信号。当然如果1、2、3不是按照高低低这样的电平出现则译码器就会被禁用,所有的
26、输出端都变成在高电平。它的真值表如表1所示:图 474HC138真值功能表INPUTS 输入Outputs输出ENABLE 使能ADDRESS地址E3E2E1A2A1A0Y0Y1Y2Y3Y4Y5Y6Y7XXHXXXHHHHHHHHLXXXXXHHHHHHHHXHXXXXHHHHHHHHHLLLLLLHHHHHHHHLLLLHHLHHHHHHHLLLHLHHLHHHHHHLLLHHHHHLHHHHHLLHLLHHHHLHHHHLLHLHHHHHHLHHHLLHHLHHHHHHLHHLLHHHHHHHHHHL表 1行驱动电路行驱动电路相对比较简单,是通过两片相同的74HC138相连而构成的类似于4
27、-16线译码器。我们将U4其中的一个74HC138中的使能端口E1接上高电平,而将U5中的使能端E2和E3端接地。而将U4中的E2、E3和U5中的E1连在一个公共端口上,这样可以将P13口当作片选信号。若P13为低电平,则就会选中了U4进行翻译,若为高电平则选中了U5进行翻译。这样P10P14端口每出现一个组合就会选中一个与之对应的输出端口,使其为低电平。通过单片机的控制就会不断的循环选中每一个端口,从而形成了扫描码,让LED灯循环被选中,实现了动态显示。具体电路见图 5。图 54.3 LED显示屏电路这次设计主要是控制256个LED灯,而这些灯必须是按照一定的排放顺序排列的,同时我根据专业的
28、字摸提取软件中LED灯排放顺序,将其设计成由上而下由左向右的亮灭显示顺序。同时在设计该LED灯驱动时,也是根据先驱动行进行周而复始的扫面,再驱动列显示。由于仿真软件库中的限制,本设计的16×16点阵就是通过4块MATRIX-8x8-Green型号的实验模块组成,以达到清楚的显示一个汉字最基本的像素要求。要理解8×8 LED点阵最基本就是了解它的工作原理和结构特性,在充分了解过后就可以掌握了它的显示技术。其LED结构如图6所示,而它的等效电路如图7所示:图 6图 7从图中可以看出,所谓的8×8点阵就是在每个行线和列线的交叉点处放置一个LED,当这个LED满足电平的要
29、求时就会被点亮。所以要想显示一个汉字字体,只需要考虑每一个LED灯两端的电平就可以控制这个LED灯的亮灭。因为我在行驱动的时候选择的是74HC138当做译码器,而其输出低电平,所以要想点亮一个个LED灯就可以采取在列中输出一个高电平,这样这个LED灯就会被导通而点亮了。因为74HC138的各个输出端口会被轮流的选择而呈现出低电平,也就是行线中的公共线会轮流的出现低电平,这样在P0和P2口不断的输出16进制数据(其中将需要的点亮的灯写1,不需要点亮的灯写0,将这8个二进制数据写成16进制数据)就会一行一行的显示点亮的LED灯。这时候人眼所体现的视觉停留发挥了巨大的作用,将一行一行显示变成了所有行
30、都在显示,从而达到了显示效果。 以上就是16×16点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。在protues 软件中可以进行实时仿真了。5系统软件部分设计在单片机系统中,如果说硬件系统是的骨骼,则软件就是系统的血液,只有两个合理的调用和配合才能更出色的完成应用系统所要完成的任务。软件利用了硬件的资源不断完成了函数的转换,在软件设计过程中我们应该不断的去完善程序结构,合理的去分配内RAM资源,其中重中之重的就是划分功能模块,合理的功能模块不仅利于编程的进行,也利用别人的
31、阅读,使程序一目了然。最后就是通过编译h文件将各个子功能模块连接起来,一起协助主程序完成系统任务。在进行系统总体设计时,我曾经反复思考过软件结构,而LED显示屏软件设计的核心就是不断的利用各种算法产生显示数据以提供给端口输出,使屏幕按设计的要求显示出来。根据C语言编程的多文件设计原理,可把显示屏的程序系统分成三大主要层:第一层是各种移动函数层,第二层是数据层,第三层是主程序层。移动函数层主要利用各种函数产生各种移动的显示数据,并利用中间数组的方式传递显示数据,配合主程序中的中断来不断达到输出显示数据到点阵的列中。而数据层主要是存储要显示的字的数据,单独为其加一个层,一方面方便阅读,另一方面主要
32、也是利用C语言中最好用的指针来读取数据,使程序代码简介,执行效率更高。而主程序层主要是负责中断,每来一个定时就发出一组数据,是程序简单明了。5.1 主程序层系统主程序层的的设计思想如图8所示。系统的主程层开始以后,最重要的就是先对定时器进行初始化当然其中包括打开定时器中断(如果不进行初始化定时器就会进入混乱工作中),并且设置其为工作方式0。在中断中,我们对其重装数值,然后利用P1端口的扫面信号的数值不断的在P0和P2口进行显示汉字代码。扫面信号每增加一个数值,则P0和P2口就显示一个汉字16进制代码片段,这样周而复始的显示,最终就显示了整个汉字的代码。而整个程序的main()函数中,仅仅是几个
33、函数的封装,整个程序不断的进行算法运算,一旦满足了中断的条件,则经过算法运算的数据就会被显示出来。这样做的好处在于能够实时的进行算法运算而不会耽误显示。图 8程序如下:#include<reg52.h>#include"removemode.h"#include"displaydata.h"/加载显示数据的头文件#define uchar unsigned char#define uint unsigned intuchar keynum;/=定时器初始化函数=void Timer0_Ini()TMOD=0x01;/设置定时器0的工作方式为m
34、ode1=0000,0001TH0=(65536-2000)/256;TL0=(65536-2000)%256;/实现定时2msTR0=1;/打开定时器0,让其工作ET0=1;/允许定时器0中断/=定时器0中断程序=void timer0(void) interrupt 1register uchar m;/定义一个经常被使用的mregister uchar rkey,ckey;TH0=(65536-200)/256;TL0=(65536-200)%256;/重装值P2=0;P0=0; /显示间断,达到视觉停留m=P1;m=(+m)&0x0f;/利用变量m来控制要显示的数据P2=dis
35、gram2*m;P0=disgram2*m+1;/显示数据 >>>>>>从右向左,从上往下<<<<<<P1&=0xf0;P1|=m;/控制扫面信号/=主程序=void main()Timer0_Ini();EA=1;/打开总中断while(1)R_run_L(digit_dis,0,5,2,30);RandL_to_Centre(digit_tab,0,11,2,20);Centre_to_aside(digit_tab,0,11,2,30);Aside_to_centre(digit_tab,0,11,2,30)
36、;Open_door(digit_tab,0,11,2,30);Close_door(digit_tab,0,11,2,30);Down_to_up(digit_tab,0,11,2,30);Up_to_down(digit_tab,0,11,2,30);Down_run_up(digit_tab,0,11,2,30);Up_run_down(digit_tab,0,11,2,30);L_run_R(digit_tab,0,11,2,30);R_run_L(digit_tab,0,11,2,30);Up_down(digit_tab,0,11,2,30);Down_up(digit_tab,0
37、,11,2,30);5.2 数据处理程序层数据处理程序层的最主要的任务就是不断的给各种显示程序进行数据处理,而进过处理过的数据都会被放在一个中间数组中,利用中间数组把要处理的数据和已经处理过的数据分开,从而再利用中断不断的实时显示出来。在处理函数的时候,虽然每一个函数的具体处理步骤都不一样,但是大致都有一个同样的过程,就是不断的把原来一个汉字中的16个16进制的数据取出来,然后进行移位操作,在将移位操作的数据放入中间数组中去,只要定时器的中断达到了时间上的要求,中断中的显示程序就把显示数据输出给端口,并且对扫面信号加以控制让其循环。其具体流程如图9。图 9程序见附录1。5.3 数据存储层因为程
38、序要不断的调用数据,所以我将“电子信息工程学院欢迎您”代码封装成了一个函数。然后定义一个register类型的变量,这样在访问这些数据的时候,可以使程序的执行效率更加高。程序如下:unsigned char code digit_tab32=0x00,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x02,0x70,0x3F,0xB0,0x12,0x30,0x17,0xA0,0x1A,0x20,0x13,0xC0,0x0E,0x00,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00,0x00,0x00,/*"电",0*/
39、0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x20,0x00,0x40,0x01,0x80,0x00,0x9C,0x0F,0xE0,0x30,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x04,0x80,0x03,0x00,0x00,0x00,/*"子",1*/0x00,0x00,0x00,0x00,0x04,0x60,0x08,0x20,0x08,0x04,0x13,0xF8,0x10,0x00,0x28,0xE0,0x48,0x00,0x08,0xE0,0x08,0x10,0x09,0xE8,0
40、x09,0x10,0x08,0xF8,0x00,0x00,0x00,0x00,/*"信",2*/0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x40,0x07,0xE0,0x05,0x20,0x06,0x40,0x07,0x40,0x04,0xC0,0x07,0x40,0x01,0x8E,0x20,0x80,0x24,0x10,0x22,0x18,0x01,0xF0,0x00,0x00,/*"息",3*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x0F,0xC0,0x00,0x80,0x0
41、0,0x80,0x00,0x80,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x7E,0x7E,0x80,0x00,0x00,0x00,0x00,0x00,0x00,/*"工",4*/0x00,0x00,0x00,0x00,0x02,0x08,0x04,0xFC,0x0C,0x48,0x04,0x58,0x1C,0x20,0x68,0x08,0x16,0x70,0x1A,0x20,0x24,0xF0,0x44,0x20,0x04,0x3E,0x0B,0xC0,0x00,0x00,0x00,0x00,/*"程",5*/0x00,
42、0x00,0x00,0x30,0x05,0x20,0x04,0x40,0x00,0x48,0x0F,0xBE,0x30,0x88,0x27,0xC0,0x01,0x00,0x00,0xFC,0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x03,0x00,0x00,0x00,/*"学",6*/0x00,0x00,0x00,0x00,0x00,0xC0,0x3C,0x40,0x28,0x78,0x29,0x80,0x2A,0x20,0x2D,0xC0,0x24,0x30,0x23,0xC0,0x20,0xC0,0x21,0x40,0x22,0
43、x44,0x24,0x3E,0x00,0x00,0x00,0x00,/*"院",7*/0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x80,0x1C,0xB8,0x25,0x50,0x28,0x80,0x18,0x80,0x08,0x80,0x14,0xC0,0x14,0xA0,0x21,0x10,0x02,0x18,0x00,0x04,0x00,0x00,/*"欢",8*/0x00,0x00,0x00,0x00,0x00,0xC0,0x18,0x80,0x09,0x1C,0x02,0x68,0x02,0x4
44、8,0x3A,0xC8,0x13,0x48,0x12,0x40,0x08,0x40,0x78,0x40,0x07,0x40,0x00,0xFE,0x00,0x10,0x00,0x00,/*"迎",9*/0x00,0x00,0x00,0x00,0x04,0x80,0x08,0x98,0x09,0x68,0x1A,0x50,0x29,0x50,0x0A,0x48,0x0A,0x40,0x08,0x40,0x11,0x8E,0x14,0x82,0x14,0x10,0x23,0x98,0x00,0x60,0x00,0x00,/*"您",10*/;unsigned
45、 char code digit_dis32=0x00,0x00,0x04,0x60,0x06,0x40,0x02,0x80,0x0F,0xF8,0x09,0x10,0x0B,0xE0,0x09,0x60,0x07,0x80,0x01,0x3C,0x7F,0xC0,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,/*"单",0*/0x00,0x00,0x00,0xC0,0x00,0x40,0x04,0x40,0x04,0x40,0x04,0xE0,0x07,0x00,0x04,0x00,0x04,0x60,0x07,0xA
46、0,0x04,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x00,0x20,0x00,0x00,/*"片",1*/0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0E,0xF0,0x38,0xA0,0x08,0xA0,0x1C,0xA0,0x1A,0xA0,0x28,0xA2,0x49,0x12,0x0A,0x1E,0x08,0x00,0x08,0x00,0x00,0x00,/*"机",2*/0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x60,
47、0x08,0x00,0x08,0x0E,0x1B,0xF0,0x28,0x40, 0x48,0x78,0x08,0x88,0x09,0x10,0x0A,0x10,0x0C,0x10,0x08,0x60,0x00,0x00,0x00,0x00,/*"仿",3*/0x00,0x00,0x00,0x80,0x01,0x20,0x07,0xC0,0x01,0x00,0x07,0xE0,0x05,0xA0,0x06,0x40, 0x05,0x40,0x07,0xC0,0x04,0x3E,0x3F,0xC0,0x02,0x60,0x04,0x30,0x08,0x10,0x00,0x00
48、,/*"真",4*/;参考文献:1 朱保华.LED显示屏国际国内技术现状J .新材料产业,2004(6)2 周小平.LED显示屏及其扫描电路的硬件及软件实现J .印刷电路信息,2005(1)3 郭兆正.LED点阵显示屏系统设计J .国外电子元器件,2005(12):2002584 关积珍.显示发展及其在交通领域的应用J .产业透视,2003(4):1582305 任来双.车载LED大屏幕显示的设计理念J .郑州工业高等专科学校学报,2004(3)6 庞家成.多功能LED信息显示屏的设计J .现代显示技术,2006(9):1082157 王建锋.LED技术在高速公路上的应用J
49、 .中国交通信息产业,2003(11)8 朱保华.LED显示屏国际国内技术现状J .新材料产业,2004(6)9 李光飞.单片机课程设计实例指导M.第二版.北京航空航天出版社,200410 张志良.单片机原理及控制技术M.第二版.北京机械工业出版社,200511 马家辰.MCS-51单片机原理及接口技术M.哈尔滨工业大学出版社,199712 李 华.MCS-51单片机实用接口技术M.北京航空航天出版社,1997:5089 13 诸昌钤.LED显示屏系统原理及工程技术M.电子科技大学出版社,20000:102155 14 梅开乡.数字逻辑电路M.电子工业出版社,2005(2):30036015
50、徐仁贵.微型计算机接口技术及应用M.机械工业出版社,1998 9附录1数据处理层程序:#include<reg52.h>#include"removemode.h"unsigned char idata disgram32=0;/用于显示的中间转换数组,并另其初始值为0/>>>>>>>>>>>>>>>>>>>>两遍向中间聚集<<<<<<<<<<<<<<<&
51、lt;<<<<void RandL_to_Centre(uchar *flash_word,uchar flash_head,uchar number,uchar sdu,uchar stop)uchar i,j,s;for(i=0;i<number;i+)for(j=0;j<16;j+)/总共有16列灯,16行灯。16代表前者for(s=0;s<8;s+)/每8个灯 有一个16进制的数据if(j<8) /在其中的8个灯移动disgrams*4+1=disgrams*4+1&0xff<<j|(flash_word(flash_
52、head+i)*32+s*4>>(7-j);/将新的数据右移,老数据左移,并进行或,构成新数据disgrams*4+2=disgrams*4+2&0xff>>j|(flash_word(flash_head+i)*32+s*4+3<<(7-j);else/在另外的8个灯移动disgrams*4 =disgrams*4&0xff<<(j-7)|flash_word(flash_head+i)*32+s*4>>(15-j);disgrams*4+1=flash_word(flash_head+i)*32+s*4<&l
53、t;(j-7)|(flash_word(flash_head+i)*32+s*4+1>>(15-j);/重点在后者disgrams*4+2=flash_word(flash_head+i)*32+s*4+2<<(15-j)|(flash_word(flash_head+i)*32+s*4+3>>(j-7);/重点在前者disgrams*4+3=(disgrams*4+3&0xff>>(j-7)|flash_word(flash_head+i)*32+s*4+3<<(15-j);delay(sdu*SPEED);/每次移动时候的
54、速度delay(stop*SPEED);/一个字显示完毕以后,停留的时间/>>>>>>>>>>>>>>>>>>>>以开门的方式显示<<<<<<<<<<<<<<<<<<<<void Open_door(uchar wordsp32,uchar flash_head,uchar number,uchar sdu,uchar stop)uchar i,j,k;fo
55、r(k=0;k<number;k+)for(j=1;j<9;j+)/移动8位灯for(i=0;i<16;i+)/2*16正好32个字符disgrami*2=disgrami*2&0xff<<j|wordspflash_head+ki*2&0xff>>(8-j);/之所以&0xff,是防止后续程序对移位的影响disgrami*2+1=disgrami*2+1&0xff>>j|wordspflash_head+k1+i*2&0xff<<(8-j);/之所以&0xff,是防止后续程序对移
56、位的影响delay(sdu*SPEED);delay(stop*TIME);/>>>>>>>>>>>>>>>>>>>>以关门的方式显示<<<<<<<<<<<<<<<<<<<<void Close_door(uchar wordsp32,uchar flash_head,uchar number,uchar sdu,uchar stop)uchar i,j,k
57、;for(k=0;k<number;k+)for(j=1;j<9;j+)for(i=0;i<16;i+)disgrami*2=disgrami*2&0xff>>j|wordspflash_head+k2*i&0xff<<(8-j);/之所以&0xff,是防止后续程序对移位的影响disgrami*2+1=disgrami*2+1&0xff<<j|wordspflash_head+k1+2*i&0xff>>(8-j);/之所以&0xff,是防止后续程序对移位的影响delay(sdu*S
58、PEED);delay(stop*TIME);/>>>>>>>>>>>>>>>>>>>>以两边向中间拉开的方式显示<<<<<<<<<<<<<<<<<<<<void Aside_to_centre(uchar wordsp32,uchar flash_head,uchar number,uchar sdu,uchar stop)uchar i,j,k;for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 21109:2025 EN Nicotine pouches - Test method for pH
- 【正版授权】 IEC 62841-4-3:2020+AMD1:2025 CSV EN Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 4-3: Particular requirements f
- 【正版授权】 IEC/IEEE 65700-19-03:2025 RLV EN Bushings for DC application
- 【正版授权】 IEC 62053-22:2003 EN-D Electricity metering equipment (a.c.) - Particular Requirements - Part 22: Static meters for active energy (classes 0,2 S and 0,5 S)
- 校外消防知识培训课件
- 校园防踩踏安全知识培训课件
- java文件读写面试题及答案
- 北京财务知识培训行情课件
- 安徽速写考试题及答案
- 国家保密考试题及答案
- 马凳筋专项方案
- 厂房临时用电施工方案
- 模块化建筑快速搭建系统行业跨境出海战略研究报告
- 气管切开非机械通气患者气道护理团体标准课件
- 2025年度船舶建造项目总承包合同4篇
- 红色国潮风大学生讲思政课模板
- 麻醉科规范化管理
- 电梯自行检查制度
- 2024年度氧化铝粉购销合同
- 电玩城游戏机维修培训
- 短视频平台短视频营销解决方案
评论
0/150
提交评论