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

下载本文档

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

文档简介

...wd......wd......wd...郑州科技学院《单片机原理及应用》课程设计TOC\o"1-3"\h\u186641课程设计的目的 1212682课程设计的任务与要求 227432.1设计目的 2210632.2设计要求 275163设计方案与论证 3202913.1LED灯的选择 3222193.2外部中断信号产生方式 393203.3抗重影方案的选择 369453.4单元电路设计 5132383.5主程序流程图 6249374硬件电路设计 8268624.1根本原理图 8316714.2各局部功能 9301464.3系统硬件 1095034.4传感器系统 10246975系统软件设计 11113385.1软件设计思路 111725.2主程序流程 1219695.3软件实现功能的完善 1352286试验与仿真 13199116.1硬件调试方法 1353936.2软件调试方法 14197927结论 1630436参考文献 189021附录1:总体电路原理图 1929060附录2:源程序 201课程设计的目的单片机是随着大规模集成电路的出现极其开展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:〔1〕最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统本钱低廉,构造简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机。片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用。〔2〕最小功耗应用系统是指为了保证正常运行,系统的功耗最小。〔3〕典型应用系统是指单片机要完成工业测控功能所必须的硬件构造系统。本文将使用单片机对摇动显示进展实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进展摇动控制的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光二极管进展不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进展摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而到达在该视觉平面上传达信息的作用。LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技〞玩具。可以用“静如处子,动如脱兔〞来形容它,即当静止时,它只是几个LED发光二极管〔后简称LED〕,而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化〔亮或灭〕,最终显示一幅图片或字符串。随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。让你的心声闪烁在夜空——LED摇摇棒横空出世!LED摇摇棒又叫摇摇棒、魔棒、闪光棒、闪字棒、闪图棒、星光棒。LED摇摇棒的诞生是闪光系列产品中的一大革命,它最大的神奇之处,是在手中左右摇晃LED摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。2课程设计的任务与要求2.1设计目的本次设计制作的是一个显示棒,根本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。通过本次设计,加强学生对MCS-51单片机的深刻理解,提高学生的设计能力和动手能力。2.2设计要求设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片。3设计方案与论证3.1LED灯的选择方案一:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。方案二:高亮LED发光二极管。正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。为了使显示的图案清晰、明了,我们选择方案二,经过比拟,使用红色的LED使得显示画面更为明显、突出,使用两片CR2032纽扣电池为其供电,提供足够的电流。3.2外部中断信号产生方式通过外部中断可以控制数据开场传输的时刻。选择好外部中断来源是本次制作的难点及重点。方案一:使用水银开关。通过摇晃使得水银开关与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。方案二:使用光遮断器。在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。同样通过这种电平变化,结合软件控制显示。本次设计中产生的中断是为了实现数据的单程传输。如果使用光遮断器,其触发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。而使用水银开关,因为在左右都有触点,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。3.3抗重影方案的选择方案一:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。水银开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。水银开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,防止了重影。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,防止了重影。不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以到达省电的效果。方案二:使用定时器与外部中断。当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成N份,在每一份的时间里显示不同的把戏就能实现图形的显示。设计中摇动的摆子与左右两个触点接触各一次的时间可以通过外部中断和定时器计算出来,然后用单片机的另一个定时器T1,其定时时间是T0的N分之一,每次中断依次显示一列,就可以得到预期显示的图案了。该方法可以控制摇动频率低的时候不显示图形。但程序的稳定性不高,图形之间的间隔不易确定,只要电源开关开着LED始终是点亮的。本次设计要求显示的字符长度较短,使用方案一中的外部中断方法只要控制好延时就可以到达完整显示图案的目的,而且方案一中只使用了外部中断,它所占用的内存比方案二中既使用外部中断又使用两个定时器所占用的单片机资源要少,所以选择使用方案一。具体地说,摇摇棒从一侧摆动到另一侧所需的时间是0.8秒,把0.8秒分成64份,则每一列的图形显示时间为0.0125秒。每一列对应两个八位的字节,16位字节对应16个LED发光二极管,然后在这每一份的时间里显示图形的相应一列,则可以得到完整的图形显示。(1)LED显示局部由:16个高亮度的发光二极管,16个270欧姆的电阻以及水银开关组成。其中水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。图3-1水银开关单片机局部由:一个11.059MHz的晶振以及两个30pf的电容构成的晶振电路、一个23uF的电容,10K的电阻以及复位开关构成的复位电路、芯片AT89s52构成。3.4单元电路设计图3-2复位电路图3-3时钟电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开场工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。手动按钮复位需要人为在复位输入端RST上参加高电平〔如图4-1〕。一般采用的方法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开场工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。时钟在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式〔如图4-2〕。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如以下列图所示。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如以下列图。图4-2中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MHz,采用6MHz的情况也比拟多。内部振荡方式所得的时钟情号比拟稳定,实用电路中使用较多。3.5主程序流程图通过软件设计思路分析,得到该系统的主程序流程图如3-4所示开场开场系统初始化开关在左边吗外部中断T1外部中断T0送数据读取数据LED灯熄灭NY图3-4主程序流程图系统开场运行,内部进展初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开场显示。显示完成返回主程序,等待下一个摇动周期的到来。4硬件电路设计4.1根本原理图图4-1根本原理图与硬件电路设计16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象看到的是一幅完整的画面。与LED点阵的显示有几分相仿。其硬件电路如图4.1所示:系统电源VCC为5V,下载程序和调试时一定要保证5V电压,MCS-51单片机作为控制器,在它的P1,P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P1口,P2口的上拉电阻不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经试验测试LED点亮时两端电压为3V左右,在LED的安全承受范围之内。4.2各局部功能(1)按键模块使用一个按键对显示的所有内容进展切换,通过按钮按下的次数确定显示的内容。S1:水银开关功能为棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一支水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。S2:画面切换开关功能为用于切换显示不同内容。S3:手动复位开关功能为可以控制系统的启停(2)LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进展输入,然后通过列对每一行进展扫描,当列为低〔高〕电平、行为高〔低〕电平时则表示该点为图案的一局部,将其读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进展读取,然后行再次送数据,列再次读取……依次循环下去,一幅完整的图案就显示在了显示屏上。而本次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行×1列。数据传输时我们同样使用行送数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动〞出来了。4.3系统硬件(1)单片机控制〔STC89C051〕本装置采用了STC12C2051单片机,它支持直接通过串口线下载程,对于本设计而言,显示文字需经常改变,STC12C2051方便许多,因此选择STC12C2051作为本设计所用的单片机。(2)显示功能。〔D1~D16〕信息传递主要由显示来完成,本设计显示功能由16个发光二极管来完成。16个发光二极管分为4组,以共阳的方式连接,共用P1口和P2口作为输出口。4.4传感器系统硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构成。可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发生破裂,水银外泄,安全性较差。滚珠开关稳定性稍差,但不容易损坏,安全度很高。考虑到实际应用环境,应选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不稳定性可以通过软件进展弥补。经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图4-2传感器系统流程图整套系统以STC12C2051单片机为核心控制系统,使用16只LED灯作为显示屏,其中16只直接与单片机I/O口相连。当惯性开关触发中断T1时,单片机向16只LED传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成的扇形区域。5系统软件设计5.1软件设计思路在摇动LED棒的时候单片机必须单程传送数据否则显示的图形会产生重影,影响视觉效果。因此当系统开场工作后通过惯性开关的位置来使单片机实现单程传送数据给LED。如果惯性开关位于右边,则进入外部中断1并将一变量置1,。在变量为1期间让单片机以一定的频率将数据传送给LED。如果惯性开关位于左边,则进入外部中断0并将变量置0,。在这期间单片机不会传送数据给LED。在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED并开场重新判断惯性开关的位置。5.2主程序流程通过软件设计思路分析,得到该系统的主程序流程图3.1如下:图4-1主程序流程图系统开场运行,内部进展初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开场显示。显示完成返回主程序,等待下一个摇动周期的到来。经过文字取模后,系统的源程序编制参考附录2:5.3软件实现功能的完善本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。第二个难点是当显示较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送完毕后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有连续的问题。综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。6试验与仿真单片机应用系统的硬件调试和软件调试是分不可的,许多硬件故障是在调试软件时才发现的。但通常是先排除系统中明显的硬件故障后才和软件结合起来调试的。其一般的调试过程如下:6.1硬件调试方法脱机调试是在电路板加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号,规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查拓展系统总线是否存在相互间的短路或其他信号线的短路。对于样机所用的电源事先必须单独调试,调试好后,检查其电压值,负载能力,极性等均符合要求,才能加到系统的各个部件上。在不插片子的情况下,加电检查各插件上引脚的电位,仔细检查各地点电位是否正常,尤其应注意单片机插座上的各点电位是否正常,假设有高压,联机时将会损坏开发机。联机调试通过脱机调试可排除一些明显的硬件故障。有些硬件故障还是要通过联机调试才能发现和排除。联机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常,即可翻开电源。通电后执行开发机读写指令,对用户机的存储器、I/O端口进展读写操作、逻辑检查,假设有故障,可用示波器观察波形。通过对波形的观察分析,寻找故障原因,并进一步排除故障。可能的故障有:线路连接上的逻辑错误、有断线或短路现象、集成电路失效等。6.2软件调试方法软件调试与所选用的软件构造和程序设计技术有关。如果采用模块程序设计技术,则逐个模块调试好以后,再进展系统程序总调试。如果采用实时多任务操作系统,一般是逐个任务,下面进一步予以说明。对于模块构造程序,要一个个子程序分别调试。调试子程序时,一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步运行方式和断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步通过一个个程序模块。各程序模块通过后,可以把各功能块联系起来一起进展整体程序综合调试。在这阶段假设发生故障,可以考虑各子程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建设和去除在设计上有否失误,堆栈区域有否溢出,输入设备的状态是否正常,等等。假设用户系统是在开发系统的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调试后,还应进展连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部完成后,应反复运行屡次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时还要做适当修正。对于实时多任务操作系统的应用程序是由假设干个任务程序组成,一般是逐个任务进展调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。逐个任务调试好以后,再使各个任务同时运行,如果操作系统中没有错误,一般情况下系统就能正常运转。在全部调试修改完成后,将用户软件固化于EPROM中,插入用户样机后,用户系统即能离开发机独立工作,至此系统研制完成。在开场实验设计前,根据实验要求,分析实验所涉及的相关知识点,查阅身边的资料,并根据自己以前所学的理论知识,有了大概设计框图后,在PROTEL中画出原理图,然后根据原理图分析模块焊出电路板,并对模块进展测试。第一步,测试LED显示电路和C51单片机最小系统。首先测试LED,输入一个简单程序〔#include<reg51.h>main(){p1=0*00;p2=0*00;}〕,发现有一个LED不亮,于是检查该LED的引脚,发现线路断了,接好后LED亮了。于是输入摇摇棒程序,但LED灯不闪,猜想是数码管芯片与插槽接触不良的问题,就把插槽重新焊接,之后,再次检测时,发现有时闪烁有时灯不亮。说明不是插槽的问题,于是反复检查最小系统模块,通过用电压表最数码管的每个引脚进展上下电平测试,最总发现原来是接线问题,即是一根线忘了连接。使得硬件与软件的设置不匹配,从而导致了LED显示不正常。改正后重新测试。手动摇晃可呈现图像。第二步,测试驱动电路,该模块完好。第三步,软件测试。在软件方面,改局部主要调延时函数,调试过程简单但费时。于是,屡次耐心尝试后软件调试才成功,能够完整并较为清晰地完整图像。最终,实现摇摇棒功能7结论在王教师的指导下,通过一段时间完成了摇摇棒的设计,本次设计以水银开关和单片机的实际应用为背景,介绍了以单片机为核心显示设计的根本构造和根本原理。本次将使用单片机对摇动显示进展实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进展摇动控制的方法。输出信号频率的控制通过单片机来实现,用水银开关摆动状态和16个发光二极管进展不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进展摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而到达在该视觉平面上传达信息的作用。设计综合运用了字模转换软件。同时查阅了大量相关资料,包括查阅相关书籍和网上的资料,获得了一些相关信息。在设计方面,采用了在变量自加的原理,在经过逐个读取的方法来显示要显示的内容。最后还得出以下几点:准备越充分,实做越顺利在做设计前了解相关知识、材料、方法可以防止许多没有必要的麻烦,一步一个脚印就不必“从头再来〞。最不能容忍的是在开场的几步偷懒,造成后面总有一些无法排除的障碍。温故而知新课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感知识的不够,便重拾教材对知识系统而全面进展了梳理,终于熟练掌握了根本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识。思路即出路当初没有思路,诚如举步维艰,茫茫大地,不见道路。在对理论知识梳理掌握之后,茅塞顿开,柳暗花明,思路如泉涌,高歌“条条大路通罗马〞。顿悟,没有思路便无出路,原来思路即出路。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利,通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手能力,为以后打下了坚实的根基!通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手能力,为以后参加工作打下了坚实的根基。参考文献[1]邹逢兴,陈立刚,计算机意见技术根基〔第二版〕,高等教育出版社,2003.[2]余锡存,曹国华,单片机原理与接口技术〔第二版〕,西安电子科技大学出版社,2007.[3]冯博琴,吴宁,微型计算机原理与接口技术〔第三版〕,清华大学出版社,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]韩志军.单片机系统设计与应用实例,机械工业出版社,2010.[9]李广弟.单片机根基,北京航空大学出版社,2007.[10]刘同法,陈忠平,眭仁武.单片机根基与最小系统实践,北京航空大学出版社,2007.[11]李群芳.单片微型计算机接口技术及应用,电子工业出版社,2005.[12]严天峰.单片机应用系统设计与仿真调试,北京航空航天大学出版社,2005.[13]廖雷.C语言程序设计,高等教育出版社,2008.附录1:总体电路原理图附录2:源程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint//宏定义sbitKEY=P3^4;//定义画面切换按键ucharKY;//KY作用在后面说明uchardisp;//显示汉字指针ucharpic=0,num=0;//pic为按键次数;num为中断次数/**************显示编码局部****************/ucharcodelove[]={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,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,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图案的编码ucharcodeloveyou[]={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,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,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/*心形图案*/};//心形图案的编码ucharcodehehe[]={0x00,0x00,0x00,0x00,0x00,0x00,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,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,0x00,0x00/*呵呵o(∩_∩)o图案*/};//笑脸图案的编码unsignedcharcodehanzi[]={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*//*(16X16,宋体)*/0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",1*//*(16X16,宋体)*/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*//*(16X16,宋体)*/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*//*(16X16,宋体)*/0x20,0x00,0x24,0x08,0x24,0x48,0x24,0x84,0xFE,0x7F,0x23,0x02,0x22,0x41,0x20,0x40,0x20,0x20,0xFF,0x13,0x20,0x0C,0x22,0x14,0x2C,0x22,0xA0,0x41,0x20,0xF8,0x00,0x00,/*"我",4*//*(16X16,宋体)*/0x80,0x00,0x64,0x41,0x2C,0x21,0x34,0x91,0x24,0x89,0x24,0x87,0xEC,0x4D,0x32,0x55,0x22,0x25,0x22,0x25,0x32,0x55,0x2E,0x4D,0x23,0x81,0xA2,0x80,0x60,0x80,0x00,0x00,/*"爱",5*//*(16X16,宋体)*/0x00,0x01,0x80,0x00,0x60,0x00,0xF8,0xFF,0x07,0x00,0x40,0x10,0x20,0x0C,0x18,0x03,0x0F,0x40,0x08,0x80,0xC8,0x7F,0x08,0x00,0x08,0x01,0x28,0x06,0x18,0x18,0x00,0x00,/*"你",6*//*(16X16,宋体)*/0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",7*//*(16X16,宋体)*/};//汉字编码/********显示编码END*******************//**********函数声明******************/voiddisplay1(void);//显示汉字子函数voiddisplay2(void);//显示LOVE图案子函数voiddisplay3(void);//显示心形图案子函数voiddisplay4(void);//显示笑脸图案子函数/*********n〔us〕延时子程序***********/voidDelayUs(uintM){uintx;for(x=0;x<=M;x++);}/**********INT0中断服务程序***********/voidintersvr0(void)interrupt0using1{KY=~KY;//每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只

温馨提示

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

最新文档

评论

0/150

提交评论