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

合集下载

毕业设计 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)第一章绪论摇摇棒是当今比较流行的一种时尚娱乐电子产品,通过在手中左右摇晃棒体,就可在其摇摆出的扇形轨迹面上显示出文字或图像,摇摇棒具有质量轻,无污染,高强抗冲击等优点。

基于单片机的摇摇棒设计1

基于单片机的摇摇棒设计1

郑州科技学院单片机课程设计题目基于单片机的摇摇棒设计学生姓名张焦焦专业班级电气工程及其自动化3班学号201147078院(系)电气工程学院指导教师程晓琦完成时间2014年12月12日目录1 前言 (1)2 设计方案与论证 (2)2.1 方案设计 (2)2.2 主要部件原理 (3)3 系统硬件设计 (4)3.1 基本原理设计 (4)3.2 系统硬件设计 (6)4 系统软件设计 (9)4.1 软件设计思路 (9)4.2 主程序流程图 (9)5 系统调试与分析 (11)5.1 常见故障与调试方法 (11)5.2 调试过程 (13)6 总结 (16)参考文献 (17)附录1:总体电路原理图 (18)附录2:实物图 (19)附录3:元器件清单 (20)1 前言摇摇棒是一种利用视觉暂留效应制作的“高科技”玩具。

可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。

它是由单片机控制一排LED灯有规律地亮暗,再通过摇动使之在空中呈现一幅段时间的画面。

它的设计需要解决几个问题。

因为通过摇动产生的图像是有方向的,所以,要使图像正确不重叠,就要将摇摇棒设计成单方向才显示图像。

如果摇动一下的速度比显示一幅图像的速度慢,可能会出现:第二幅图的前面部分在第一下摇动的末尾,后面部分在第二下摇动的开始。

这就要使摇摇棒在一次摇动中只显示一次图像。

如果要设计一个16X20分辨率的摇摇棒,LED数为16只,LED每5ms—10ms变换一次,共变换20次组成一幅图像。

测试间隔8ms效果较好。

其中亮灯3ms,暗灯5ms。

这样能使亮点不呈一条横线,黑暗宽度与LED间隔相近。

单片机系统可采用AT89S52单片机。

选择P0和P2口输出,连接16只LED灯。

P3.2为外部中断INT0,低电平触发方式,接一个轻触开关,功能为切换图像。

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

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

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

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座。

单片机创意摇摇棒制作word资料5页

单片机创意摇摇棒制作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、常自认为是福薄的人,任何不好的事情发生都合情合理,有这样平常心态,将会战胜很多困难。

怎样制作摇摇棒

怎样制作摇摇棒

怎样制作摇摇棒
 废话不多说,进入主题。

 首先,需要洞洞板一块。

我用的是2*8CM的,双面镀锡板。

 蓝色雾面高亮3MM子弹头LED 16只(名字说的长了点。


 处理每个LED的引脚成如图这样
 焊接到洞洞板(我是焊接在洞洞板的侧边,节省了空间,也为后来包装方便。


 焊接一排
 在这里说明一下,我使用的驱动方式比较特别。

我自己随便捣鼓的,然后试着就成功了,节省了近一半的IO口,只用了9个IO口就可以分别单独驱动16个LED,并且用stc的推挽输出。

具体驱动方式和电路图请继续看下文,后面会说明。

摇摇棒制作教程

摇摇棒制作教程

摇摇棒制作教程
 本摇摇棒设计所用的软件是proteus8.3 很多原件都没有都是自己画出来的所以做出来的板子不是太理想主要就是焊盘量身定做没有画的稍大点导致焊接很不爽别的貌似没啥了如果你们感觉我哪里做的不好欢迎批评(o゚v゚)ノ
 这些都是电脑上设计的图。

无奈proteus 只能输出cam文件去给人家打板。


 反正最后是吧板子做出来了一共十一张板子每张板子2套体积大约是2*10*1cm
 很小吧~( ̄▽ ̄~)(~ ̄▽ ̄)~
 下面就是制作过程咯~~ 一张大板子。

还得自己切开
 一个摇摇棒分为两个板子一个是摇摇棒本身的主要电路另一个是电池以及充电电路开关神马的。

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 ;结束。

菜鸟也能制作摇摇棒

菜鸟也能制作摇摇棒

它们在电路中的符号分别为
4.晶振 在一个单片机系统中,晶振是必不可少的。晶振全称为晶体振荡器, 其作用在于产生原始的时钟频率, 这个频率经过频率发生器的放大或 缩小后就成了电脑中各种不同的总线频率。 我们最常用的是无源晶振,就是没有极性,不分 正负极的晶振。 5.按键 这个不用多说了吧,我们生活中随处可见, 遥控器、手机都有。 右图为按键符号
【二】 电烙铁的使 用 制作嘛, 就免不了要用到电烙铁。 生活ห้องสมุดไป่ตู้常用的 电烙铁功率多数为 20W 到 50W 不等。 1.首先是电烙铁的认识 电烙铁,是电子制作和电器维修必 工具,主要用途是焊机元件及导线。 电烙铁主要由电线、手柄、热芯、 烙铁头组打光亮,通电烧热,蘸上松 香后用烙铁头刃面接触焊锡丝,使烙铁头上均匀地镀上一层锡。这样 做,可以便于焊接和防止烙铁头表面氧化。旧的烙铁头如严重氧化而 发黑,可用钢挫挫去表层氧化物,使其露出金属光泽后,重新镀锡,
才能使用。 电烙铁插头最好使用三极插头。要使外壳妥善接地。 使用前, 应认真检查电源插头、 电源线有无损坏。 并检查烙铁头是否松动。 电 烙铁使用中,不能用力敲击。要防止跌落。烙铁头上焊锡过多时,可 用布擦掉。不可乱甩,以防烫伤他人。 焊接过程中,烙铁不能到处 乱放。不焊时,应放在烙铁架上。注意电源线不可搭在烙铁头上,以 防烫坏绝缘层而发生事故。使用结束后,应及时切断电源,拔下电源 插头。冷却后,再将电烙铁收回工具箱。 焊接时,还需要焊锡和助焊剂。 焊接电子元件,一般采用有松 香芯的焊锡丝。这种焊锡丝,熔点较低,而且内含松香助焊剂,使用 极为方便。 常用的助焊剂是松香或松香水(将松香溶于酒精中) 。使 用助焊剂,可以帮助清除金属表面的氧化物,利于焊接,又可保护烙 铁头。 焊接较大元件或导线时, 也可采用焊锡膏。 但它有一定腐蚀性, 焊接后应及时清除残留物。 为了方便焊接操作常采用尖嘴钳、 偏口钳、 镊子和小刀等做为辅助工具。应学会正确使用这些工具。 右手持电烙铁。左手用尖嘴钳或镊子夹持元件或导线。焊接前, 电烙铁要充分预热。烙铁头刃面上要吃锡,即带上一定量焊锡。将烙 铁头刃面紧贴在焊点处。电烙铁与水平面大约成 60℃角。以便于熔 化的锡从烙铁头上流到焊点上。烙铁头在焊点处停留的时间控制在 2~3 秒钟。抬开烙铁头。左手仍持元件不动。待焊点处的锡冷却凝 固后,才可松开左手。用镊子转动引线,确认不松动,然后可用偏口 钳剪去多余的引线。 3.然后是电烙铁的保养 电烙铁使用可调式的衡温烙铁较好;平时不用烙铁的时候,要让 烙铁嘴上保持有一定量的锡, 不可把烙铁嘴在海棉上清洁后存放于烙 铁架上;海棉需保持有一定量水份,至使海棉一整天湿润;拿起烙铁 开始使用时,需清洁烙铁嘴,但在使用过程中无需将烙铁嘴拿到海棉 上清洁,只需将烙铁嘴上的锡搁入集锡硬纸盒内,这样保持烙铁嘴之 温度不会急速下降,若 IC 上尚有锡提取困难,再加一些锡上去(因 锡丝中含有助焊剂) ,就可以轻松地提取多的锡下来了;烙铁温度在 340~380 度之间为正常情况,若部分敏感元件只可接受 240~280 度的 焊接温度;烙铁头发赫,不可用刀片之类的金属器件处理,而是要用 松香或锡丝来解决;每天用完后,先清洁,再加足锡,然后马上切断 电源。

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不亮,请检查是否有断线。

摇摇棒项目报告

摇摇棒项目报告

生产实习报告实习课题:摇摇棒的制作与调试学院专业:信息科学与工程学院电子信息工程专业小组成员:指导教师:陈老师实习时间:2014、9、01-2014一:绪论1、前言人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。

摇摇棒就是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。

本次设计要求制作完成一个LED灯显示的摇摇棒,16个LED灯一字纵向排列,通过摇动时形成的亮灯扇形区域来显示预先设定的汉字或图案,且可以用按键对所显示内容进行切换。

学习了protel软件的用法,初步了解以单片机为核心的电子系统体系,对将要学习的单片机技术有了初步的认识。

2.实习目的1.非常重要的实践教学环节2.培养理论知识与生产实际相结合的能力3.了解单片技术4.锻炼实际动手能力,掌握电子线路焊接、装配的基本技能5.了解并掌握本专业软硬件设计的一些基本问题3.实习时间、进程安排、地点9月12日:介绍实习的具体情况和各个项目的要求,选定所做项目:摇摇棒。

进行需求分析、自由分组。

选定项目及分组后,进行资料收集、查找及学习。

9月14日:根据所选项目,选择器件类型(我们选择的是AT89s52芯片),初步了解原理图的分析与设计,提交需求报告。

9月15日:确定最终的原理图设计方案,并确定多需元器件的具体类型和数量,同时初步了解相应的设计程序。

参考硬件电路绘制原理图及PCB绘制,进行了proteus 仿真,进一步了解软件设计程序。

9月16日:参照原理图及开发板进行焊接,尚未对焊接好的PCB版进行程序的写入和调试,芯片中的程序演示正常。

利用ISP下载端口进行程序的写入,总结实习报告。

实习地点:湖南电子集信息实训基地二:实习内容1、系统原理框图2、视觉暂留原理人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。

摇摇棒课程设计02

摇摇棒课程设计02

第1章绪论1.1单片机定义单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

STC89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

自动化、数字化和智能化是现代科技发展的潮流,而凡是需要自动化、数字化和智能化的产品和设备等都离不开单片机。

1.2单片机介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

随着现代电子技术的发展,人们正处在一个信息时代。

每天都要通过电视,广播,通信,互联网等多种媒体获取大量的信息。

而现代信息的储存,处理和传输越来越趋于数字化。

在人们的日常生活中,常用的那个计算机,电视机,音响系统,视频记录设备,长途电信等电子设备或电子系统,无一不采用数字电路或数字系统。

因此,数字电子技术的应用越来越广泛。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

基于单片机的摇摇棒设计 (2)

基于单片机的摇摇棒设计 (2)

单片机课程设计题目基于单片机的摇摇棒设计目录1课程设计的目的 (1)2 课程设计的任务与要求 (2)2.1 设计目的 (2)2.2 设计要求 (2)3 设计思路与方案论证 (2)3.1 设计思路 (2)3.2 设计方案 (4)3.3 论证 (4)4 功能说明 (4)5 电路仿真及单元电路功能 (5)5.1 电路仿真 (5)5.2 单元电路功能 (5)6 焊接与调试 (6)6.1 焊接 (6)6.2 硬件调试方法 (7)7结论 (7)参考文献 (9)附录1:总体电路原理图 (10)附录2:源程序 (11)附录3:电路实物图 (12)1课程设计的目的单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:最小应用系统是指能维持单片机运行的最简单配置的系统。

这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。

片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机。

片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用。

最小功耗应用系统是指为了保证正常运行,系统的功耗最小。

本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。

掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。

输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用16个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。

摇摇棒课程设计(基于AT89C51单片机)

摇摇棒课程设计(基于AT89C51单片机)

目录摘要 (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)魔幻摇摇棒摘要:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。

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

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

关键字:单片机;摇摇棒;发光二极管;摇动一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。

可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。

本设计要求制作完成一个LED的显示棒。

要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“电”、“A”、五环之类的汉字或图案且可以使用按键对显示内容进行切换。

二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。

本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。

摇摇棒

摇摇棒
流水灯及其拓展——摇 摇棒的设计制作
二进制十六进制转换
• 0xa2= 10100010 • 0xdc= 11011100 • 0xe7= 11100111
《001》C语言点亮LED灯
• • • • • • #include<reg52.h> void main() { P0=0xaa; P1=0xaa; }
• void main() • { • unsigned char i; • { • for(i=0;i<16;i++) //共16组扫描码 • { • P1=~LS[2*i]; // P1口取扫描码 • P0=~LS[2*i+1]; // P0口取扫描码 • Delay(1); //延时 • } • } • }
• • • • • • •
//** 延时函数 ** void Delay(unsigned int msec) { unsigned int x,y; for(x=0; x<=msec;x++) for(y=0;y<=110;y++• • • • •
//** 主程序 ** main(void) { unsigned char i; { for(i=0;i<16;i++) //共16组扫描码 { P0=~LS[2*i]; // P0口取扫描码 P1=~LS[2*i+1]; // P1口取扫描码 Delay(10); //延时 } } }
从流水灯到摇摇棒
大家知道,人的眼睛存在视 觉暂留现象,正因为眼睛的反应 迟钝,才丰富了人的视觉感受。 LED摇摇棒的制作就是很好地利 用了人眼的视觉暂留特性。
《004》手拉手图形显示
//取模方式全都为:纵向取模,字节倒序

多功能数码摇摇棒制作

多功能数码摇摇棒制作
臣互卜
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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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导线(最好为排线)排针51单片机,led20个,电阻,电容,水银开关,晶振,按键,排针,40pin的单片机座,排线,USB转串口下载器,洞洞板。

相关文档
最新文档