234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    单片机论坛

     找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    搜索
    查看: 87558|回复: 232
    收起左侧

    创意pov镜面旋转LED屏(含C源码、原理图)

      [复制链接]
    laowen 发表于 2013-6-26 16:16 | 显示全部楼层 |阅读模式
    在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线划过,会变成一个面 。)单片机电路 实物
    050203wk0ee4exrkmr0572.jpg

    050203b010a1qv0ypif0ob.bmp

    放置单片机电路:
    050203i42jmmararrmpr77.bmp
    旋转后 显示效果:
    050204aoahoopr6c4qhaxg.bmp
    由于此旋转结构是木头铁皮做的一支架,精度较低,所以显示效果还可以再提高很多,这里只是抛砖引玉 。


    介绍

    下面实物图中有两部分组成,一是旋转LED屏Demo板,二是风扇电机 。Demo板固定在旋转轴上    ,电机转动后,Demo板上    的一16 个LED灯的一旋转轨迹是个圆柱面 。运行后,显示文字或图形,效果图如下图的一"奥运加油"字样 。
        050205ty144212q4y74713.bmp
      实物图        
    050205c1auuzcaa6rcy7di.bmp
       050206jfa0987r9v387q7v.bmp
    效果图
    本设计另一个特点:以10个IO控制点亮16个LED灯(甚至可以做到32个LED),这样使得2051这样小单片机也能实现 。
    将Demo板绑在自行车的一钢丝上    (PCB上    有6个定位钻孔,很方便),如下图 。同时绑上    3电池 。在下图“小磁铁”处自行车内侧放一个小磁铁,以便Demo板上    的一霍尔芯片能感应到 。车轮旋转起来后,显示的一字样如下图右侧 。
    050206izadd3waog3dogsb.bmp
       
    050206ysqotsf66ifw7pz2.bmp



    其它效果
    050207dsxmccsbtnu9sbrt.jpg


    原理图: 原理图.pdf (52.26 KB, 下载次数: 1422)

    评分

    参与人数 11威望 +9 黑币 +46 收起 理由
    chit100 + 5
    楊yy + 5 很给力 !
    桂电小天使 + 5 绝世好帖!
    彬Lsl + 5 很给力 !
    SHA手 + 5 很给力 !
    czy099128 + 5 很给力 !
    HGH铁柱 + 4 绝世好帖!
    半块电路板 + 5 赞一个!
    environmentx + 7
    高山有崖 + 4
    V刹V + 5 回帖助人的一奖励!

    查看全部评分

    回复

    使用道具 举报

     楼主| 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 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    6#
    无效楼层,该帖已经被删除
    nanguoguangzi 发表于 2013-7-9 05:42 | 显示全部楼层
    支持,好作品
    回复

    使用道具 举报

    新手不 新 发表于 2013-7-10 16:43 | 显示全部楼层
    不 怎么好玩
    回复

    使用道具 举报

    630540132 发表于 2013-7-12 14:41 | 显示全部楼层
    太了不 起了...什么時候我才可以額這樣子的一能力 哦...
    回复

    使用道具 举报

    10#
    无效楼层,该帖已经被删除
    锅锅卟帅 发表于 2013-7-16 10:10 | 显示全部楼层
    厉害啊
    回复

    使用道具 举报

    锅锅卟帅 发表于 2013-7-16 10:13 | 显示全部楼层
    厉害啊
    回复

    使用道具 举报

    锅锅卟帅 发表于 2013-7-16 10:14 | 显示全部楼层
    有创意!!
    回复

    使用道具 举报

    14#
    无效楼层,该帖已经被删除
    朗朗繁星 发表于 2013-7-16 22:11 | 显示全部楼层
    好哈学习学习
    回复

    使用道具 举报

    wuhaisheng258 发表于 2013-7-17 11:25 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    17#
    无效楼层,该帖已经被删除
    №奔跑№ 发表于 2013-7-18 19:56 | 显示全部楼层
    菜鸟加初学者表示膜拜
    回复

    使用道具 举报

    1156615097 发表于 2013-7-23 22:25 | 显示全部楼层
    有套件卖吗?我要
    回复

    使用道具 举报

    liaows 发表于 2013-7-24 09:06 | 显示全部楼层
    谢谢分享,试做一下 。
    回复

    使用道具 举报

    weiyy216 发表于 2013-7-25 16:26 | 显示全部楼层
    请问楼主   显示效果受旋转速度影响吗?如装在自行车轮子上    的一那种 。
    回复

    使用道具 举报

    22#
    无效楼层,该帖已经被删除
    鲜の水晶葡萄 发表于 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 | 显示全部楼层
    学习一下
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 管理员QQ:125739409;技术交流QQ群636986012

    Powered by 单片机教程网

    快速回复 返回顶部 返回列表