基于51单片机的16LED摇摇棒设计
基于单片机的摇摇棒设计本科毕业设计

本科毕业设计(论文)题目基于单片机的摇摇棒设计河南科技大学毕业设计(论文)任务书题目基于单片机的摇摇棒设计主要内容、基本要求、主要参考资料等:主要内容:1.根据设计要求确定系统的总体框图。
2.了解掌握单片机的基本结构和应用特点。
3.熟悉水银开关和集成电路的要求。
4.根据系统的要求绘制系统硬件电路图,进行部分软件功能的设计。
基本要求:1.设计摇摇棒的总体方案与硬件设计。
2.绘出总体程序流程图和模块化设计,并作相关程序编译。
3.对设计进行调试,模拟电路的工作过程。
主要资料:现代化单片机技术与系统、单片机汇编语言常用模块与综合系统设计、单片机原理及其应用。
完成期限:指导教师签名:评审小组负责人签名:2011年 10 月 30 日河南科技大学毕业设计(论文)开题报告表基于单片机的摇摇棒设计摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒也随之成为一个热点产品。
“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用。
本文介绍了以52单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新16个发光二极管来显示输出文字或图案等信息。
关键词:单片机,LED,水银开关Based on single-chip shaking his stick designABSTRACTAs we all know, the human eye visual persistence phenomenon, because the eye is unresponsive, it enriched the human visual perception.With the continuous development of science and technology, social progress, offer people entertainment tool more and more, shaking his stick also becomes a hot product. " Swing" is based on the human visual persistence principle which, when moved, due to the persistence of vision in the light emitting diode shake the region produces a visual plane, in order to achieve the vision plane to convey information about the role of. This paper introduces the 52 single chip microcomputer as main control chip, with high brightness LED diode and a mercury switch . A simple rocking rod design process, through time-sharing refresh 16 light-emitting diodes to display the output of text or graphics information.KEY WORDS:haking his stick, SCM, LED, the mercury switch目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1概述 (1)1.2设计目的 (1)1.3设计要求 (1)1.4设计思路 (1)1.5摇摇棒的基本原理 (2)第2章基于单片机的摇摇棒方案设计 (3)2.1硬件设计与实现 (3)2.2LED灯的选择 (3)2.2外部中断信号产生方式 (3)2.3抗重影方案的选择 (4)2.4单元电路设计 (5)2.5主程序流程图 (5)2.6AT89S52单片机简介 (6)第3章关于一些元器件的介绍 (10)3.1LED发光二极管的原理 (10)3.2LED显示控制模块原理及实现方法 (10)3.3LED显示模块 (11)3.4图像点阵原理及实现方法 (11)第4章缺陷及其解决方案 (13)4.1缺陷 (13)4.2解决方案 (13)4.3硬件电路调试 (13)4.4软件程序调试 (14)4.5调试现象与分析 (14)结论 (15)参考文献 (16)致谢 (17)附录1 (18)附录2 (19)附录3 (21)附录4 (22)附录5 (25)第1章绪论1.1概述随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。
课程设计模板

应用物理学专业实验课程设计题目学生姓名学号学院专业班级指导教师完成日期应用物理学专业实验课程设计说明书基于单片机的16LED摇摇棒的设计目录第一章概述 (2)第二章设计方案 (3)2.1设计目的 (3)2.2设计要求 (3)2.3设计思路 (3)第三章硬件设计 (4)3.1水银开关 (4)3.1.1 水银开关的原理: (4)3.2摇摇棒原理图 (4)3.2.1 单片机最小系统: (5)3.2.2 LED显示系统: (5)3.3硬件整理 (6)第四章软件设计 (8)4.1软件设计思路 (8)4.2主程序流程图 (8)4.3汉字取模软件 (9)4.4程序编写 (10)第五章总结 (16)参考文献 (17)第一章 概述LED 显示棒,又称摇摇棒,是一种利用视觉暂留效应整理的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED 发光二极管(后简称LED ) ,而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
……本设计要求整理LED 色”两个字。
标题:黑体16磅加粗居中,单倍行距,段前0磅,段后18磅 内容:宋体12磅,多倍行距 1.5行,段前段后0磅 注意:每一章都要从新的一页开始。
2.1本次设计整理的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。
通过本次设计,加强学生对MCS-51单片机的深刻理解,提高学生的设计能力和动手能力。
2.2 设计要求设计一个16只高亮度LED发光二极管构成的摇摇棒,通过单片机编程配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片。
2.3 设计思路本系统要求设计一个LED显示棒且需要有按键进行内容切换,它主要是由中央控制部分,LED驱动部分,LED显示部分以及电源部分组成。
单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED灯点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
基于单片机的摇摇棒设计

基于单片机的摇摇棒设计摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产生不同的声音和光线效果。
本文将介绍一个基于单片机的摇摇棒设计。
设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏电阻、LED灯和蜂鸣器。
首先,我们选择了一块适用于这个项目的单片机。
在本设计中,我们选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。
其次,我们需要一个声音发生器来产生不同的声音效果。
我们选择了一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空比来改变声音的高低音。
然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。
当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的模拟输入引脚将信号传递给单片机。
单片机根据接收到的信号来改变声音和光线的效果。
此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。
当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。
我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的工作状态。
最后,我们使用编程语言来编写单片机的程序。
程序的功能是根据摇动棒的晃动情况来产生不同的声音和光线效果。
例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。
而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。
通过以上的设计,我们可以制作一个基于单片机的摇摇棒。
用户可以通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。
综上所述,本文介绍了一个基于单片机的摇摇棒设计。
通过选择合适的单片机和相关组件,并编写相应的程序,我们可以制作出一个具有声音和光线效果的摇摇棒。
这个设计不仅可以增加玩具的趣味性,还可以培养孩子们对电子技术的兴趣和学习能力。
16LED摇摇棒设计与制作技术报告

中国矿业大学徐海学院单片机系统设计与制作技术报告姓名:李晟学号: 22091582姓名:蒋迎开学号: 22091580班级:自动化09-2班题目: 16LED遥遥棒任课教师:贾存良2011 年9月单片机设计与制作任务书班级自动化09-2班学号22091582 学生姓名李晟班级自动化09-2班学号22091580 学生姓名蒋迎开任务下达日期:2011年09月设计日期:2011年11月20日至2011年12月20日设计题目:16LED遥遥棒设计主要内容和完成功能:LED摇摇棒很好地利用了人眼的视觉暂留特性。
基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。
16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。
与LED点阵的显示有几分相仿。
教师签字:摘要本设计以A T89S52单片机为中央控制器,显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。
整套系统由中央控制模块、LED显示模块、供电模块等部分构成。
关键词:LED;AT89S52;视觉暂留;图案目录1、系统概述----------------------------------------52、硬件设计----------------------------------------62.1 单片机选择------------------------------------62.2 外部中断信号产生方式---------------------------62.3 LED显示模块-----------------------------------82.4 单片机最小系统的设计----------------------------93、软件设计----------------------------------------104、系统调试----------------------------------------115、结束语------------------------------------------116、参考文献----------------------------------------117、附录--------------------------------------------121、系统概述本系统要求设计一个LED显示棒,它主要是由中央控制部分、LED 显示部分以及电源部分组成,如图1-1所示,图1-1 系统组成部分单片机提取的字模进行存储,当接收到指令时单片机就讲字模代码通过I/O口输出,使LED点亮,利用视觉停留原理最终使图案显示在摆动的显示屏中。
项目名称:摇摇棒

硬件总电路图
实物图展示
开始
初始化
按 键 扫 描 程 序
散 转 查 表 显 示 件 设 计
结束
DPTR,TAB查 表
片 选
数 据 送 p1口 显 示
延 时
变 址 加 C1加1
判断C1是否 等于64
Y
N
流显 程 示 子 程 序 图
C1清零
项目制作总结及心得
AT89C2051最小系统
• 单片机的最 小化系统是指单 片机能正常工作 所必须的外围元 件,主要可以分 成时钟电路和复 电路。
外部中断的产生
• 使用水银开关。通过摇摆使 得水银开关中的水银珠与两个触 点接触,利用这种接触产生的电 平变化来触发中断,结合软件控 制显示,制作简单,使用方便。
LED显示部分原理
• 在这次摇摇棒制作中,学到了很多。经过这次 的项目制作看到自己很多方面的不足。尤其是 在基础方面,很不扎实。有些地方似懂非懂的, 感觉自己懂了实际上没有理解透彻,日积月累 下来很多知识没弄明白。在做起项目来很费劲, 没有头绪。其次就是想和做不能等同,想起来 很容易,但是做起来比想象中难的多。我会吸 取这次的教训,以后会认真的对待每一件事。
• 显示部分是依照 数码管的动态显示的 原理,8个LED灯相当 一个数码管。用两个 PNP的三极管控制16 个LED灯的片选,以 单片机 AT89C2051 的P0口做数据输入口, 控制LED灯的显示。
电源部分
• 采用两节干电池供电,电 压3V。单片机AT89C2051的工 作电压在2.7V~6V之间。满足 单片机的工作电压。
项目名称:摇摇棒
制作人: 班级 : 研发2班
基本原理与硬件电路 设计
• 本项目以AT89C2051单片机为 中央控制器,16只高亮度LED 发光二极管构成的摇摇棒。利用 人眼的视觉暂留特征配合手的左 右摇晃就可以呈现一幅完整的画 面。
基于单片机的摇摇棒模型设计

基于单片机的摇摇棒模型毕业设计目录摘要------------------------------------------------------------------------------------------ 1 Abstract ------------------------------------------------------------------------------------ 2绪论------------------------------------------------------------------------------------------ 3 1总体设计方案 --------------------------------------------------------------------------- 51.1摇摇棒原理及介绍---------------------------------------------------------------- 61.2硬件设计-------------------------------------------------------------------------- 61.3软件设计-------------------------------------------------------------------------- 7 2硬件电路实现 --------------------------------------------------------------------------- 72.1STC89c52单片机介绍及基本电路---------------------------------------------- 72.1.1STC89C52芯片----------------------------------------------------------- 72.1.2复位电路 ------------------------------------------------------------------102.1.3时钟电路 ------------------------------------------------------------------112.2LED基本介绍及原理 -----------------------------------------------------------122.2.1LED内部结构及原理-----------------------------------------------------122.2.2LED硬件电路 ------------------------------------------------------------132.3开关电路-------------------------------------------------------------------------142.4ISP下载电路 --------------------------------------------------------------------15 3软件设计及实现------------------------------------------------------------------------163.1开发环境-------------------------------------------------------------------------163.2汉字图形取模软件---------------------------------------------------------------173.3N-S流程图 ----------------------------------------------------------------------183.4LED控制软件实现--------------------------------------------------------------193.5字模数据处理--------------------------------------------------------------------20 4测试及结果-----------------------------------------------------------------------------21结束语 --------------------------------------------------------------------------------------23致谢-----------------------------------------------------------------------------------------24参考文献------------------------------------------------------------------------------------25附录1 程序源代码-------------------------------------------------------------------------26附录2 电路原理图-------------------------------------------------------------------------35附录3 摇摇棒实物图 ----------------------------------------------------------------------36摘要本文详细介绍了一种基于8051单片机的16LED摇摇棒。
单片机课程设计--趣味摇摇棒

任务书Ⅰ设计题目中文:趣味摇摇棒的设计英文:Design of Interesting Magic Waving StickⅡ设计功能要求1、静态的时候发光二极管能够正常闪烁;2、摇动的时候可以正确显示文字或图形;3、显示“安徽工程大学”字样;4、显示“电子信息工程!”字样;5、显示“中国行!”字样;6、显示微笑图样;7、显示动画心跳图样;8、自动转换图形,轮流显示并循环;9、其他创新思想,如位置检测装置的巧妙设计等。
Ⅲ设计任务内容1、学习与研究相关的《单片机原理及应用》理论知识,查阅资料,拿出可行的设计方案;2、根据设计方案进行电路设计,完成电路参数计算、元器件选型、绘制电路原理图;3、进行电路软件仿真(如:Protues7.5),或制作实物进行调试实验,获得实验数据,验证设计有效性。
4、撰写课程设计报告。
签名趣味摇摇棒的设计摘要为了提高运用8051单片机基本知识进行理论设计、实践创新的能力,培养独立工作、团队合作的意识,学会阅读相关科技文献,查找器件手册与相关参数,整理总结设计报告,并学习计算机辅助设计EDA软件Proteus7.5和单片机程序设计软件Keil的使用,通过设计一个摇摇棒,学会合理的利用电子器件完成基于单片机电路的课程设计与制作。
本次设计的趣味摇摇棒是如今流行的一种玩具,在各种聚会、节日中均见得到它的身影。
本设计也追随着摇摇棒的原理,即利用人眼视觉暂留,使闪烁的LED在扰动的过程中实现快速扫描,并在此基础上进行开发。
通过单片机对其进行控制,进而产生不同的图像。
电路设计完成后,将各单元电路整合后送入Proteus7.5中仿真,得出结果和理论分析完全吻合,最终验证设计方案有效。
关键词:摇摇棒;8051单片机;数字显示;Proteus仿真,Keil软件目录引言 (1)第1章总体方案设计 (2)1.1整体方案设计 (2)1.2 主要元件原理及参数计算 (2)1.2.1 单片机最小系统 (2)1.2.2 复位电路 (3)1.2.3 惯性开关模块 (3)1.2.4 LED显示模块 (4)第2章系统设计与仿真 (5)2.1 硬件设计 (5)2.2 软件设计 (6)2.3 系统仿真 (7)结论 (9)致谢 (10)参考文献 (11)附录A 电路总图 (12)附录B 程序源代码 (13)附录C 实物图 (21)引言摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
基于51单片机摇摇棒的设计说明

学校代码 10126 学号本科学年论文题目基于51单片机摇摇棒的设计院系专业名称年级学生指导教师2014年06月20日学年论文指导教师评阅意见学生姓名专业班级学号(论文)题目基于51单片机摇摇棒的设计指导教师教师职称学年论文评语评定成绩:指导教师签名:年月日摘要随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。
而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。
“摇动显示装置”,俗称“摇摇棒”,是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面的二极管通过不同频率的刷新,会在摇动区域产生图像,从而达到在该视觉平面上传达信息的作用。
本文以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计的基本结构和基本原理。
关键字:单片机,发光二极管,传感器AbstractAs people material standard of living rise, people pursuit to cultural life also becomes strong,the desire of information have become the people of the essential needs, more forthright and novel the information transfer mode will undoubtedly bring people to find everything new and fresh feeling. And modern tools to the simple, portable, therefore, shaking the display device, the arrival of will give people brings a kind of new convenient cultural transfer mode."Shake display device, "called" to shake the great" , it is to be based on visual temporarily leave the principle, through the timeshare refresh 16 leds to display text or design output information display device. The output signal frequency control through the single-chip microcomputer to realize, with shaking sensor test current moved state. When shaken, as the men's vision for a principle, will be in the light emitting diode shaking area produce a visual plane, the plane within the vision of different frequency refresh diode through, will produce an image in shaking area, so as to achieve the vision in the plane of conveying information function.Based on the sensor and MCU application for background, introduces the single-chip microcomputer and sensor as the core system moved sensor and display design the basic structure and the basic principle.Key words:microcontroller,leds,sensor目录绪论 (1)1.系统设计方案 (2)1.1设计目的 (2)1.2设计要求 (2)1.3设计思路 (2)2.系统硬件设计 (4)2.1基本原理图为: (4)2.2 各部分功能 (5)2.2.1 按键模块 (5)2.2.2 LED显示模块 (5)2.3系统硬件 (5)2.3.2 显示功能(D1~D16) (6)2.4 传感器系统 (6)3.系统软件设计 (8)3.1 软件设计思路 (8)3.2 主程序流程图 (8)3.3 软件实现功能的完善 (16)4.系统的硬件调试及软件调试 (18)4.1常见的硬件故障 (18)4.1.1逻辑错误 (18)4.1.2 器件失效 (18)4.1.3 可靠性差 (18)4.1.4 电源故障 (18)4.2 硬件调试方法 (19)4.2.1 脱机调试 (19)4.2.2 联机调试 (19)4.3 软件调试方法 (19)致 (23)参考文献 (24)绪论单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
\\基于51单片机的16LED摇摇棒设计2009年05月15日星期五上午 11:54大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。
LED摇摇棒很好地利用了人眼的视觉暂留特性。
下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。
演示效果见自制LED摇摇棒展示【图】。
实物外形图(点击可放大):基本原理与硬件电路设计:16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。
与LED点阵的显示有几分相仿。
硬件电路如下图(点击可放大)。
系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联4.5V即可。
AT89S52单片机作为控制器,在它的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。
P0口的上拉电阻RA1不能少。
串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。
K1是画面切换开关,用于切换显示不同内容;S1为水银开关。
水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。
硬件制作:使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。
建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。
水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动:IC座里面隐藏元件,既美观又能保护元件:软件设计:/********************************************************** 程序名称:LED摇摇棒显示64*16像素简要说明:外部中断方式INT0显示;取模方式:纵向取模、字节倒序编写:最后更新:08/11/15晚**********************************************************/#include <AT89X52.h>#define uchar unsigned char#define uint unsigned int //宏定义#define KEY P3_0 //定义画面切换按键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,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*/};uchar code loveyou[] = {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,/*心形图案*/};uchar code hehe[] = {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图案*/};unsigned char code hanzi[] = {//-- 欢 --0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,//-- 迎 --0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,//-- 使 --0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29,0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21,0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,//-- 用 --0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, 0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00, //-- 神 --0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF, 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F, 0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08, 0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00, //-- 奇 --0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E, 0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, 0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, 0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00, //-- 魔 --0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A, 0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA, 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00, //-- 幻 --0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60,0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80, 0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00, //-- 摇 --0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, //-- 摇 --0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00, //-- 棒 --0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00, //-- ! --0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };/*****函数声明*****/void display1(void);void display2(void);void display3(void);void display4(void);/*****n(us)延时子程序*****/void DelayUs(uint N){uint x;for(x=0; x<=N;x++);}/*****中断服务程序*****/void intersvr0(void) interrupt 0 using 1{KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示)if(KY==0){num++; //计算中断次数switch(pic) //选择画面{case 0:{display1();}break;case 1:{display2();}break;case 2:{display3();}break;case 3:{display4();}break;default:{display1();}}}}/*****显示子程序1(汉字)*****/void display1(void){uchar i;if(num>10){disp++;num=0;} //12个汉字分为3次显示完(每次显示4个),每中断10次切换if(disp>2)disp=0;DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可for(i=0;i<64;i++){P0=~hanzi[disp*128+i*2];P2=~hanzi[disp*128+i*2+1];DelayUs(100);}}/*****显示子程序2(LOVE)*****/void display2(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~love[i*2];P2=~love[i*2+1];DelayUs(120);}}/*****显示子程序3(心形图案)*****/void display3(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~loveyou[i*2];P2=~loveyou[i*2+1];DelayUs(120);}}/*****显示子程序4(呵呵o(∩_∩)o图案)*****/void display4(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~hehe[i*2];P2=~hehe[i*2+1];DelayUs(120);}}/*****主函数*****/void main(void){IT0=1;EX0=1;EA=1; //开中断,下降沿中断KY=0;while(1) //主程序中只检测按键{if(KEY==0) //画面切换键按下 {DelayUs(10000); //按键去抖if(KEY==0);pic++;}if(pic>3)pic=0; }}/*****END*****/。