線陣LED圖文顯示_第1頁
線陣LED圖文顯示_第2頁
線陣LED圖文顯示_第3頁
線陣LED圖文顯示_第4頁
線陣LED圖文顯示_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、線陣LED圖文顯示Hessen was revised in January 20212013年全國大學(xué)生電子設(shè)計競賽線陣LED圖文顯示裝置2013年7月22日組員許衛(wèi)趙俊饒建玲摘 要:本設(shè)計是利用人眼視覺暫留效應(yīng)原理來實現(xiàn)的。通過直流電機帶動線陣LED以合適的速度旋轉(zhuǎn),以MSP430G2553單片機為核心,來精確地控制LED的 亮滅時間,從而實現(xiàn)LED的各種變換。本設(shè)計由MSP430控制電路模塊,電機及 其驅(qū)動模塊,線陣LED驅(qū)動模塊,痙度自動調(diào)節(jié)模塊等主要模塊組成。利用霍 爾傳感器來確定線陣LED的起始位置,使用取模軟件來實現(xiàn)顯示文圖,通過光 敏電阻來自動控制LED鳧度,并運用按鍵切換來控

2、制顯示不同的內(nèi)容。關(guān)鍵詞:MSP430G2553視覺暫留線陣LED霍爾傳感器光敏電阻Abstract: This design is to use the principle of persistence of vision effect to the human eye. Driven by de motor linear array LED rotating at a speed of right, MSP430G2553 single-chip microcomputer as the core, to destroy the precise control of the LED lig

3、ht time, so as to realize the transforming of the LED. This design by MSP430 control circuit module, motor and driver module, linear array LED driver module, brightness automatically adjust the module of main modules. Using hall sensor to determine the starting position of linear array LED, using mo

4、dulus software to implement the display figure, through the photoconductive resistance to automatically control the LED brightness, and using the key switch to control the display different content.Keywords: MSP430G2553 Persistence of vision Linear array LED Hall sensor Photosensitive resistance目錄目錄

5、1 .系統(tǒng)方案選擇和論證 課題任務(wù)及要求(1) 制作一個由16只LED構(gòu)成的線狀點陣及其控制電路,安裝于可 旋轉(zhuǎn)的平臺上,在平臺的中心設(shè)置一個按鍵,用于功能的切換,電機帶動平臺 以合適速度旋轉(zhuǎn)。(2) 開機時裝置完成顯示自檢,能對點陣中16只LED逐個點鳧,每只LED顯示時間約為1秒,此時平臺不旋轉(zhuǎn)。(3) 通過按鍵切換,實現(xiàn)16個同心圓圖形分別順序(由大到?。┖湍嫘颍ㄓ尚〉酱螅╋@示,每個同心圓圖形顯示時間為秒左右。(4) LED顯示亮度能依據(jù)環(huán)境亮度變化自動調(diào)節(jié)。2 .發(fā)揮部分(1) 通過按鍵切換,顯示字符“TI杯”,要求字符顯示穩(wěn)定,無明顯漂移。(2) 通過按鍵切換,顯示一個指針式秒表,該

6、秒表以標志桿為起始標志,秒針隨時間動態(tài)旋轉(zhuǎn),旋轉(zhuǎn)一周的時長為60±1秒。(3)其它。系統(tǒng)方案論證及選擇電機的比較與選擇方案一:使用步進電機,步進電機停轉(zhuǎn)時具有最大的轉(zhuǎn)矩,而且每步的精 度在3%5%,并且誤差不會累計到下一步,因而有較好的位置精度和運動重復(fù) 性,但是其控制不當容易產(chǎn)生共振,且難以運轉(zhuǎn)較高的速度。方案二:開關(guān)磁阻電機,結(jié)構(gòu)簡單,成本低,可用于高速運轉(zhuǎn),可控參數(shù) 多,調(diào)速性能好,但是因為轉(zhuǎn)矩是由脈沖轉(zhuǎn)矩疊加而成,合成的轉(zhuǎn)矩不是恒定 轉(zhuǎn)矩,噪聲震動比一般電動機大。方案三:直流電機有優(yōu)良的控制性能,其機械性能和調(diào)速特性均為平行的 直線,且啟動轉(zhuǎn)矩大,效率高,過載能力強,調(diào)速方便

7、動態(tài)性能好。通過對本次項目的綜合考慮,故采用方案三。電機驅(qū)動電路的比較與選擇方案一:中功率三極管直接搭建。在電機驅(qū)動要求不高的地方可以由三極 管直接搭建一個驅(qū)動電路。使用三極管搭建的電路,其電路簡單,但功率和性 能一般,集電極電流過大,電阻消耗的功率加大,造成發(fā)熱,影響系統(tǒng)的性 能,并且對輸入信號要求較高,輸出性能只能滿足一般要求。方案二:使用L298N芯片驅(qū)動電機L298N既可以驅(qū)動直流電機也可以驅(qū)動 步進電機,本設(shè)計中考慮到電機的帶負載能力以及效率和調(diào)速方便等問題所以 選擇用直流電機。L298N電路簡單,使用比較方便。通過比較,使用L298X芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅(qū)動直流電 機,

8、且價格不高,故選用L298X驅(qū)動電機LED亮度控制電路比較與選擇方案一:通過光敏二極管和一個的電阻一起控制P型三極管基極的電 流,從而控制加在LED上面的電流,這樣不需要在每個LED前面加限流電阻。 只需要用一個限流電阻,電路簡單。光敏二極管暗電流較小,有光時光電流較 大。但是其效果并不明顯,且電路不穩(wěn)定。(圖1)圖1方案二:采用光敏電阻與TLC555搭建電路。用TLC555、電容、電位器組 成振蕩電路產(chǎn)生穩(wěn)定的PWM波輸出。而光敏電阻的變化引起輸出PWM波占空比 的變化,從而改變顯示充度。電路簡單,且易于控制。通過比較選定此方案二作為環(huán)境充度變化調(diào)節(jié)電路。供電方案的比較與選擇方案一:采用電刷

9、供電。即在電機的轉(zhuǎn)軸上手工增加一個電刷,通過電刷 為系統(tǒng)供電。此方法能夠讓系統(tǒng)長期供電,但是由于增加了電刷,電機的摩擦 增大,勢必會使系統(tǒng)的功耗增加,且不易控制,比較麻煩。方案二:采用鋰電池供電。即在電路板是直接附帶一個鋰電池,為系統(tǒng)供 電。鋰電池體積小,供電時間長,容易固定。使用時將電池固定在電路板,既 解決旋轉(zhuǎn)時因重力引起的重心不穩(wěn),同時也省去制作的時間。綜合考慮本設(shè)計的電路模式,采用方案二。2 .理論分析與計算線陣LED參數(shù)計算限流電阻=LED與電阻串聯(lián),所以該限流電阻為:根據(jù)設(shè)計要求,Vcc=, Vled=, Von=, Iled=10mA;可求得的限流電阻為R=90 Q.為了方便最后

10、電阻取為R=100。.線陣LED運動參數(shù)分析與計算在電機的帶動下,線陣LED依靠旋轉(zhuǎn)平臺進行旋轉(zhuǎn),在40亳秒之內(nèi)運動的 物體認得眼睛無法辨別,線陣LED就能很好的地顯示圖文。設(shè)電機周期為/,我 們?nèi)≈芷趖為40毫秒。顯示亮度自動調(diào)節(jié)分析與計算采用TI的TLC555、電容G,g、電阻叫和光敏電阻&等組成振蕩電路 產(chǎn)生穩(wěn)定的PWM波輸出。則產(chǎn)生PWM波的周期、充電時間及其占空比的計算公 式如下:周期為:T=(R1+R2)C1高電平時間為:T1=R1C1經(jīng)測試,光敏電阻的阻值在200到16K變化,正常光線下,阻值為2K, 取R1為2K,占空比的變化范圍較大。光敏電阻的變化引起輸出PWM波占空

11、比 的變化,從而改變顯示克度。占空比越大,LED接通的時間越長,斷開的時間 越短,顯示越克。3 .電路與程序設(shè)計電路設(shè)計系統(tǒng)總體方案設(shè)計圖2其總體設(shè)計如上圖所示,霍爾傳感器采集數(shù)據(jù)通過MSP430的處理控制電機 的轉(zhuǎn)速;MSP430G2553的控制通過按鍵的中斷使LED顯示不同的圖文,當環(huán)境 充度改變時,由光敏電阻和NE555組成的占空比可調(diào)的電路自動改變LED的光度, 環(huán)境光線越亮,燈越亮,滿足設(shè)計要求。單元電路及原理分析亮度控制電路:采用NE555與光敏電阻搭建電路。用555,電阻,電容及二 極管組成振蕩電路,產(chǎn)生穩(wěn)定的PWM波輸出,而光敏電阻的變化輸出PWM波占空比的變化,從而改變LED

12、的顯示充度,實現(xiàn)先度隨外界的變化而變化。(圖 3)線陣LED控制電路:我們所做電路選用的控制芯片用是有20個引腳 MSP430G2553,所以控制16個LED顯然不夠用,因此利用74HC595實現(xiàn)串轉(zhuǎn)并PWM產(chǎn)生及控制L298電路:采川兩片LM358及電容電阻穩(wěn)壓二極管來構(gòu)成三 角波發(fā)生電路產(chǎn)生三角波,通過比較器LM311與一直流量比較產(chǎn)生PWM,通過調(diào) 節(jié)其占空比來控制L298.(圖5)機驅(qū)動電路:L298是雙H橋高電壓大電流集成電路,直接采用TTL邏輯 電平控制。通過外接信號來調(diào)節(jié)PWM.在一個PWM周期內(nèi),電機承受雙極性電 壓,電機的速度和方向均有PWM決定。(圖6)電路原理圖見附錄一。

13、程序設(shè)計見附錄四。程序功能描述與設(shè)計思路單片機MSP430G2553通過74HC595進行申轉(zhuǎn)并來控制16個LED。初始化,LED自檢后,逐個依次點先;通過獨立按鍵控制線陣LED顯示不同的圖文程序總體流程圖當系統(tǒng)上電單片機初始化后,線陣LED進行自檢,此時16個LED逐個點兜,當按 鍵按下時,LED根據(jù)程序的設(shè)計顯示不同的圖文,流程圖如下:(圖7)開始初始化LED自檢y按鍵次數(shù)t指針式秒圖七程序清單見附錄四。4 .測試方案與測試結(jié)果測試條件與儀器數(shù)字示波器萬用表信號發(fā)生器測試結(jié)果及分析本設(shè)計的基本要求均已完成,可以在運轉(zhuǎn)時按按鍵切換顯示的內(nèi)容,但也 存在值得改進的地方。旋轉(zhuǎn)平臺不太穩(wěn),導(dǎo)致顯示

14、出現(xiàn)稍許飄移,秒表指針顯示也不能達到精確的60秒一周。因為單片機內(nèi)部的DC0本來就存在誤差,而延 時乂是用delay來延時的,這樣誤差更大,為了減小這些誤差,應(yīng)該使用外部 晶振,并且用定時器來延時。5 .結(jié)論經(jīng)過多日的辛勤努力,系統(tǒng)架構(gòu)設(shè)計合理,功能電路實現(xiàn)較好,系統(tǒng)性能 優(yōu)良、穩(wěn)定,較好地達到了題目要求的各項指標。通過這次的項目,我們都學(xué) 到了很多東西,因為這個項目主要針對的是軟件方面,所以我們在軟件方面下 了很大功夫,有些程序在我們平時都沒有訓(xùn)練過的,經(jīng)過不斷的摸索與實驗, 和其它同學(xué)交流,軟件上有很大的進步。在硬件調(diào)試的過程中,我們也遇到很 多問題,主要體現(xiàn)在線陣的平衡和穩(wěn)定上面。由于時

15、間緊,工作量大,系統(tǒng)還 存在許多可以改進的地方。本次競賽鍛煉了我們各方面的能力,雖然我們遇到 了很多困難和障礙,但總體上成功與挫折交替,困難與希望并存,我們將繼續(xù) 努力爭取更大的進步。6 .參考文獻1秦龍編著.MSP430單片機常用模塊與綜合系統(tǒng)實例精講.北京:電子工 業(yè)出版社,2沈建華等.MSP430系列16位超低功耗單片機實踐與系統(tǒng)設(shè)計.北京: 清華大學(xué)出版社,3董詩白、華成英等.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社.UJ,2(1Ms1nMMrrrjQi yr 芟h«R,y,1,TPTW F1<TAJfT>tTaX >i(TAJT»n>y .附

16、錄2:光敏電阻、L298光敏電阻器是利用的制成的一種電阻值隨入射光的強弱而改變的電阻器;入 射光強,電阻減小,入射光弱,電阻增大。必L298N是SGS公司生產(chǎn)的直流電機驅(qū)動集成電路。內(nèi)部包含4通道邏輯驅(qū)動電 路,可以方便地驅(qū)動兩個直流電機,或一個兩相步進電機。工作電壓為46V, 輸出電壓最高可達50V,可以直接通過電源來調(diào)節(jié)輸出電壓;輸出電流可達, 最大可以達到4A,可驅(qū)動電感性負載;可以直接用單片機的10 口提供信號; 而且電路簡單,使用比較方便。L298N可接受標準TTL邏輯電平信號VSS, 9腳 VSS可接7V的電壓。4腳VS接電源電壓,VS電壓范圍VIH為+46V。1腳 和15管腳下的

17、發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信 號。L298可驅(qū)動2個電動機,此時0UT1, 0UT2和0UT3, 0UT4之間可分別接電 動機。5、7、10、12腳接輸入控制電平,控制電機正反轉(zhuǎn);ENA, EB腳接控制 使能端,控制電機的停轉(zhuǎn)。L298邏輯功能表IN1IN2ENA電機狀態(tài)XX0停止000停止011逆時針101順時針110停止附錄3:原器件清單元器件名稱元器器件型號元器件個數(shù)單片機MSP430G25531電機174HC59574HC5952電機驅(qū)動芯片L2981比較器LM3111集成運放LM3582光敏電阻1電源鋰電池1傳感器霍爾傳感器1按鍵獨立按鍵1電容若干電阻若干導(dǎo)

18、線若干附錄四:程序清單f I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 程序功能:線陣LED圖文顯示作者:許衛(wèi)日期 : rights reserved! I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I #include<> #define uchar unsigned char ttdef

19、ine uint unsigned int/*74HC595 引腳定義*/Mefine L_DATA Billitdefine L_CLK BIT5define L_STR BIT4define L_0E BIT3/*全局變量定義*/uchar t50ms, ts, tm=32, th=12;uchar count=0, num;uchar Clock_buff = ,z 12:35:20z/;uchar const disp_buff64; uchar const num_buff;uchar sort_buff1164;uchar sort_buff2164;/*延時 函 數(shù)*/ void

20、 delay_ms(uint time) (uint i, j;for (i=time; i>0; i-) for(j=250;j>0;j);)/*延時函數(shù)*/void delay_320us(uchar time) (uint i, j;for (i=time; i>0; i一-) for(j=77; j>0; j) ; /320us/*數(shù)組元素重新排序*/void Re_sort () (uchar i;for(i=0;i<64;i+)sort_buff163-i=disp_buffi;for(i=0;i<32;i+) (sort_buff22*i=so

21、rt_buff12*i+l;sort_buff22*i+l=sort_buff1L2*i;/*單片機初始化函數(shù)*/void mcu-init () (WDTCTL二WDTPW+WDTHOLD;BCSCTL1 =CALBC1MHZ; /DCO 設(shè)置為 IM DCOCTL 二 CALDCOMHZ;BCSCTL3I=LFXT1SJ);IFG1&iOFIFG;BCSCTL2 |=SELM_1; 設(shè)置主時鐘MCLK為DCO,且頻率為1MHz,子時鐘 IMo )/*定時器初始化函數(shù)*/ void TIMER_init()(/ SMCLK, Contmode使計數(shù)模式為增計數(shù)/ CCRO inter

22、rupt enabled/50毫秒為霍爾中斷按鍵中斷第二功能上拉電阻使能設(shè)中斷下降沿中斷中斷標志清零TACTL = TASSEL_2 +TACLRCCTLO = CCIE;CCRO = 50000;)/*P1中斷端口初始化*/ void Pl_port_init()(P1DIR&="(BIT1+BIT5);P1SEL&="(BIT1+BIT5);P1REN|= BIT1+BIT5;P1IE =BIT1+BIT5;P1IES|=BIT1+BIT5;P1IFG&二(BIT1+BIT5);)/*74HC595 顯示函數(shù)*/void display(ucha

23、r bit_flag, uint disp_temp) bit_flag 為 1, 先寫高 位。為0,先寫低位(unsigned int temp;unsigned char i;P2DIR =L DATA+L CLK+L STR+L 0E;P2OUT&=、L_CLK;P2OUT&="L_STR;P2OUTj=L_OE;temp=disp_temp;if (bit_flag)for(i=0;i<16;i+)if (temp&0x8000) P2OUT=L_DATA;elseP20UT&="L_DATA;P20UTI =L_CLK; 上升

24、沿數(shù)據(jù)移位P20UT&="L_CLK;temp«=l;)else(for(i=0;i<16;i+)(if(temp&OxOOOl) P2OUT|=L_DATA;elseP2OUT&="L_DATA;P2OUTI =L_CLK; 上升沿數(shù)據(jù)移位P2OUT&-"L_CLK;temp»=l;)P2OUT |=L_STR;上升沿數(shù)據(jù)鎖存P2OUT&二"L_STR;P2OUT&="L_OE;輸出使能)/*寫一個字符串*/void disp_ascii(uchar *p)(unsig

25、ned int temp;unsigned char i, j;for (j=O;*p!=, 0, ;j+)(for(i=0;i<8;i+) /8 列(temp=num_buff2*i+(*p-0x30) *161 ;temp«=8;temp =num_buff2*i+l+(*p-0x30) *16;display (0, temp);delay_320us(1); 間隔 320us)p+;)/*開機自檢函數(shù)*/ void Turn_on_test () (uint i;uint temp=0x0001;for(i=0;i<16;i+)(display(1, temp);

26、 delay_ms(1000); temp«=l;)/ * 同心圓*/ void draweeirele()(uint i;uint temp;temp=0x8000;for(i=0;i<16;i+)(display(1, temp);delay_ms(300); temp»=l;temp=0x0001;for(i=0;i<16;i+)(display (1, temp);delay_ms(300); temp«=l;)/杯程序*/ void draw_TI_cup(uchar (uint i;uint temp;高電平點光/間隔Is從小到大間隔從大到

27、小間隔const *p)/32 列p=&sort_buff20; for(i=0;i<32;i+)將一豎的兩個字節(jié)合成一個字temp=*p+;temp«=8;temp i =*p+;display(0, temp);delay_320us(1); 間隔 320us /*秒針程序*/ void draw_second_hand() (uint tempi, temp2;templ=0xfffc;temp2=0x0000;delay_320us(2*(60-ts); 延時,等待指向相應(yīng)的位置 display(1, tempi 0x0001);delay_320us;在該鳧的

28、位置顯示320usdisplay(1, temp2 0x0001);/ *主函數(shù)*/void main(void) (mcu-init ();TIMER_init();Pl_port_init ();Re_sort ();從新排序Turn_on_test (); 開機自檢_EINT();開總中斷while (1) (;)ttpragma vector=PORT1_VECTORinterrupt void Pl_port(void) (按鍵切換模式if (P1IFG&BIT5)delay_ms (30);if (P1IFG&BIT5)P1IFG &二(BIT5); cou

29、nt+;if(count>=5) count=l; while(!(P1IN&BIT5);if(P1IFG&BIT1)(P1IFG 及二、(BIT1);if(count=l)(PHE&iBIT1;關(guān)中斷draw_circle ();piieT=biti ;同心圓顯示完后開中斷else if (count=2)每次霍爾中斷就顯示一次TI杯P20UT|=L_OE;draw_TI_cup(sort_buff2);P20UT i =L_OE;else if (count=3)(TACTL | =MC1;開始定時draw_second_hand();)else if (co

30、unt=4)(Clock_buff0=ts%10+0x30;Clock_buffl=ts/10+0x30;Clock_buff3=tm%10+0x30;Clock.buff4=tm/l0+0x30;Clock_buff6=th%10+0x30;Clock_buff7=th/10+0x30;disp_ascii(Clock_buff);)/Timer AO interrupt service routinepragma vector=TIMERO_AO_VECTORinterrupt void Timer_A0 (void)t50ms+;if (t50nls=20) (t50ms=0;ts+;i

31、f (ts=60)(ts=0; tm+;if(tm=60)(tm=0;th+;if(th=24) th=0;) uchar const disp_buffL64=0x18, 0x00, 0x10, 0x00, 0x10, 0x04, OxlF, OxFC,0x10, 0x04, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00,0x00, 0x00, 0x10, 0x04, 0x10, 0x04, OxlF, OxFC,0x10, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00,0x10, 0x40, Oxll, 0x80, 0x16, 0x00, OxFF, OxFF,0x12, 0x00, 0x51, 0x20, 0x40, 0x40, 0x40, 0x80,0x43, 0x00, 0x4F, OxFF, 0x70, 0x00, 0x41, 0x00,0x40, 0x80, 0x40, 0x60, 0x40, 0x30, 0x00, 0x00,);uchar const num_buff=0x00, 0x00, 0x07, OxFO, 0x08, 0x08,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論