摇摇棒制作资料讲解
摇摇棒的实验报告
摇摇棒的实验报告摇摇棒的实验报告摇摇棒是一种常见的实验器材,它由一个固定在一根杆上的球体组成。
当我们用手快速地摇动这根杆时,球体会在一定的角速度下旋转。
这个实验旨在通过观察摇摇棒的运动特性,探索物体的旋转运动和动量守恒定律。
实验步骤:1. 准备摇摇棒和一个光滑的水平桌面。
2. 将摇摇棒竖直插入桌面,确保它可以自由旋转。
3. 用手快速地摇动摇摇棒,使球体开始旋转。
4. 观察球体的运动轨迹和旋转速度的变化。
实验结果:通过实验观察,我们可以发现摇摇棒的球体在旋转过程中会出现稳定的轨迹。
无论是在水平方向还是垂直方向上,球体都会保持一定的旋转速度和旋转轨迹。
这是因为球体的旋转受到动量守恒定律的影响。
动量守恒定律是物理学中的重要定律之一,它表明在一个封闭系统中,总动量保持不变。
在摇摇棒实验中,球体的旋转运动可以看作是一个封闭系统。
当我们用手快速地摇动摇摇棒时,给球体施加了一个初始的旋转动量。
根据动量守恒定律,球体在旋转过程中会保持这个动量不变,从而保持一定的旋转速度。
除了动量守恒定律,还有其他因素也会影响摇摇棒的旋转运动。
例如,球体的质量和形状会影响旋转的惯性和稳定性。
较大质量的球体会有更大的惯性,旋转速度会较慢;而形状不规则的球体可能会导致旋转轨迹不稳定。
此外,摇摇棒的杆的材质和长度也会对旋转运动产生影响。
通过这个实验,我们可以深入理解物体的旋转运动和动量守恒定律。
旋转运动是物体运动的一种重要形式,它在日常生活中随处可见。
例如,地球的自转和公转运动、风车的旋转等都属于旋转运动。
而动量守恒定律则是解释物体运动的重要原理,它帮助我们理解物体在运动过程中的变化和相互作用。
总结:摇摇棒实验通过观察球体的旋转运动,帮助我们理解物体的旋转运动和动量守恒定律。
实验结果表明,球体在旋转过程中会保持一定的旋转速度和轨迹,这是由动量守恒定律的影响所致。
通过这个实验,我们不仅可以加深对物理学原理的理解,还可以培养观察和实验能力,提高科学思维和分析问题的能力。
单片机创意摇摇棒制作word资料5页
# 创新设计16个LED灯的摇摇棒,可显示英文、图形及汉字# 仅需5种元器件(单片机、LED、导线、电池和塑料壳),让DIY简单、快速# 往返双程扫描,慢速摇动也可清晰显示# 敲击字幕切换功能,无需按键操作# 在软件上有很大的升级空间(包括双色显示、LED测光等)-----------------------------------------------------------------------[注意事项]-----------------------------------------------------------------------# HEX文件烧写时需选择“内部RC时钟”# 本制作采用STC12C5A60S2单片机,不可以用其他型号单片机替代# 惯性开关在制作时注意静止时开关柄到左右触点间的距离应尽量相等# 本制作无开关,不用时需取下电池或在电池间塞入绝缘纸片单片机采用STC12C5A60S2(1pcs)- 0805型贴片式LED灯(16pcs)- CR2032钮扣电池(2pcs)- 具有一定弹性的导线和废弃的元器件引脚- 用来包装DIP40脚单片机的塑料壳(1pcs)- 确保单片机可以放入并有较大余地- 用钳子将P0、P2接口所在一侧的引脚全部向外弯折- 目的是保证将单片机放入塑料壳时不会左右乱窜- 弯折时尽量不断放入塑料壳中比对- 擦拭弯折后的引脚表面确保无污物可以顺利上锡- 用摄子取出贴片LED灯并焊接在单片机引脚上- 从P2.0引脚开始焊接左边焊LED负极(P2.0负极、P2.1正极)- 依次焊接16个LED灯到P0.2引脚为止- 将一支废弃元器件引脚对折并焊接在弹性导线上- 弹性导线的另一端焊接在单片机的第20脚上(GND)注意掌握导线长度- 将P1.3引脚弯折至芯片底部再用废弃元器件引脚向上延长P1.2引脚- 使之形成惯性开关的两个触点再把P1.4引脚略向内弯曲形成侧撞触点- 把一支废弃的元器件引脚焊接在单片机的第40脚上(VCC)- 再取一段导线将一端焊接在单片机的第20脚上(GND)- 导线另一端的接头处挂大量的锡- 用胶带固定导线使之在摇动时不易乱窜- 此时在单片机一侧形成了电源的正、负极接口将钮扣电池重叠后放入正、负极接口处- 最后将单片机连同电池一并塞进塑料壳中- 用透明胶带把开口处包好 - 因摇动时的离心力向上所以单片机及电池不会向下滑落无需设计下方固定希望以上资料对你有所帮助,附励志名言3条:1、常自认为是福薄的人,任何不好的事情发生都合情合理,有这样平常心态,将会战胜很多困难。
摇摇棒制作资料讲解
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 ,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*****/。
魔幻摇摇棒原理(基于AT89S52单片机)
魔幻摇摇棒设计原理原理:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。
一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
本设计要求制作完成一个LED的显示棒。
要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“你最棒”、“0K”、爱心之类的汉字或图案且可以使用按键对显示内容进行切换。
二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。
以下将对各模块的方案进行论证与比较:2.模块方案的论证与比较2.1 LED灯的选择方案一:传统LED发光二极管。
颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。
方案二:高亮LED发光二极管。
正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。
为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用红色的LED使得显示画面更为明显、突出,使用两片CR2032纽扣电池为其供电,提供足够的电流。
摇摇棒制作教程
摇摇棒制作教程
本摇摇棒设计所用的软件是proteus8.3 很多原件都没有都是自己画出来的所以做出来的板子不是太理想主要就是焊盘量身定做没有画的稍大点导致焊接很不爽别的貌似没啥了如果你们感觉我哪里做的不好欢迎批评(o゚v゚)ノ
这些都是电脑上设计的图。
无奈proteus 只能输出cam文件去给人家打板。
哎
反正最后是吧板子做出来了一共十一张板子每张板子2套体积大约是2*10*1cm
很小吧~( ̄▽ ̄~)(~ ̄▽ ̄)~
下面就是制作过程咯~~ 一张大板子。
还得自己切开
一个摇摇棒分为两个板子一个是摇摇棒本身的主要电路另一个是电池以及充电电路开关神马的。
摇摇棒原理图和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摇摇棒实际制作图文教程【含汇编程序】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 ;结束。
摇摇棒 原理
摇摇棒原理摇摇棒原理。
摇摇棒,又称摆动玩具,是一种利用重力和动能的玩具。
它的原理非常简单,但却能给人们带来很多乐趣。
在这篇文档中,我们将详细介绍摇摇棒的原理,并解释它是如何工作的。
摇摇棒的原理主要涉及到重力和动能的转化。
当我们把摇摇棒竖直放置时,它会因为重力而倒下,但是在倒下的过程中,它的重心会发生变化,从而产生动能。
当摇摇棒倒下到一定角度时,它的重心会超过支点,这时它会产生一个向上的力矩,使得摇摇棒重新竖直起来。
这样,摇摇棒就会不断地在竖直和倾斜之间转换,形成连续的摆动。
摇摇棒的原理可以用物理学的知识来解释。
在摇摇棒倾斜的过程中,重心的位置发生了变化,这导致了重力对支点的力矩发生变化。
当力矩达到一定程度时,摇摇棒就会产生一个向上的力矩,使得它重新回到竖直状态。
这个过程可以持续进行,形成连续的摆动。
除了重力和动能的转化,摇摇棒的设计也对其摆动产生影响。
摇摇棒通常由一个重物和一个支点组成,重物的重心位置和支点的位置会影响摇摇棒的摆动频率和幅度。
此外,摇摇棒的材质和形状也会对其摆动产生影响,不同的材质和形状会影响摇摇棒的重心位置和摆动方式。
摇摇棒的原理不仅仅是物理学的知识,还涉及到工程设计和材料科学。
在摇摇棒的制作过程中,需要考虑重心位置、支点位置、材料选择等因素,以确保摇摇棒能够正常工作并具有良好的摆动效果。
总之,摇摇棒的原理是基于重力和动能的转化,通过重心位置的变化和力矩的作用,使得摇摇棒能够不断地在竖直和倾斜之间转换,形成连续的摆动。
这种简单而有趣的原理,让摇摇棒成为了一种受欢迎的玩具,也吸引了很多人对物理学和工程设计的兴趣。
希望通过本文的介绍,读者对摇摇棒的原理有了更深入的了解。
菜鸟也能制作摇摇棒
它们在电路中的符号分别为
4.晶振 在一个单片机系统中,晶振是必不可少的。晶振全称为晶体振荡器, 其作用在于产生原始的时钟频率, 这个频率经过频率发生器的放大或 缩小后就成了电脑中各种不同的总线频率。 我们最常用的是无源晶振,就是没有极性,不分 正负极的晶振。 5.按键 这个不用多说了吧,我们生活中随处可见, 遥控器、手机都有。 右图为按键符号
【二】 电烙铁的使 用 制作嘛, 就免不了要用到电烙铁。 生活ห้องสมุดไป่ตู้常用的 电烙铁功率多数为 20W 到 50W 不等。 1.首先是电烙铁的认识 电烙铁,是电子制作和电器维修必 工具,主要用途是焊机元件及导线。 电烙铁主要由电线、手柄、热芯、 烙铁头组打光亮,通电烧热,蘸上松 香后用烙铁头刃面接触焊锡丝,使烙铁头上均匀地镀上一层锡。这样 做,可以便于焊接和防止烙铁头表面氧化。旧的烙铁头如严重氧化而 发黑,可用钢挫挫去表层氧化物,使其露出金属光泽后,重新镀锡,
才能使用。 电烙铁插头最好使用三极插头。要使外壳妥善接地。 使用前, 应认真检查电源插头、 电源线有无损坏。 并检查烙铁头是否松动。 电 烙铁使用中,不能用力敲击。要防止跌落。烙铁头上焊锡过多时,可 用布擦掉。不可乱甩,以防烫伤他人。 焊接过程中,烙铁不能到处 乱放。不焊时,应放在烙铁架上。注意电源线不可搭在烙铁头上,以 防烫坏绝缘层而发生事故。使用结束后,应及时切断电源,拔下电源 插头。冷却后,再将电烙铁收回工具箱。 焊接时,还需要焊锡和助焊剂。 焊接电子元件,一般采用有松 香芯的焊锡丝。这种焊锡丝,熔点较低,而且内含松香助焊剂,使用 极为方便。 常用的助焊剂是松香或松香水(将松香溶于酒精中) 。使 用助焊剂,可以帮助清除金属表面的氧化物,利于焊接,又可保护烙 铁头。 焊接较大元件或导线时, 也可采用焊锡膏。 但它有一定腐蚀性, 焊接后应及时清除残留物。 为了方便焊接操作常采用尖嘴钳、 偏口钳、 镊子和小刀等做为辅助工具。应学会正确使用这些工具。 右手持电烙铁。左手用尖嘴钳或镊子夹持元件或导线。焊接前, 电烙铁要充分预热。烙铁头刃面上要吃锡,即带上一定量焊锡。将烙 铁头刃面紧贴在焊点处。电烙铁与水平面大约成 60℃角。以便于熔 化的锡从烙铁头上流到焊点上。烙铁头在焊点处停留的时间控制在 2~3 秒钟。抬开烙铁头。左手仍持元件不动。待焊点处的锡冷却凝 固后,才可松开左手。用镊子转动引线,确认不松动,然后可用偏口 钳剪去多余的引线。 3.然后是电烙铁的保养 电烙铁使用可调式的衡温烙铁较好;平时不用烙铁的时候,要让 烙铁嘴上保持有一定量的锡, 不可把烙铁嘴在海棉上清洁后存放于烙 铁架上;海棉需保持有一定量水份,至使海棉一整天湿润;拿起烙铁 开始使用时,需清洁烙铁嘴,但在使用过程中无需将烙铁嘴拿到海棉 上清洁,只需将烙铁嘴上的锡搁入集锡硬纸盒内,这样保持烙铁嘴之 温度不会急速下降,若 IC 上尚有锡提取困难,再加一些锡上去(因 锡丝中含有助焊剂) ,就可以轻松地提取多的锡下来了;烙铁温度在 340~380 度之间为正常情况,若部分敏感元件只可接受 240~280 度的 焊接温度;烙铁头发赫,不可用刀片之类的金属器件处理,而是要用 松香或锡丝来解决;每天用完后,先清洁,再加足锡,然后马上切断 电源。
摇摇棒实验报告
一、前言众所周知,人的眼睛存在视觉暂留现象,因为眼睛的反应迟钝,也丰富了人的视觉感受。
16LED摇摇棒很好地利用了人眼的视觉暂留特性,而产生了奇妙的视觉效果。
LED显示棒,又称魔幻摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
当它静止时,它就是几个LED发光二极管,而一旦按照一定的频率去摇动它,它就会随着位置的变化而变化,最终可以显示出一幅图画或者一串字。
本次的生产实习要求制作完成一个LED显示摇摇棒,要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能分辨出如:“新年快乐”、桃心之类的汉子或者图案。
将会给人们带来一种新的方便的文化传递方式,设计具有市场前景,可满足各种大型演出等宣传需要,为人们的生活提供便利和乐趣。
二、实习目的1.非常重要的实践教学环节2.培养理论知识与生产实际相结合的能力3.了解单片技术4.锻炼实际动手能力,掌握电子线路焊接、装配的基本技能5.了解并掌握本专业软硬件设计的一些基本知识三、实习时间,及进程安排9月6日:理论学习及讲座阶段9月7日:发放元器件并检查数量,进行焊接准备9月7日~9月8日:硬件焊接及组装,及硬件调试9月9日~9月10日:总结报告及验收四、实习地点电子实验室五、实习单位、部门、地点实习单位西安工业大学北方信息工程学院实习部门电子信息系实习地点电子实验室六、实习内容1、关键技术介绍a.89C51的介绍89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。
主要特性:与MCS-51 微控制器产品系列兼容。
片内有4KB可在线重复编程的快闪擦写存储器存储数据保存时间为10年宽工作电压范围:Vcc可为2.7V到6V全静态工作:可从0Hz至16MHz128*8位内部RAM32条可编程I/O线两个16位定时器/计数器b.LED发光管16只LED发光管作为每一列的显示,快速左右摇晃起到了扫描的作用,视觉暂留会使影像在人眼视觉中保留一段时间,因而人眼可以看到一幅完整的画面,与LED点阵的显示有几分相似。
LED摇摇棒制作
LED摇摇棒制作
LED摇摇棒同LED点阵显示都是利用了LED的余晖特性和人眼的视觉停留作用动态扫描显示,摇摇棒与点阵不同之处在于摇摇棒16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,节省了LED、空间。
配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片、文字等。
电路原理图:
元器件清单:
A T89S51单片机:1个12M晶振:1个按键:1个自锁开关:1个
电容:30p :2个10uF :1个470uF:1个104:1个
电阻:100 :16个RX8(10k排阻):1个10k :2个1k:1个
LED:3mm高亮白发红光:16个电源指示灯:1个
CON6座:1个(下载座)外接电源座1个40P座:1个
LED旋转显示屏制作
LED旋转显示屏同摇摇棒原理相同,只是将手的摇动改为电机的旋转带动,频率较之更稳定,可显示字符、图片、汉字、动画等
元件清单:
直流电机:1个(转速稳定)A T89S52单片机(QFP封装):1个
LED红(0805贴片):32个电源指示灯:1个(0805贴片)
电阻(0805)100 :33个10k:1个1k:1个
24M晶振(贴片):1个
电容:30p :2个(贴片)104:2个(贴片)10uF :1个100uF:1个
CON6座:1个(下载座)直角
霍尔元件:1个小磁铁:1块(或光电管一对:发射接收分离)
自锁开关:1个热转印电路板:1块
无线发射接收模块(体积尽量小的)。
摇摇棒制作说明书
摇摇棒焊接教程摇摇棒焊接教程一、说明8个IO驱动32颗高亮发光二极管,程序对上一版本有做改进,显示效果更好,自适应的更好。
另外增加了上位机改字的功能,从而大大减少了改动源程序的麻烦。
也使得改字很方便,上位机功能可支持输入文字,大小任意,只要在32*64这个区域内就行。
支持画图,导入BMP格式图片及保存图片,一共可以配置8张图片,每个图片独立,软件自带各种图案,也可从Word里导出图案,显示图案在范围内随便定义大小。
准备工作:电烙铁一把(功率最好在40W),焊锡丝一卷(直径最好在0.8左右),焊锡膏或松香若干,剪脚钳一把。
准备一个小盒子,把所有的元器放入盒子里备用。
拿到套件的时候先清点元件数量,焊接的时候对照元件清单进行焊接二、元件清单:器件名称标号数量备注3m m发光二极管D1-D3232直插件M C U STC11F04E U11直插件I C座 20PI N1直插件C H340U21表面贴装震动开关S11直插件按键S21表面贴装二极管 SS14D K D K1 D K23表面贴装20pF 电容C2 C32表面贴装0.1uF 电容C1 C82表面贴装电源开关sw1直插件晶振 12M H z Y11直插件M I C RO U SB J11表面贴装注:电阻R1用焊锡短掉即可。
三、原理图:如下图看不清楚的,具体请看PDF文档的原理图四、焊接说明以及注意事项:1、LED具有极性。
焊接前请确认LED管脚正负极,长脚正,短脚负!如果焊接错误,需要拆下容易损坏PCB板,所以为了一次焊接成功请务必分清正负极!根据缺口来确定LED 极性。
焊接时烙铁不能长时间加热器件,那样很容易烧坏led。
长脚靠近芯片一端。
2、先进行usb接口的焊接(注意:注意焊接方向)3、贴片元件的焊接(注意:注意芯片CH340和二极管的极性)4、焊接完成下载口:usb供电口即下载口,安装好驱动即可下载程序。
五、常见问题分析1、摇晃时出现个别LED不亮,请检查是否有断线。
led摇摇棒制作绪论
.绪论
随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。
而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。
让你的心声闪烁在夜空——LED摇摇棒横空出世!LED 摇摇棒又叫摇摇棒、魔棒、闪光棒、闪字棒、闪图棒、星光棒。
LED摇摇棒的诞生是闪光系列产品中的一大革命,它最大的神奇之处,是在手中左右摇晃LED摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。
目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。
设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活
提供便利
目前LED摇摇棒的优势。
目前研发生产LED摇摇棒具有的优势如下:
1、市场比较大,经过外观设计做成一根棒状产品,摇一摇就会出现精美的图案
或者文字,具有很强的娱乐性。
2、低廉的成本。
由于产品所用到的材料相对比较便宜,因此产品价格定位比较低,具有很强的市场竞争力。
3、这种设计的软件可拓展性能强大,以后拓展可通过USB接口连接线对显示内容进行编辑和更换的功能。
未来,将可能实现图象与音乐自主相结合的功能等等,前景广阔。
自制LED摇摇棒
一
S C 95 T 8C 2单片机作 为控 制器, 在它 的 P 、P O 2口接 有 l 6只以共 阳的方 式 连 接的 高亮度 蓝色 L D 由单 片机 输 出低 电平点 亮。 l L D发光 管作 为画 E, 6只 E 面每一列 的显示, 左右 摇晃起 到 了扫描 的作用 , 眼的视觉 暂留现 象使得 看到 人 的是一 幅完 整的 画面 。与 L D点阵 的显示有 几 分相仿 。P E O口接 fE上 拉 电 O
应用 技术
C i a ci n e a d T c n l g v e h n s e c n e h o o y Re i w
-■I
自制 L D摇摇棒 E
何洲洋
( 化学 院 电子 工程 系 O 绥 8电子) [ 摘 要] 我们 都知 道, 的眼睛 存在视觉 暂 留现 象, 因为眼睛 的 反应迟 钝, 丰富 了人 的视觉感 受 。L D 摇棒 很好 地利 用 了人 眼 的视觉 暂 留特 性, 人 正 才 E摇 是人 感 到了美 的享受 下 面是基 于 8C 9 5 单 片机控制 1 T 8C 2 6只高亮 度 L D发光 二极管 构成 的摇摇 棒, 合手 的左右 摇 晃就可 呈 现一幅 完 整的 画面 , 以显示字 符、 E 配 可 图 片等 。 [ 词]T 8C 2 关键 SC 95 单片 机 水银开 关 高亮 LD L 70 E M 8 5 中图分 类号 :P 7 T2 3 文献标 识码 : A 文章 编号 :09 94 (0 20- 2 70 10- 1X 2 1)50 8- 1
联 系实 际的重要 性, 这对我 们 以后的学 习和 工作都 有很大 的帮 助。当然 , 我们 的设 计还存 在着 一些 缺 陷, 待 于在 将来 设 计 中进 一 步提 高 。 有 参 考文献 : [] 戴佳 , 卫恒. 1 片机 C语 言应用 程序 设计 实例精 讲. 1 戴 5单 电子 工业 出
摇摇棒实验报告
摇摇棒实验报告摇摇棒实验报告摇摇棒是一种简单而有趣的实验装置,它由一根长杆和一个圆盘组成。
在实验中,我们将圆盘固定在长杆的一端,并在圆盘上固定几个小球。
接下来,我们通过快速旋转长杆,使圆盘和小球一起旋转。
在实验过程中,我们观察到了一些有趣的现象,这篇实验报告将对这些现象进行描述和解释。
首先,当我们开始旋转长杆时,圆盘和小球开始快速旋转。
我们可以观察到,小球的旋转轨迹呈现出一种特殊的形状,类似于一个圆环。
这是因为小球受到了离心力的作用,它们在旋转过程中受到向外的力,从而形成了一个稳定的旋转轨迹。
其次,我们可以发现,当我们改变旋转速度时,小球的旋转轨迹也会发生变化。
当旋转速度较慢时,小球的旋转轨迹较为平缓,呈现出一个较大的圆环。
而当旋转速度较快时,小球的旋转轨迹变得更为紧凑,呈现出一个较小的圆环。
这是因为旋转速度的增加会增大离心力的作用,使小球受到的向外力增大,从而使旋转轨迹变得更加紧凑。
另外,我们还可以观察到,当我们改变圆盘上小球的数量时,小球的旋转轨迹也会发生变化。
当圆盘上的小球数量较少时,小球的旋转轨迹呈现出较大的圆环。
而当圆盘上的小球数量增多时,小球的旋转轨迹变得更为复杂,呈现出多个不规则的圆环。
这是因为小球数量的增加会增大旋转系统的质量,从而使旋转轨迹变得更为复杂。
通过这个实验,我们可以看到摇摇棒实验中的一些有趣现象,并通过对这些现象的观察和解释,了解到旋转运动的一些基本原理。
实验中,小球的旋转轨迹是由离心力的作用所决定的,旋转速度和小球数量的变化会对旋转轨迹产生影响。
这些现象与我们日常生活中的一些现象有一定的联系,例如摩天轮的旋转和行星围绕太阳的运动等,通过对这些现象的研究,我们可以更好地理解旋转运动的规律。
总之,摇摇棒实验是一种简单而有趣的实验装置,通过观察和解释实验中的现象,我们可以更好地理解旋转运动的一些基本原理。
这个实验不仅能够培养我们的观察和思考能力,还能够激发我们对科学的兴趣和好奇心。
单片机--摇摇棒
摇摇棒制作这是关于摇摇棒原理的解释:我们知道屏幕上显示连续的画面是通过扫描实现的,电影就是如此,一秒钟播放二十四张画面,这样在眼睛的暂留时间内就会显示下一张画面,看起来就是动起来的连续的动画,摇摇棒的原理也是如此,在纵向有16个发光二极管,我们可以通过横向移动来进行扫描,把程序中流水灯变化的时间间隔设置在眼睛暂留时间内一般小于0.04S就可以,因此我们在横向扫描时触动水银开关,程序开始执行,因此就可以显示一幅完整的画面。
关于硬件的制作:首先当然是电路方面的设计,由于本热是第一次做单片机方面的东西,很多需要注意的事还得通过学习才能掌握,因此这次使用的原理图与网上找到的煤油什么分别,自己现将我的PCB展现如下,很丑陋的,经验不足元件参考:晶振:12MHZC1:20uF的电解电容,C2,C3:30pF的独石电容LED为IN4007稳压二极管K1为普通开关K2为水银开关LED(1~16)为3MM发光二极管用到的电阻都是10K,排阻由于买元件时没有考虑到,故自己焊接了电阻在对应的引脚元件买回来后开始是想按照网上的做成一个长条形状,因此很轻易的将一块万用板损坏,建议没有必要的工具千万不要乱裁剪万用板,得不偿失。
焊元件是很简单的事,只要按照原理图细心就是,下面是我焊的板子,比较丑陋的,不过毕竟是第一次啊,嘿嘿正面,将P1口的排阻焊在IC插槽内,比较美观背面就很差劲,特别是有线交叉的时候一定要测试好,避免短路我的一点点焊接方面的经验,在清除原理图的情况下,模块与模块之间要分开焊接,比如焊接起振模块时就不要去焊接其他模块,那样就不会漏掉要焊接的细节,比如接地和接电源。
最好是焊好一个模块后用万用表检查一遍,尽量减少错误的产生,当然最后一次检查是有必要的。
焊接时细心细心还是细心。
硬件具备好后就可以设计软件来调试了,通过原理图很清楚的知道,利用到单片机的资源很少,可以说只用到一些基本的IO借口,和一个外部中断,因此这也是我选择摇摇棒做我的第一个设计的原因,从简单的学起嘛。
多功能数码摇摇棒制作
S1l;cllF∞
匝巫卜
tt
图1总体系统框
万方数据
2.显示部设计 首先,我们根据LED点阵屏的显示原理: 点阵屏的显示分为行扫描与列扫描两种,列扫描 是将我们的字模数组通过点阵屏的行驱动进行输 入,然后通过列对每~行进行扫描,当列为低 (高)电平、行为高(低)电平时则表示该点为 图案的一部分。将其读出、显示。它的顺序可以 总结为:行不断的送数据,每送完设置的信息后 列进行读取,然后行再次送数据,列再次读取…… 依次循环下去。一幅完整的图案就显示在了显示 屏上。 而本次设计的LED显示棒数据传输原理与 LED点阵屏相似。可以把LED显示棒看成是 LED点阵屏中的一列。为了使显示的图案清晰, 我们使用了32个LED管将它们排成一列。整个 屏在静止时也就相当于32行X 1列。数据传输 时我们同样使用行送数据、列扫描。在摆动过程 中。应用视觉暂留原理,我们点亮的列不会很快 的消失,而是随着摆动的方向继续向前移动,只 要移动的速度高于视觉暂留的最短时间显示内容 就不会熄灭,至此,一幅图案也就可以这样被“摆 动”出来了。 显示部分设计原理图如图2所示。
万方数据
ITl=0://中断1为边沿触发方式 IP=0x08;//设置中断嵌套
TMOD=0x20;
//定时器1方式2。8位重装载 THl=0x80;//设定定时器初值
TLl=0x80;
EA=1://开放中断 ETl=1:,,开放定时器1中断 TRl=1:II启动定时器O。开始计时 key=0;//初始化显示第一组文字 while(1) {,/等待中断
IIII I I I广———————————————————————————~———————~制一17作1b1天亩期地一篮淄誓
多功能数码摇摇棒制作
小学生摇摇棒实验报告
小学生摇摇棒实验报告1. 实验目的通过制作摇摇棒,了解简单电路的组成和电流的流动方向,在实践中培养动手能力和科学探索的兴趣。
2. 实验材料- 铝纸棒x 2- 硬纸板x 2- 电池x 1- 电线x 2- 电池盒x 1- 铁粉x 1小包- 胶带- 剪刀3. 实验步骤步骤1:制作摇摇棒的外壳1. 将两根铝纸棒用胶带固定在一起,形成一个棒状。
2. 用剪刀将硬纸板剪成与铝纸棒等长的形状。
3. 将硬纸板用胶带缠绕在铝纸棒上,固定好。
步骤2:制作电路1. 将电线的一头剥去绝缘层,露出内部的金属线。
2. 将露出的电线分别与电池的两个极端接触,并用胶带固定住。
3. 将电线的另一头分别与铝纸棒的两头接触,并用胶带固定住。
步骤3:填充铁粉1. 在摇摇棒的两头各剪一个小口,使铝纸露出来。
2. 将铁粉均匀地倒入铝纸露出来的部分,直至填满。
步骤4:进行实验1. 将摇摇棒轻轻摇晃几下。
2. 观察铁粉在摇晃棒的过程中的运动情况。
4. 实验结果与分析在实验过程中,我们发现当摇晃棒时,铁粉会随着摇晃棒的摇摆而移动。
这是因为当电流通过摇晃棒的电路时,会产生一个磁场。
铁粉作为有磁性的物质,会受到磁场的作用而运动。
实验中的电路由电池、电线和铝纸棒组成。
电池提供电流,电线将电流从电池传输到铝纸棒,而铝纸棒将电流传输给填充有铁粉的部分。
电流从电池的一个极端流入铝纸棒,再从另一端流回电池,形成了一个闭合的电路。
5. 实验总结通过这个实验,我们对简单电路的组成和电流的流动方向有了更深入的了解。
我们学到了制作一个摇摇棒的方法,并观察到了铁粉在电路中的运动情况。
这个实验提高了我们的动手能力和科学探索的兴趣。
通过这个实验,我们还学到了电流的流动是有方向的,从电池的正极流向负极。
同时,我们也了解到电流通过电路时会产生磁场,这对日常生活中的许多电器设备的工作原理有着重要的影响。
在今后的学习中,我们将进一步探索电路和电流的有关知识,并进行更多有趣的实验,提高自己的科学素养。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LED摇摇棒的详细制作资料LED摇摇棒很好地利用了人眼的视觉暂留特性。
下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。
演示效果见自制LED摇摇棒展示【图】。
黑暗条件下拍摄的效果图片:实物外形图:基本原理与硬件电路设计:16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。
与LED点阵的显示有几分相仿。
硬件电路如下图(点击可放大)。
系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联即可。
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 <>#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,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x2 0,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0 F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x0 0,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x1 0,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x2 0,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,/*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,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,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,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,/*心形图案*/};uchar code hehe[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x0 0,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x0 0,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x2 0,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x0 0,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x1 0,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,/*呵呵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*****/。