课程设计报告-led点阵广告牌的设计_第1页
课程设计报告-led点阵广告牌的设计_第2页
课程设计报告-led点阵广告牌的设计_第3页
课程设计报告-led点阵广告牌的设计_第4页
课程设计报告-led点阵广告牌的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要.z.------专业资料-桂林航天工业学院实习报告课程名称单片机课程设计开课学期2014-2015春实验室南实408班级20130922z01组员:冯基恒〔**:20130922z0102〕肖淼〔**:20130922z0103〕指导教师:吴慧峰日期:2015.7-.z.------专业资料--.z.摘要本文介绍了一款以单片机AT89C52为控制器的LED点阵显示屏系统的设计。该系统可实现中英文字符以及特殊字符的显示和动态特效显示,通过控制按钮,可以实现不同效果间切换,到达实际应用中广告牌的要求。并且可以通过级连的方式来扩大显示屏幕的尺寸以到达增加显示内容的目的。系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89C52单片机接收并处理PC机的控制命令以及显示代码,由显示驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。选用两片74HC138译码器作为I/O口的扩展,与LED点阵显示屏的控制列脚相连,16×16的点阵显示由4块8×8点阵组成。软件选用C语言程序编写。外部中断0输入口接控制按钮实现不同效果间的转换。所选用的AT89C52单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。除此之外,该系统只占用了单片机少量的I/O口和内存,为系统留下了功能扩展的空间。-.z.目录1绪论11.1课题背景11.1.1选题背景11.1.2研究现状及开展趋势11.2论文主要内容12系统总体方案设计22.1系统硬件设计方案22.1系统软件设计方案23硬件系统设计33.1硬件整体设计概述33.2控制单元43.2.1AT89C52根本介绍43.2.2控制系统设计43.3译码器53.4LED点阵显示屏63.4.1LED点阵显示屏的根本介绍63.4.2LED点阵显示屏的工作原理74软件系统设计94.1程序设计94.2显示程序的设计104.2.1点阵数据表达方式104.2.2动态特效显示程序的设计104.3外部中断程序125系统调试135.1系统调试的根本过程135.1.1软件调试135.2系统调试的结果14结论15致谢16参考文献17附录18附录1:硬件原理图18附录2:C语言程序19-.z.1绪论1.1课题背景1.1.1选题背景LED显示屏是八十年代后期在全球迅速开展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经到达了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比较的优点。LED显示屏的应用涉及社会经济的许多领域,主要包括:〔1〕证券交易、金融信息显示。〔2〕机场航班动态信息显示。〔3〕港口、车站旅客引导信息显示。〔4〕体育场馆信息显示。〔5〕道路交通信息显示。〔6〕调度指挥中心信息显示。〔7〕邮政、电信、商场购物中心等效劳领域的业务宣传及信息显示。〔8〕广告媒体新产品等。1.1.2研究现状及开展趋势LED之所以受到广泛重视而得到迅速开展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、大型化、寿命长、耐冲击和性能稳定。LED的开展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向开展。在街上随处可见LED广告牌,从最初的静态显示,到后来的左移滚动、右移滚动、上移、下移、闪烁、卷动等各种把戏显示,由起初的一种控制,向多种控制开展,现越来越趋于多样化,美观化。1.2论文主要内容本设计为一款能够显示不同字符的LED点阵广告牌,能够显示中文、英文及特殊符号,并通过控制按钮能够实现不同显示效果间的切换,有左移、上移和闪烁。论文包括系统总体方案设计,硬件系统设计,系统软件设计,系统调试及结论。在系统总体方案设计中给出了系统设计硬件框图及软件功能构造框图。在硬件系统设计中给出了硬件原理图,各局部电路图,元件原理图等。在系统软件设计中,有系统主程序及功能模块流程图等。系统调试包括软件调试和硬件调试,并给出了调试的结果。附录中存放有硬件原理图及完整的C语言程序。2系统总体方案设计2.1系统硬件设计方案以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动4块8×8LED点阵模块构成的16×16的LED点阵显示屏。方案框图见图2-1。图2-1硬件设计框图图2-1硬件设计框图2.1系统软件设计方案软件的设计需要实现以下功能:显示不同字符的LED点阵广告牌,至少显示两个汉字;有中断控制程序实现不同效果间切换,如左移、上移、闪烁等;能够显示自定义字符。由此,软件大致可以分为主程序,中断控制程序,各种特效显示子程序三个主要局部组成。具体构造图见图2-2。图2-2软件功能构造框图图2-2软件功能构造框图本文软件的编写用Keil软件以及C语言编写,编译完成后,生成后缀名为.he*的可执行文件,用单片机硬件仿真开发工具Proteus7.5进展电路原理实验及综合系统仿真,进展各种运行和调试。最后再下载到单片机中执行。3硬件系统设计3.1硬件整体设计概述显示系统具体设计主要由上位机,单片机系统,控制电路,译码电路,16×16的点阵屏五局部组成。具体工作流程为:上位PC机编写好程序后下载到单片机中,单片机执行相应的指令处理显示代码将显示内容通过I/O口输出并且译码电路完成扩展并输出,最后到达LED显示屏的显示电流、电压要求进而使显示屏显示内容。根据硬件的功能构造图选取适宜器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和比照最终的硬件原理图见图3-1。图3-1硬件原理图〔换图〕图3-1硬件原理图〔换图〕该系统所要实现的功能和要求有以下几点:LED显示屏的面积必须满足至少显示一个汉字的标准,并且显示要清晰。能够进展不同效果显示间的切换。两个译码器不能同时工作。单片机要能够处理控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路,执行频率要能到达扫描显示的最低要求。3.2控制单元控制单元是整个显示系统的核心,该系统中采用52系列单片机为核心器件,用来和上位机通信处理上位机发送的控制指令和显示内容。并且直接输出数据通过译码电路控制LED显示屏的显示内容和显示状态。3.2.1AT89C52根本介绍AT89C52是美国ATMEL公司生产的低功耗,高性能单片机,片内含8KB的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产。ATMEL公司的功能强大,低价位AT89C52单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT989C52具有以下特点:与MCS-51产品指令系统完全兼容;8KB可程序设计Flash内存;1000次擦写周期;全静态工作模式:0Hz-24MHz;三级加密程序内存;32个可编程I/O口线;3个16位定时/计数器;8个中断源;全双工串行UART通道;低功耗空闲和掉电模式;中断可从空闲模唤醒系统。AT89C52的PDIP封装引脚图见图3-2。图3-2AT89C52引脚图图3-2AT89C52引脚图3.2.2控制系统设计控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统〔指单片机的可以的最小配置系统〕。AT89C52的最小系统包括了复位电路,选定一定数量的I/O口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机接口添加外围的器件,具体电路见图3-3。图3-3控制局部电路图图3-3控制局部电路图在该系统中,P0、P1、P2各口主要用作LED显示数据的控制输出。由于端口的驱动能力有限所以在P0口外接了10K的9脚排阻来提高驱动能力。P0的8个口和P2的8个口分别接LED点阵显示屏的16个引脚,用来控制行。P1.0、P1.1、P1.2分别接两块74HC138的A、B、C端,向74HC138送入串行数据经过其转换后并行输出,与LED点阵显示屏的另外16个引脚相连,控制列。P1.3接一片74HC138的使能控制端E2、E3,当为低电平使允许输出,接另一片74HC138的使能控制端E1,当为高电平使允许输出,分别控制两个译码器。由于P3口是特殊功能口,在该系统中根本是采用其第二功能。将P3.2外部中断0口外接控制按钮,实现不同特效显示间的切换。3.3译码器74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL〔LSTTL〕系列。74HC138译码器可承受3位二进制加权地址输入〔A0,A1和A2〕,并当使能时,提供8个互斥的低有效输出〔Y0至Y7〕。74HC138特有3个使能输入端:两个低有效〔E1和E2〕和一个高有效〔E3〕。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32〔5线到32线〕译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自适宜的高有效或低有效状态。图3-4译码电路图3-4译码电路译码电路的功能是为了解决单片机I/O口缺乏。译码所用器件为74HC138。具体电路见图3-4。3.4LED点阵显示屏3.4.1LED点阵显示屏的根本介绍LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。本设计的所用的LED点阵显示屏是由64个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点,其中用到的是红色。Proteus中8×8LED点阵显示屏MATRI*-8*8-RED,逆时钟旋转后,左边为行控制,接高电平,右边为列控制,接低电平,从上到下的列引脚控制的是从右往左对应的列,见图3-5。图3-5图3-58×8LED点阵显示屏图中第三行接高电平,第二列接低电平,则对应位置的LED灯点亮。3.4.2LED点阵显示屏的工作原理本设计采用动态显示方式。动态显示扫描方式是指逐位轮流点亮每位显示器,即每个显示模块的位选线被轮流选中,多个显示块公用一组段选,段选数据仅对位选线被选中的显块有效。对于每一位显示器来说,每隔一段时间点亮一次。虽然每位的字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余晖和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,到达同时显示的效果。在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件本钱降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低。大屏幕的制造、维护要容易许多,可靠性也增加了。由四块8×8LED点阵显示屏扩展成16×16LED点阵显示屏的具体连线见图3-6。图3-6LED点阵显示电路图3-6LED点阵显示电路图中上面两块显示平屏对应的控制行引脚相连,并接到P0口;下面两块显示屏对应的控制行引脚相连,并接到P2口;左边两块对应的控制列引脚相连,并接到译码器的输出端;右边两块对应的列引脚相连,并接到另一片译码器的输出端。4软件系统设计4.1程序设计系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现不同动态特效显示〔左移、上移及闪烁〕间的切换。主程序的工作流程见图4-2。图4-1程序流程图图4-1程序流程图程序开场时首先必须对单片机进展初始化,其中初始化的内容包括:中断初始化,外部中断触发方式的选择,移动速度初始化等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了外部中断0。外部中断0由按键的电平变化触发,其主要功能是选择LED点阵显示屏的动态特效显示方式,是左移、上移还是闪烁。中断产生后由预先初始化时设定跳转执行中断子程序。中断程序设定了LED点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。4.2显示程序的设计4.2.1点阵数据表达方式低位0低位0高位7高位712…151617……3132低位0低位0高位7高位712…151617……3132图4-2点阵数据图图4-2点阵数据图图中,数据是纵向的,一个像素对应一个位。8个像素对应一个字节,字节的位顺序是上低下高,比方从上到下8个点的状态是"*〞(*为黑点,-为白点),则转换的字模数据是0*08(B0000_0001)。一幅16×16的点阵画面点阵数据按照123……3132存储。所以一幅画面的数据量为32字节。画面显示时选通的第i列对应的数组元素为第i和i+16个元素。图中"信〞字的字模数据如下:0*80,0*00,0*C0,0*00,0*70,0*00,0*FC,0*7F,0*FF,0*7F,0*0F,0*00,0*AA,0*7E,0*A8,0*7E,0*A9,0*22,0*AF,0*22,0*AE,0*22,0*AA,0*22,0*A8,0*7E,0*A8,0*7E,0*08,0*00,0*08,0*00。4.2.2动态特效显示程序的设计动态显示程序分为左移显示、上移显示、闪烁显示三种显示方式。当主程序中判断为左移显示方式时,先左移显示初始化,之后进入左移循环控制,判断左移的字符个数,显示一幕,再判断是否有中断,如无则调用左移显示子程序,否则进入中断,初始化各值。假设判断为上移显示方式或闪烁显示方式时,单片机的执行步骤同上。主程序中,左移子程序流程图及上移子程序流程图见图4-3。图4-3左移/上移显示程序流程图图4-3左移/上移显示程序流程图根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第i列对应的数据为数组中i和第2×i个数据。所以送入后一列的数据则相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。显示数组中,第1至16个元素的第0至第7位LED显示屏中的第1至第8行。同理第17至32个元素的第0至第7位LED显示屏中的第9至第16行。所以将元素数据进展逻辑位移便能产生上下移动的效果。实现闪烁效果的原理为:第一个字扫描完后,就扫描第二个子,而一个字有32个字节,因此每隔32个字节送入P0和P2口,即当第一个字节和第二个字节分别送入P0和P2口时,进展16列扫描后,此时送入P0和P2口的分别是第33和第34个字节。闪烁子程序流程图见图4-4。图4-4闪烁显示程序流程图图4-4闪烁显示程序流程图4.3外部中断程序本设计用P3.2口外部中断0作为控制按钮,控制不同特效显示间的切换。选用电平触发方式,端输入低电平时,为有效的中断请求信号,置位。CPU在每一个机器周期采样引脚的输入电平。当采样到低电平时置"1〞;当采样到高电平时,清"0〞。采用电平触发方式时,外部中断源信号必须保持低电平有效,知道该中断被CPU响应,同时在该中断效劳程序执行完之前,外部中断源信号必须去除;否则将产生另一次中断请求。按钮按下时CPU采样到低电平,执行中断程序,初始化移动速度及各变量,flag值加一,改变显示方式。5系统调试5.1系统调试的根本过程5.1.1软件调试软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。使用Keil软件编写C语言程序时就应不断地进展编译,查找出错误。确定程序无误后,对所有程序进展编译,编译成功生产后缀名为.he*的可执行文件。在Proteus仿真软件中画出电路原理图,单击单片机元件,将其可执行文件设置为之前生成的后缀名为.he*可执行文件,最后单击仿真工具栏中的运行按钮,整个系统就开场仿真运行,这时可对各功能进展测试。可将Proteus和Keil进展联调,其步骤如下:搜索到Proteus安装目录下VDM51.dll文件,将其复制到Keil安装目录的\C51\BIN目录中。编辑Keil安装目录下的tools.ini文件,参加TDRV5=BIN\VDM51.DLL〔"PROTEUSDEBUG〞〕。在Keil中翻开要调试的工程,单击Project中OptionsforTarget1菜单,在弹出的对话框中选中Debug标签页,进展数据配置。生成可执行文件。在Proteus中翻开设计好的电路原理图,单击单片机元器件,将其可执行文件设置为要调试的Keil工程所生成的课执行文件。5.2系统调试的结果对调试中出现的问题进展了分析,得出以下原因和修改方法。LED显示屏显示不正确,经过检查及查阅资料发现实际LED显示屏的引脚并不是一排接阴极一排接阳极,而是杂乱无章的。修改方法是将用万用表测引脚,重新写下排列,重新焊连线。经过调试和修改,系统实现了题目所要求的中英文字符以及特殊字符的显示,能够通过控制按钮实现不同动态效果间的切换。结论接手题目之后从互联网上对LED进展了详细的资料收集。北京奥运会开幕式盛典上利用LED制造出的变换无穷、美轮美奂、气势磅礴的各种图像,给全世界留下震撼的印象,也让国人对LED有了全新的认识。LED显示屏越来越受到广泛应用,它不仅价格低廉,且省电又清晰,有很大的开展前景。从设计之初就确定了参照街道上广告牌显示屏的实现方法和实际情况设计一款小屏幕的LED点阵显示屏。在查阅了大量的资料后确定了题目的设计方案。整个设计采用AT89C52做核心控制器,74HC138组成译码电路。经过一段时间的工作,终于完成了基于51单片机的LED点阵广告牌的设计,工程所要求的功能全部到达。这次设计收获颇多,不仅是所作题目涉及到的软硬件知识,还有更为重要的实际经历和过程中所发现的问题。设计之前应该进展大量的资料收集和分析,确定一个清晰的设计思路。器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统中的兼容性。硬件的系统的建立必须合理和稳定,实物建立之前最好进展仿真这样才能为软件提供一个可靠的试验平台。软件的编写不但要实现功能还要不断的优化、简练、易读。实物的引脚往往与仿真图中的引脚不同,应该注意。随着课题的进展,对LED的了解也越来越深入。LED技术也会进一步开展,其应用将会更加广泛。可以设想利用LED的高稳定性和低能耗,再与无线通信技术相结合在沙漠深处或者人迹罕至的雪山之颠树立一块依靠太阳能充电,通过无线传输方式更改显示内容的信息板为登山者提供指示和天气信息,为沙漠迷路的人指引方向。设计完毕了,但学习还在继续。相信通过此次设计所得到的知识、心得、经历乃至感受都会让我在以后的日子里受益匪浅。致谢这次能够圆满完成毕业设计首先要感谢吴慧峰教师,感谢他在课程设计期间的指导、勉励和督导。同时感谢教过我们专业课程的教师们,感谢他们对我们知识增长所付出的辛勤劳动。还要感谢一起做课程设计的同学,他们也给予了很大的帮助,尤其是一些细节问题。感谢实验室教师给我们提供实验环境和器材。参考文献[1]文哲雄.用单片机控制LED显示屏[D].:佛山科学技术学院,1995.[2]彭宁,只佩华.单片机对LED大屏幕显示的控制系统[J].河北大学学报(自然科学版),1993,13(3):86-89.[3]乔世杰.小波图像编码中的对称边界延拓法[J].中国图像图形学报,2000,5(9):725-729.[4]李志强等.基于VC++的LED点阵显示屏控制系统设计无线互联科技,2012,〔2〕:70-71.[5]王晓涛基于单片机控制的LED点阵显示屏在煤矿的设计与应用[J].中国科技博览,2011,〔36〕:640-641.[6]Marston,R..Radio-Electronics,WorkingwithLEDdisplaydrivers[J].Mar1992,Vol.63Issue3.附录附录1:硬件原理图附录2:C语言程序/*本次显示程序的设计分三个阶断第一阶段:左移显示方式的设计第二阶段:上移显示方式的设计第三阶段:闪烁显示方式的设计*/#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintuchartable2[]={0*E0,0*0F,0*10,0*10,0*08,0*20,0*08,0*20,0*08,0*20,0*10,0*10,0*E0,0*0F,0*00,0*00,/*"O"*/0*08,0*20,0*F8,0*3F,0*88,0*20,0*C0,0*01,0*28,0*26,0*18,0*38,0*08,0*20,0*00,0*00};/*"K"*//*上移显示的字符*/ucharcodetable1[]={0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*20,0*00,0*24,0*80,0*24,0*80,0*A4,0*DF,0*FC,0*5F,0*FC,0*60,0*A4,0*30,0*BF,0*1E,0*BF,0*1E,0*A4,0*30,0*FC,0*60,0*FC,0*4F,0*A4,0*CF,0*24,0*80,0*24,0*80,0*20,0*00,/*贲CEADA*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*44,0*00,0*44,0*80,0*44,0*C0,0*44,0*60,0*44,0*38,0*DF,0*1F,0*DF,0*07,0*54,0*02,0*74,0*42,0*64,0*C2,0*5F,0*C2,0*5F,0*7E,0*44,0*3E,0*44,0*00,0*44,0*00,0*44,0*00,/*芳CB7BC*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*F8,0*3B,0*0C,0*4E,0*04,0*5C,0*04,0*76,0*0C,0*62,0*F8,0*63,0*C0,0*58,0*00,0*CC,0*00,0*84,0*00,0*00,0*00,0*00,0*00,0*00,/*&CAFA1*/0*00,0*00,0*F2,0*01,0*F2,0*41,0*12,0*C1,0*1E,0*FF,0*1E,0*7F,0*C0,0*87,0*DE,0*87,0*5E,0*84,0*F2,0*FF,0*F2,0*FF,0*52,0*44,0*5E,0*54,0*DE,0*F7,0*C0,0*E7,0*00,0*40,/*强CC7BF*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*18,0*00,0*04,0*00,0*02,0*03,0*02,0*04,0*02,0*08,0*04,0*08,0*18,0*08,0*18,0*08,0*04,0*08,0*02,0*08,0*02,0*04,0*02,0*03,0*04,0*00,0*18,0*00,0*00,0*00,/*笑脸符号CDEB1*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00};/*左移显示的字符*/ucharcodetable3[]={0*00,0*00,0*00,0*00,0*FC,0*7F,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*04,0*40,0*FC,0*7F,0*00,0*00,0*00,0*00,0*00,0*00,/*"口",0*/0*00,0*00,0*00,0*00,0*F8,0*0F,0*F8,0*0F,0*48,0*04,0*48,0*04,0*48,0*04,0*FF,0*3F,0*FF,0*7F,0*48,0*44,0*48,0*44,0*48,0*44,0*F8,0*4F,0*F8,0*4F,0*00,0*70,0*00,0*70,/*"电",1*/0*00,0*20,0*00,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*FE,0*3F,0*FE,0*3F,0*02,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*02,0*20,0*00,0*20,/*"工",2*/0*00,0*00,0*00,0*00,0*00,0*00,0*E0,0*00,0*10,0*03,0*08,0*04,0*04,0*08,0*08,0*10,0*10,0*20,0*10,0*20,0*08,0*10,0*04,0*08,0*08,0*04,0*10,0*02,0*20,0*01,0*C0,0*00,/*"爱心符号",3*/0*40,0*00,0*70,0*02,0*30,0*02,0*12,0*02,0*5E,0*02,0*5C,0*02,0*54,0*42,0*51,0*C2,0*5F,0*FF,0*DE,0*7F,0*D4,0*02,0*58,0*02,0*5F,0*02,0*77,0*02,0*32,0*02,0*10,0*02,/*"学",4*/0*FE,0*FF,0*FE,0*FF,0*32,0*02,0*7A,0*06,0*CE,0*87,0*8E,0*C3,0*2C,0*71,0*24,0*3F,0*25,0*0F,0*27,0*01,0*26,0*7F,0*24,0*FF,0*24,0*81,0*2C,0*81,0*0C,0*F1,0*04,0*F1,/*"院",5*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00}; /*闪烁显示字符*/ucharv,flag,temp;uchari,j,k,shuz,shub,temp1;uchara,b,c,d,e,f,numa,numb;ucharii,jj,kk;uchariii,jjj,kkk;uchara3,b3;ucharnum3,temp3;uchartemp2; /*各变量值的初始化*/voidinit(); /*主函数的初始化声名*/ voidinit1(); /*左移显示方式的初始化声名*/voidinit2(); /*上移显示方式的初始化声名*/voidinit3(); /*闪烁显示方式的初始化声名*/voiddisp1(); /*左移显示子程序声名*/ voiddisp2(); /*上移显示子程序声名*/voiddisp3(); /*闪烁显示子程序声名*/voiddelay(uintz)/*延时函数声名及定义*/{ uint*,y;for(*=z;*>0;*--) { for(y=110;y>0;y--);}} voidmain(){ init(); while(1) //主循环 { if(flag%3==1) //判断是不是左移显示方式 { init1(); //左移显示初始化 while(flag%3==1) //左移循环控制 { for(i=0;i<=a;i++) //判断左移的字符个数 for(j=0;j<=v;j++) //向左移动的速度由变量v控制 for(k=i*2;k<(i*2+32);) //显示一幕 if(flag%3==1) //判断有没有中断,flag的值有没有变化 disp1(); //假设没有中断调用左移显示子程序 else { i=a;j=v;k=(i*2+32);//假设有中断了初始化左移的各变量 } } } if(flag%3==2) //判断是不是上移显示方式 { init2(); //上移显示初始化 while(flag%3==2) //上移循环控制 { for(ii=0;ii<=15;ii++) //上移缓冲 { for(jj=0;jj<=v;jj++) //向上移动的速度由变量v控制 { for(kk=0;kk<=15;kk++) //显示一幕

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论