久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15634|回復: 8
打印 上一主題 下一主題
收起左側

51單片機旋轉led(POV-LED)顯示系統設計報告與代碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:244508 發表于 2017-10-31 12:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

摘要

隨著社會的發展,科技也得到進步。相對的,人們對人文的需要也越來越重視。我們從科技服務于人文的角度出發,設計出本POV-LED顯示系統。該系統使用STC89C52RC作為主要控制單元,采用的是POV -LED(POV即persistence of vision視覺停留)技術,借助人眼的視覺暫留效果,通過旋轉LED燈的方式來顯示各種圖像。原理是通過電動機帶動上層的LED燈繞電機為中心軸高速旋轉,同時單片機采集傳感器反饋的信息,控制各個LED燈在旋轉平面對應的位置上點亮,構成一幅點陣畫,由于人的視覺暫留效果,會認為LED是同時點亮的,從而顯示圖像。


一、系統設計方案
1.1、總體方案
本設計采用雙電源供電的方式,一部分供給下層的點擊,另一部分供給上層的單片機。旋轉線陣LED顯示屏在高速旋轉時,使用通過軟件延時使之在相應的時刻亮滅,人的視覺暫留現象,從而形成完整連續的圖像。因此對于顯示方面可以采用單片機依據其晶振頻率控制延時來實現。采用霍爾傳感器采集數據并檢測標志桿,標志桿作為現實的起點,從而得到穩定的顯示畫面。由獨立按鍵開關的切換程序功能,從而顯示不同的畫面。
系統框圖如下:
1.2系統組成
電源部分: 供電部分主要由兩排4節5號電池通過電池盒固定連接組成,能在較長時間內穩定輸出5v的直流電壓供電機及單片機使用。
單片機部分:單片機部分采用STC89C52RC系列單片機芯片,該系列芯片造價低廉,工作穩定。
旋轉顯示部分:旋轉顯示部分主要由16顆貼片式led發光二極管組成。
傳感器部分:傳感器部分采用霍爾傳感器。
  • 系統設計
2.1主控板的選擇
方案一:
方案二:
采用ARM為系統的控制核心,優點是功能強大,集成度度高,提高了運行穩定性,系統的處理速度高,適合作為大規模的系統的控制核心。

采用51單片機作為系統的控制核心。用其控LED,足以實現預期的性能指標,操控。51單片機運算功能強,軟件編程靈活、自由度大,功耗低、體積小、技術成熟,價格低廉。
由于考慮到不宜太高,那么對系統處理信息的速度要求也就不會太高。綜合成本考慮,我們選擇采用方案二。
2.2 供電方式選擇
LED旋轉采用電機旋轉的方式,以下是兩種電機方案的對比:
方案一:
方案二:
采用單電源供電,通過單電源同時給主控板和減速直流電機進行供電,該方案的優點是,減少機身的重量,操作簡便。其缺點是,使得單片機的波動較大,影響單片機的工作性能,穩定性比較弱。
采用雙電源供電,通過兩個獨立電源分別對單片機和減速直流電機進行供電,此方案的優點是,減少信號波動,穩定性比較好,小車運行較穩定。

通過對以上方案盡心比較以上兩種方案,為了得到更穩定的效果,我們選取方案二。

2.3 驅動電機選擇
方案一:
方案二:
采用減速直流電機,優點是電路簡單。轉速穩定,調速簡便,且價格低廉。對于智能車的運行,能夠很好的控制。
采用步進電機,步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元步進電機件。可以按照人們的預定的速度調速,但是電機的控制較為復雜。

表1.1 電機性能對比

功能
步進電機
減速直流電機
調速性能
較差
較好
控制難易程度
較難
簡單
價格
中等
較低


綜合考慮,采用減速直流電機作為LED旋轉電機。
2.4傳電方案的選擇
該裝置的難點之一在于供電底座與需要用電的旋轉發光部分的電氣連接,裝置要求能給旋轉發光部分提供穩定的直流電壓的同時阻力較小不影響電機帶動其轉動。
1電刷連接
優點:成本相對較低,能提供穩定電壓,同時電刷工作時旋轉有一定的美觀性,阻力較大。
缺點:會有輕微的噪聲,穩定性較差,易損毀,接觸電阻較大,電壓損耗較大,制作工藝要求高。
2劃環
優點:能提供穩定電壓,接觸電阻極其小,電壓損耗較小,占用體積較小,阻力較小。
缺點:元件價格高。
3無線供電
優點:能提供穩定電壓,阻力較小。
缺點:電路元件數量較多,占用體積較大
綜合考慮我們采用無線供電方式。
2.5旋轉顯示部分的選擇
貼片式Led發光二極管
優點:體積較小,重量較輕。
缺點:亮度稍暗,不適用于室外強光環境。
直插式led發光二極管
優點:亮度較高,顯示效果好。
缺點:占用體積較大,重量較大。
綜合考慮我們采用貼片式Led發光二極管。

3、電路與程序設計

3.1無線供電

單片機系統和LED燈都分布在電機上,被電機帶東旋轉,如果直接用電線必然會被絞在一起然后斷掉,有團隊考慮了兩種方案:1.電刷供電;2.無線供電。在嘗試第一種電刷時,由于電機轉動會產生微微振動,使得電刷不夠穩定導致單片機芯片一直處于重置狀態。所以采用了無線供電,電路圖如下:

原直流電電源供電經過高頻振蕩電路產生振蕩電流傳到傳送模塊—感應線圈。用感應線圈把電能傳到電機上的電路,傳上了的電是交流電,經過整流橋和電容整流濾波后,產生一個穩定的直流電壓給單片機供電。

3.2起始位置校準

  電機轉速的穩定性直接決定了顯示是否有重影和浮影。然而,要其完全不變是不可能的。在這種情況下,誤差會積累而形成浮影。

  所以,對起始位置的不斷矯正是理由非步進電機制作旋轉LED顯示屏必不可少的技術。通過霍爾傳感器檢測置于固定位置的小磁鐵來不斷定位起始位置消除積累誤差。本裝置中當霍爾原件到固定小磁鐵位置,就會反向導通產生低電平而觸發外部中斷。指針板每旋轉一周,就會產生這樣一個中斷信號,這個信號被稱為“過零信號”。

外部中斷的任務是將旋轉角度清零,以此消除積累誤差。

3.3功能切換

通過當按住按鍵時,讓STC89C51芯片IO口檢測到低電位,然后通過程序設計來實現功能切換;

3.4最小系統與LED線陣

一個條狀電路板上集成了16個貼片型發光LED—線陣LED。集成有LED的電路板繞其一端隨電動機轉動。由STC89C51芯片IO口控制,當轉動到合適的角度時,對應的IO口輸出高電平點亮合適的LED就可以顯示需要顯示的內容。

4 軟件設計

4.1 軟件平臺

簡介:Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。[3]工作界面如圖4.4.1。


另一款用到的軟件是PCtoL2002,可以有效減少程序開發周期。工作界面如圖4.4.2



4.2程序流程設計

該POV-LED通過實時檢測各個模塊傳感器的輸出電平,利用紅外對管檢測黑線實現尋跡,通過火焰傳感器實現報警和滅火,從而實現比賽的基本要求。其程序流程圖如圖4.4所示。

5 結束語

項目設計以STC89C52RC單片機為核心,采用了霍爾傳感器,工作靈敏。該機器人可以實現了如下能:
  • 實時檢測按鍵切換功能
  • 穩定顯示圖像。

6附錄


單片機源程序如下:
  1. #include <reg52.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. //Led P1,P2
  6. sbit key=P3^3;//霍爾開關
  7. sbit key_1=P3^4;//功能開關
  8. voidtongxinyuan();
  9. voidhanzi();
  10. int  s;
  11.   s=0;
  12. uchar code table[]={
  13. 0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x20,0x80,0x10,0x80,0x10,0x80,0x08,0x80,0x08,
  14. 0x80,0x0C,0x80,0x04,0x90,0x06,0x90,0x02,0x88,0x03,0xC8,0x01,0xD8,0xF9,0xF8,0xFF,
  15. 0xF4,0x7F,0x54,0x02,0x46,0x02,0x46,0x02,0x42,0x02,0x40,0x04,0x00,0x04,0x00,0x04,
  16. 0x00,0x04,0x40,0x04,0x40,0x04,0xC8,0x02,0x90,0x02,0x90,0x02,0x10,0x02,0x00,0x02,
  17. 0x01,0x02,0x03,0x02,0xFF,0xFF,0xFE,0xFF,0xFE,0x3F,0x00,0x02,0x00,0x02,0x00,0x02,
  18. 0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,
  19. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  20. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"科",0*/

  21. 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x18,0x00,0x18,0x40,0x18,0x40,0x08,
  22. 0x40,0x08,0x40,0x44,0x40,0x84,0x40,0x84,0x40,0x86,0x43,0xE2,0xFF,0xFF,0xFE,0xFF,
  23. 0x22,0x01,0x20,0x01,0x20,0x00,0x20,0x80,0x00,0x80,0x00,0x80,0x00,0x86,0x20,0x86,
  24. 0x20,0x46,0x20,0x46,0x20,0x4A,0x20,0x4A,0x21,0x71,0xF3,0x31,0xFE,0x31,0x3E,0x31,
  25. 0x36,0x39,0x12,0x7F,0x10,0x6F,0x10,0x47,0x10,0xC1,0x10,0xC1,0x10,0xC0,0x10,0x80,
  26. 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
  27. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  28. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"技",1*/

  29. 0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,
  30. 0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x06,0x00,0x06,
  31. 0x00,0x03,0x80,0x01,0xC0,0x01,0xE0,0x00,0x70,0x00,0x7C,0x00,0xBC,0x00,0x1C,0x01,
  32. 0x0C,0x01,0x04,0x03,0x00,0x02,0x00,0x06,0x00,0x04,0x00,0x0C,0x00,0x0C,0x00,0x18,
  33. 0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,
  34. 0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,
  35. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  36. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"人",2*/

  37. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,
  38. 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x41,0x40,0x21,0x40,0x21,0x40,0x21,
  39. 0x20,0x22,0x20,0x32,0x22,0x16,0x22,0x1C,0x22,0x1C,0x26,0x0E,0xE6,0x0F,0xE6,0x1F,
  40. 0xE4,0x11,0xE0,0x30,0x10,0x30,0x10,0x20,0x10,0x60,0x10,0x60,0x10,0x40,0x10,0xC0,
  41. 0x10,0xC0,0x10,0xC0,0x10,0xC0,0x10,0xC0,0x10,0xC0,0x00,0x80,0x00,0x80,0x00,0x80,
  42. 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
  43. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  44. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"文",3*/

  45. };

  46. voiddelayms(uint z)
  47. {
  48.               uinti,j;
  49.               for(i=z;i>0;i--)
  50.                             for(j=110;j>0;j--);

  51. }
  52. /*****n(us)延時子程序*****/
  53. voidDelayUs(uint N)
  54. {
  55. uint x;
  56. for(x=0; x<=N;x++);
  57. }
  58. /*****鍵盤掃描*****/
  59. intkeyscan()
  60. {
  61.               if(key_1==0)
  62.                             {
  63.                             delayms(10);
  64.                             if(key_1==0)
  65.                             {
  66.                                           while(!key_1);
  67.                                           if(++s==3)s=0;
  68.                             }
  69.               }
  70. return s;
  71. }

  72. //****************同心圓******************
  73. voidtongxinyuan()
  74. {
  75.               int k;
  76.               P1=0x01;
  77.               for(k=0;k<8;k++)
  78.               {                           
  79.               delayms(500);
  80.               P1=_crol_(P1,1);
  81.               }
  82.               P1=0x00;
  83.               P2=0x01;
  84.               for(k=0;k<8;k++)
  85.               {
  86.               delayms(500);
  87.               P2=_crol_(P2,1);
  88.               }
  89.               P2=0x00;
  90.               while(key_1);
  91. }
  92. //****************漢字******************
  93. voidhanzi()
  94. {            
  95.               inti;
  96.               if(key==0)
  97.               {
  98.               for(i=0;i<512;i++)
  99.                  {
  100.                             P1=table[i];
  101.                             P2=table[++i];
  102.                             DelayUs(10);              
  103.                  }
  104.                  P1=0x00;
  105.                  P2=0x00;
  106.    }
  107. }

  108. //****************主函數******************/            
  109. ……………………

  110. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整的Word格式設計報告文檔51黑下載地址:
基于STC89C52的POV.docx (323.17 KB, 下載次數: 218)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:356535 發表于 2018-6-22 00:02 來自觸屏版 | 只看該作者
樓主能否聯系我,我有運用需求 qq 1457303635
回復

使用道具 舉報

板凳
ID:477648 發表于 2019-3-4 09:34 | 只看該作者
附件里沒有找到主函數啊
回復

使用道具 舉報

地板
ID:529112 發表于 2019-5-7 22:34 | 只看該作者
不錯。
回復

使用道具 舉報

5#
ID:536405 發表于 2019-5-12 20:26 | 只看該作者
不錯。
回復

使用道具 舉報

6#
ID:554793 發表于 2019-8-7 09:31 | 只看該作者
編譯時第69欄有問題耶,樓主
回復

使用道具 舉報

7#
ID:554793 發表于 2019-8-7 11:36 | 只看該作者
程序第69行編譯出錯
回復

使用道具 舉報

8#
ID:301822 發表于 2019-12-5 17:17 | 只看該作者
好東西,謝謝
回復

使用道具 舉報

9#
ID:662064 發表于 2020-5-8 21:16 | 只看該作者
樓主,你的電路圖里面電機在哪里,怎么沒有看到?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产伊人 | 日韩中文字幕2019 | 欧美一级欧美三级在线观看 | 亚洲精品一区二区网址 | a在线视频| 亚洲免费视频在线观看 | 欧美日韩免费一区二区三区 | 亚洲视频在线一区 | 我爱操| 九九色综合| 久在线视频播放免费视频 | 亚洲一区二区久久 | 91综合在线观看 | 黄色电影在线免费观看 | 精品久久久一区 | 欧美日韩免费视频 | 日韩精品一区中文字幕 | 91最新入口 | 99久久久国产精品 | 国产成人一区二区三区 | 国产精品久久777777 | 欧美黄 片免费观看 | 国产精品亚洲精品久久 | 欧美国产一区二区三区 | 亚州av在线 | 在线观看中文字幕亚洲 | 在线免费观看一区二区 | 福利久久| 午夜精品一区二区三区在线视频 | 大象视频一区二区 | 成人一区二区三区 | 亚洲美女av网站 | 久久一区视频 | 日日夜夜精品视频 | 欧美一级黄色免费 | 欧美亚洲高清 | 中文字字幕在线中文乱码范文 | www.国产精| 91久久精品国产 | 一区二区三区亚洲 | 色婷婷精品久久二区二区蜜臂av |