《本科毕业设计LED点阵广告牌的设计(共37页).doc》由会员分享,可在线阅读,更多相关《本科毕业设计LED点阵广告牌的设计(共37页).doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上摘 要本文以STC89C52RC为核心控制器,用四块88共阳型点阵模块构建一个1616的LED电子显示屏,实现滚动汉字的的动态显示。驱动部分使用两个移位存储器74HC595和两个移位寄存器74HC164组成,主要负责列扫描和行扫描。行控制电路采用8550三极管放大电流,加大扫描强度,提高点阵显示屏亮度。软件控制程序采用C语言编写,通过设置LED发光二极管阳极与阴极电平的高低来控制它的亮灭。点阵显示的字符可以直接在字模软件中提取,字体显示方式采用动态显示,使文字可以实现左移、上移、下移的动态显示效果。实验表明,该系统的总体设计完成了LED点阵显示滚动汉字和数字的功能,且
2、显示效果清晰,性能稳定,无拖尾现象。关键词:STC单片机 16*16点阵显示 动态显示专心-专注-专业AbstractThis article with STC89C52RC as the core controller, using four 8 x 8 total Yang type lattice modules to build a 16 x 16 LED electronic display screen, realize the dynamic display of the scroll of Chinese characters. Drive part used two shif
3、t memory 74 hc595 are needed and shift register 74 hc164 composition, is mainly responsible for scan and line scan. Line control circuit adopts 8550 triode amplifier, current scan intensity, improve the dot matrix display screen brightness. Software control program written using C language, by setti
4、ng the anode and cathode LED light-emitting diodes (leds) level of high and low to control the light out of it. Dot matrix display of characters can be directly extracted in the font software, font display mode using dynamic display, make the text can realize the dynamic display of the left, move up
5、 and down. Experiments show that the system overall design to complete the function of LED dot matrix display scroll of Chinese characters, and display effect is clear, stable performance, no trailing phenomenon.Keywords : STC microcontroller 16*16 dot matrix display dynamic display目 录 1 绪论1.1 课题背景随
6、着时代的不断发展,广告显示牌在宣传中发挥着越来越重要的角色,无论是在公交车站,地铁站,股票市场,或者学校都不能缺少它,但是,传统的霓虹灯,无论是在显示、功耗都不能满足当前社会的需要。因此,改进传统霓虹灯是必要的。正是因为单片机超越性的发展和高亮度LED发光管的崛起,使得高亮度的点阵显示屏垄断了市场。LED显示设备与传统的显示设备相比,它具有鲜明的色彩,多样化的显示方式,高强度的亮度显示,并且LED显示屏上的文字或图像可以随意改动,使用灵活方便。同时,点阵屏幕视野开阔、显示方式又灵活多变,因此,被很多企业所应用。如:银行、股市、商业广告和文化娱乐场所等。1.2 研究目的和意义本设计的主要研究目是
7、让我们熟练掌握并清楚的知道单片机点阵的设计原理,并且让我们把大学期间所学到的理论知识充分应用于实践,使我们更深刻的认识了理论与实践相结合的重要性。通过设计,我们学会了如何利用计算机软件和硬件的开发工具,并积累了宝贵的经验,为今后在相关行业工作积累了丰富的实践经验。目前我国信息技术的发展越来越快,LED显示屏作为显示平面功能也更广泛。但是不论LED技术发展再迅速,我国的生产水平和外国先进水平相比起来还是存在一定的距离。因此,研究这一课题为我们未来的就业或对LED显示屏技术的发展有很大的帮助。1.3 论文主要内容本课题设计主要是利用单片机来控制一个1616点阵显示屏,并且LED显示屏各点能够高亮度
8、且均匀显示,要求文字在显示过程中平稳、清晰不拖隐,文字的显示样式有循环的左移、上移。根据任务要求,具体的内容如下:1.查阅点阵的相关文献资料,学习最简单点阵的使用方法;2.将单一的8*8点阵扩展成1616点阵,利用Proteus软件对硬件系统电路进行仿真;3.利用keil软件编写单片机程序,编译链接生成.hex文件,然后下载到Proteus软件中进行硬件仿真;4.硬件电路仿真调试成功后制作实物,并且要使实物能够完成本设计所要实现的要求。2 系统硬件电路设计2.1 系统结构的设计系统的整体设计是将单片机最小系统、行驱动电路、列驱动电路、LED点阵显示电路,运用单片机的智能化,将每个驱动模块系统的
9、组合在一起,总体设计框图如图2.1所示。 图2.1 系统结构设计总图2.2 行驱动电路设计行驱动电路的设计采用芯片74HC164,并利用三极管8550放大驱动电流,加大扫描强度,提高点阵屏的亮度。由于单片机的输出端口有限,如果要控制16*16的LED点阵显示则需要32个端口,这样就占用了单片机很多的I/O口,并且对单片机的扩展也带来很大的麻烦,影响I/O口的其他扩展功能。而行驱动电路仅用7 9端口可以实现控制显示,因此,使用行驱动电路大大减少占用I/O口扩展其他功能,为单片机节约了大量的空间。74HC164是属于8位边沿触发移位寄存器的高速硅门 CMOS 器件,数据采用串入并出,并且数据经过两
10、个输入端(A 或 B)串行输入;两个端口都可作为数据输入端,可以相互交替来控制另外一个端口。两个输入端都可接高电平并且可以连接在一起,但是一定不能悬空处理。主复位 (CLR) 如果是低电平,则其它输入端均无效,此时也清除了寄存器,致使所有的输出为低电平。其引脚排列图如下图2.2所示。图2.2 74HC164引脚排列2.3 列驱动电路设计列驱动电路是采用集成芯片74HC595组成,具有一个8位串入并出的移位寄存器还有一个8位输出锁存器的特殊结构,移位寄存器和输出锁存器是相互独立控制的,这样的目的是先移好位,再存储数据,并且在移位时,输出的数据能够保持。74HC595的输入端拥有8个串行移位寄存器
11、,8个移位寄存器的输出都和一个锁存器相连接。其引脚排列如图2.2所示。图2.2 74HC595引脚排列引脚SER是串行数据的输入端,SRCLR为直接清零端,它的优先级别最高。RCK是移位时钟脉冲,当脉冲到达上升沿时开始移位,同时把SER的下一个数据输入到最低位。移位寄存器时钟(SRCLK)和数据存储寄存器时钟(RCLK)两个都属于上升沿触发有效。假如两个时钟相连在一起工作,那么移位寄存器会始终超前于存储寄存器一个时钟脉冲。2.4 单片机最小系统电路 单片机最小系统是由晶振电路和复位电路两部分组成,其总体电路图如下图2.4所示。图2.4 单片机最小系统图(1)时钟电路系统的时钟电路设计采用内部方
12、式,即利用芯片内部的振荡电路。STC单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容值约为30pF。(2)复位电路复位是对单片机进行初始化操作,即把特殊功能寄存器的数据刷新为默认数据,单片机在运算过程中如果遇到外界干扰,寄存器中的数据就会
13、发生混乱,以至于程序不能正常运行,这样就需要单片机复位,以使程序重新开始。复位方式一般分两种:上电自动复位和按键手动复位,本设计中的复位电路既可实现上电自动复位也可实现手动复位,其电路的组成是在RST复位输入引脚上接一个电容至VCC端,还有按键,下接一个电阻到地即可。2.5 单片机芯片选择单片机是把微型计算机主要部分集成在一块芯片上的单芯片微型计算机。单片机STC89C52由CPU、存储器(包括RAM和ROM)、I/O接口、定时器/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。(1)主要特性:8位CPU内置4K字节可重复编程Flash寿命:1000写/擦循环全静
14、态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32根可编程I/O线两个16位定时器/计数器5个中断源,2个中断优先级可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路(2)单片机的管脚如图2.5所示。图2.5 STC89C52的引脚图VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,他可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FLISH 进行校验时,P0输出源码,此时P0外部必须被拉高。P1口:P1口是一
15、个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉位高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLISH 进行校验时,P1口作为第8地址接受。P2口:P2口位一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。串口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高8位。在给地址“1”时,他利用内部上拉优势,
16、当对外部8位地址数据存储器进行读写时,P2口输出器特殊功能寄存器的内容。P2口在FLISH编程和校验时接受高8位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接受输出4个TTL门电流。当P3口写入“1”后,他们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也作为STC89C51的一些特殊功能口,如下所示:P3.0 RXD (串行输入口);P3.1 TXD(串行输出口);P3.2 /INT0(外部中断0);P3.3 /INT1(外部中断1);P3.4 T0(计时器0外部输入);P3.5 T1(计时器1外部
17、输入);P3.6 /WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号;RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址所存允许的输出电平用于锁存地址的低位字节。在FLISH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定是目的。然而要注意的是:每当用作外部数据存储器是,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行
18、MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高,如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的的选通信号。在有外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部存储器时,这两次有效的/PSEN信号讲不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部存储器(0000H-FFFFH),不管内部是否有程序存储器。注意加密方式1时,/EA将内部锁存为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反响放大振荡器的输入及内部时钟工作电路的输入XTA
19、L2:来自反响振荡器的输出。2.6 LED点阵显示器1 LED点阵显示器的介绍LED点阵显示器是使用发光二极管点阵模块组成的平面式显示屏幕。它具有很多优点:效率高、使用寿命长、显示清晰亮眼、色彩丰富鲜明。自二十一世纪初,随着LED技术的不断提高与创新,在国外得到了广泛的利用。LED点阵显示器的种类有多种:根据阵列分为57,58,68,88,根据发光颜色可分为单色,双色,三色,根据极性的排列方式可分为共阳极和阴极。LED(8*8)点阵显示的基本原理:8*8的点阵是由64个发光二极管组成,每个二极管都是分布在行线与列线的交点上,当某一列的电平为1,某一行为0时,则对的二极管就会点亮;如图2.6所示
20、。图2.6 8*8点阵LED根据驱动方式的不同,LED点阵屏分为计算机驱动型和单片机驱动型两种工作方式:计算机驱动型的特点:LED点阵显示屏由计算机驱动的,不仅可以显示字符,图形,还可以显示多媒体彩色视频内容,但其成本高。单片机驱动型的特点:体积小,重量轻,成本低,无线电爱好者有一定基础,经过一个简单的学习后,只需要购买一些元器件,就可以使用LED点阵屏了。2 用8*8LED点阵构成16*16LED点阵在现实应用中,用一个1616的点阵就可以完整的显示一个汉字。下面就以4块8*8点阵构成的1616点阵来实现本课题设计的显示任务。构建16*16点阵时首先在Proteus软件的元件库中找到一块“M
21、atrix-8x8-red”元器件,然后复制四块该元件并移到编辑窗口中。在放置元件时,要注意把元件左转90,使其水平放置,这样它的行线和列线分别为左面8个引脚和右边8个引脚。然后开始对四个元器件对应的行线和列线分别进行标号,每一条行线和列线的引脚都接一行16个LED。但要注意将行线和列线的引脚都要设计长一点,为方便我们连线使用。可以看到原来的连接线已被自动隐藏,而交叉留下的点可以不去管它。然后我们选中下面的两块点阵,拖动它们与上侧的两块合拢。这样做成的LED点阵的列线为左边的16个位选数据线,右边的16个引脚是用来输入字体代码。最终连接的效果如图2.7所示。图2.7 16*16LED点阵2.7
22、 取字模软件介绍在设计中由于用到的是一个16*16的LED点阵,需要显示27个汉字,如果单是手工对字体取模,将会花费很多时间,为了方便操作,我们利用字模软件PCtoLCD2002,该软件简单方便易操作,省了很多工作量。软件主界面如图2.8所示。图2.8 取字模软件界面1.文字输入区输入所需要显示的文字,文字数目不限。2.文字输入完毕后,点击生成字模按键,然后将字模保存。3.取模原则:以字节为单位,每取8个点作为一个字节,如果最后不足8个点就补满8位。4.取模方式:可根据字体显示移动的方向自行选择是横向取模还是纵向取模。5.提供图象保存,数据保存为文本文件的功能。6.如果想要输入汉字和字母,那就
23、要先输入汉字,程序会将您第一个输入的文字作为取模宽度。在软件文字输入区输入某个字,按下Enter在点阵生成区就会有相对应字的点阵生成,软件中还可以自行设置字模的取模方式,修改图像,参数设置等。3 系统软件部分设计在单片机系统中,硬件部分是系统的基础,软件则是在硬件的基础上对电路元件的调配和使用,最终实现系统所要达到的目标。因此,系统在总体设计上首先要确定程序结构,合理分配内置的RAM资源,划分功能模块,其次进行主程序和各模块程序的设计,最后连接成一个完整的应用程序。系统软件选用C语言程序编写,根据模块化的设计思路进行设计。软件的主要作用就是向点阵显示屏提供显示数据,并产生各种控制信号来控制显示
24、屏上显示的汉字的移动。根据软件分层次设计的原理,将软件系统分成两大块:一块是显示驱动程序,另一块是系统的应用程序。显示驱动程序主要负责向显示屏传输显示数据,并负责产生行、列扫描信号和其它的控制信号,共同实现点阵显示屏的扫描显示工作。系统应用程序主要掌管系统整体环境的设置和显示效果处理等工作,由主程序来完成。3.1 主程序设计系统运行主程序后,首先是初始化系统环境,然后点阵进入开机状态,进入正常显示,显示屏每次显示一个汉字且连续实现汉字向左滚动和向上滚动。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。系统主程序结构如图3.1所示。图3.1 主程序的总体结构3.2 显示驱
25、动程序设计显示驱动程序首先进入中断模块,给定时器赋初值,然后开始查询当前点亮的行号,并且把下一行的显示数据从显示缓存区内读取出来,经过串口输出发送到移位寄存器内。为了避免在切换显示数据时发生拖尾现象,因此,我们要提前关闭显示屏,即消隐。等到显示数据被输出锁存器锁存后,再重新输出新的行数据,并同时打开显示。显示驱动程序流程图如图3.2所示。图3.2 显示驱动程序流程图3.3 显示屏刷新率的计算显示驱动程序在中端程序中首先应该对定时器T0重新赋初值,以保证显示屏刷新率的稳定,16行扫描格式的显示屏刷新率计算公式如下: 刷新率(帧频)=(溢出率)= (3.1)式(3.1)中:fosc晶振频率;t0定
26、时器T0初值(工作在16位定时器模式)。4 系统调试及性能分析4.1 系统调试 系统调试主要分为硬件调试和软件调试两部分。 硬件调试方面主要是在焊接时应该先焊接小元器件,然后分模块逐个进行焊接测试,避免元器件的虚焊。对硬件进行调试时要在软件正确无误的条件下进行,这样即使某个模块出现焊接错误,我们也可以逐个调试排查。当然,在调试的时候也会出现一些避免不了的误差。 软件调试方面主要是依据事先设计好的硬件电路原理图来编写程序。在大二期间所学的是C语言,因此,本设计在编写软件程序时都是采用C语言编写的。首先是编写不同模块的功能程序,等全部编写完成后将他们组合在一起。起初在编写时总会出现一些意想不到的问
27、题,但是经过仔细分析、多次调试还是将问题逐个击破,将程序编译成功。4.2 hex文件的生成要生成.hex文件,首先要进行系统软件调试,软件调试主要是将每个功能模块的程序在Keil软件中进行编译以验证其功能的可实现性。在软件编译成功后生成.hex文件方可进行功能测试。1.打开Keil编程软件,单击菜单栏中的“项目”选项,在下拉菜单中选择“新建项目”,然后弹出“创建工程项目”对话框,输入新建工程名称,单击“确定”按钮后,在弹出的“选择设备”的对话框中选择合适的单片机型号。2.单击菜单栏中的“文件”,在下拉菜单栏中选择“新建”,打开一个空的文本编辑窗口后保存,创建新的源程序文件“16_16MOVE.
28、c”。3.在左侧的“工程”窗口的“文件”页中单击文件组,单击鼠标右键,在弹出的窗口中选中添加文件到“源组1”选项,将“16_16MOVE.c”程序导入到“源组1”中。如图4.1所示。图4.1 Project界面 4.在“工程”下拉菜单中,选择“OptionsforTarget”设置对话框,将会弹出“OptionsforTarget”窗口,在此对话框中选中“Output”选项卡中的“CreateHEXFile”选项。如图4.2所示。图4.2 OptionsforTarget界面5.在“Project”下拉菜单中,选择“RebuildallTargetFiles”项。如图4.3所示。图4.3 Re
29、buildallTargetFiles界面若程序编译成功,将生成“16_16MOVE.hex”文件。如图4.4所示。图4.4 生成的.hex文件4.3 仿真调试在最新版本的Proteus软件中,没有现成的16*16点阵模块,因此,在设计过程中采用现有的4块8*8点阵模块组合成一个16*16点阵模块。仿真时,先在Proteus中找到STC89C52芯片,单击鼠标左键然后对其进行参数设置,将单片机的时钟频率设置为12MHz后开始加载.hex文件。等加载完成后连接好电路点击仿真按键即可对系统进行仿真。在仿真过程当中如果遇见硬件问题可在Proteus中直接更换修改,如果遇到软件参数问题可在keil中直
30、接调试更换,这样,通过用keil软件和Proteus软件的共同作用就可以实现本设计的最终目标。4.4 调试中出现的问题在调试过程中,系统在调用延时子程序时,若遇到延时时间过短问题,即使能提高点阵显示屏的亮度,也无法看到字体完整的显示,每行的汉字尚未等显示完整就进入了下一行的扫描,甚至锁存器的输出还没到达显示屏,就进入到下一个扫描周期;如果延时时间过长,就会造成显示屏的亮度降低,并且扫描出来的字体断断续续,人眼看到的并不是一个完整的汉字,因此,以上两种情况都是不符合设计要求,若想要达到最佳的显示效果,就必须依靠锁存器的锁存时间来准确算出扫描一行的最短时间,以获得最佳的时间延时,显示屏才能显示稳定
31、的汉字。5 结论与展望 5.1 结论本设计采取由浅入深,循序渐进的模式。首先简单的介绍了半导体的相关知识,继而讲到在半导体基础上产生的发光二极管,接着自然联想到由LED矩阵组成的显示屏,这样就谈到了本次设计的核心。在设计上分为三大步。第一步是程序的设计。程序设计采用C语言编写,在大二上学期,学习了单片机的知识,在学习期间也得到了很多同学的热心指导,从而为编程以及素材上积累了广泛的知识和经验,所以本次设计思路很清晰。主要由主显示程序的设计和附加电路程序的设计。第二步是电路的仿真,通常使用Proteus仿真软件,根据设计要求,选择必要的器件,并将他们有机的连接起来。完成之后,将已经生成的hex文件
32、下载到仿真电路中的单片机上,就可以运行仿真了。第三步是实物的设计,也是本设计的又一重点。实体的设计会遇到很多实际问题,比如器件的选购,元器件的排列,以及电路的焊接。不过还好经过老师的指导,同学的帮助,以及自己的一点努力,虽然几经波折,最终还是完成了实物的设计。最后将程序通过下载器下载到单片机上,整个系统就可以正常工作了。5.2 展望本设计为简单的单色显示屏,在工业上,单色LED屏,双基色LED屏,以及全彩LED屏技术方兴未艾,在生活中已经得到了广泛应用并将继续发挥它们的作用。将来全彩LED显示屏必将大放异彩。所以我不会满足当前所取得的微小成绩,还将继续努力,不断充实和提高自己,为社会主义现代化
33、贡献自己的力量。参考文献1 张鑫单片机原理及应用,电子工业出版社,2010,102 涂时亮单片微型机原理应用,复旦大学出版社,2008,83 阳进基于单片机的LED 显示屏的汉字显示J中国科技信息,2006,124 汪建MCS-96 系列单片机原理与应用技术武汉华中科技大学出版社,2007,8. 5 唐德礼STC89C52RC系列单片机原理及应用实例,华中科技大学出版社,2009 6 宋万杰罗丰CPLD技术及其应用. 西安电子科技大学出版社,2008 7 杨卫平LED大屏幕信息显示系统的设计,河北工业大学学报,2010 8 郑 刚LED大屏幕显示系统的设计,北方工业大学出版社,2007,39
34、李元生LED光柱专用驱动器J家庭电子,2005,(04):1-7.10 王亭李瑞涛,宋召清在Windows下PC机和单片机的串行通信J微型机与应用,2000,(1):25-27.11 陈新忠基于RS232总线的单片机多机通信软件设计J现代电子技术,2002,(03):56-78.12 乔世杰小波图像编码中的对称边界延拓法J中国图像图形学报,2000,5(9):725-729.13 李桂平LED屏幕显示器的设计J零陵师范学院学报,2002,(9):367-380.14 David F RogersComputer graphics algorithmM.Beijing:China Machine
35、 Press,2002:97-99.附 录1 硬件原理图附 录2 程序清单/*-16*16点阵屏的移动显示-*/#include #include #define DATE_OUT P2/指定P2口做为输出sbit DATA=DATE_OUT0;/列数据输出位sbit SCLH=DATE_OUT1;/列扫描时钟位sbit SCLT=DATE_OUT2;/列数据锁存位sbit AB =DATE_OUT5;/行数据输出位sbit SCK =DATE_OUT4;/行扫描时钟位unsigned char date32;/32字节RAM做为16*16点阵屏显示缓存void display();/做为点阵
36、扫描函数,将显示缓存的数据输出到点阵屏void display_time(unsigned int timer);/指定时间扫描显示void displaymove(unsigned char *lp,unsigned char c,unsigned char timer); /显示汉字内容的移动效果,LP指向要显示第一个字的首地址,C表示显示字的个数,/timer是移动的速度void displaymovetb(unsigned char din,unsigned char *lp,unsigned char timer);/上下移动内容,din:1为向下,0为向上,lp指向要移入的内容,t
37、imer为移动速度void delay(unsigned int a);/延时子函数code unsigned char xi32=/西0x00,0x00,0xFF,0xFE,0x04,0x40,0x04,0x40,0x04,0x40,0x3F,0xF8,0x24,0x48,0x24,0x48,0x24,0x48,0x24,0x48,0x28,0x38,0x30,0x08,0x20,0x08,0x20,0x08,0x3F,0xF8,0x20,0x08;code unsigned char jing32=/京0x02,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00
38、,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x01,0x00,0x11,0x10,0x11,0x08,0x21,0x04,0x45,0x04,0x02,0x00;code unsigned char xue32=/学0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,0x00,0x40,0x01,0x80,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x
39、00;code unsigned char yuan32=/院0x00,0x40,0x78,0x20,0x4B,0xFE,0x52,0x02,0x54,0x04,0x61,0xF8,0x50,0x00,0x48,0x00,0x4B,0xFE,0x48,0x90,0x68,0x90,0x50,0x90,0x41,0x12,0x41,0x12,0x42,0x0E,0x44,0x00;code unsigned char ji32=/机0x10,0x00,0x10,0x10,0x11,0xF8,0x11,0x10,0xFD,0x10,0x11,0x10,0x31,0x10,0x39,0x10,0x5
40、5,0x10,0x51,0x10,0x91,0x10,0x11,0x10,0x11,0x12,0x12,0x12,0x14,0x0E,0x18,0x00;code unsigned char dian32=/电0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x0A,0x01,0x02,0x01,0x02,0x00,0xFE;code unsigned char gong32=/工0x00,0x
41、00,0x00,0x00,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00;code unsigned char cheng32=/程0x08,0x00,0x1D,0xFC,0xF1,0x04,0x11,0x04,0x11,0x04,0xFD,0xFC,0x10,0x00,0x30,0x00,0x39,0xFE,0x54,0x20,0x54,0x20,0x91,0xF
42、C,0x10,0x20,0x10,0x20,0x13,0xFE,0x10,0x00;code unsigned char xie32=/系0x00,0xF8,0x3F,0x00,0x04,0x00,0x08,0x20,0x10,0x40,0x3F,0x80,0x01,0x00,0x06,0x10,0x18,0x08,0x7F,0xFC,0x01,0x04,0x09,0x20,0x11,0x10,0x21,0x08,0x45,0x04,0x02,0x00;code unsigned char zi32=/自0x01,0x00,0x02,0x00,0x04,0x00,0x1F,0xF0,0x10,
43、0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10;code unsigned char dong32=/动0x00,0x40,0x00,0x40,0x7C,0x40,0x00,0x40,0x01,0xFC,0x00,0x44,0xFE,0x44,0x20,0x44,0x20,0x44,0x20,0x84,0x48,0x84,0x44,0x84,0xFD,0x04,0x45,0x04,0x02,0x28,0x04,0x
44、10;code unsigned char hua32=/化0x08,0x80,0x08,0x80,0x08,0x84,0x10,0x88,0x10,0x90,0x30,0xA0,0x30,0xC0,0x50,0x80,0x91,0x80,0x12,0x80,0x14,0x80,0x10,0x82,0x10,0x82,0x10,0x82,0x10,0x7E,0x10,0x00;code unsigned char yi32=/1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x0
45、1,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0xF8,0x00,0x00,0x00,0x00;/*1,0*/code unsigned char lin32=/00x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0C,0x18,0x18,0x0C,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x18,0x0C,0x0C,0x18,0x03,0xE0,0x00,0x00,0x00,0x00;/*0,0*/code unsigned char lin
46、g32=/00x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x0C,0x18,0x18,0x0C,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x30,0x06,0x18,0x0C,0x0C,0x18,0x03,0xE0,0x00,0x00,0x00,0x00;/*0,0*/code unsigned char er32=/20x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x18,0x18,0x38,0x1C,0x38,0x1C,0x00,0x38,0x00,0x70,0x01,0xC0,0x07,0x00,0x0C,0x04,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00;code unsigned char ban32=/班0x00,0x80,0x00,0x80,0xF8,0xBE,0x22,0x88,0x22,0x88,0x22,0x88,0x22,0x88,0xFA,0xBE,0x22,0x8