北京赛车预测器手机版:单片机论坛

标题: 创意pov镜面旋转LED屏(含C源码、原理图) [打印本页]

作者: laowen    时间: 2013-6-26 16:16
标题: 创意pov镜面旋转LED屏(含C源码、原理图)
在51hei黑论坛也逛了蛮久了,一直在看别人的作品,今天我也贡献一点内容,大家多多指教啊.
POV,英文Persistance Of Vision的缩写,即视觉暂留的意思。
用POV的原理来做显示屏,优势主要表现在:能以少量LED实现传统方式下海量LED才能实现的显示屏。例如POV的16个LED可以轻松地同时显示16个汉字,而传统LED屏需要4096个LED。 随之而来的是,体积小巧便于安装在适当的场合。字样或图案的显示效果,如漂浮在半空中。

网上有老外做的LED旋转显示屏,在技术上软硬件都不难,只需要花些时间慢慢调就能出来。关键是,给旋转的LED供电,对电子爱好者来说,是个麻烦事。这里,给出一个不需要给LED电路供电的方法。即让LED和单片机电路固定不动,而是旋转一面镜子。原理1.用一个小直流电机将一块镜子旋转起来(镜子背面贴一个小磁铁片);2.在镜子旋转的支架上,固定一个干黄管或霍尔芯片(检测是否有磁铁靠近),霍尔芯片的输出脚连到单片机上,这样单片机就知道电机的旋转速度。3.根据人眼的视觉滞留(大概是0.1~0.2秒),和上述测到的实时的电机旋转速度,在不同的瞬间,点亮LED,最终就形成LED显示的一个屏幕。(小时候的晚上,拿着蚊香在空中划过,就变成了一条红线,同理,一条LED线划过,会变成一个面。)单片机电路 实物




放置单片机电路:

旋转后 显示效果:

由于此旋转结构是木头铁皮做的支架,精度较低,所以显示效果还可以再提高很多,这里只是抛砖引玉。


介绍

下面实物图中有两部分组成,一是旋转LED屏Demo板,二是风扇电机。Demo板固定在旋转轴上,电机转动后,Demo板上的16 个LED灯的旋转轨迹是个圆柱面。运行后,显示文字或图形,效果图如下图的"奥运加油"字样。
   
  实物图        

  
效果图
本设计另一个特点:以10个IO控制点亮16个LED灯(甚至可以做到32个LED),这样使得2051这样小单片机也能实现。
将Demo板绑在自行车的钢丝上(PCB上有6个定位钻孔,很方便),如下图。同时绑上3电池。在下图“小磁铁”处自行车内侧放一个小磁铁,以便Demo板上的霍尔芯片能感应到。车轮旋转起来后,显示的字样如下图右侧。

   




其它效果



原理图: 北京赛车彩票赚钱吗 (52.26 KB, 下载次数: 1285)
代码: 0004_Software.rar (3.55 KB, 下载次数: 929)


作者: laowen    时间: 2013-6-26 16:16
  1. ///////////////////////////////////////////////////
  2. //
  3. //硬件配置: P00~P07=LED1~LED8,
  4. //                    P27~P20=LED9~LED16,
  5. //          INT0=Hall IC
  6. //
  7. //                        Crystal: 11.0592M
  8. ///////////////////////////////////////////////////
  9. #include <reg51.h>
  10. #include <string.h>


  11. //STC系列特殊寄存器
  12. sfr AUXR        =         0x8e ;//bit7~0 : T0x12 T1x12 UART_M0x6 EADCI , ESPI ELVDI - -
  13. sfr        P1M0        =        0x91;
  14. sfr        P1M1        =        0x92;
  15. sfr        P2M0        =        0x95;
  16. sfr        P2M1        =        0x96;
  17. sfr        P3M0        =        0xb1;
  18. sfr        P3M1        =        0xb2;

  19. unsigned int Font[3][16]=//赛先生
  20. {
  21. {0x1010,
  22. 0x6110,
  23. 0x4120,
  24. 0x5541,
  25. 0x550F,
  26. 0x7F42,
  27. 0x5542,
  28. 0xD55C,
  29. 0x5542,
  30. 0x7F42,
  31. 0x55F9,
  32. 0x5541,
  33. 0x4120,
  34. 0x5130,
  35. 0x6020,
  36. 0x0000
  37. },
  38. {0x0000,0x0A08,0x7210,0x2260,0x2380,0x2200,0xFE00,0x2200,  0x23F0,0x2208,0x2208,0x0208,0x0230,0x0000,0x0000,0x0000},
  39. {0x0408,0x1808,0xF108,0x1108,0x1108,0x1108,0xFFF8,0x1108,  0x1108,0x1108,0x1108,0x1008,0x0008,0x0000,0x0000,0x0000}

  40. };


  41. unsigned char MASK_1BIT_ON[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  42. unsigned int ReverseHighByteOrder(unsigned int a)
  43. {
  44.         unsigned char c,i;
  45.         unsigned int b;
  46.         b=(a>>8)&0x00ff;//b=调换之前的high字节

  47.         c=0;//c=调换之后的字节
  48.         for(i=0;i<8;i++)
  49.         {
  50.                 if(MASK_1BIT_ON[i]&b)
  51.                         c=c|MASK_1BIT_ON[7-i];
  52.         }


  53.         b=c;
  54.         b=(b<<8)&0xff00;
  55.         b=b+(a&0x00ff);
  56.         return b;
  57. }
  58. unsigned int ReverseLowByteOrder(unsigned int a)
  59. {
  60.         unsigned char b,c,i;
  61.         b=a&0xff;//b=调换之前的低字节

  62.         c=0;//c=调换之后的低字节
  63.         for(i=0;i<8;i++)
  64.         {
  65.                 if(MASK_1BIT_ON[i]&b)
  66.                         c=c|MASK_1BIT_ON[7-i];
  67.         }

  68.         a=a&0xff00;
  69.         a=a+c;
  70.         return a;
  71. }
  72. void Delay_ms(ms)
  73. {
  74.         int i,j;
  75.         for(i=0;i<ms;i++)
  76.         {
  77.                 for(j=0;j<10;j++)
  78.                 {}
  79.         }
  80. }

  81. char HallIC_Coming;//是否是Hall IC碰到磁场
  82. int Timer0_Cnt;//Timer0中断计数
  83. ///////////////////////////////////////////////////
  84. //
  85. //主函数
  86. //
  87. ///////////////////////////////////////////////////
  88. void main()
  89. {       
  90.         int i;
  91.         for(i=0;i<16;i++)
  92.         {
  93.                 Font[0][i]=        Font[0][i]^0xffff;//反相
  94.         //        Font[0][i]=ReverseLowByteOrder(Font[0][i]);//低字节的bit0~7修改为bit7~0
  95.                 Font[0][i]=ReverseHighByteOrder(Font[0][i]);//高字节的bit0~7修改为bit7~0
  96.         }

  97.         //Test
  98.         P0=0x00;//全部打开LED
  99.         P2=0x00;
  100.         Delay_ms(1000);
  101.         P2=0xff;

  102.            //Timer0的设置
  103.         TR0 = 1;                //timer0启动
  104.         ET0 = 1;                //timer0中断
  105.            TMOD |= 0x01;   //timer0设置为mode1
  106.         TH0=TL0=0;

  107.         EX0 = 1;       
  108.         EA = 1;

  109.         //计算电机旋转速度
  110. /*        Timer0_Cnt=0;
  111.         HallIC_Coming=0;
  112.         for(i=0;i<100;i++)
  113.         {
  114.                 while(HallIC_Coming==0);
  115.                 HallIC_Coming=0;
  116.         }
  117. */        TR0=0;
  118.         ET0=0;
  119.        
  120.        

  121.         ////////////////////////////
  122.         //正式开始
  123.         HallIC_Coming=0;
  124.         while(1)
  125.         {
  126.                
  127.                 if(HallIC_Coming)//等待Hall IC触发的中断
  128.                 {
  129.                         //处理
  130.                         for(i=0;i<16;i++)                       
  131.                         {
  132.                                 P2=Font[0][i]&0xff;
  133.                                 P0=(Font[0][i]>>8)&0xff;
  134.                                 Delay_ms(5);
  135.                         }
  136.                         ////////////////////////////
  137.                         P0=P2=0xff;
  138.                         HallIC_Coming=0;
  139.                 }

  140.         }

  141. }


  142. ////////////////////////////////////////////////////////////////////////////////////////
  143. //
  144. //外部中断0 (INT0,由Hall IC输出脚触发)
  145. //
  146. ////////////////////////////////////////////////////////////////////////////////////////
  147. void ISR_INT0(void) interrupt 0
  148. {
  149.         HallIC_Coming=1;
  150. }

  151. //Timer0中断
  152. void ISR_Timer0(void) interrupt 1
  153. {
  154.         Timer0_Cnt++;
  155. }
复制代码

作者: 左左右右    时间: 2013-7-1 16:52
膜拜啊 能做出这么牛的东西来,51hei(51黑)论坛有你更精彩.
作者: 左左右右    时间: 2013-7-1 16:55
我也来51hei很久了 咋就很难有进步呢 现在还只能搞流水灯之类的简单东西.
作者: Binz1960    时间: 2013-7-4 20:26
谢谢分享
作者: nanguoguangzi    时间: 2013-7-9 05:42
支持,好作品
作者: 新手不新    时间: 2013-7-10 16:43
不怎么好玩
作者: 630540132    时间: 2013-7-12 14:41
太了不起了...什么時候我才可以額這樣子的能力哦...
作者: 锅锅卟帅    时间: 2013-7-16 10:10
厉害啊
作者: 锅锅卟帅    时间: 2013-7-16 10:13
厉害啊
作者: 锅锅卟帅    时间: 2013-7-16 10:14
有创意??!
作者: 朗朗繁星    时间: 2013-7-16 22:11
好哈学习学习
作者: wuhaisheng258    时间: 2013-7-17 11:25
谢谢分享
作者: №奔跑№    时间: 2013-7-18 19:56
菜鸟加初学者表示膜拜
作者: 1156615097    时间: 2013-7-23 22:25
有套件卖吗?我要
作者: liaows    时间: 2013-7-24 09:06
谢谢分享,试做一下。
作者: weiyy216    时间: 2013-7-25 16:26
请问楼主   显示效果受旋转速度影响吗?如装在自行车轮子上的那种。
作者: 鲜の水晶葡萄    时间: 2013-7-30 22:24
不错不错
作者: fxping163    时间: 2013-8-3 14:09
可以,有创意。
作者: CK、东哥    时间: 2013-8-4 22:13
不错,支持下
作者: 啵~~    时间: 2013-8-5 10:17
谢谢楼主啦
作者: 康师傅    时间: 2013-8-7 16:27
学习啦!
作者: pkj    时间: 2013-8-8 16:57
真厉害,向你学习

作者: aimei    时间: 2013-8-9 23:09
这个不错,准备做个来玩玩

作者: f800380564    时间: 2013-8-10 18:50
大神  牛逼啊
作者: SisuoComputer    时间: 2013-8-11 17:26
谢谢分享。。。。。。。。。。。
作者: SisuoComputer    时间: 2013-8-11 17:27
厉害。。。。。。。。。。
作者: 陨落的Einstein    时间: 2013-8-17 20:29
很有创意!楼主,你确定是这份程序?这程序算不出来转速。你是不是在来回调那个Delay_ms(5);?
作者: 陨落的Einstein    时间: 2013-8-17 20:42
顺便问下,楼主有霍尔元件选型网站、资料、手册吗?
作者: 苏樟超    时间: 2013-9-11 14:30
原理图器件名称,电阻值标的不是很明确。
作者: 苏樟超    时间: 2013-9-11 14:31
3Mhz249是什么?LED限流电阻是51欧姆?
作者: 苏樟超    时间: 2013-9-11 14:31
3Mhz249是什么?LED限流电阻是51欧姆?
作者: 爱你一万年    时间: 2013-9-24 19:58
学一下
作者: 模拟    时间: 2013-10-1 16:34
不错,不错,不错,学习学习
作者: 模拟    时间: 2013-10-1 16:34
学习一下
作者: 伤心童话    时间: 2013-10-2 22:09
不错??!刚接触。多多交流。
作者: jinchouxing    时间: 2013-10-3 21:29
努力学习中
作者: ~荆棘鸟~    时间: 2013-10-7 22:55
蛮有创意的
作者: ~荆棘鸟~    时间: 2013-10-7 22:56
看了单片机功能太强大了
作者: HUFUHA    时间: 2013-10-9 01:57
学习一下
作者: lsslss    时间: 2013-10-9 08:58
感谢分享!
作者: wentao    时间: 2013-10-11 09:56
这个东西真不错,我一直想做这个来着,这回终于找到希望了。
作者: wentao    时间: 2013-10-11 09:57

我们学校就有一个,这个东西真不错,我一直想做这个来着,这回终于找到希望了。
作者: wentao    时间: 2013-10-11 10:03
真是好东西

作者: wentao    时间: 2013-10-11 10:04

这个东西真不错,我一直想做这个来着,这回终于找到希望了。
作者: 13620819446    时间: 2013-10-13 23:06
不错过来看看
作者: judb    时间: 2013-10-15 19:17

谢谢分享!
作者: asachild    时间: 2013-10-20 16:33

学一下
作者: fanqingzhen    时间: 2013-10-22 09:08
好。。。。。。。。。。
作者: 肖林翔699    时间: 2013-10-22 10:54
很有创意,支持。
作者: fxping163    时间: 2013-10-25 09:16
需要好好的学呀,书上有路勤为进.
作者: 昆山博尔科    时间: 2013-11-2 14:16
好东西!学习下
作者: coolwahaha    时间: 2013-11-18 20:50
好好学一哈
作者: 向上青年    时间: 2013-11-19 18:23
duoxie  
作者: 何以制胜,轩也    时间: 2013-11-26 14:32
{:soso_e179:}{:soso_e179:}
作者: ║║▎▏    时间: 2013-11-26 22:48
真棒啊,想要大神带带
作者: 高端大气君    时间: 2013-11-28 15:22
真是好东西  求好久了
作者: 高端大气君    时间: 2013-11-28 15:22
lz很棒....支持一下
作者: zc11zc22    时间: 2013-12-11 16:41
支持,好作品.
作者: 謝謝伱の詤訁    时间: 2013-12-11 22:30
厉害呀
作者: 雨蝶的伤    时间: 2014-1-30 22:17
这个玩意到是很好看的
作者: 635280347    时间: 2014-3-9 23:26
牛逼呀。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: 635280347    时间: 2014-3-9 23:27
我现在还在做那个心形流水灯
作者: sqsungod    时间: 2014-3-11 14:30
太厉害了
作者: eee987    时间: 2014-3-13 21:33
估计要做到那样的效果不容易吧

作者: ya123chiang    时间: 2014-3-20 00:24
謝謝分享....................
作者: ya123chiang    时间: 2014-3-20 00:27
謝謝.....................
作者: 563524748    时间: 2014-3-20 16:01
完美漂亮?。?!
作者: keepit    时间: 2014-4-2 09:46
谢谢分享
作者: [email protected]    时间: 2014-4-2 13:34
谢谢楼主分享
作者: disheng    时间: 2014-4-2 22:34
厉害啊,什么时候我也能做个有技术的。
作者: eric.ghost    时间: 2014-4-8 21:04
看不太懂的感觉
作者: cwindow    时间: 2014-4-26 11:46
前来学习学习
作者: flzt    时间: 2014-4-26 19:09
学无止境,高手
作者: flzt    时间: 2014-4-26 20:39
很实用,支持
作者: weifengdq    时间: 2014-4-28 15:41
好东西
作者: weifengdq    时间: 2014-4-28 15:42
积分
作者: 枯叶    时间: 2014-5-18 16:15
感谢楼主
作者: hp17    时间: 2014-5-23 14:08
谢谢分享
作者: yangbiliang    时间: 2014-5-25 19:31
求作品制造材料。。。
作者: xiaoyuxinke    时间: 2014-6-9 19:43
3Mhz249是什么?LED限流电阻是51欧姆
作者: xiaoyuxinke    时间: 2014-6-9 19:45
3Mhz249是什么?LED限流电阻是51欧姆
作者: xiaoyuxinke    时间: 2014-6-9 19:47
3Mhz249是什么?LED限流电阻是51欧姆
作者: thesjyyan    时间: 2014-7-2 18:20
学习了,不过没怎么看明白怎么显示出加油的
作者: 大米瓶子    时间: 2014-7-14 16:40
学习学习
作者: meilidianzhi    时间: 2014-7-15 17:33

作者: zbg1997    时间: 2014-7-16 11:25
支持,耳目一新。
作者: admin    时间: 2014-7-18 03:16
非常不错啊
作者: 雪落有声    时间: 2014-7-18 09:31
好东西,谢谢楼主分享
作者: ybl511368499    时间: 2014-7-20 15:59
学习学习,嘿嘿
作者: 袁洁栋    时间: 2014-7-21 21:39
这个可以有
作者: 微风2233    时间: 2014-7-28 21:49
好东西。多谢分享。
作者: 西红柿cc    时间: 2014-7-29 14:35
赞。。。。。。。。。。。。。。。
作者: 西红柿cc    时间: 2014-7-29 14:38
厉害。。。。。。。。。。。。
作者: 黑桃A    时间: 2014-8-2 01:40
能够用到人眼的视觉停留,太有创意了!
作者: hehely    时间: 2014-8-9 20:57
学习一下
作者: 莫名其妙    时间: 2014-8-21 12:05
谢谢啦
作者: 1004169134    时间: 2014-9-3 13:13
不错哦!
作者: 耿慈熙    时间: 2014-9-9 15:48
好东西
作者: 逝水流云    时间: 2014-9-10 15:22
放在自行车上感觉很高大上




欢迎光临 单片机论坛 (//www.zexem.cn/bbs/) Powered by Discuz! X3.1
  • 人民日报70诞辰,并非像"古稀之年",更像是"朝气蓬勃""喷薄日出"! 2018-12-16
  • 竹编:缝隙里的乡愁文章中国国家地理网 2018-12-16
  • “糖+胖”危害大,医生教你避风险 2018-12-15
  • 图解:关于中国梦,习近平总书记这十句话直抵人心 2018-12-15
  • 让偷话费的“影子服务”无处藏身 2018-12-14
  • 灵璧县:构建诉调对接新模式 2018-12-14
  • 计划不是产生在交换基础上的计划。 2018-12-13
  • 李蓬国:“碰瓷执法”岂止是“行为不当”? 2018-12-12
  • 北京密云云湖度假村举办第26届消防运动会 2018-12-12
  • 【理上网来·喜迎十九大】从严从细抓管党治党,把好“中国号”巨轮的航向 2018-12-11
  • E3 2019展会日期确定 今年E3参加人数约69200人 2018-12-10
  • 荆州全力推进“四路三桥”建设 前5月累计完成投资178亿元 2018-12-10
  • 神州专车爱心助考 30城上线高考“神”助攻专车 2018-12-09
  • 图解丨我国医疗技术和质量双提升人民健康再添保障 2018-12-08
  • 喝了6瓶劲酒和1斤白酒 男子手持钢锯在重庆西站撒泼遭控制 2018-12-08
  • 757| 576| 934| 303| 466| 924| 652| 135| 311| 435|