16LED摇摇棒设计与课程报告
摇摇棒实习报告

系 别: 电子信息系专 业: 电子信息工程 班 级: 学 号:姓 名:指导教师: * * 实习题目: 摇摇棒的制作及调试 实习地点: 北信学院电子实验室教务处印制2013 年 7 月 14 日 生产实习报告指导教师填阅摇摇棒的设计制作及调试1.前言人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用按键对所显示内容进行切换。
本次摇摇棒的设计作为生产实习的一部分,综合了模拟电子技术基础和数字电子技术等学科的知识,温固并进一步学习了protel软件的用法,初步了解以单片机为核心的电子系统体系,对将要学习的单片机技术有了初步的认识。
2.实习目的1.非常重要的实践教学环节2.培养理论知识与生产实际相结合的能力3.了解单片技术4.锻炼实际动手能力,掌握电子线路焊接、装配的基本技能5.了解并掌握本专业软硬件设计的一些基本问题3.实习时间,及进程安排7月1日~ 7月2日:理论学习及讲座阶段上午讲座下午及课外时间进行资料收集、查找及学习7月6日:发放元器件,进行焊接准备7月7日~7月9日:硬件焊接及组装,及硬件调试7月9日~7月10日:参考硬件电路绘制原理图及PCB绘制,参照例程学习软件程序设计7月10日~7月14日:总结报告及验收、答辩4.实验地点北信学院电子实验室5.实习单位、部门、地点实习单位西安工业大学北方信息工程学院实习部门电子信息系实习地点电子实验室6.实习内容6.1 关键技术介绍本次所设计系统主要由中央控制部分、驱动部分、显示部分、电源部分以及按键和开关等组成,原理框图如下图所示6.1.1 视觉暂留原理人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
摇摇棒课程设计报告

电子工艺工程设计报告书
ห้องสมุดไป่ตู้
课程名称:基于单片机的摇摇棒
学院(系): 电子与信息工程学院
年级专业:2012 级电子信息工程(自动化)
学 号: 201207014338
学生姓名: 王 平 山
指导教师: 谢
辉
教师职称: 教
授
成 绩:
制作日期 2015 年 6 月` 8 日
电子工艺课程设计
目录
一、作品摘要…………………………………………………2 二、作品说明…………………………………………………2 三、工艺流程…………………………………………………3 四、系统总体设计……………………………………………5 五、硬件设计…………………………………………………7 六、软件设计…………………………………………………8 七、系统调试与分析…………………………………………9 八、课程作品制作体会………………………………………11 九、附录………………………………………………………12
拍摄照片:
-9-
电子工艺课程设计 - 10 -
电子工艺课程设计
八、课程作品制作体会
通过两周时间的摸索我们完成了摇摇棒的设计与原理图的绘制,本次设计以传感器 和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计 的基本结构和基本原理。本次将使用单片机对摇动显示进行实例化,设计一个 LED 摇动显 示器来显示文字、图像等信息。掌握利用 8051 型单片机对发光二极管阵列进行摇动控制 的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用 16 个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。 当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在 视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉 平面上传达信息的作用。
“飞兆杯”LED摇摇棒设计报告

第四届“飞兆杯”电子设计竞赛(2013年度)初赛报告项目中文名称:LED摇摇棒项目英文名称:参赛队员:指导教师:参赛院系:电力工程学院填写说明1、本报告系第三届飞兆杯电子设计初赛报告,须填写内容包括:报名参赛的项目名称(中英文)及队号报名参赛的项目中所用到的元器件报名参赛的项目摘要(中英文)报名参赛的项目其实现的构思及方案2、所有参赛项目必须为一个基本完整的设计。
设计方案描述旨在能够清晰准确地阐述(或图示)该参赛队的参赛项目(或方案),字数不限。
3、参赛队应自觉遵守知识产权的有关法规,不得侵犯他人的知识产权或其他权益。
4、请于2013年5月10日15:00前提交打印稿2份至基础实验与训练中心c208及电子版一份至项目计划使用器件列表注:请写明项目中计划使用的器件/开发板详细型号。
器件型号数量用途AT89S51单片机 1 控制电路水银开关 1 在挥动时自动产生中断,避免镜像1.5V干电池 3 供电电源3mm高亮蓝色LED灯16 显示文字或图案普通导线若干连接线路按键 1 切换画面270欧姆电阻16 限流保护二极管11.059MHz的晶振 1305pf的电容 222uF的电容 110K的电阻 1复位开关 1程序下载器 1 下载程序到单片机上PCB电路板 1 载体杜邦线 1 传输数据电源开关 1 开关电源电池插槽 1 将电池接入电路40引脚单片机插座 1 作为单片机连接电路的插槽摇动传感器 1 检测当前摇动状态项目摘要中文摘要“摇摇棒”,是基于人的视觉暂留原理,通过分时刷新16个LED灯来显示文字或者图案的显示装置。
输出信号的频率控制通过单片机来实现,用摇动传感器检测当前摇动状态。
当进行摇动时,由于人的视觉暂留,会在发光二极管的摇动区域形成一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域产生图像,从而达到在该视觉平面上传达信息的作用。
英文摘要"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.第四届“飞兆杯”电子设计竞赛初赛设计报告项目实现构思(建议包括:创新点描述、特色描述等)一、项目要求:1、熟悉单片机电路和程序设计;2、熟悉点阵显示技术;二、总体设计:1、,设计要求设计一个16只高亮度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 发光二极管构成的摇摇棒。利用 人眼的视觉暂留特征配合手的左 右摇晃就可以呈现一幅完整的画 面。
LED显示棒摇摇棒课程设计

单片机课程设计摇摇棒制作目录摘要 (1)一、引言 (2)二、系统设计方案 (2)1.设计思路 (2)2.模块方案的论证与比较 (2)三、系统硬件设计 (3)1.总体设计 (3)2.单元电路设计 (4)四、系统软件设计 (5)1.软件设计思路 (5)2.系统流程图 (6)3.软件实现功能的完善 (6)五、结论 (7)参考文献 (8)附录 (8)附录一元器件明细表 (8)附录二系统程序 (9)附录三电路图 (12)一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
本设计要求制作完成一个LED的显示棒。
要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“电”、“A”、五环之类的汉字或图案且可以使用按键对显示内容进行切换。
二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。
以下将对各模块的方案进行论证与比较:2.模块方案的论证与比较2.1 LED灯的选择方案一:传统LED发光二极管。
颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。
方案二:高亮LED发光二极管。
正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。
为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用绿色5mm的LED使得显示画面更为明显、突出,使用3节1.5V电池为其供电,提供足够的电流。
摇摇棒的制作汇总

指导教师填阅指导教师评语:实习报告成绩:指导教师签名:时间:年月日【前言】大家都知道,人的眼睛存在视觉暂留现象,而正因为眼睛的反应迟钝,才丰富了人的视觉感受。
16LED摇摇棒正是很好地利用了人眼的视觉暂留特性,而产生了奇妙的效果!本次试验通过掌握单片机及其开发流程,综合模拟电子技术和数字电子技术,掌握以单片机为核心的电子系统体系,从而更熟悉单片机在实际生活中的应用。
并且摇摇棒的制作成本低,扩展性好,为以后做个小东西打下基础,而且通过编写程序,控制在摇摆的时侯显示设计的内容,1实习目的1.1非常重要的实践教学环节1.2培养理论知识与生产实际相结合的能力1.3了解单片技术1.4锻炼实际动手能力,掌握电子线路焊接、装配的基本技能1.5了解并掌握本专业软硬件设计的一些基本问题2实习时间及进程安排周次:19-21周每天:早上:8:30-11:00下午:15:00-17:303实习单位部门地点西安工业大学六号教学楼电子实验4实验内容4.1 视觉暂留原理人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。
原因是由视神经的反应速度造成的.其值是二十四分之一秒。
是动画、电影等视觉媒体形成和传播的根据。
视觉实际上是靠眼睛的晶状体成像,感光细胞感光,并且将光信号转换为神经电流,传回大脑引起人体视觉。
感光细胞的感光是靠一些感光色素,感光色素的形成是需要一定时间的,这就形成了视觉暂停的机理。
16只LED发光管作为画面每一列的显示,快速左右摇晃起到了扫描的作用,视觉暂留会使影像在人眼视觉中保留一段时间,因而人眼可以看到一幅完整的画面。
4.2 89C51单片机介绍89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
摇摇棒课程设计报告

微型计算机课程设计报告课设:LED摇摇棒姓名:宋璐迪学号:08060113209专业班级:电气132班指导教师:李振凯完成时间:2016年6月13日目录目录 (1)一、绪论 (2)二、设计方案 (3)三、预备知识 (3)3.1元件简介 (3)3.1.1、STC89C52 (3)3.1.2、晶振 (3)3.1.3、水银开关 (4)3.2其他 (4)四、硬件原理介绍 (5)4.1原理总述 (5)4.2硬件详解 (5)4.2.1 电源电路: (5)4.2.2 时钟电路: (6)4.2.3 复位电路: (6)4.2.4 水银开关与按键切换电路: (7)4.2.5 LED显示电路: (7)五、程序功能解析 (8)5.1程序流程图 (8)5.2程序解析 (8)5.2.1主函数 (9)5.2.2中断函数 (9)5.2.3显示子程序 (9)5.2.4延时子程序 (10)六、原料清单 (11)七、设计心得体会 (12)八、参考文献 (13)九、附录 (14)一、绪论本次设计主体是LED摇摇棒。
LED摇摇棒是利用人眼的视觉暂留特性,通过摇晃过程中LED的有规律变换,给人呈现出不同画面。
这是其理论要求。
而为了实现这样的要去,在LED的控制上我们采用单片机的程序控制,辅助以水银开关的抖动触发,以实现摇摇棒在摇晃中的有规律显示。
在拓展功能上以按键次数的累积对画面进行切换。
之所以选择这样一个课题,源于以下几点:一、富有趣味性的工作原理。
二、软硬件的高度结合有利于对学业成果的检测,且在实际操作中能显著提升我们对电子设备的认知。
三、该物件的经验积累足够丰富,对初学者而言有更多的借鉴资源。
二、设计方案在本次设计中,以单片机I/O口的高低电平的输出实现对LED的控制;以外部中断的形式触发图形显示程序的运行,因该外部中断的要求并不是很高,所以选用水银开关实现该功能;第三部分也就是如何实现图形的切换,我们以对某一I/O口的输入计数方式已选择不同程序段的运行实现图形的切换。
摇摇棒的设计

系 别: 电 子 信 息 系专 业: 电 子 信 息 工 程 班 级: B110301 学 号: B1030114 姓 名: 刘云飞 指导教师: 张妮 实习题目: 摇摇棒的设计 实习地点: 电子实验室教务处印制2014 年 7 月 9 日生产实习报告指导教师填阅摇摇棒的设计制作及调试一前言:今年暑假学校给我们安排了很多的实习和课程设计。
这次生产实习摇摇棒的制作就是其中一个,本次实习介绍了一种新型的LED彩灯控制系统的设计方法,以单片机作为主控核心,与按键、水银开关等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。
本系统具有体积小、硬件少、电路结构简单及容易操作等优点。
摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
基本原理与硬件电路设计:16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。
与LED点阵的显示有几分相仿。
本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用按键对所显示内容进行切换。
2、水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。
3、硬件制作:使用的是直径3mm的红色LED,颜色可根据个人喜好选择。
水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动。
二实习目的1.非常重要的实践教学环节2.培养理论知识与生产实际相结合的能力3.了解单片技术4.锻炼实际动手能力,掌握电子线路焊接、装配的基本技能5.了解并掌握本专业软硬件设计的一些基本问题三实习时间,及进程安排6月28日至6月29日:理论学习及讲座阶段,上午讲座下午及课外时间进行资料收集,查找及学习。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南涉外经济学院课程设计报告课程名称:LED摇摇棒设计报告题目:LED摇摇棒设计学生姓名:所在学院:专业班级:学生学号:指导教师:2016 年6 月 19 日摘要本设计以AT89S52单片机为中央控制器,显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。
整套系统由中央控制模块、LED显示模块、供电模块等部分构成。
关键词:LED;AT89S52;视觉暂留;图案目录1. 系统概述 (5)2、硬件设计 (6)2.1 单片机选择 (6)2.2 外部中断信号产生方式 (6)2.3 LED显示模块 (8)2.4 单片机最小系统的设计 (9)3、软件设计 (10)3.1.1 软件设计思路 (10)4、系统调试 (16)5、结束语 (17)6、参考文献 (17)1.系统概述本系统要求设计一个LED显示棒,它主要是由中央控制部分、LED 显示部分以及电源部分组成,如图1-1所示,图1-1 系统组成部分单片机提取的字模进行存储,当接收到指令时单片机就讲字模代码通过I/O口输出,使LED点亮,利用视觉停留原理最终使图案显示在摆动的显示屏中。
2、硬件设计2.1 单片机选择选用单片机AT89S51 作为扫描显示控制核心,由其直接控制LED 线阵的显示,并外加扫描控制开关控制字符或图形的扫描显示。
该方案线路简单,扫描控制开关可选择机械开关或编码开关或滚珠开关,在基于单片机的LED 显示摇摇棒的设计,显示棒摇摆时接通线路控制单片机扫描输出字符或图形的列编码信号;单片机外另接有中断控制按钮用以切换不同字符或图形的显示,LED 线阵采用普通三极管驱动。
此方案的优点是:单片机C51 的端口较多,可实现显示数据并行传输,速度较快,且外围电路简单,调试较方便。
缺点是:单片机使用的晶振频率较大,软件不易实现对计数的控制。
2.2 外部中断信号产生方式通过外部中断可以控制数据开始传输的时刻。
选择好外部中断来源是本次制作的难点和重点。
方案一:使用滚珠开关。
通过摇摆使得滚珠开关中的滚珠与两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
方案二:使用遮光器。
在摆棒上安装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摇摆一次这个杆就会通过遮光器,发生电平变化。
同样通过这种电平变化,结合软件控制显示。
本次设计的中断时为了实现数据的单程传输。
如果使用遮光器,其触发单片机的时刻处于正中央,不能解决图片因为返回与原来图片重叠的现象。
而使用滚珠开关因为在左右都有触点,所以很容易在往返途中产生中断,从而选择方案一经过分析论证,我们决定了系统各模块的方案,流程图如3-1图3-1 系统流程图整体系统以AT89S51单片机为中央控制器使用16只LED等作为显示屏。
当滚珠开关触发中断时,单片机向16只LED传送数据,依据人体额视觉暂留原理,随着显示棒的摆动前进,输出数据的列是不会立刻消失而是随着摆动逐渐显示在形成的扇形区域。
整体电路如图3-2所示,图3-2 整体电路图2.3 LED显示模块首先我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将字模数组通过点阵屏的行驱动进行输入,然后通过列队每一行进行扫描,当列为低(高)电平,行为高(低)电平时,则表示该点为图案的一部分,将其读出、显示。
它们的顺序可以总结为:行不断的送数据,没送完设置的信息后,列进行读取,然后行再次送数据------一次循环下去,一幅完整的图案就显示在显示屏上了[2]。
本次设计的LED显示屏数据传输原理与LED点阵屏相似。
可以把LED显示棒看做是LED点阵中的一列。
我使用的是16只LED管将它们排成一列,整个屏静止时也就相当于16*1。
数据传输时使用行送数据,列扫描2.4 单片机最小系统的设计由于本次设计的显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。
它的最小系统包括晶体振荡电路和电源部分。
图3-3为单片机的最小系统[3]。
图3.33、软件设计3.1.1 软件设计思路在摇动LED棒的时候单片机必须单程传送数据否则显示的图形会产生重影,影响视觉效果。
因此当系统开始通过滚珠开关中滚珠的位置来使单片机实现单程送数据给LED。
在送数据时,数据送完后应该延时一段时间来使摇摇棒显示的每个字不会太拥挤。
之后再立刻熄灭LED 并开始重新判断滚珠的位置(整体流程图见图3-4)图3-4源程序:#include <AT89X52.h>#define uchar unsigned char#define uint unsigned int#define KEY P3_7uchar 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,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0 x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0 xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0 x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0 x00,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0 x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,/*LOVE*/};uchar code loveyou[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0 xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0 xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,/*心形图案*/};uchar code hehe[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0 x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0 x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0 x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0 x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0 x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,/*呵呵o(∩_∩)o图案*/};unsigned char code hanzi[] = {0x00,0x01,0x80,0x40,0x60,0x40,0x1E,0x41,0x10,0x41,0x10,0x41,0x10,0x41,0x10,0x41,0xFF,0x7F,0x12,0x41,0x10,0x41,0x10,0x41,0x98,0x41,0x10,0x61,0x00,0x40,0x00,0x00,/*"生",0*/0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",1*/0x70,0x00,0x00,0x00,0xFF,0xFF,0x08,0x00,0xB0,0x80,0x88,0x40,0x88,0x30,0x88,0x0E,0xFF,0x01,0x88,0x06,0x88,0x08,0x88,0x30,0xF8,0x60,0x80,0xC0,0x80,0x40,0x00,0x00,/*"快",2*/0x00,0x00,0x00,0x20,0x40,0x18,0xFC,0x0C,0x44,0x07,0x44,0x12,0x44,0x20,0x46,0x40,0xFA,0x3F,0x42,0x00,0x43,0x00,0x43,0x02,0x42,0x0C,0x40,0x38,0x00,0x10,0x00,0x00,/*"乐",3*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",4*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",5*/ 0x10,0x20,0x08,0x38,0x08,0x26,0x08,0x21,0xC8,0x20,0x38,0x20,0x08,0x18,0x00,0x00,/*"Z",6*/ 0x08,0x20,0xF8,0x3F,0x08,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x00,/*"L",7*/ 0x08,0x20,0x18,0x30,0x68,0x2C,0x80,0x03,0x80,0x03,0x68,0x2C,0x18,0x30,0x08,0x20,/*"X",8*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",9*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",10*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",11*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",10*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",11*/ 0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"1",12*/ 0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00,/*"3",13*/ 0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"1",14*/ 0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00,/*"4",15*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",10*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",11*/ };/*****函数声明*****/void display1_ltor(void);void display2_ltor(void);void display2_rtol(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{;KY=~KY;if(KY==0){num++;{case 0:{display1_ltor();}break; case 1:{display2_ltor();}break;case 2:{display3();}break;case 3:{display4();}break;default:{display1_ltor();}}}}void display1_ltor(void){uchar i;if(num>10){disp++;num=0;}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_ltor(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~love[i*2];P2=~love[i*2+1];DelayUs(140);}}/*****显示子程序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;KEY=1;while(1){if(KEY==0) //画面切换键按下{DelayUs(10000); //按键去抖if(KEY==0);pic++;while(KEY==0);}if(pic>3)pic=0;}}/*****END*****/4、系统调试制作的摇摇棒能够清楚显示预先设置的画面图像以及汉字。