基于单片机的摇摇棒课程设计_第1页
基于单片机的摇摇棒课程设计_第2页
基于单片机的摇摇棒课程设计_第3页
基于单片机的摇摇棒课程设计_第4页
基于单片机的摇摇棒课程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、郑州科技学院单片机原理及应用课程设计1 课程设计的目的12 课程设计的任务与要求22.1 设计目的22.2 设计要求23 设计方案与论证33.1 LED灯的选择33.2 外部中断信号产生方式33.3 抗重影方案的选择33.4 单元电路设计53.5 主程序流程图64 硬件电路设计84.1 基本原理图84.2 各部分功能94.3 系统硬件104.4 传感器系统105 系统软件设计115.1 软件设计思路115.2 主程序流程125.3 软件实现功能的完善136 试验与仿真136.1 硬件调试方法136.2 软件调试方法147 结论16参考文献18附录1:总体电路原理图19附录2:源程序201 课程

2、设计的目的单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源

3、的单个单片机。片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用。(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小。(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进行摇动时,由于人的视觉暂留

4、原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此

5、,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。让你的心声闪烁在夜空LED摇摇棒横空出世!LED摇摇棒又叫摇摇棒、魔棒、闪光棒、闪字棒、闪图棒、星光棒。LED摇摇棒的诞生是闪光系列产品中的一大革命,它最大的神奇之处,是在手中左右摇晃LED摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。2 课程设计的任务与要求2.1 设计目的本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。通过本次设计,加强学生对

6、MCS-51单片机的深刻理解,提高学生的设计能力和动手能力。2.2 设计要求设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片。3 设计方案与论证3.1 LED灯的选择方案一:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。方案二:高亮LED发光二极管。正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用红色的LED使得显示画面更为明显、突出,使用两片CR2032纽

7、扣电池为其供电,提供足够的电流。3.2 外部中断信号产生方式通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。方案一:使用水银开关。通过摇晃使得水银开关与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。方案二:使用光遮断器。在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。同样通过这种电平变化,结合软件控制显示。本次设计中产生的中断是为了实现数据的单程传输。如果使用光遮断器,其触发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。而使用

8、水银开关,因为在左右都有触点,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。3.3 抗重影方案的选择方案一:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。水银开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。水银开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重

9、影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。 方案二:使用定时器与外部中断。当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成N份,在每一份的时间里显示不同的花样就能实现图形的显示。设计中摇动的摆子与左右两个触点接触各一次的时间可以通过外部中断和定时器计算出来,然后用单片机的另一个定时器T1,其定时时间是T0 的N 分之一,每次中断依次显示一列,就可以得到预期显示的图案了。该方法可以控制摇动频率低的时候不显示图形。但程序的稳定性不高,图形之间的间隔不易确定,只要电源开

10、关开着LED始终是点亮的。本次设计要求显示的字符长度较短,使用方案一中的外部中断方法只要控制好延时就可以达到完整显示图案的目的,而且方案一中只使用了外部中断,它所占用的内存比方案二中既使用外部中断又使用两个定时器所占用的单片机资源要少,所以选择使用方案一。具体地说,已知摇摇棒从一侧摆动到另一侧所需的时间是0.8秒,把0.8秒分成64份,则每一列的图形显示时间为0.0125秒。每一列对应两个八位的字节,16位字节对应16个LED发光二极管,然后在这每一份的时间里显示图形的相应一列,则可以得到完整的图形显示。(1) LED显示部分由:16个高亮度的发光二极管,16个270欧姆的电阻以及水银开关组成

11、。其中水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。图3-1 水银开关(2) 单片机部分由:一个11.059MHz的晶振以及两个30pf的电容构成的晶振电路、一个23uF的电容,10K的电阻以及复位开关构成的复位电路、芯片AT89s52构成。3.4 单元电路设计 图3-2 复位电路 图3-3 时钟电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳

12、定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。手动按钮复位需要人为在复位输入端RST上加入高电平(如图4-1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振

13、荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。时钟在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式(如图4-2)。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如图所示。图4-2中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般

14、在5-30pF。晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。3.5 主程序流程图通过软件设计思路分析,得到该系统的主程序流程图如3-4所示开始系统初始化开关在左边吗?外部中断T1外部中断T0送数据读取数据LED灯熄灭NY图3-4 主程序流程图系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。4 硬件电路设计4.1 基本原理图图4-1 基本原理图与硬件电路设计16只LED发光管作为画面每一列的显示,左右摇晃起到

15、了扫描的作用,人眼的视觉暂留现象看到的是一幅完整的画面。与LED点阵的显示有几分相仿。其硬件电路如图4.1所示:系统电源VCC为5V,下载程序和调试时一定要保证5V电压,MCS-51单片机作为控制器,在它的P1,P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P1口,P2口的上拉电阻不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经试验测试LED点亮时两端电压为3V左右,在LED的安全承受范围之内。4.2 各部分功能(1) 按键模块使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。S1:水银开关功能为棒在摇动时,只能在朝某一方

16、向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一支水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。S2:画面切换开关功能为用于切换显示不同内容。S3:手动复位开关功能为可以控制系统的启停(2) LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取依次循环下去,一幅完整的图案就显示在了显示屏上。而本

17、次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行1列。数据传输时我们同样使用行送数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。4.3 系统硬件(1) 单片机控制(STC89C051)本装置采用了STC12C2051单片机,它支持直接通过串口线下载程,对于本设计而言,显示文字需经常改变,STC12C

18、2051方便许多,因此选择STC12C2051作为本设计所用的单片机。(2) 显示功能。(D1D16)信息传递主要由显示来完成,本设计显示功能由16个发光二极管来完成。16个发光二极管分为4组,以共阳的方式连接,共用P1口和P2口作为输出口。4.4 传感器系统硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构成。可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发生破裂,水银外泄,安全性较差。滚珠开关稳定性稍差,但不容易损坏,安全度很高。考虑到实际应用环境,故选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不稳定性可以通过软件进行弥补。经过分析论证,我们决定了系

19、统各模块的最终方案,流程图如下:图4-2 传感器系统流程图整套系统以STC12C2051单片机为核心控制系统,使用16只LED灯作为显示屏,其中16只直接与单片机I/O口相连。当惯性开关触发中断T1时,单片机向16只LED传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成的扇形区域。5 系统软件设计5.1 软件设计思路在摇动LED棒的时候单片机必须单程传送数据否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过惯性开关的位置来使单片机实现单程传送数据给LED。如果惯性开关位于右边,则进入外部中断1并将一变量置1,。在变量为

20、1期间让单片机以一定的频率将数据传送给LED。如果惯性开关位于左边,则进入外部中断0并将变量置0,。在这期间单片机不会传送数据给LED。在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED并开始重新判断惯性开关的位置。5.2 主程序流程通过软件设计思路分析,得到该系统的主程序流程图3.1如下:图4-1 主程序流程图系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。经过文字取模后,系统的源程序编制参考附录2:5.3 软件实现功能的完善本次设计

21、的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。第二个难点是当显示较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。6 试验与仿真单片机应用系统的硬件调试和软件调试是分不可的,许多硬件故障是在调试软件时才发现的。但通常是先排除系统中明显的硬件故障后才和软件结合起来调试的。其一般的调试过程如下:6.1 硬件调试方法脱机调试是在电

22、路板加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号,规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查拓展系统总线是否存在相互间的短路或其他信号线的短路。对于样机所用的电源事先必须单独调试,调试好后,检查其电压值,负载能力,极性等均符合要求,才能加到系统的各个部件上。在不插片子的情况下,加电检查各插件上引脚的电位,仔细检查各地点电位是否正常,尤其应注意单片机插座上的各点电位是否正常,若有高压,联机时将会损坏开发机。联机调试通过脱机调试可排除一些明显的硬件故障。有些硬件故障还是要通过联机调试才能发现和排除。联

23、机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常,即可打开电源。通电后执行开发机读写指令,对用户机的存储器、I/O端口进行读写操作、逻辑检查,若有故障,可用示波器观察波形。通过对波形的观察分析,寻找故障原因,并进一步排除故障。可能的故障有:线路连接上的逻辑错误、有断线或短路现象、集成电路失效等。6.2 软件调试方法软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块调试好以后,再进行系统程序总调试。如果采用实时多任务操作系统,一般是逐个任务,下面进一步予以说明。对于模块结构程序,要一个个子程序分别调试。

24、调试子程序时,一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步运行方式和断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过后,可以把各功能块联系起来一起进行整体程序综合调试。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建立和清除在设计上有否失误,堆栈区域有否溢出,输入设备的状态是

25、否正常,等等。若用户系统是在开发系统的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部完成后,应反复运行多次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时还要做适当修正。对于实时多任务操作系统的应用程序是由若干个任务程序组成,一般是逐个任务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。逐个任务调试好以后,再使各个任务同时运行,如果操作系统中没有错误,一般

26、情况下系统就能正常运转。在全部调试修改完成后,将用户软件固化于EPROM中,插入用户样机后,用户系统即能离开发机独立工作,至此系统研制完成。在开始实验设计前,根据实验要求,分析实验所涉及的相关知识点,查阅身边的资料,并根据自己以前所学的理论知识,有了大概设计框图后,在PROTEL中画出原理图,然后根据原理图分析模块焊出电路板,并对模块进行测试。 第一步,测试LED显示电路和C51单片机最小系统。首先测试LED,输入一个简单程序(#includemain()p1=0*00;p2=0*00;),发现有一个LED不亮,于是检查该LED的引脚,发现线路断了,接好后LED亮了。于是输入摇摇棒程序,但LE

27、D灯不闪,猜测是数码管芯片与插槽接触不良的问题,就把插槽重新焊接,之后,再次检测时,发现有时闪烁有时灯不亮。说明不是插槽的问题,于是反复检查最小系统模块,通过用电压表最数码管的每个引脚进行高低电平测试,最总发现原来是接线问题,即是一根线忘了连接。使得硬件与软件的设置不匹配,从而导致了LED显示不正常。改正后重新测试。手动摇晃可呈现图像。第二步,测试驱动电路,该模块完好。第三步,软件测试。在软件方面,改部分主要调延时函数,调试过程简单但费时。于是,多次耐心尝试后软件调试才成功,能够完整并较为清晰地完整图像。最终,实现摇摇棒功能7 结论在王老师的指导下,通过一段时间完成了摇摇棒的设计,本次设计以水

28、银开关和单片机的实际应用为背景,介绍了以单片机为核心显示设计的基本结构和基本原理。本次将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出信号频率的控制通过单片机来实现,用水银开关摆动状态和16个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。设计综合运用了字模转换软件。同时查阅了大量相关资料,包括查

29、阅相关书籍和网上的资料,获得了一些相关信息。在设计方面,采用了在变量自加的原理,在经过逐个读取的方法来显示要显示的内容。最后还得出以下几点:准备越充分,实做越顺利在做设计前了解相关知识、材料、方法可以避免许多没有必要的麻烦,一步一个脚印就不必“从头再来”。最不能容忍的是在开始的几步偷懒,造成后面总有一些无法排除的障碍。温故而知新课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感知识的不够,便重拾教材对知识系统而全面进行了梳理,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识。思路即出路当初没有思路,诚如举步维艰,茫茫大地,不见道路。在对理论知识梳理掌握

30、之后,茅塞顿开,柳暗花明,思路如泉涌,高歌“条条大路通罗马”。顿悟,没有思路便无出路,原来思路即出路。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利,通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手能力,为以后打下了坚实的基础!通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手能力,为以后参加工作打下了坚实的基础。参考文献1 邹逢兴,陈立刚,计算机意见技术基础(第二版),高等教育出版社,2003.2 余锡存,曹国华,单片机原理与接口技术(第二版),西安电子科技大学出版社,2007.3 冯博琴,吴宁,微型计算机原理与接口技术(第三版

31、),清华大学出版社,2004.4 张毅刚,MCS-51单片机应用设计,哈尔滨工业大学出版社,2004.1 杨振江,冯军.单片机原理与实践指导,中国电力出版社,2008,8.2 姜志海. 单片微型计算机原理及应用,机械工业出版社,2007,3.3 陈桂友,柴远彬. 单片机应用技术,机械工业出版社,2008,1.4 冯先成. 单片机应用系统设计,北京航空大学出版社,2009.5 何宏. 微型计算机原理与接口技术,西安电子科技大学出版社,2009,4.6 刘海成.单片机及应用系统设计原理与实践,北京航空大学出版社,2009,8.7 金杰. 单片机应用技术基本功,人民邮电出版社,2009.8 韩志军.

32、 单片机系统设计与应用实例,机械工业出版社,2010.9 李广弟. 单片机基础,北京航空大学出版社,2007.10 刘同法,陈忠平,眭仁武. 单片机基础与最小系统实践,北京航空大学出版社,2007.11 李群芳. 单片微型计算机接口技术及应用,电子工业出版社,2005.12 严天峰. 单片机应用系统设计与仿真调试,北京航空航天大学出版社,2005.13 廖雷. C语言程序设计,高等教育出版社,2008.附录1:总体电路原理图附录2:源程序#include #define uchar unsigned char#define uint unsigned int /宏定义sbit KEY=P34;

33、 /定义画面切换按键uchar KY; /KY作用在后面说明 uchar disp; /显示汉字指针uchar pic=0,num=0; /pic为按键次数;num为中断次数/*显示编码部分*/uchar code love = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,

34、0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,0x82,

35、0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*LOVE*/;/LOVE图案的编码 uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

36、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,0x78

37、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*心形图案*/;/心形图案的编码uchar code hehe = 0x00,0x00,0x00,0x00,0x00,0x00,

38、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,

39、0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

40、0x00,0x00/*呵呵o(_)o图案*/;/笑脸图案的编码unsigned char code hanzi = 0x80,0x40,0x40,0x40,0x30,0x42,0x1E,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0xFF,0x7F,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x40,0x00,0x40,0x00,0x00,/*生,0*/* (16 X 16 , 宋体 ) */0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x82,0x40,0x82,

41、0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*日,1*/* (16 X 16 , 宋体 ) */0x00,0x01,0xE0,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x20,0x81,0x08,0x41,0x08,0x31,0x08,0x0D,0xFF,0x03,0x08,0x0D,0x08,0x31,0xF8,0x41,0x00,0x81,0x00,0x81,0x00,0x00,/*快,2*/* (16 X 16 , 宋体 ) */0x00,0x00,0x00,0x20,0xE0,0x10,0x9C,0x08,0x84,0x06,0x84,0x40,0x84,0x80,0xF4,0x7F,0x82,0x00,0x82,0x00,0x83,0x02,0x82,0x04,0x80,0x08,0x80,0x30,0x00,0x00,0x00,0x00,/*乐,3*/* (16 X 16 , 宋体 ) */0x20,0x00,0x24,0x08,0x24,0x48,0x24,0x84,0xFE,0x7F,0x23,0x02,0x22,0x41,0x20,0x40,0x

温馨提示

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

评论

0/150

提交评论