摇摇棒程序注释(已完成!!!!!)

合集下载

32颗灯摇摇棒使用说明

32颗灯摇摇棒使用说明

颗灯摇摇棒使用说明
1.如何摇晃效果最佳。

手握着电池盒位置,手臂不需要摆动,只需要靠手腕的摆动来形成一个扇区,摇晃速度不需要很快,可以自己感觉一下,可以自适应的很好,摇晃很小的范围都能正常显示。

效果很赞!!!!
上位机软件说明请看:“摇摇棒取模软件帮助文档”
下载波特率:
下载字幕数据:
请正确连接下载线,如下图:
下载时请这样放置,让摇摇棒竖着放,意在不让滚珠开关导通,这样会导致下载不了。

上电后有些会亮,指示可以下载字幕数据,如果不亮请重新上电。

软件配置:生成方式配置
串口设置中:请务必选择波特率,串口选择对应的串口号。

或者从设备管理器管理看对应串口号。

一般软件会自动搜索,前提是先插了转串口再打开软件。

取模范例:
图片不居中可以通过上下左右来移动,制定出满意的图片。

上下偏移。

毕业设计 msp430摇摇棒

毕业设计 msp430摇摇棒

毕业设计msp430摇摇棒毕业设计msp430摇摇棒摘要本设计以mSP430单片机为中央控制器,显示棒摇动时显示的字符或者图形由LEd灯显示。

LEd灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或者图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或者图形分成64列,因此,通过单片机控制LEd线阵以一较低频率扫描显示字符或者图形的每一刻,摆动显示棒时即可因视觉暂留看出显示的字符或者图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求硬件电路要高。

整套系统由中央控制模块,LEd 显示模块,供电模块等部分构成。

关键词:mSP430单片机;LEd灯;摇摇棒abstractThe design for the central controller with msp430 csm and display great when shaken by the character or graphics appearred that LEd lights, LEd lights into linear array,cach miment only display dightal coding text or graphics after a column,using the principle of human vision,will need to display characters or graphics into 64,LEd by mcU control array in a low frequency scan character or graphic each column,swinging rod can show that for all the haracter or graphic display,swinging through port level changes,once the call display subroutines,characters,by external interruption swithing system design for program design of hardware circuit to high requirment,The system by the contral control module,the LEd display module,power supply module.Keywords: LEd;mSP430;Vision;yaoyaobang第一章绪论.................................................................................................................. .. 5第二章方案论证 (6)2.1 设计背景 (6)2.2系统设计要求 (6)2.3 整体方案比较与论证 (7)第三章系统硬件设3.1 硬件基本结构 (8)3.2 LEd显示部分 (8)3.3单片机最小系统部分 (9)3.4 电源部分 (9)3.5 mSP430单片机 (9)3.6 关于创新部分的讨论 (13)3.7按键模块 (13)3.8 LEd显示模块 (13)3.9惯性开关模块 (14)3.10总体设计 (15)第四章系统软件设4.1软件设计思路 (17)4.2软件系统流程图 (18)4.3动态图片的实现 (18)4.4软件实现功能的完善 (19)第五章系统调试第六章总结...................................................................................................................20致谢.................................................................................................................. . (21)参考文献.................................................................................................................. (22)附录.................................................................................................................. . (23)附录.................................................................................................................. (42)第一章绪论摇摇棒是当今比较流行的一种时尚娱乐电子产品,通过在手中左右摇晃棒体,就可在其摇摆出的扇形轨迹面上显示出文字或图像,摇摇棒具有质量轻,无污染,高强抗冲击等优点。

摇摇棒

摇摇棒

摇摇棒设计
作品说明
一、原理
摇摇棒是利用人眼的视觉暂留特性,通过对16只高亮度发光二极管进行控制,配合手的左右摇晃就可呈现一幅完整的
画面。

二、功能:
1) 显示汉字:“欢迎使用”,“神奇魔幻”“摇摇棒!”“一生平安”等。

2) 显示图案:“心形”图案,“人形”图案等。

3) 可以通过按键实现转换,轮流显示并循环。

三、使用方法
第一步,打开按键1,开启摇摇棒;
第二步,按动按键2,选择显示的汉字或图案;
第三步,摇动摇摇棒,发光二极管轮流点亮,可以显示汉字或图案。

第四步,再次按动按键2,可以切换显示的汉字或图案。

四、心得
通过参与设计、制作摇摇棒,提高了我对科学知识的兴趣,培养了我的动手能力。

我要努力学习,做到学科学、爱科学、用科学。

摇摇棒的制作流程(附带程序和原件清单)

摇摇棒的制作流程(附带程序和原件清单)

摇摇棒的制作大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。

LED摇摇棒很好地利用了人眼的视觉暂留特性。

下图是基于51单片机控制、16只高亮度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*****/51最小系统制作材料规格数目价格/带串口万用板 1 10 stc89C52 1 7 按键开关 1 0.2常开按钮开关 2 1 发光二极管(红 5mm)(蓝色 3mm)红色10个,蓝色3个0.1电解电容10uF 2电阻220、417K、1K 20 0.0排阻 4.7K*9P 1 0.3瓷片电容104/30 10 0.0三极管8550 1 0.15V蜂鸣器 1 0.5一位数码管共阴 2 2 单排针 2 0.3 USB-A加配套的USB线 1 1 MAX232 1 2紧锁座40P 1 0.2芯片座IC-16P 1 0.4晶振12M 1 0.8蜂鸣器 1串口线 18550 1 红外编码芯片5104 2DA转换器DAC0832 1单股线5M摇摇棒制作芯片座AT89s52或stc型万用板5mm高亮发光二极管16晶振12M 0.8 130p瓷片电容0.05 10电阻10K 0.01 10电解电容10uF 1二极管IN4007 0.1 1按键开关0.2 1水银开关 1 1排阻10k*8 0.3 1导线(最好为排线)40PZUO电阻1k电解电容 220u40p座。

基于单片机的摇摇棒设计

基于单片机的摇摇棒设计

基于单片机的摇摇棒设计摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产生不同的声音和光线效果。

本文将介绍一个基于单片机的摇摇棒设计。

设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏电阻、LED灯和蜂鸣器。

首先,我们选择了一块适用于这个项目的单片机。

在本设计中,我们选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。

其次,我们需要一个声音发生器来产生不同的声音效果。

我们选择了一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空比来改变声音的高低音。

然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。

当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的模拟输入引脚将信号传递给单片机。

单片机根据接收到的信号来改变声音和光线的效果。

此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。

当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。

我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的工作状态。

最后,我们使用编程语言来编写单片机的程序。

程序的功能是根据摇动棒的晃动情况来产生不同的声音和光线效果。

例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。

而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。

通过以上的设计,我们可以制作一个基于单片机的摇摇棒。

用户可以通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。

综上所述,本文介绍了一个基于单片机的摇摇棒设计。

通过选择合适的单片机和相关组件,并编写相应的程序,我们可以制作出一个具有声音和光线效果的摇摇棒。

这个设计不仅可以增加玩具的趣味性,还可以培养孩子们对电子技术的兴趣和学习能力。

摇摇棒制作流程

摇摇棒制作流程

《单片机基础》课程实习指导手册——制作摇摇棒摇摇棒硬件部分由单片机最小系统、LED灯条、电池盒三部分组成。

其中最小系统和LED 灯条需要手工在万用板上焊接。

图 1 单片机最小系统图 2 LED灯条任务一:认识实验所需元件图 3 本次实习所用元件请根据以上电路图和原件实物,在下面所给的万用板模拟图中描绘出单片机最小系统的线路布局。

图 4 焊接元件的万用板任务二:根据设计好的电路走线焊接电路提示(电路板的焊接技巧):在焊接时,先使用烙铁加热焊件,然后将焊锡送入焊盘与烙铁之间,当焊锡在焊盘和引脚之间形成圆锥型时,移开烙铁和焊锡便完成了元件的焊接。

图 5 焊接过程示意图请根据以下步骤焊接各元件。

图 6 步骤一(插入单片机底座并焊接底座)如图6所示,将单片机底座插于万用板正面,翻转电路板,对底座引脚逐一进行焊接。

图7 步骤二(插入排针并焊接排针)如图7所示,将每段20脚的排针从中间掰成两段,每段10脚,插于单片机底座两侧,翻转电路板,对排针引脚逐一进行焊接。

图8 步骤三(锡连单片机底座和排针的对应引脚)如图8所示,在排针焊接完成后,用焊锡将单片机底座与排针按照线路布局相连。

图9 步骤四(焊接晶振和两个陶瓷电容)如图9所示,将晶振和两个30pF的谐振电容焊接在单片机插座的内部,靠近20脚的位置。

用铜丝将晶振与单片机链接好。

图10 步骤五(焊接电解电容)如图10所示,将47uF的电解电容引脚用镊子弯折,焊接在万用板上。

并依照电路图1将其余元件焊接好。

将电池盒连接到万用板上。

最后在万用板上写上学号和姓名,最小系统制作就完成了。

图11 在制作好的电路板上写上学号和姓名图12 焊接LED灯如图12所示,将大块的万用板分开,按照电路图2将发光二极管排列为共阳极方式。

进行焊接。

任务三:对焊接好的电路检测是否工作正常图13 测量系统的工作电压如图13所示,用万用表对最小系统的电压进行测试,红表笔接40脚(VCC),黑表笔接20脚(VSS),电压应该为+4.5V~+5V之间。

LED摇摇棒实际制作图文教程【含汇编程序】

LED摇摇棒实际制作图文教程【含汇编程序】

LED摇摇棒实际制作图文教程【含汇编程序】LED摇摇棒实际制作图文教程【含汇编程序】总体介绍:大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。

意思是时间小于1/24秒人就分辨不出了,LED摇摇棒很好地利用了人眼的视觉暂留特性。

配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。

讲白了就和点阵的显示没什么去别,只是你的手摇晃的过程代替了点阵的片选。

下面是总体的设计电路图:D1是电源指示灯,习惯性做法,是为了更好的了解你电路的物理现象。

下面是摇摇棒的效果图:硬件模块:总体电路图有了我就说一下,焊接步骤及需要注意的细节,第一步:焊好16个LED灯,当然个数随喜好而定,LED颜色也随喜好,但最好不要用白光。

(正面) (背面)第二步:焊单片机最小系统元件放在里面一是为了保护元器件;二是为了美观、好看。

这里注意一下:我们可以在单片机的TXD和RXD及地那里接出来三根排针,接到单片机开发板上的TXD、RXD和地。

是为了烧程序方便,不用每烧一次程序就把它取出来,这样既减少了操作也减少了对单片机的损坏。

第三步:接线(正面)反面第四步:完成,还有按键和水银开关没接,等会会介绍。

总体以焊好下面介绍切换按键和水银开关的接发和作用。

1、水银开关在这里起的是防止镜像文字,深沉点给单片机一个下降沿的触发。

镜像文字通俗点讲是希望当文字向左晃动显示,向右晃动时不让其显示。

但如果没有水银开关给个中断的话,文字会一直显示,造成两排文字重叠在一起。

使人看不清。

当然我们要避免这种情况就接了个水银开关。

水银开关的安放最好是与LED成45度角,既容易触发、减少抖动也是为了安全,当装好后,可以用胶把它封起来,这样就避免了水银开关的破碎。

2、按键开关主要是为了切换模式,这个比较简单,端口随便接哪都可以,我接的是P0.2,软件模块:;===================================================== ;=====程序名称:摇摇棒================================ ;=====硬件说明:16个LED分别接P1、P2口,水银开关接P3.2,;===============按键开关接P0.2======================== ;=====软件说明:采用查表方式,外部中断0===============;=====程序编辑时间:2010-11-14-11-15================== ;=====程序编辑人:李阳辉============================== ;=====所用芯片:STC89C52============================== ;=====所用晶振:12MHz================================= ;=====版本:V1.0====================================== ;=====当前进度:完成================================== ;=====程序完成时间:2010-11-16-10-20================== ;================================================== === ;=====分配单元地址==================================== OUTPUT1 EQU 31H ;P2口查表的暂存器OUTPUT2 EQU 30H ;P1口查表的暂存器COUNT1 EQU 32HC1 EQU 33HC2 EQU 34HC3 EQU 35H C4 EQU 36H C5 EQU 37H C6 EQU 38H C7 EQU 39H C8 EQU 3AH C9 EQU 3BH C10 EQU 3CH KEY BIT P0.2ORG 0000H ;起始地址JMP RESETORG 0003H ;外部中断入口地址JMP INTORG 0030H/*===========================================复位程序===========================================*/RESET:MOV C1,#00H ;偏移量MOV C2,#00HMOV C3,#00HMOV C4,#00H/*MOV C5,#00HMOV C6,#00HMOV C7,#00HMOV C8,#00HMOV C9,#00HMOV C10,#00H */MOV OUTPUT1,#00HMOV OUTPUT2,#00HSETB KEY ;把P0.2置高,作为输入口MOV COUNT1,#00HSETB EX0 ;分中断SETB EA ;总中断SETB IT0 ;启动/*========================================== 主程序==========================================*/ MAIN:CALL KEY_SCANCALL NOADLJMP MAIN/*========================================= 按键处理程序只做了两种模式,大家可以再加=========================================*/ KEY_SCAN:JB KEY,KEY_RETLCALL DELAYJB KEY,KEY_RETINC COUNT1INC COUNT1MOV A,COUNT1CJNE A,#4,KEY_DMOV COUNT1,#00HKEY_D:JNB KEY,$KEY_RET:RET/*========================================== 散转程序==========================================*/ NOAD:MOV DPTR,#TAB_B ;设置散转表地址MOV A,COUNT1JMP @A+DPTRTAB_B: ;散转表AJMP OPR_0AJMP OPR_2OPR_0:MOV DPTR,#TAB1MOV A,C1MOVC A,@A+DPTRMOV OUTPUT1,AMOV DPTR,#TAB2MOV A,C2MOVC A,@A+DPTRMOV OUTPUT2,AMOV P2,OUTPUT1 MOV P1,OUTPUT2 CALL DELAYINC C1INC C2MOV A,C2CJNE A,#64,OPR_0 MOV C1,#00H MOV C2,#00H LJMP OPR_RET OPR_2:MOV DPTR,#TAB3 MOV A,C3MOVC A,@A+DPTR MOV OUTPUT1,A MOV DPTR,#TAB4 MOV A,C4MOVC A,@A+DPTR MOV OUTPUT2,A MOV P2,OUTPUT1 MOV P1,OUTPUT2 CALL DELAYINC C3INC C4MOV A,C4CJNE A,#64,OPR_2MOV C3,#00HMOV C4,#00HLJMP OPR_RETOPR_RET:RET/*===========================================中断处理程序===========================================*/ INT:MOV P1,#0FFHMOV P2,#0FFHCALL DELAYRETI/*===========================================延时程序===========================================*/ DELAY:MOV R7,#3D1: MOV R6,#0E0HDJNZ R6,$DJNZ R7,D1RET;===========================真心爱你========================== TAB1: DB0FFH,0F7H,0F3H,0F7H,0F7H,0F7H,0F0H,0F7H,0C7H,0E7H,0B7H,0CBH,0EFH,0 F0H,0FBH,0FDHDB0FFH,0F9H,0F8H,0ABH,0AH,0B2H,0BAH,0A2H,0DBH,0DAH,0C2H,0DAH,0DBH,0E8H ,0F9H,0FFHDB0FFH,0E1H,0DEH,0BFH,0BFH,0BFH,0DFH,0EFH,0EFH,0DFH,0BFH,0BFH,0BFH,0DE H,0E1H,0FFHDB0FFH,0FFH,0DFH,0DFH,0DFH,0D0H,0D5H,0A5H,95H,0D5H,0A5H,0D0H,0DFH,0DFH ,0FFH,0FFHTAB2:DB0FFH,0FFH,0CFH,0BFH,7FH,0FFH,03H,0F7H,0EFH,7FH,0BFH,0DFH,0FFH,03H,0F FH,0FFHDB0FFH,0FFH,0FCH,0FCH,0CCH,0CBH,0C7H,0CBH,5CH,9FH,0EFH,0F7H,0FBH,0FDH, 0FFH,0FFHDB0FFH,0FFH,0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0F7H,0E7H,0DFH,0BFH,7FH,0FFH, 0FFH,0FFHDB0FFH,0DFH,0DFH,0DDH,0DBH,17H,4FH,5FH,5FH,5FH,4FH,07H,0DBH,0DDH,0DFH, 0FFH;=========================新年快乐============================TAB3:DB0FFH,0FFH,0FEH,0FEH,0BEH,0BEH,0DEH,0DEH,0D8H,0DEH,0DEH,0EEH,0EEH,0E0 H,0FFH,0FFHDB0FFH,0FFH,0FFH,0F8H,0FBH,0FBH,0E0H,0FBH,0FBH,0FEH,0FDH,0FBH,80H,0 FFH,0F8H,0FFHDB0FFH,0FFH,0FFH,0F7H,0F7H,0F5H,0F5H,0F0H,0F5H,0F5H,0F5H,0D4H,0E7H,0F7 H,0F8H,0FFHDB0DEH,0DEH,0DEH,0DEH,0EEH,0EEH,0E0H,0FFH,0EEH,0E6H,0EAH,0ECH,0CCH,0AA H,0E6H,0EEHTAB4:DB0FFH,0FFH,0F7H,0EFH,0DFH,0BFH,0FFH,0FFH,01H,0FBH,0F7H,0BFH,0DFH,0EFH ,0F7H,0FFHDB0BFH,0BFH,0BBH,37H,0AFH,9FH,3FH,9FH,0AFH,0B7H,0BBH,0FFH,01H,0FFH,0FF H,0FFHDB0DFH,0DFH,0DFH,0DFH,0DFH,0DFH,0DFH,01H,0DFH,0DFH,0DFH,1FH,0DFH,0DFH, 0DFH,0FFHDB0FFH,0FFH,0FFH,01H,0FFH,0FFH,0FH,0F1H,0FFH,0EFH,8FH,0B0H,03H,0B7H,9F H,0EFH;=======================================================END ;结束。

基于51单片机的摇摇棒 简版(少图)

基于51单片机的摇摇棒 简版(少图)

基于STC89C52单片机的摇摇棒系统沈阳工业大学信息科学与工程学院电子信息工程0802班闫博謇080402056摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒也随之成为一个热点产品。

“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用。

本文介绍了以STC89C52单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新20个发光二极管来显示输出文字或图案等信息。

并在此基础上,利用DS1302时钟芯片显示当前时间,可通过按键对时间进行设置。

关键词:视觉暂留;单片机;LED;DS1302AbstractWith the continuous development of the science and technology and the society, a lot of tools , providing the entertainment and leisure for people, have been more and more .So the shaking stick has been a kind of hot produces gradually. It is based on the principle of the human visual and temporary leave to product .when shaken it , the men's visual and temporary leave can produce a visual plane in the LED’s shaking region, in order to achieve the function conveying information in the plane of vision. This paper introduces the process of designing the simple shaking stick with the controlling chip (It is controlled mainly by the STC89c52 MCU ) , a high brightness LED and the mercury switch .It is completed through refreshing 20 LED in the time—sharing to display some information like the text--- output or the design. And on this basis, the use of the chip of the DS1302 would show current time .It would be set time through the button.Keywords: Visual staying phenomenon,MCU,LED,DS1302目录摘要…………………………………………………………第一章基本原理……………………………………………1.1 视觉暂留现象…………………………………………1.2 STC单片机简介………………………………………1.3 水银开关………………………………………………1.4 时钟芯片………………………………………………1.5 按键……………………………………………………1.6 LED ……………………………………………………第二章原理图………………………………………………第三章实物说明图…………………………………………第四章使用说明……………………………………………步骤一………………………………………………………步骤二………………………………………………………步骤三………………………………………………………步骤四………………………………………………………步骤五………………………………………………………第五章软件设计………………………………………………5.1 设计思路………………………………………………5.2 系统工作流程…………………………………………5.3 主程序流程图…………………………………………第六章部分效果图……………………………………………参考文献………………………………………………………附件……………………………………………………………第一章基本原理1.1视觉暂留现象(Visual staying phenomenon,duration of vision)人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。

自制LED字幕摇摇棒图解

自制LED字幕摇摇棒图解

自制LED字幕摇摇棒图解
 曾经在网上看见别人做的摇摇棒,感觉很好玩。

后来一直没时间做,现在放假了,就自己动手做了一个。

我知道大家一般有很少有适合做摇摇动棒的长窄型万用板,我也没有,手里只有10cm*10cm的万用板,如是我把它裁成三段,费了我好大的力啊。

 这是基本工具,我想大家都有吧。

 这是把前两段拼在一起的效果,注意前两段最好直接接在一起,这样好看一些,不要上下叠加。

为了让它牢固,我用两块小板把它们夹在一起。

 这是三段拼接在一起
 整体布局
 我相信有许多朋友买不到水银开关,我就从光驱坏光驱里面拆了个限位开关,就是控制光驱开/关仓是否到位的装置。

左右摇摆时可以控制开关的通断。

 这是把其电路拆下来的图片。

大家也可以用水银开关做。

 这是把其固定在摇摇棒板子上,在其上加了个螺丝,这样可以调节其左右。

摇摇棒原理图和PCB图及程序

摇摇棒原理图和PCB图及程序

在此,摇摇棒的原理就不说了,下面是我做的摇摇棒,附原理图,和PCB图:上面是原理图。

S1为水银开关,上拉电阻10k。

上图为PCB图,从下到上为D1~D16,D1~D8由P1.7~P1.0控制,D9~D16由P0.7~ P0.7控制。

图像切换有P2.0控制。

注意水银开关与水平方向成45度角放置。

注意本图连接采用PCtoLCD2002取模,取模方式为:逐列,逆向,阴码。

如图设置:如有问题,请加QQ:457569074,一起讨论学习。

下面是程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit key= P2^0;//定义切换画面开关uchar Key_num;//定义按键次数uchar Int0_num=0;//定义中断次数uchar Direction;//定义摇动方向(从左到右)uchar code Embed[]={0x00,0x00,0x08,0x00,0x08,0x20,0xFE,0x1F,0x08,0x08,0x08,0x10,0x08,0x10,0xF8,0x0F,0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F,0x00,0x00,/*"加",0*/0x00,0x00,0x80,0x20,0x10,0x11,0x20,0x0A,0x00,0x04,0x00,0x02,0xE0,0x1F,0x20,0x11,0x20,0x11,0x20,0x11,0xFE,0x1F,0x20,0x11,0x20,0x11,0x20,0x11,0xE0,0x1F,0x00,0x00,/*"油",0*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02,0xFE,0x1F,0x48,0x22,0x48,0x22,0x48,0x22,0xF8,0x23,0x00,0x18,0x00,0x00,0x00,0x00,/*"电",0*/0x00,0x00,0x00,0x00,0x80,0x00,0x88,0x00,0x88,0x40,0x88,0x80,0x88,0x80,0xC8,0xFF,0xA8,0x00,0x98,0x00,0x88,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"子",0*/0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x02,0x00,0x02,0x00,0x02,0x60,0xC2,0x6F,0x62,0x60,0x36,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"?",0*/};uchar code love[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,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,0x 02,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,0 x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x8 2,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 love_picture[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,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,0x FE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0 x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,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 Hello[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",0*/ 0x08,0x20,0xF8,0x3F,0x08,0x21,0x00,0x01,0x00,0x01,0x08,0x21,0xF8,0x3F,0x08,0x20,/*"H",1 */0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/*"e",2*/ 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"l",3*/ 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"l",4*/ 0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*"o",5* /0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x33,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",6*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",7*/ };uchar code Smile[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,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,0xF0,0x1F,0x3C,0x3C,0x0E,0xF7,0x06,0xEF,0xF3,0xDC,0xF3,0xB0,0x63,0xB0,0x03,0xB0,0xF3,0xB0,0xF3,0xB8,0x03,0xDD,0x06,0xEF,0x0E,0x76,0x3C,0x3C,0xF8,0x1F,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,0x00,0x00}; uchar code Hxembed_Make[]={0x00,0x00,0x60,0x00,0xF0,0x09,0x10,0x07,0xD0,0x07,0x70,0x0C,0x00,0x88,0x00,0x98,0x00,0xC0,0x20,0x70,0x38,0x1C,0x1E,0x07,0xFA,0x3E,0x08,0x60,0x68,0x80,0x18,0x00,/*"欢",0*/0x10,0x04,0x18,0x08,0xF0,0x0F,0x08,0x18,0xFC,0x10,0x02,0x11,0x00,0x11,0x00,0x11,0x80,0x10,0xFC,0x17,0x84,0x10,0x04,0x11,0x04,0x11,0xFC,0x10,0x00,0x08,0x00,0x00,/*"迎",0*/0x00,0x00,0x00,0x00,0xC0,0x00,0xB8,0x1E,0xA0,0x02,0xFE,0x3F,0xA4,0x02,0x60,0x02,0x50,0x1E,0x00,0x00,0xE0,0x03,0x00,0x00,0x14,0x60,0xEC,0x3F,0x00,0x00,0x00,0x00,/*"制",7*/0x00,0x00,0x00,0x01,0x80,0x00,0x40,0x00,0xF0,0x3F,0x0C,0x00,0x80,0x00,0x40,0x00,0x30,0x00,0xEE,0x7E,0x20,0x09,0x20,0x09,0x20,0x05,0x10,0x00,0x00,0x00,0x00,0x00/*"作",8*/};uchar code Thanks[]= {//-- 谢-- //0x40,0x00,0x42,0x00,0xCC,0x3F,0x00,0x52,0xFC,0x2B,0x56,0x12,0x55,0x4A,0x54,0x86,0xFE,0x7F,0x24,0x01,0x20,0x46,0x20,0x80,0xFF,0x7F,0x20,0x00,0x20,0x00,0x00,0x00,//--谢-- 0x40,0x00,0x42,0x00,0xCC,0x3F,0x00,0x52,0xFC,0x2B,0x56,0x12,0x55,0x4A,0x54,0x86,0xFE,0x7F,0x24,0x01,0x20,0x46,0x20,0x80,0xFF,0x7F,0x20,0x00,0x20,0x00,0x00,0x00,//--!0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B,0xFE,0 x3B,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};uchar code danpan_picture[]={0x7f,0xff,0x7f,0xbf,0x7f,0xcf,0x7f,0xf3,0x01,0xfc,0x7d,0xff,0x75,0xff,0x6d,0xff,0x0d,0xff,0x5d, 0xdf,0x7d,0xbf,0x01,0xc0,0x7f,0xff,0x7f,0xff,0x7f,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,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,0x FE,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,0x 00,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,/*心形图案*/0x9f,0xfb,0xab,0xfb,0xb3,0xfd,0x80,0xdd,0xb3,0xd6,0x28,0xd5,0x92,0x55,0xad,0x01,0x92,0xd5,0xab,0xd5,0x33,0xd5,0x80,0xd6,0xb3,0xdd,0xab,0xf9,0xab,0xfd,0xff,0xff};void delay(uint X){for (i=0;i<=X;i++);}void delay1(uint n){ uint x,y;for(x=0;x<120;x++)for(y=0;y<n;y--);}/* '加油电子?'显示32*16像素*/void display1(){uchar i,disp;if(Int0_num>4 ){disp++;Int0_num=0;}if(disp>1)disp=0;delay(12000);for(i=0;i<48;i++){P0=~Embed[disp*64+i*2];P1=~Embed[disp*64+i*2+1];delay(120);//延时时间自己可以调,最好让画面显示在中间}}/*'LOVE'显示64*16像素*/void display2(){uchar i;delay(12000);for(i=0;i<64;i++){P0=~love[i*2];P1=~love[i*2+1];delay(150);}}/*心形图案显示64*16像素*/void display3(){uchar i;delay(12000);for(i=0;i<64;i++)P0=~love_picture[i*2];P1=~love_picture[i*2+1]; delay(200);}}/*‘Hello!示64*16像素*/void display4(){uchar i;delay(12000);for(i=0;i<64;i++){P0=~Hello[i*2];P1=~Hello[i*2+1];delay(120);}}/*笑脸图案显示64*16像素*/ void display5(){uchar i;delay(12000);for(i=0;i<64;i++){P0=~Smile[i*2];P1=~Smile[i*2+1];delay(150);}}/*‘欢迎制作显示64*16像素’*/ void display6(){uchar i;delay(12000);for(i=0;i<64;i++){P0=~Hxembed_Make[i*2];P1=~Hxembed_Make[i*2+1];delay(90);}/* '谢谢!'显示48*16像素*/void display7(){uchar i;delay(12000);for(i=0;i<48;i++){P0=~Thanks[i*2];P1=~Thanks[i*2+1];delay(80);}}/*外部中断0子函数*/void int0(void) interrupt 0{Direction=~Direction;if(Direction==0){Int0_num++;//中断次数加1switch(Key_num){case 0:display1();break;case 1:display2();break;case 2:display3();break;case 3:display4();break;case 4:display5();break;case 5:display6();break;case 6:display7();break;default :display1();}}}void main(void){EA=1;//开总中断IT0=1;//下降沿中断EX0=1;//启动外部中断0你——怒目Key_num=0;//初始化按键次数为零while(1) {if(!key) {delay1(5); // 去抖,可以跟自己的电路适当选择时间if(key==0){Key_num++;if(Key_num>6)//如果超过切换页面的次数就清零Key_num=0;}delay1(5);while(!key);}}}。

原理+程序·LED摇摇棒

原理+程序·LED摇摇棒

16位LED摇摇棒摘要:大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。

LED摇摇棒很好地利用了人眼的视觉暂留特性。

本设计是基于AT89S51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。

1.设计任务:制作一摇摇棒,其效果满足设计要求。

1.1要求基本要求:黑暗条件下左右摇晃摇摇棒,能够清晰显示所要的字符或画面。

发挥部分:制作一简易按钮,当按下按钮后可以切换显示的内容。

2.方案比较与确定2.1MCU的选择方案一:采用传统的51单片机(AT89S51),硬件便宜,程序下载方便。

但是51单片机的灌、拉电流都不是很大,设计时需要特别注意,如果16位LED要采用共阴接法,IO口需要上拉。

方案二:采用AVR单片机(ATmega16),其内部资源丰富,且拉电流较大,可以直接驱动LED灯,但是价格较贵。

考虑到本设计产品外围电路简单,LED采用共阳接法,传统的51单片机完全可以满足需要,故采用方案一。

2.2震动开关的选择方案一:采用水银开关,其结构简单,接触可靠,但是水银是有毒物质,使用不当会造成危险。

方案二:采用滚珠开关,优点是安全无毒,但是容易接触不良,需要软件克服,无形中增加程序的复杂性。

考虑本设计产品只是一演示产品,出现水银泄露的概率很小,故采用方案一。

3.程序框图(略)4.系统设计与实现4.1水银开关模块水银开关一端接地,一端接到单片机外部中断0,外部中断采用边沿触发,当左右摇晃时就会出现一个下降沿,触发外部中断,在中断服务程序中调用显示函数。

因为是单方向显示,所以不会出现字符重叠现象。

电气连接如图所示:4.2单片机复位模块为了简化电路,单片机复位采用手动复位,所以每次上电需手动复位一下。

电气连接如图所示:5.系统原理图6.系统程序/******************************************************************** 2010/10/15 Author:xuepengjucircuit connect:1~16LED-------------------------P0-P1Mercury switch------------------P3.2********************************************************************/ #include<reg52.h>unsigned char code table[]={0x00,0x00,0x00,0x00,0xF8,0x0F,0x48,0x04,0x48,0x04,0x48,0x04,0x48,0x04,0xFF,0 x3F,0x48,0x44,0x48,0x44,0x48,0x44,0x48,0x44,0xF8,0x4F,0x00,0x40,0x00,0x70,0x00,0 x00,/*"电",0*/0x00,0x01,0x00,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x41,0x02,0x81,0xE2,0 x7F,0x12,0x01,0x0A,0x01,0x06,0x01,0x02,0x01,0x00,0x01,0x80,0x01,0x00,0x01,0x00,0 x00,/*"子",1*/0x00,0x20,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0xFE,0 x3F,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x20,0x00,0 x00,/*"工",2*/0x10,0x04,0x12,0x03,0xD2,0x00,0xFE,0xFF,0x91,0x00,0x11,0x41,0x80,0x44,0xBF, 0x44,0xA1,0x44,0xA1,0x7F,0xA1,0x44,0xA1,0x44,0xBF,0x44,0x80,0x44,0x00,0x40,0x00 ,0x00/*"程",3*/};/*延时函数*/void delay370us(){unsigned char i=80;while(i--);}/* '嵌入式系统工程'显示112*16像素*//*void display(){unsigned char i;for(i=0;i<112;i++){P0=~Embed[i*2];P1=~Embed[i*2+1];delay370us();}}*/void display(){unsigned char i;for(i=0;i<64;i++){P0=~table[i*2];P1=~table[i*2+1];delay370us(); //延时时间自己可以调,最好让画面显示在中间}}void int0(void) interrupt 0{display();}void main(void){EA=1;//开总中断IT0=1;//下降沿中断EX0=1;//启动外部中断0while(1);}。

摇摇棒

摇摇棒

16LED部分源程序
16LED部分源程序
32LED摇摇棒
32LED摇摇棒 由32颗高亮 led来作为显 示部分,可以 显示更多的内 容,更多的图 画,单一显示 幅面32*32
彩色摇摇棒
彩色摇摇棒
彩色摇摇棒由多颗LED构成,下图为80LED的摇摇棒,全长 50cm,显示部分长28cm,每颗LED可显示三种颜色,分别为 红、绿、蓝,并且根据信号调整亮度,因此实现显示各种颜 色,多颗LED在一起,经过复杂的算法,程序处理,便可显 示成各种各样的图案以及文字,LED数量越多,灯与灯之间 的距离越短(当然要采取 防止光扩散的措施)显示的图案 画质也就越好,越细腻。扩大存 储空间,还可播放短片(前提是 保证持续摇动,最好的是调整程 序,转动摇摇棒)等
旋转LED
• 旋转led原理和摇摇棒相仿,只是多了无 线输电以及遥控功能,同时旋转的平面和 侧面都可显示内容,由32颗贴片LED作为 显示部分,分别是平面16颗和侧面16颗, 若有条件和编程技术到位,也可改装成彩 色式的旋转led,同时加大旋转半径和高 度、目前市场上还未出现彩色旋转LED, 这在未来可能也能作为一个好的发展方向
效果图
• 由于这个摇摇棒是由16 颗高亮红色LED来显示图 像,AT89S52单片机来处 理数据以及存储数据, 所以只能显示出16*16像 素点的图片或者文字, 且颜色单一,显示内容 有限,若要显示更多内 容,必须添加外存储器
摇摇棒实物图
摇摇棒实物图
摇摇棒实物图
摇摇棒实物图
视觉暂留显示器
• 视觉暂留显示器在国外 应用已有多年,只是近 几年才在国内开始兴起, 在国外,许多自行车车 轮上面都装有类似的显 示器,由于自行车车轮 比较大,如果转速不够 显示的图案就不完整, 因此在自行车上装了四 排LED,经过单片机处理, 使图案拼合起来,无缝 连接,达到显示的目的

最简单的摇摇棒51c程序

最简单的摇摇棒51c程序

/****************************************************************************** ****对于摇摇棒,关键就是控制时间与扫描,没有多大难度和技巧,为了广大同学对电子的热爱**我就以我的名字为例,写一段源程序来给大家讲解。

请仔细看好每一句,祝你们在学习电**子的世界里早日成功。

**** 鄂州职业大学电子协会王徐思远********************************************************************************** **/#include<reg52.h>#define uint unsigned int#define uchar unsigned char/* "王", 0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,**************************************"徐", 0x08,0x40,0x08,0x40,0x10,0xA0,0x21,0x10, * 对于这些字库,大家大可不必烦恼,想*0x42,0x0E,0x0C,0x04,0x13,0xF8,0x30,0x40, *改成其他字是非常简单的,有能力的我建*0x50,0x48,0x97,0xFC,0x10,0x40,0x11,0x50, *议可以自己去画去算,不会写字库的在网*0x12,0x4C,0x14,0x44,0x11,0x40,0x10,0x80, *上有很多字库取模软件,自己下载一个学**着用吧,当你学会用时,就离成功不远了*"思", 0x00,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08, *哦。

单片机--摇摇棒

单片机--摇摇棒

摇摇棒制作这是关于摇摇棒原理的解释:我们知道屏幕上显示连续的画面是通过扫描实现的,电影就是如此,一秒钟播放二十四张画面,这样在眼睛的暂留时间内就会显示下一张画面,看起来就是动起来的连续的动画,摇摇棒的原理也是如此,在纵向有16个发光二极管,我们可以通过横向移动来进行扫描,把程序中流水灯变化的时间间隔设置在眼睛暂留时间内一般小于0.04S就可以,因此我们在横向扫描时触动水银开关,程序开始执行,因此就可以显示一幅完整的画面。

关于硬件的制作:首先当然是电路方面的设计,由于本热是第一次做单片机方面的东西,很多需要注意的事还得通过学习才能掌握,因此这次使用的原理图与网上找到的煤油什么分别,自己现将我的PCB展现如下,很丑陋的,经验不足元件参考:晶振:12MHZC1:20uF的电解电容,C2,C3:30pF的独石电容LED为IN4007稳压二极管K1为普通开关K2为水银开关LED(1~16)为3MM发光二极管用到的电阻都是10K,排阻由于买元件时没有考虑到,故自己焊接了电阻在对应的引脚元件买回来后开始是想按照网上的做成一个长条形状,因此很轻易的将一块万用板损坏,建议没有必要的工具千万不要乱裁剪万用板,得不偿失。

焊元件是很简单的事,只要按照原理图细心就是,下面是我焊的板子,比较丑陋的,不过毕竟是第一次啊,嘿嘿正面,将P1口的排阻焊在IC插槽内,比较美观背面就很差劲,特别是有线交叉的时候一定要测试好,避免短路我的一点点焊接方面的经验,在清除原理图的情况下,模块与模块之间要分开焊接,比如焊接起振模块时就不要去焊接其他模块,那样就不会漏掉要焊接的细节,比如接地和接电源。

最好是焊好一个模块后用万用表检查一遍,尽量减少错误的产生,当然最后一次检查是有必要的。

焊接时细心细心还是细心。

硬件具备好后就可以设计软件来调试了,通过原理图很清楚的知道,利用到单片机的资源很少,可以说只用到一些基本的IO借口,和一个外部中断,因此这也是我选择摇摇棒做我的第一个设计的原因,从简单的学起嘛。

16LED摇摇棒课程设计

16LED摇摇棒课程设计

电子课程设计——16LED摇摇棒学院:电子信息工程专业班级:电气081501姓名:杨勇学号:200815010127指导教师:黄庆彩2010年十二月16LED摇摇棒一、设计任务与要求内容:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。

输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。

当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。

要求:根据总体电路图实现各模块的硬件连接,连接完成后下载程序、调试,达到摇动时出现画面或字符的目的。

二、总体框图模块功能:图中干电池由三节1.5伏干电池串联组成作为电源;按键为触摸开关可以起到调节画面的作用;单片机控制系统是由89c52单片机组成的控制系统;LED显示是由16支高亮度红色发光二级管组成。

LED灯的选择:方案一:传统LED发光二极管,颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。

方案二:高亮LED发光二极管,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。

为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用红色的LED使得显示画面更为明显、突出,使用3节1.5V电池为其供电,提供足够的电流。

三、器件的选择89c52单片机、高亮度LED、水银开关、晶振、电容等四、功能模块按键模块使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。

LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。

摇摇棒讲解

摇摇棒讲解
本作品由
提供
这里我们将学习: 电路中的灯 视觉暂留原理 摇摇棒
我们知道,灯泡通了电就会发光。晚上的时 候就能照亮我们的家,这样我们就能在晚上看清 事物。通常我们是通过开光来控制灯的亮灭的, 当我们反复按下开关,灯泡也就会反复地亮灭。
灯是如何通电发光的?
电 池
那么我们通过控制不同的组合 灯光就可以形成不同的图案
单片机与LED连接
这样,我们通过排列组合 就可以得到不同的图形和 文字,当我们把这种电路 做成棒子的形状,就成了 摇摇棒了。
可以用灯光画画了,耶!
画面的切换
用灯光可以画图案了,但为什么总是 同一个图案呢?别急,我们可以通过 按钮来转换图案,就和家里的电视遥 控器一样,一按按钮就可以换台。
水银开关的作用
电源VCC
51单片机
LED灯
有点高大上的感觉,但它们都是什么 东西呢?下面就让我们来一一了解
首先是最主要的大脑——51单片机
AT89S52单片机作为控制器,就 像电路中的大脑一样,控制着整 个电路。在它的P0、P2口接有 16只高亮度LED,我们通过编写 单片机代码,能自由地控制LED 的亮和灭。
棒在摇动时,只能在朝某一方向 摇动时显示,否则会出现镜像字 或镜像画面,所以通过接一只水 银开关来控制,使摇摇棒从左向 右摇动时将内容显示出来。
你好
额~,这个是什么字?
实物展示
左视图
右视图仰视图Fra bibliotek夜景车灯
电视
那么我们用一排灯可不可以 组合成图案和文字呢?
当然是可以的,耶! 下面让我们来看看是 如何实现的
请看这些图片
它们都是会动的,或者说我们看到它 们动了。这是为什么呢? 人眼在观察景物时,光信号传入大脑神经, 需经过一段短暂的时间,光的作用结束后,视 觉形象并不立即消失,这种残留的视觉称“后 像”,视觉的这一现象则被称为“视觉暂留”。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LED摇摇棒的详细制作资料大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。

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,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x0 0,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF 8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x0 0,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x0 0,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x8 2,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,/*LOVE*/};uchar code loveyou[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xF C,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xF C,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,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,/*心形图案*/};uchar code hehe[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0 0,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0 4,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x0 0,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x0 4,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x0 8,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,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, //64 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, //920x22,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, //128 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; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次.只有在两个端点的时候,水银开关才会闭合!!!!!!!(从左向右摇才显示)。

相关文档
最新文档