摇摇棒的制作流程(附带程序和原件清单)
摇摇棒的制作
大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。
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显示;取模方式:纵向取模、字节倒序
编 写:JiangX.net
最后更新: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,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.01
排阻 4.7K*9P 1 0.3
瓷片电容 104/30 10 0.05
三极管 8550 1 0.1
5V蜂鸣器 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
串口线 1
8550 1
红外编码芯片5104 2
DA转换器 DAC0832 1
单股线 5M
摇摇棒制作
芯片座 AT89s52或stc型 万用板 5mm高亮发光二极管 16 晶振 12M 0.8 1 30p瓷片电容 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转串口下载器,洞洞板
我很喜欢林夕的作品,所以比较集中找了他的。希望你会喜欢。
1.但凡未得到,但凡是过去,总是最登对。《似是故人来》
——所以和你生活的那一个,永远是second best 。
2.无论热恋中失恋中,都永远记住第一戒,别要张开双眼。《相爱很难》 ——爱情就是盲目的。能使爱情长久的方法,便是找片树叶来遮住眼睛。
3.得到,你的爱情,还要再得到你任性。一切,原是注定,因我跟你都任性。《明知故犯》 ——难怪李宗盛要说爱情是精神鸦片 。
4.悲哀是真的,泪是假的,本来没因果,一百年后没有你也没有我。《百年孤寂》 ——既是如此,何必执着,
5.感情寻找它的模特儿,衣服挂在橱窗,有太多人适合,没有独一无二。《香奈儿》 ——这年头,哪有不二臣,(亦舒语)所以,没什么放不下的。
6.有生之年狭路相逢终不能幸免,手心忽然长出纠缠的曲线,懂事之前情动以后长不过一天,留不住算不出流年。《流年》
——爱情有时徒有虚名,不过是一场宿命。
7.不要我的我不要,不爱我的我不爱,把灯关上连背影都不会存在。《不爱我的我不爱》 ——唱的容易做的难,谁又真能如此洒脱,
8.我们拥有的,多不过付出的一切。
——爱情游戏中,永远只有十分之一的甜,剩下的十分之九,有苦,有涩,有酸,就是没有甜。
9.可能在我左右,你才追求,孤独的自由。《红豆》
——拥有的时候永远不懂珍惜,人类通病。
10.拿下了你这感情包袱或者反而相信爱。《邮差》
——拿开旧的奶酪,才能得到新的。所以,谁动了我的奶酪,并不要紧。
11.你喜欢不如我喜欢,你的不满成全我的美满。《你喜欢不如我喜欢》 ——这样爱,会容易得多。
12.就像蝴蝶飞不过沧海,没有谁忍心责怪。《蝴蝶》
——只要蝴蝶曾在沧海上飞过,就已足够,结果,永远没有过程重要。
13.不要迷信情变等于灯灭,不要含泪直到与他肯定再不相见,爱恨无须壮烈,不随便狂热。《情戒》
——感情,只是人生中的一小部分,不要为它死去活来,让人看低。
14.害怕悲剧重演,我的命中越美丽的东西我越不可碰。《暗涌》
——爱情虽然美丽,却是易碎玻璃。
15 不要虔诚直到懂得怎样去爱魔鬼,纪念留给下世,不对别人发誓 。《情戒》
——要学会自己保护自己,也不要轻易对一段感情做出承诺,否则害人害己。
16.每个人都是单行道上的跳蚤,每个人皈依自己的宗教,每个人都在单行道上寻找,没有人相信其实不用找。《单行道》27.爱是一段一段一丝一丝的是非,叫有情人再不能够说再会。《天下有情人》
——这就是为什么不要随便发誓的原因,越脆弱的东西,变数就越多。
28.若是要细水可以变长流,就像等他长出铁锈无法再分手。《固定伴侣》 ——那又何苦,
29.别离原为战胜与光阴的竞赛,每把声音定会嘱咐要早出早回来,只是回头便知时代早不存在, 临别的激动和悲哀却可印证着爱。《早去早回》
——当你不能再拥有的时候,你唯一能做的,就是不要忘记。
30.彼此相爱也许更爱自己。《寂寞便找我》
——任何人最爱的都只是自己,所以永远不要对别人说:我最爱的人是你或最爱你的人是我。
31.传说有一男一女同偕到白发之后才怀念刻骨铭心的旧友,回头陪着那合照,一块将余生渡过。《一千零一个》
——早知今日,何必当初,
32.游荡只不过为逃避,期待只不过为回味,即使给我盛放的蔷薇,贪恋的只怕是那愉快的气味。《一枝花》
——难怪最美的爱情到最后也只是一堆泡沫。
33.谁亦记得不能容他宠坏,不要对他倚赖,感情随他出卖,若你喜欢犹大。《情戒》 ——人生要有原则和底线,不能为了他牺牲你的一切,子君离开涓生并不一定就要自杀,她还可以过好她的下半生,只要她不再对别人倚赖。
34.谁貌似花美艳,是谁努力照亮半边天,但是情无独钟,贪心的你偏爱哪一边,《情无独钟》
——大部分的男人都喜欢天使的面孔,婴儿的大脑,所以女人永远不可能事业和爱情兼顾。
35.感情不必拿来慷慨。《因为爱,所以爱》
——不伤害爱你而你不爱的人的最好
办法
鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载
,就是告诉他你不爱他,感情是给你想爱的人的,不像金钱,只要够慷慨,便能救助他人。
36.你是我的红药水,他只是杯黑咖啡。你会问我累不累,他却让我不能睡。 《女朋友的男朋友》
——所以,千万不要抢女朋友的男朋友。
37.不爱就不爱,难捱就不捱。《如果你是李白》
——分手要干脆。
38.为这为那,谈情为了享受,为你为我,为何为他忍受,《情戒》
——缘分可遇不可求。
17.有一梦便造多一梦,直到死别都不觉任何阵痛,趁冲动能换到感动,这愉快黑洞苏醒以后谁亦会扑空。 《梦死醉生》
——人生得意需尽欢,莫使金樽空对月。感情是一个道理,愉快那么快,何必等到互相伤害,
18.你这样恨我好不好过,温馨被单都变成负荷,当牧童害了绵羊难道觉得庆贺。《你这样恨我》
——本是相爱的人到最后却只能互相伤害,这是爱情最可悲的地方。
19.你欣赏我因我本性不会改,别太认真认真怎可放开自在。《寂寞有害》 ——爱一个人不见得是要在他的名前冠上“我的”二字,换言之,爱不是占有,所以给他多一点空间,不要老想他按着自己的意愿改变 。
20.相亲相爱倒不如想入非非真真假假也无所谓。《想入非非》
——有时候,性比爱重要。但要小心像《蓝宇》那样由性进入爱,那可就违背你游戏人间的初衷了。
21.没有拥抱你只怕这个游戏代价不菲,没有爱上谁也该知道爱一个人好累。《想入非非》 ——所以准备爱的时候,一定要看看自己有没有这个能力。
22.从前和以后一夜间拥有,难道这不算相恋到白头 ,但愿会相信缠绵时分手,能令我减轻了内疚。《红颜白发》
——在爱到极至时分手,是最明智的选择。天长地久,只能让感情生锈。
23.夜晚会面白天道别,才没有弱点。《侧面》
——真正爱一个人,千万别只看他侧面。更不能不看他的缺点,否则这将成为感情最大的弱点。
24.你爱我爱不起,我怪你怪不起。《你爱我爱不起》
——感情有时候也要讲究门当户对,这是知心灵和心志上的门当户对,要知道,陈家洛是配不起霍青桐的。
25.我不完美,但你未见得很爱美。我想完美,难怪被你太早放弃。《你爱我爱不起》 ——追求完美,有时反而会让爱情更快破碎。
26.爱是一朵从天飘下来的雪花还没结果已经枯萎 ,爱是一滴擦不干烧不完的眼泪还没凝固已经成灰。《天下有情人》
——不是每一段情都一定会有结果。
——如果你对他的感觉有了忍受,那这段情便可以断了。
39.原来过得很快乐,原来我并不快乐,只我一人未发觉。《再见二丁目》 ——难道非要两个人才能发觉,
40.不信眼泪,能令失乐的你爱下去。难收的覆水,将感情慢慢荡开去。如果你太累,及时地道别没有罪。牵手来,空手去就去。《玻璃之情》
——如果你真爱他,他想走的时候,就让他走,即使,可悲„„
41.如果我换过别的衣裳,你对我会不会一样;如果你换过别的脸庞,我对你有没有新的欲望;如果我换过别的衣裳,你对我就不会遗忘;如果你躺在她的身旁,你对我会不会说个谎,— 《懒洋洋》歌手:齐豫 专辑:骆驼.飞鸟.鱼
——爱过经年,懒洋洋,还有没有机会,重燃激情的希望。
42.十年之后,我们是朋友,还可以问候;只是那种温柔,再也找不到拥抱的理由。—《十年》歌手:陈奕迅 专辑:黑.白.灰
——情人变成朋友的滋味,不试试,别人说也不对味。
43.如是我闻,仰慕比暗恋还苦„„难道爱比恨更难宽恕。—《宽恕》电视剧《天龙八部》 ——爱的箴言,比偈还难解。
44.多年后想起今天值得不值得—《打错了》王菲2001同名专辑
——这话简单的要死,可惜多年以前的时候都不肯相信。
45.你很爱我,你只爱我,听得不好意思寂寞。—《感情生活》歌手:王菲 专辑:唱游 ——因为爱了而不再寂寞,还是爱过才会懂得何谓寂寞。
46.最后一首:彼岸花
看见的 熄灭了 消失的 记住了 我站在海角天涯 听见土壤萌芽 等待昙花再开 把芬芳留给年华 彼岸没有灯塔 我依然 张望着 天黑 刷白了头发 紧握着 我火把 他来 我对自己说 我不害怕 我很爱他