LED摇摇棒制作详情含代码
单片机——摇摇棒制作
摇摇棒·原创· [图片]
2011年05月13日 15:17 阅读(130) 评论(10) 分类:个人日记
主题名:摇摇棒
背景:想信小时候有玩过香火或者烟花的吧,当香火或者烟花在手中晃动的时候,你会看到什么?对,好看的火花画面···
功能:本作品当你拿在手中以较快的速度左右摇摆的时候,由于人眼视觉暂留效应,会在作品经过的幅平面内显示文字,图画,以及发挥你的想象···
你想DIY一个么,你想给你的女友一个惊喜么,你想···?想就快快动手吧···
前一阵子,应同学邀请,合作了一批32个LED的摇摇棒,其实哥们动机不纯
(哈哈··他死不承认··不要告诉他是我说的啊·),为了满足他的心愿,程序+调试,花了一个晚上给他写了,现在将资料整理···发出来···欢迎拍砖···
东西简单,鼓励大家自己动手制作,如果哥们有桃花运,不要忘记给我发喜糖啊··
抓住时间,超越空间,飞往另一个世界···
照片名称:也许,相见不如怀念··
照片名称:也许这就是人间的四月天吧··
照片名称:爱你,疼你,你会知道么?
照片名称:让我们相约同一个地方···
照片名称:实物
照片名称:电路图(可以联系索取·)
/********
程序功能:32*32点阵摇摇棒
程序版本:2011年4月11日2:35:38 V2.5
程序设计者:消失的电波(彭杰)
程序修改者:
/********/
// 此为自定义头文件,具体请参见STC89C52RC/89C54RD+/89C58RD+ 系列芯片
// datasheet中PQFP-44/PLCC-44封装关于P4口的引脚定义以及内部地址声明
16LED摇摇棒设计与制作技术报告
中国矿业大学徐海学院
单片机系统设计与制作技术报告
姓名:李晟学号: 22091582
姓名:蒋迎开学号: 22091580
班级:自动化09-2班
题目: 16LED遥遥棒
任课教师:贾存良
2011 年9月
单片机设计与制作任务书
班级自动化09-2班学号22091582 学生姓名李晟
班级自动化09-2班学号22091580 学生姓名蒋迎开
任务下达日期:2011年09月
设计日期:2011年11月20日至2011年12月20日
设计题目:16LED遥遥棒
设计主要内容和完成功能:
LED摇摇棒很好地利用了人眼的视觉暂留特性。基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。
16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。
教师签字:
摘要
本设计以A T89S52单片机为中央控制器,显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。整套系统由中央控制模块、LED显示模块、供电模块等部分构成。
基于单片机的摇摇棒设计
基于单片机的摇摇棒设计
摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产
生不同的声音和光线效果。本文将介绍一个基于单片机的摇摇棒设计。
设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏
电阻、LED灯和蜂鸣器。
首先,我们选择了一块适用于这个项目的单片机。在本设计中,我们
选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。
其次,我们需要一个声音发生器来产生不同的声音效果。我们选择了
一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空
比来改变声音的高低音。
然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的
模拟输入引脚将信号传递给单片机。单片机根据接收到的信号来改变声音
和光线的效果。
此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的
工作状态。
最后,我们使用编程语言来编写单片机的程序。程序的功能是根据摇
动棒的晃动情况来产生不同的声音和光线效果。例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。
通过以上的设计,我们可以制作一个基于单片机的摇摇棒。用户可以
通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。
综上所述,本文介绍了一个基于单片机的摇摇棒设计。通过选择合适
怎样制作摇摇棒
怎样制作摇摇棒
废话不多说,进入主题。
首先,需要洞洞板一块。我用的是2*8CM的,双面镀锡板。
蓝色雾面高亮3MM子弹头LED 16只(名字说的长了点。。)
处理每个LED的引脚成如图这样
焊接到洞洞板(我是焊接在洞洞板的侧边,节省了空间,也为后来包装方便。)
焊接一排
在这里说明一下,我使用的驱动方式比较特别。。我自己随便捣鼓的,然后试着就成功了,节省了近一半的IO口,只用了9个IO口就可以分别单独驱动16个LED,并且用stc的推挽输出。具体驱动方式和电路图请继续看下文,后面会说明。
LED摇摇棒实际制作图文教程【含汇编程序】
LED摇摇棒实际制作图文教程【含汇编程序】LED摇摇棒实际制作图文教程【含汇编程序】总体介绍:
大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。意思是时间小于1/24秒人就分辨不出了,LED摇摇棒很好地利用了人眼的视觉暂留特性。配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。讲白了就和点阵的显示没什么去别,只是你的手摇晃的过程代替了点阵的片选。下面是总体的设计电路图:
D1是电源指示灯,习惯性做法,是为了更好的了解你电路的物理现象。
下面是摇摇棒的效果图:
硬件模块:
总体电路图有了我就说一下,焊接步骤及需要注意的细节,第一步:焊好16
个LED灯,当然个数随喜好而定,LED颜色也随喜好,但最好不要用白光。(正面) (背面)
第二步:焊单片机最小系统
元件放在里面一是为了保护元器件;二是为了美观、好看。
这里注意一下:我们可以在单片机的TXD和RXD及地那里接出来三根排针,接到单片机开发板上的TXD、RXD和地。是为了烧程序方便,不用每烧一次程序就把它取出来,这样既减少了操作也减少了对单片机的损坏。第三步:接线(正面)
反面
第四步:完成,还有按键和水银开关没接,等会会介绍。
总体以焊好下面介绍切换按键和水银开关的接发和作用。
1、水银开关在这里起的是防止镜像文字,深沉点给单片机一个下降沿的触发。镜像文字通俗点讲是希望当文字向左晃动显示,向右晃动时不让其显示。但如果没有水银开关给个中断的话,文字会一直显示,造成两排文字重叠在一起。使人看不清。当然我们要避免这种情况就接了个水银开关。
摇摇棒代码
#include
#define uchar unsigned char
#define uint unsigned int
sbit key = P3^0;//定义切换画面开关
uchar Key_num;//定义按键次数
uchar Int0_num=0;//定义中断次数
uchar Direction;//定义摇动方向(从左到右)
uchar code Embed[]={
0x40,0x00,0x20,0x00,0xd0,0x3f,0x4c,0x40,0x43,0x40,0x44,0x42,0x48,0x44,0xd8,0x43,
0x30,0x78,0x10,0x00,0x00,0x00,0xfc,0x07,0x00,0x20,0x00,0x40,0xff,0x3f,0x00,0x00,/*"创",0*/
0x20,0x21,0x24,0x11,0x2c,0x4d,0x35,0x81,0xe6,0x7f,0x34,0x05,0x2c,0x59,0x24,0x21,
0x00,0x18,0xfc,0x07,0x24,0x00,0x24,0x00,0xe2,0xff,0x22,0x00,0x22,0x00,0x00,0x00,/*"新",1*/
0x00,0x00,0x10,0x82,0x0c,0x82,0x04,0x42,0x4c,0x42,0xb4,0x23,0x94,0x12,0x05,0x0a,
0xf6,0x07,0x04,0x0a,0x04,0x12,0x04,0xe2,0x14,0x42,0x0c,0x02,0x04,0x02,0x00,0x00,/*"实"*/
基于单片机的神奇摇摇棒
目录
1 绪论 (1)
1.1概述 (1)
1.2摇摇棒的基本原理 (1)
1.3研究现状 (2)
1.4设计目的和意义 (3)
1.5设计要求 (3)
1.6设计思路 (3)
2.神奇摇摇棒硬件设计 (4)
2.1硬件电路设计基本结构 (4)
2.2主控电路设计说明 (6)
2.3 STC89C52单片机简介 (7)
2.3.1 STC89C52芯片 (7)
2.4 LED基本介绍 (9)
2.4.1 LED硬件电路 (9)
2.4.2 LED内部结构及原理 (10)
2.4.3 时钟电路 (11)
2.4.4 复位电路 (12)
2.5开关电路 (13)
3.神奇摇摇棒软件设计 (15)
3.1开发环境 (15)
3.2汉字图形取模软件 (16)
3.3主程序流程图 (17)
4.神奇摇摇棒系统的实现和结果 (20)
4.1硬、软件分别调试及联合调试 (20)
4.1.1 硬件调试 (20)
4.1.2 软件程序调试 (21)
4.1.3联合调试 (22)
4.2 摇摇棒实物效果展示 (22)
结论 (24)
致谢 (26)
参考文献 (27)
附录 (28)
基于单片机的神奇摇摇棒设计
1 绪论
1.1概述
数码摇摇棒是由一组发光二极管排列而成,摇动时能显示各种图案的显示器件。基于人眼视觉暂留原理、运用最新专利电子技术研制而成的线阵LED运动成像的高科技产品。它可以通过在手中左右摇晃棒体,就可在其摇摆出的扇形轨迹面上显示非常稳定的文字或图像,并可以连接电脑编辑下载更新文字或图案。相比于过去的闪光棒、荧光棒,它具有如下特点:
1、显示方式新颖,吸引力强。
摇摇棒程序与电路设计
摇摇棒程序与电路设计
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显示;取模方式:纵向取模、字节倒序
LED POV制作 (旋转LED、摇摇棒、自行车风火轮)
LED POV制作
引言
此系列POV制作花费近2年的心血,从工作到业余只要有时间就搞,其中遇到的问题也是不计其数,不过本着热爱DIY的激情把这些简单好玩的做出来了,需要制作资料的朋友欢迎到QQ群里共享下载:251923493。如果需要套件的请到
一、平面旋转LED制作
平面33灯POV显示采用STC12C5A32S控制利用无线供电方式给旋转主板供电,使得旋转非常安静,驱动高亮33灯0805贴片没问题。红外遥控切换显示,自适应旋转速度。
这里和大家分享一下心得:打样了3次才做成,第一次发现灯的密度高一点好,分辨率也高,第二次发现灯的中心不够靠近又改了一次,第三次改了595的控制方法,使得控制不受影响。断续搞了2个多月,一直在解决旋转的时候如何让表盘稳定,不抖动。多次试验后发现读取DS1302时间的时候不能在定时器里读和调用显示的时候不要在中断里调用,由于红外发光有一定的范围,因此要让发光点尽量小一点。平衡也要注意,因为要旋转的快和稳效果才能好。以前听人说要什么硬盘电机做效果才能好实际说明不一定只要速度达到一定就可以。视频效果地址:
/v_show/id_XNTI2ODM0MDY4.html
二、立体&平面一体板旋转LED制作
此款是立体和平面一体的旋转LED,利用单片机的36个IO直接驱动36个0805高亮LED灯,也是采用无线供电方式,也体现了无线供电很给力,驱动的LED亮度可以很好。利用上位机改立体和平面的字,操作简单方便。视频效果地址:
/v_show/id_XNDg5Nzk1ODg4.html
基于89C52的32只三色LED摇摇棒设计
www�ele169�com | 15
电子电路设计与方案
0 引言
摇摇棒是一种通过左右摇晃棒体就可以在所摇晃的区
域看到文字或图案的电子产品。目前,以16个单色高亮LED 制作的摇摇棒在市面上已经很常见,在社会的高速发展下,这种简单的摇摇棒已经无法满足人们的使用需求。这种摇摇棒由于使用LED 数量过少导致显示清晰度低、显示的图形种类少颜色单一,显示的图文缺乏吸引力。为了改善单色摇摇棒的这些问题并提高其在人们生活中的使用价值,设计中采用32个三色LED 来作为显示部分。摇晃起来就会看到比16个LED 摇摇棒显示出的图文更加清晰,显示图形的种类更加多且更加的复杂。还可以通过颜色选择按键自由
1 系统方案设计
■1.1 硬件设计思路
设计的主要目的在于增强显示的清晰度,增加显示的颜
色种类以提高摇摇棒的吸引力。本设计中摇摇棒是采用32
个三色LED 排成一列作为显示部分,使用时只需左右摇晃摇摇棒且摇晃时只有单方向显示即固定从左向右摇晃时显示或者固定从右向左摇晃时显示,使用者能够自由的选择所要显示的图文以及显示的颜色,最后能在摇晃的区域显示出稳定清晰的画面。
■1.2 硬件电路设计
(1)按键开关模块:设计中通过按键开关按下的次数
基于89C52的32只三色LED 摇摇棒设计
何坤,滕璇璇
(武汉轻工大学电气与电子工程学院,湖北武汉,430023)
摘要:在基于16个单色摇摇棒出现的不足中,为了改善其显示图文简单和显示颜色单调等问题。本文提出了以STC89C52为主控制器,通过74HC573锁存器扩展I/O口,使用32个三色LED作为显示部分,在摇晃时根据外部设备的状态实现在摇晃区最多可显示七种颜色的图文。关键词:七色摇摇棒;74HC573锁存器;STC89C52
如何制作摇摇棒的每一步,很精细哦
- SHOOK16摇摇棒
- 所需元器件
- 电路原理图
- 单片机采用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)
- 导线另一端的接头处挂大量的锡
- 用胶带固定导线使之在摇动时不易乱窜
- 此时在单片机一侧形成了电源的正、负极接口
- 将钮扣电池重叠后放入正、负极接口处
- 最后将单片机连同电池一并塞进塑料壳中
∙- 用透明胶带把开口处包好
∙- 因摇动时的离心力向上所以单片机及电池不会向下滑落无需设计下方固定
自制LED摇摇棒
’
Dl —
M 0
J .
n
m
s
这五个 角度 均从优化信息 检索的过程与用 户的适用性进 行把 握, 在今 天我 们的研 究方 向也仍按此方 向进行 推行 。本 书对信息 检索 的的发展趋 势 的预测 具有 向导作用, 引领了阅读此书 的读者使其 在其 后的研 究工 作中正确 的把握主 流发展趋 势从 而提高其研 究成果 在该领 域 内的价 值 。值得 注意 的是 由于 本书 于20 04年出版, 时隔七 年后, 中所对信 息检索 发展方 向的预 测稍显 褪色, 书 但 其预测 价值得 到证实 。书 中所 提到 相关服 务与技术 发展趋 势 已部 分经实现 并 在应用 过程 中对后续 信息 检索 发展起 到 了助推作 用 。在 研讨 与阅 读本 书时, 要 从实践 的角度来重 新审视这些 发展趋势, 不能一 味的将此作 为现今信息 检索 的发展 方 向进行深入 , 这样才 能提 高 自己研 究方 向的现 实意义 与价 值。综 合
阻。 串在 LD公共端 的二极管 D 会产 生一定 的压降, E 1 用来保 护 L D这样 就省 E, 去 了为每 个 L D串联一个 电阻 的空 间, E 节省 了板子 。经实 测 L D点亮 时两 端 E 电压为 3 右, LD的安全 承受 范围 内。K 是 画面切换 开关, V左 在 E l 用于切换 显 示 不 同 内容 : I为水 银 开关 。 S 水银开关 的作 用 : 在摇动时, 棒 只能在朝某一方 向摇动时显示, 否则会 出现 镜 像字或镜 像画 面, 以通过接 一 只水银开关 来控制, 所 使摇摇 棒从 左向右摇 动 时将 内容 显 示 出 来 。 1 3 电路设 计 . 硬件 电路原理 图如下 图 。系 统电源 VC 5 . C 为 v在此 设计 中用 的 是 9 电池 v 通 过 70 稳压 到 5 。硬件 制作 : 用 的是 直径 5m的红 色高亮 L D 感觉 太 85 V 使 m E, 大了些, 看效果 很好但近 看时字 不够连 贯。水银开关 里 的水 银珠很 活跃, 远 导 致 在接 通 时容易产 生 抖动, 以将 水银 开关斜 向上放 置 ( 尖朝 斜上 方 4 。 所 尖 5 角) 靠 水银 珠 自身重 力 的作用 减少 抖动 。 ,
多功能数码摇摇棒制作
x06,
0x66,0x06,OxE6,0x0F。0xE6,0x2F,0x06,0
x60,
0xFE,0x7F,OxFE,0x3F,0x06,Ox00,0x00,0
x00./”何。.0+/ /★(16 X 16。黑体)。,
Ox00,0x23,Ox00,0x63,0x7F,0x63,0x7F,0
x63.
0x6B,0x67,0x6B.0x2F。0x6B,0x3B,0xEB。
38 2010 VOL.10
万方数据
多功能数码摇摇棒制作
作者: 作者单位: 刊名:
英文刊名: 年,卷(期):
徐玮
电子制作 ELECTRONICS DIY 2010(10)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_dzzz201010009.aspx
图2 LED点阵原理
自适应。图像始终保持在中间。使用这种方 法就可以让数据单程传输,解决了双程均传输时 产生的重影。使得画面更加清晰、明了。
一片为STC的STCllF系列的单片机、另一片 为LED的驱动芯片UN2303.其他的元器件主 要是要注意电阻电容值大小的读取。
1.元器件清单如下
图3滚珠开关实物(左上角的玻璃管)
一、多功能数码摇摇棒原理分析
1.总体设计 整套系统以STCl 1F6单片机为核心控制系 统。使用32只LED灯作为显示屏,它们分为4 组,由Q1~Q4来选通其中的一组。4组LED 共用8个数据位,直接由单片机的通用l,O 13来 控制。在I/O口和LED之间采用UN2803来做 驱动。解决了单片机I/O 13输出电流不够的问题。 总体体统框图如图1所示。
自己做个小摇摇棒
自己做个小摇摇棒Post By:2008/4/10 23:39:32
这几年,利用烂便宜的单片机,人们搞出了不少的发光玩意儿,有转的有摇的,总之都是利用人眼的视觉暂留特性,让一排LED在运动时发出点阵LED的效果,在空中刷出文字或图案来
在没有单片机,和计算机十分昂贵的时代,没有办法最做出这么个小东西,而现在单片机又便宜又小,电脑也是几乎家家都有的东西,再加上无所不在的网络,做出这个东西不是什么难事,硬件好说,买来东西照图施工就是了,关键是软件怎么考虑,就说空中刷字,是一个方向运动还是左右摇动?每次显示几个字?怎么在单片机里面存放这些字并取出?怎样变换显示内容?容在下以后一一道来,
下图是一个英文字母A,可见他是由一些发光点组成,从下到上是单片机的输出口先用p7..p0表示,横向则是在t0..t7应该发光的点子,顺序各个纵向列相应发光就显出A了。
此主题相关图片如下:tmp0001.jpg
上图也就是说,用8个LED,阳极均通过限流电阻接到5V电源,各自阴极接到单片机的某口线,当口线输出0时,LED亮,口线为1时LED灭。给这个输出口输出一个8位二进数来控制8个LED谁亮谁灭,则从t0到t7各个时间段对应口线输出情况如下:
t0 : 0 1 1 1 1 1 1 1 16进数:0x7f
t1: 0 0 0 0 0 0 1 1 0x03
t2: 0 1 1 0 1 1 0 1 0x6d
t3: 1 1 1 0 1 1 1 0 0xee
t4: 0 1 1 0 1 1 0 1 0x6d
t5: 0 0 0 0 0 0 1 1 0x03
摇摇棒程序代码
#include#define unchar unsigned char#define unint unsigned intint i,j;sbit key=P2^7;int k=9;//************延时函数****************void delay(unchar xms){unchar m,n;for(m=0;mfor(n=0;n<220;n++); }//************键盘检测*************void keyscan(){if(key==0){delay(10);if(key==0){k++;while(!key);if(k>10)k=0; }}}//*****************************************unsigned char code table_0[]={0xff,0xff,0xff,0xff,0xe0,0x0f,0xed,0xdf,0xed,0xdf,0xed,0xdf,0xed,0xdf,0x00,0x03,0xed,0xdd,0xed,0xdd,0xed,0xdd,0xed,0xdd,0xe0,0x0d,0xff,0xfd,0xff,0xf1,0xff,0xff,0xff,0x7f,0xff,0x7f,0xbf,0x7f,0xbf,0x7f,0xbf,0x7f,0xbf,0x7d,0xbf,0x7e,0xb8,0x01,0xb7,0x7f,0xaf,0x7f,0x9f,0x7f,0xbf,0x7f,0xff,0x7f,0xfe,0x7f,0xff,0x7f,0xff,0xff,0xf7,0xff,0xf7,0xff,0x00,0x01,0xf7,0xff,0xf7,0xff,0xf7,0x3d,0xec,0xfb,0xef,0xe7,0xef,0x1f,0x00,0xff,0xef,0xfb,0xef,0xfd,0xe0,0x03,0xfe,0xff,0xff,0x3f,0xff,0xff,0xfe,0xff,0xfd,0xff,0xfd,0xbd,0xfb,0xb8,0xf5,0xb5,0xed,0xad,0xdd,0x9d,0x3d,0xb9,0xdd,0xbb,0xed,0xbb,0xf5,0xab,0xfb,0xb0,0xf9,0xb9,0xfc,0xff,0xfd,0xff,0xff,0xff}; //显示"电子协会"的字模unsigned char code table_1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd7,0xfb,0xdb,0xf7,0xdd,0xcd,0xde,0x3d,0xd9,0x3d,0xc7,0xcb,0xfb,0xfb,0xe7,0xf7,0x0f,0xcf,0xe8,0x3f,0xef,0x9f,0xef,0xe7,0xeb,0xf3,0xe7,0xf9,0xef,0xfb,0xff,0xff,0xfd,0xfd,0x7d,0xfb,0x8c,0x07,0xdf,0xfb,0xff,0xfd,0xc0,0x1d,0xdf,0xbd,0xbf,0x7d,0xbf,0xfd,0xc0,0x05,0xdf,0xfd,0xdf,0xbd,0xdf,0xdd,0xc0,0x3d,0xff,0xfd,0xff,0xff,0xfe,0xff,0xfd,0xff,0xf0,0x01,0xcb,0xff,0x3d,0xf7,0xfb,0xcf,0xe6,0x3f,0x0f,0x7b,0xaf,0xfd,0xe8,0x03,0xef,0xff,0xee,0xff,0xeb,0x3f,0xc7,0xc7,0xef,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //显示"欢迎你"的字模unsigned char code table_2[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xfd,0xff,0xfc,0xfd,0xfc,0x63,0xfc,0x03,0xf8,0x07,0xc0,0x07,0x00,0x0f,0xc0,0x07,0xf8,0x07,0xfc,0x03,0xfc,0x63,0xfc,0xfd,0xfd,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xfd,0xff,0xfc,0xfd,0xfd,0x63,0xfd,0x9b,0xfb,0xf7,0xc7,0xf7,0x3f,0xef,0xc7,0xf7,0xfb,0xf7,0xfd,0x9b,0xfd,0x63,0xfc,0xfd,0xfd,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //显示"★"的字模unsigned char code table_3[]={0xff,0xff,0xfd,0xfe,0xbd,0xfd,0xbd,0xfb,0xbd,0xf7,0xbd,0xef,0xbd,0x9f,0x80,0x7f,0xbd,0xbf,0xbd,0xdf,0xbd,0xef,0xbd,0xf7,0xbd,0xf3,0xbd,0xf9,0xfd,0xfb,0xff,0xff,0xff,0xff,0xfd,0xfe,0xbd,0xfd,0xbd,0xfb,0xbd,0xf7,0xbd,0xef,0xbd,0x9f,0x80,0x7f,0xbd,0xbf,0xbd,0xdf,0xbd,0xef,0xbd,0xf7,0xbd,0xf
3、摇摇棒程序解析
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,
/********************************************************
//这是通过取模软件取得的字摸,每一个字相当于有一个个点组成的,
//当距离较远时,利用人体眼睛生理特性能拼成一副完整的画面或是文字
***********************************************************/
0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【LED摇摇棒的详细制作资料【图】
大家知道,人的眼睛存在视觉暂留现象,正因为眼睛的反应迟钝,才丰富了人的视觉感受。
LED摇摇棒很好地利用了人眼的视觉暂留特性。下图是基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。演示效果见自制LED摇摇棒展示【图】。
实物外形图(点击可放大):
基本原理与硬件电路设计:
16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。
硬件电路如下图(点击可放大)。系统电源VCC为5V,下载程序和调试时一定要保证5 V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P 2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻R A1不能少。串在LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。
水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出来。
硬件制作:
使用的是直径5mm的红色高亮LED,感觉太大了些,远看效果很好但近看时字不够连贯。建议使用直径为3mm的高亮LED,颜色可根据个人喜好选择。
水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45°角),靠水银珠自身重力的作用减少抖动:
IC座里面隐藏元件,既美观又能保护元件:
软件设计:
/**********************************************************
程序名称:LED摇摇棒显示64*16像素
简要说明:外部中断方式INT0显示;取模方式:纵向取模、字节倒序
编写:
最后更新:08/11/15晚
**********************************************************/
#include
#define usher 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,