基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

29基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要本設(shè)計(jì)著重在于分析計(jì)算器軟件和開(kāi)發(fā)過(guò)程中的環(huán)節(jié)和步驟,并從實(shí)踐經(jīng)驗(yàn)出發(fā)對(duì)計(jì)算器設(shè)計(jì)做了詳細(xì)的分析和研究。本系統(tǒng)就是充分利用了G2452芯片的I/O引腳。系統(tǒng)以采用MSP430系列單片機(jī)G2452為中心器件來(lái)設(shè)計(jì)花樣LED流水燈系統(tǒng),通過(guò)按鍵實(shí)現(xiàn)8個(gè)LED燈不同花樣式的閃爍。關(guān)鍵詞:流水燈;單片機(jī);按鍵;閃爍目錄1項(xiàng)目要求 32項(xiàng)目分析和系統(tǒng)設(shè)計(jì) 33硬件設(shè)計(jì) 33.1單片機(jī)選型模塊 33.2LED流水燈模塊 33.3功能模式選擇模塊 34軟件設(shè)計(jì) 34.1主程序 34.2子程序 35系統(tǒng)調(diào)試 35.1硬件調(diào)試 35.2程序調(diào)試 35.3聯(lián)合調(diào)試 36外延 37項(xiàng)目演練 38項(xiàng)目總結(jié) 3附錄1電路設(shè)計(jì)原理圖(參考) 3附錄2PCB設(shè)計(jì)原理圖(參考) 3附錄3關(guān)鍵程序(參考) 3基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)1項(xiàng)目要求本項(xiàng)目花樣流水燈采用MSP430單片機(jī)為控制器件,用于各方面的裝飾,此花樣流水燈有8個(gè)LED燈,六種花樣燈光效果。(1)初始化后,執(zhí)行8個(gè)LED燈從右至左逐次點(diǎn)亮,每隔0.2s亮一個(gè)LED燈,直到8個(gè)LED燈全亮,再?gòu)淖笾劣乙来蜗缰钡饺珳?,以此循環(huán);(2)當(dāng)按下按鍵后,執(zhí)行8個(gè)LED燈從右至左每隔0.2s逐一亮滅,直到點(diǎn)亮最左邊一個(gè)燈后再?gòu)淖笾劣颐扛?.2s逐一亮滅,以此循環(huán);2項(xiàng)目分析和系統(tǒng)設(shè)計(jì)本系統(tǒng)分為硬件和軟件模塊。硬件上我們打算在單片機(jī)的不同的i/o中裝上一個(gè)流水燈來(lái)進(jìn)行對(duì)流水燈進(jìn)行控制。在程序方面,首先對(duì)msp430的i/o口進(jìn)行的定義和設(shè)置,然后在去定義了一個(gè)delay進(jìn)行延時(shí)功能,在用一個(gè)switch循環(huán)來(lái)使得流水燈不斷的循環(huán)亮滅?;恿魉疅舨捎肕SP430單片機(jī)為控制器件,用于各方面的裝飾,此花樣流水燈有8個(gè)LED燈,兩種花樣燈光效果。3硬件設(shè)計(jì)本系統(tǒng)采用MSP430單片機(jī)為控制核心進(jìn)行設(shè)計(jì),該流水燈系統(tǒng)共可分為兩個(gè)模塊:?jiǎn)纹瑱C(jī)選型模塊和LED流水燈模塊。圖1系統(tǒng)框圖3.1單片機(jī)選型模塊MSP430單片機(jī)是16位的單片機(jī),采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),只有簡(jiǎn)潔的27條內(nèi)核指令,大量的指令則是模擬指令;眾多的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算。這些內(nèi)核指令均為單周期指令,功能強(qiáng),運(yùn)行的速度快。圖2單片機(jī)選型模塊3.2LED流水燈模塊要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺(jué)暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到“流水”效果了。且每一個(gè)LED燈于一個(gè)電阻串聯(lián)。電阻的作用就是對(duì)通過(guò)LED燈的電流進(jìn)行一定的限制起到去LED燈進(jìn)行的保護(hù)作用。使得其在高電壓的時(shí)候使得LED在電阻的保護(hù)下不會(huì)燒壞。此圖為共陰極接法,因此當(dāng)LED_RED給高電平“1”時(shí)LED_RED亮;當(dāng)LED_RED給低電平“0”時(shí),LED_RED滅。圖3LED流水燈模塊圖如圖3可知此原理圖的LED燈為共陰極的接法,因此我們只要給它一個(gè)高電平就能點(diǎn)亮此LED燈。3.3功能模式選擇模塊此設(shè)計(jì)有6種功能模式可以選擇:(1)初始化后,執(zhí)行8個(gè)LED燈從右至左逐次點(diǎn)亮,每隔0.2s亮一個(gè)LED燈,直到8個(gè)LED燈全亮,再?gòu)淖笾劣乙来蜗缰钡饺珳?,以此循環(huán);(2)當(dāng)按下按鍵后,執(zhí)行8個(gè)LED燈從右至左每隔0.2s逐一亮滅,直到點(diǎn)亮最左邊一個(gè)燈后再?gòu)淖笾劣颐扛?.2s逐一亮滅,以此循環(huán);功能(1):○○○○○○○●○○○○○○●●○○○○○●●●○○○○●●●●○○○○○○●●○○○●●●●●○○○○○●●●○○●●●●●●○○○○●●●●○●●●●●●●○○○●●●●●○○●●●●●●○●●●●●●●●●●●●●●●功能(2):○○○○○○○●○○○○○○●○○○○○○●○○○○○○●○○○○○○○○○●○○○○●○○○○○○○○○●○○○○●○○○○○○○○○●○○○○●○○○○○○○○○●○○○○○○●○○○○○○●○○○○○○●○○○○○○○圖4流水燈的功能示意圖4軟件設(shè)計(jì)4.1主程序本系統(tǒng)整體工作主要由單片機(jī)程序控制實(shí)現(xiàn),其工作過(guò)程為:對(duì)端口進(jìn)行初始化,在主程序中用不同的端口定義分別來(lái)點(diǎn)亮流水燈。再用switch語(yǔ)句來(lái)對(duì)不同的LED燈進(jìn)行不同類(lèi)型的流水燈效果。在用延時(shí)程序來(lái)實(shí)現(xiàn)每一個(gè)LED的亮滅。程序整體框架如下圖5所示。圖5程序流程圖4.2子程序一個(gè)完整的程序是由一個(gè)主程序和若干個(gè)子程序組成。在一個(gè)加工程序中,如果其中有些加工內(nèi)容完全相同或相似,為了簡(jiǎn)化程序,可以把這些重復(fù)的程序段單獨(dú)列出,并按一定的格式編寫(xiě)成子程序。主程序在執(zhí)行過(guò)程中如果需要某一子程序,通過(guò)調(diào)用指令來(lái)調(diào)用該子程序,子程序執(zhí)行完后又返回到主程序,繼續(xù)執(zhí)行后面的程序段。本系統(tǒng)中所使用的子程序都是比較簡(jiǎn)單的,用for語(yǔ)句實(shí)現(xiàn)循環(huán)之后再使用延時(shí)函數(shù)進(jìn)行延時(shí)。子函數(shù)的功能流程圖如下:功能1流程圖:功能2流程圖:開(kāi)始開(kāi)始開(kāi)始開(kāi)始使LED燈左移一位點(diǎn)亮使被點(diǎn)亮的LED燈左移一位使LED燈左移一位點(diǎn)亮使被點(diǎn)亮的LED燈左移一位延時(shí)延時(shí)延時(shí)延時(shí)最左邊LED燈是否點(diǎn)亮亮8最左邊LED燈是否點(diǎn)亮亮8個(gè)LED燈是否全亮使被點(diǎn)亮的LED燈右移一位使LED燈右移一位熄滅使被點(diǎn)亮的LED燈右移一位使LED燈右移一位熄滅延時(shí)延時(shí)延時(shí)延時(shí)最右邊LED燈是否熄滅8最右邊LED燈是否熄滅8個(gè)LED燈是否全滅圖6功能程序流程框架圖5系統(tǒng)調(diào)試本單片機(jī)的流水燈系統(tǒng)的設(shè)計(jì)分為硬件電路設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分,因此調(diào)試也分成兩部分進(jìn)行調(diào)試。5.1硬件調(diào)試主要根據(jù)系統(tǒng)框圖和硬件原理設(shè)計(jì)進(jìn)行原理的繪制、各參數(shù)的設(shè)置、電路板的制作,以及元器件的焊接等。具體如下:5.1.1各單元電路,確認(rèn)各單元電路鏈接無(wú)誤,尤其是關(guān)鍵元器件,一定要接保護(hù)電阻。(1)選擇合適規(guī)格的元器件,在放置期間前一定要檢查規(guī)格;(2)關(guān)鍵器件放置:在器件布置方面與其它邏輯電路一樣,應(yīng)把相互有關(guān)的器件盡量放靠近些,這樣可以減少材料,更加美觀(guān)。5.1.2PCB設(shè)計(jì)原則:在進(jìn)行PCB設(shè)計(jì)時(shí),必須遵守PCB設(shè)計(jì)的一般原則,并應(yīng)符合要實(shí)現(xiàn)的效果設(shè)計(jì)的要求。(1)盡量采用印制電路板,印制電路板不像萬(wàn)用板一樣會(huì)有一定的接觸不好或者焊盤(pán)不穩(wěn)和線(xiàn)路連接有問(wèn)題的情況,印制電路板的制作可防止產(chǎn)生地電位差和元件之間的耦合。(2)元件面和焊接面應(yīng)采用相互垂直、斜交、或者彎曲走線(xiàn),避免相互平導(dǎo)線(xiàn)盡量短,使用45°或者圓弧折線(xiàn)布線(xiàn),不要使用90°折線(xiàn),以減小高頻信號(hào)的發(fā)射。5.2程序調(diào)試在本系統(tǒng)中,主要分為主程序部分、中斷程序、子程序等。在調(diào)試過(guò)程中,按照程序功能一項(xiàng)項(xiàng)進(jìn)行調(diào)試,首先確認(rèn)主程序正確,在確認(rèn)其他程序。調(diào)試方法主要跟蹤調(diào)試、斷點(diǎn)調(diào)試等等,可以參考相關(guān)專(zhuān)業(yè)書(shū)籍。5.1.1CCSV5的打開(kāi)步驟右鍵CodeComposerStudiov5快捷方式,左鍵打開(kāi)。會(huì)出現(xiàn)如圖6所示界面:圖6CodeComposerStudiov5軟件加載界面(2)加載完畢之后會(huì)有如圖7所示界面出現(xiàn):圖7CodeComposerStudiov5軟件打開(kāi)界面(3)選擇Project->ImportExistingCCSEclipseProject,導(dǎo)入程序文件夾中的工程;具體操作如圖8:圖8CodeComposerStudiov5程序?qū)氩襟E圖5.3聯(lián)合調(diào)試整個(gè)系統(tǒng)的軟硬件都完成后,需要進(jìn)行聯(lián)合調(diào)試,主要是針對(duì)系統(tǒng)設(shè)定的功能能否完成和完善進(jìn)行調(diào)試。調(diào)試步驟:(1)將PC和硬件電路通過(guò)USB線(xiàn)相連;(2)選擇對(duì)該工程進(jìn)行編譯鏈接,生成.out文件。然后選擇,將程序下載到實(shí)驗(yàn)板中。程序下載完畢之后,可以選擇全速運(yùn)行程序,也可以選擇單步調(diào)試程序,選擇F3查看具體函數(shù)。也可以程序下載之后,按下,軟件界面恢復(fù)到原編輯程序的畫(huà)面。再按下實(shí)驗(yàn)板的復(fù)位鍵,運(yùn)行程序。(調(diào)試方式下的全速運(yùn)行和直接上電運(yùn)行程序在時(shí)序有少許差別,建議上電運(yùn)行程序)圖9聯(lián)合調(diào)試效果圖6外延花樣流水燈的流水方式各式各樣,因此我們?cè)谝陨瞎δ芑A(chǔ)上,還能將程序稍作修改,使之有如下花樣流水效果。(1)在以上功能下,當(dāng)再次按下此按鍵后,執(zhí)行8個(gè)LED燈從中間2個(gè)開(kāi)始每隔0.2s向左右兩邊依次點(diǎn)亮,直到8個(gè)LED燈全亮,再由兩邊開(kāi)始滅,直到全滅以此循環(huán);(2)第三次按下此按鍵之后,執(zhí)行與上次相反的效果,以此循環(huán);(3)第四次按下此按鍵之后,8個(gè)LED燈同時(shí)閃爍,時(shí)間間隔為0.1s;(4)第五次按下按鍵之后,依次執(zhí)行前面五個(gè)程序的效果,以此循環(huán)。以上花樣流水燈的流水功能如圖10,功能(4)是前面幾種功能集中的效果。功能(1):○○○○○○○○○○○●●○○○○○●●●●○○○●●●●●●○○○○●●○○○○○●●●●○○○●●●●●●○●●●●●●●●功能(2):●○○○○○○●●●○○○○●●●●●○○●●●●●●●●●●●○○○○○○○○●○○○○○○●●●○○○○●●●●●○○●●●功能(3):●●●●●●●●○○○○○○○○圖10流水燈的功能示意圖功能1流程圖:功能2流程圖:開(kāi)始開(kāi)始開(kāi)始開(kāi)始點(diǎn)亮LED1和點(diǎn)亮LED1和LED8點(diǎn)亮LED3和LED4BIT1左移BIT1左移i位BIT8右移i位LED4左移i位LED3右移i位延時(shí)延時(shí)延時(shí)延時(shí)8個(gè)8個(gè)LED燈是否全亮亮8個(gè)LED燈是否全亮LED4左移i位LED3右移LED4左移i位LED3右移i位BIT1左移i位BIT8右移i位延時(shí)延時(shí)延時(shí)延時(shí)8?jìng)€(gè)LED8?jìng)€(gè)LED燈是否全滅8?jìng)€(gè)LED燈是否全滅功能3流程圖:開(kāi)始開(kāi)始點(diǎn)亮所有點(diǎn)亮所有LED燈延時(shí)延時(shí)狀態(tài)反轉(zhuǎn)狀態(tài)反轉(zhuǎn)圖11功能程序流程框架圖7項(xiàng)目演練對(duì)于本設(shè)計(jì),尚可以進(jìn)一步進(jìn)行如下設(shè)計(jì):(1)設(shè)計(jì)一個(gè)心形呼吸流水燈設(shè)計(jì)思路如下:運(yùn)用MSP430g2553單片機(jī)(28PIN、TSSOP封裝)、74HC573鎖存器(20PIN、SOIC封裝)、TLV117穩(wěn)壓組成。主要原理是利用430單片機(jī)產(chǎn)生PWM信號(hào),通過(guò)573的使能控制一定數(shù)量的LED產(chǎn)生同節(jié)奏的“呼吸”效果。通過(guò)對(duì)產(chǎn)生PWM信號(hào)的寄存器的設(shè)置,可以得到程度不同的“呼吸”效果。(2)如今大多數(shù)電子產(chǎn)品都是觸碰式按鍵,可以把流水燈的按鍵設(shè)計(jì)成觸摸式,實(shí)現(xiàn)商品現(xiàn)代化;8項(xiàng)目總結(jié)基于單片機(jī)的流水燈系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),充分運(yùn)用了LED燈通過(guò)MSP430單片機(jī)為控制核心,多個(gè)中斷程序控制其亮滅,來(lái)實(shí)現(xiàn)多樣化的亮滅樣式,從而使單一的LED燈變得多元化。主要利用的知識(shí)點(diǎn)有中斷操作、單片機(jī)原理知識(shí)等,并利用C語(yǔ)言編程,最后制作出一個(gè)完善的作品,該作品再經(jīng)過(guò)一定的功能完善和外觀(guān)制作,符合現(xiàn)代化商場(chǎng)和各市場(chǎng)的裝飾,更有利于推廣。附錄1電路設(shè)計(jì)原理圖(參考)附錄2PCB設(shè)計(jì)原理圖(參考)附錄3關(guān)鍵程序(參考)功能(1)子程序:voideffect1(){ inti,j; for(i=0;i<=8;i++) { P2OUT|=(1<<i);//1左移i位 delay_ms(200);//延時(shí)200MS } for(j=0;j<8;j++) {//0x80右移j位 P2OUT&=~(0x80>>j); delay_ms(200);//延時(shí)200MS }}功能(2)子程序:voideffect2(){ inti,j; for(i=0;i<8;i++) { P2OUT=(1<<i);//1左移i位 delay_ms(200);//延時(shí)200MS } for(j=0;j<=8;j++) { P2OUT=(0x80>>j);//0x80右移j位 delay_ms(200);//延時(shí)200MS }}主程序:voidmain(void){WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門(mén)狗 Clock_init();//時(shí)鐘設(shè)置子程序 IO_init();//IO口子程序 //_EINT();__enable_interrupt();//中斷控制開(kāi)啟 while(1) {switch(a){case1:effect1();break;//a==1執(zhí)行效果1case2:effect2();break;//a==2執(zhí)行效果2case3:effect3();break;//a==3執(zhí)行效果3case4:effect4();break;//a==4執(zhí)行效果4case5:effect5();break;//a==5執(zhí)行效果5case6:effect6();break;//a==6執(zhí)行效果6default:P2OUT&=~0XFF;break;//a為其他結(jié)果時(shí)P2口清零} }}#pragmavector=PORT1_VECTOR__interruptvoidPort_1(void){//判斷P1.3按鍵是否按下 if(!(P1IN&BIT3)) { delay_ms(100);//延時(shí)消抖 if(!(P1IN&BIT3)) { a++; } if(a==7) {

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論