




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上摘 要本設計著重在于分析計算器軟件和開發過程中的環節和步驟,并從實踐經驗出發對計算器設計做了詳細的分析和研究。本系統就是充分利用了G2452芯片的I/O引腳。系統以采用MSP430系列單片機G2452為中心器件來設計花樣LED流水燈系統,通過按鍵實現8個LED燈不同花樣式的閃爍。關鍵詞: 流水燈;單片機;按鍵;閃爍專心-專注-專業目錄基于單片機的流水燈系統設計與實現1 項目要求本項目花樣流水燈采用MSP430單片機為控制器件,用于各方面的裝飾,此花樣流水燈有8個LED燈,六種花樣燈光效果。(1)初始化后,執行8個LED燈從右至左逐次點亮,每隔0.2s亮一個LED燈,直
2、到8個LED燈全亮,再從左至右依次熄滅直到全滅,以此循環;(2)當按下按鍵后,執行8個LED燈從右至左每隔0.2s逐一亮滅,直到點亮最左邊一個燈后再從左至右每隔0.2s逐一亮滅,以此循環;2 項目分析和系統設計本系統分為硬件和軟件模塊。硬件上我們打算在單片機的不同的i/o中裝上一個流水燈來進行對流水燈進行控制。在程序方面,首先對msp430的i/o口進行的定義和設置,然后在去定義了一個delay進行延時功能,在用一個switch循環來使得流水燈不斷的循環亮滅?;恿魉疅舨捎肕SP430單片機為控制器件,用于各方面的裝飾,此花樣流水燈有8個LED燈,兩種花樣燈光效果。3 硬件設計本系統采用MSP
3、430單片機為控制核心進行設計,該流水燈系統共可分為兩個模塊:單片機選型模塊和LED流水燈模塊。 圖1 系統框圖3.1單片機選型模塊MSP430單片機是16位的單片機,采用了精簡指令集(RISC)結構,只有簡潔的27條內核指令,大量的指令則是模擬指令;眾多的寄存器以及片內數據存儲器都可參加多種運算。這些內核指令均為單周期指令,功能強,運行的速度快。圖2單片機選型模塊3.2 LED流水燈模塊要實現流水燈功能,我們只要將發光二極管LED1LED8 依次點亮、熄滅,8只LED燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由于人眼的視覺暫留效應以及單片機執行每條指令的時間很短,我們在控制二極管亮滅
4、的時候應該延時一段時間,否則我們就看不到“流水”效果了。且每一個LED燈于一個電阻串聯。電阻的作用就是對通過LED燈的電流進行一定的限制起到去LED燈進行的保護作用。使得其在高電壓的時候使得LED在電阻的保護下不會燒壞。此圖為共陰極接法,因此當LED_RED給高電平“1”時LED_RED亮;當LED_RED給低電平“0”時,LED_RED滅。圖3 LED流水燈模塊圖如圖3可知此原理圖的LED燈為共陰極的接法,因此我們只要給它一個高電平就能點亮此LED燈。3.3功能模式選擇模塊此設計有6種功能模式可以選擇:(1)初始化后,執行8個LED燈從右至左逐次點亮,每隔0.2s亮一個LED燈,直到8個LE
5、D燈全亮,再從左至右依次熄滅直到全滅,以此循環;(2)當按下按鍵后,執行8個LED燈從右至左每隔0.2s逐一亮滅,直到點亮最左邊一個燈后再從左至右每隔0.2s逐一亮滅,以此循環;功能(1): 功能(2): 圖4 流水燈的功能示意圖4 軟件設計4.1主程序本系統整體工作主要由單片機程序控制實現,其工作過程為:對端口進行初始化,在主程序中用不同的端口定義分別來點亮流水燈。再用switch語句來對不同的LED燈進行不同類型的流水燈效果。在用延時程序來實現每一個LED的亮滅。程序整體框架如下圖5所示。 圖5 程序流程圖4.2子程序一個完整的程序是由一個主程序和若干個子程序組成。在一個加工程序中,如果其
6、中有些加工內容完全相同或相似,為了簡化程序,可以把這些重復的程序段單獨列出,并按一定的格式編寫成子程序。主程序在執行過程中如果需要某一子程序,通過調用指令來調用該子程序,子程序執行完后又返回到主程序,繼續執行后面的程序段。本系統中所使用的子程序都是比較簡單的,用for語句實現循環之后再使用延時函數進行延時。子函數的功能流程圖如下:功能1流程圖: 功能2流程圖: 開始開始使LED燈左移一位點亮使被點亮的LED燈左移一位 延時延時最左邊LED燈是否點亮亮8個LED燈是否全亮使被點亮的LED燈右移一位使LED燈右移一位熄滅延時延時最右邊LED燈是否熄滅8個LED燈是否全滅圖6 功能程序流程框架圖5
7、系統調試本單片機的流水燈系統的設計分為硬件電路設計和軟件設計兩個部分,因此調試也分成兩部分進行調試。5.1硬件調試主要根據系統框圖和硬件原理設計進行原理的繪制、各參數的設置、電路板的制作,以及元器件的焊接等。具體如下:5.1.1 各單元電路,確認各單元電路鏈接無誤,尤其是關鍵元器件,一定要接保護電阻。(1)選擇合適規格的元器件,在放置期間前一定要檢查規格;(2)關鍵器件放置:在器件布置方面與其它邏輯電路一樣,應把相互有關的器件盡量放靠近些,這樣可以減少材料,更加美觀。5.1.2 PCB設計原則:在進行PCB設計時,必須遵守PCB設計的一般原則,并應符合要實現的效果設計的要求。(1)盡量采用印制
8、電路板,印制電路板不像萬用板一樣會有一定的接觸不好或者焊盤不穩和線路連接有問題的情況,印制電路板的制作可防止產生地電位差和元件之間的耦合。(2)元件面和焊接面應采用相互垂直、斜交、或者彎曲走線,避免相互平 導線盡量短,使用45°或者圓弧折線布線,不要使用90°折線,以減小高頻信號的發射。5.2程序調試在本系統中,主要分為主程序部分、中斷程序、子程序等。在調試過程中,按照程序功能一項項進行調試,首先確認主程序正確,在確認其他程序。調試方法主要跟蹤調試、斷點調試等等,可以參考相關專業書籍。5.1.1 CCSV5的打開步驟(1) 右鍵Code Composer Studio v5
9、快捷方式,左鍵打開。會出現如圖6所示界面:圖6 Code Composer Studio v5軟件加載界面(2)加載完畢之后會有如圖7所示界面出現:圖7 Code Composer Studio v5軟件打開界面(3)選擇Project->Import Existing CCS Eclipse Project,導入程序文件夾中的工程;具體操作如圖8:圖8 Code Composer Studio v5程序導入步驟圖5.3聯合調試整個系統的軟硬件都完成后,需要進行聯合調試,主要是針對系統設定的功能能否完成和完善進行調試。調試步驟:(1) 將PC和硬件電路通過USB線相連;(2) 選擇對該工
10、程進行編譯鏈接,生成.out文件。然后選擇,將程序下載到實驗板中。程序下載完畢之后,可以選擇 全速運行程序,也可以選擇單步調試程序,選擇F3查看具體函數。也可以程序下載之后,按下,軟件界面恢復到原編輯程序的畫面。再按下實驗板的復位鍵,運行程序。(調試方式下的全速運行和直接上電運行程序在時序有少許差別,建議上電運行程序)圖 9 聯合調試效果圖6 外延花樣流水燈的流水方式各式各樣,因此我們在以上功能基礎上,還能將程序稍作修改,使之有如下花樣流水效果。(1)在以上功能下,當再次按下此按鍵后,執行8個LED燈從中間2個開始每隔0.2向左右兩邊依次點亮,直到8個LED燈全亮,再由兩邊開始滅,直到全滅以此
11、循環;(2)第三次按下此按鍵之后,執行與上次相反的效果,以此循環;(3)第四次按下此按鍵之后,8個LED燈同時閃爍,時間間隔為0.1s;(4)第五次按下按鍵之后,依次執行前面五個程序的效果,以此循環。以上花樣流水燈的流水功能如圖10,功能(4)是前面幾種功能集中的效果。功能(1): 功能(2): 功能(3): 圖10 流水燈的功能示意圖功能1流程圖:功能2流程圖:開始開始點亮LED和LED點亮LED和LEDBIT1左移i位 BIT8 右移i位LED4左移i位 LED3右移i位延時延時8個LED燈是否全亮亮8個LED燈是否全亮LED4左移i位 LED3右移i位BIT左移i位 BIT 右移i位延時
12、延時個LED燈是否全滅個LED燈是否全滅 功能3流程圖:開始點亮所有LED燈延時狀態反轉圖11 功能程序流程框架圖7 項目演練對于本設計,尚可以進一步進行如下設計:(1)設計一個心形呼吸流水燈設計思路如下:運用MSP430g2553單片機(28PIN、TSSOP封裝)、74HC573鎖存器(20PIN、SOIC封裝)、TLV117穩壓組成。主要原理是利用430單片機產生PWM信號,通過573的使能控制一定數量的LED產生同節奏的“呼吸”效果。通過對產生PWM信號的寄存器的設置,可以得到程度不同的“呼吸”效果。(2)如今大多數電子產品都是觸碰式按鍵,可以把流水燈的按鍵設計成觸摸式,實現商品現代化
13、;8項目總結基于單片機的流水燈系統設計與實現,充分運用了LED燈通過MSP430單片機為控制核心,多個中斷程序控制其亮滅,來實現多樣化的亮滅樣式,從而使單一的LED燈變得多元化。主要利用的知識點有中斷操作、單片機原理知識等,并利用C語言編程,最后制作出一個完善的作品,該作品再經過一定的功能完善和外觀制作,符合現代化商場和各市場的裝飾,更有利于推廣。附錄1電路設計原理圖(參考)附錄2 PCB設計原理圖(參考)附錄3 關鍵程序(參考)功能(1)子程序:void effect1()int i,j;for(i=0;i<=8;i+)P2OUT |= (1<<i); / 1左移i位del
14、ay_ms(200); /延時200MSfor(j=0;j<8;j+) / 0x80右移j位P2OUT &= (0x80>>j);delay_ms(200); /延時200MS功能(2)子程序:void effect2()int i,j;for(i=0;i<8;i+)P2OUT = (1<<i); / 1左移i位delay_ms(200); /延時200MSfor(j=0;j<=8;j+)P2OUT = (0x80>>j); / 0x80右移j位delay_ms(200); /延時200MS主程序:void main(void) W
15、DTCTL = WDTPW + WDTHOLD; / 關閉看門狗Clock_init(); /時鐘設置子程序IO_init(); /IO口 子程序/_EINT(); _enable_interrupt(); / 中斷控制開啟while(1) switch(a) case 1: effect1();break; /a=1 執行效果1 case 2: effect2();break; /a=2 執行效果2 case 3: effect3();break; /a=3 執行效果3 case 4: effect4();break; /a=4 執行效果4 case 5: effect5();break;
16、/a=5 執行效果5 case 6: effect6();break; /a=6 執行效果6 default : P2OUT &= 0XFF;break; /a為其他結果時 P2口清零 #pragma vector=PORT1_VECTOR_interrupt void Port_1(void) /判斷P1.3按鍵是否按下 if(!(P1IN&BIT3) delay_ms(100); /延時消抖 if(!(P1IN&BIT3) a+; if(a=7) a=0; P1IFG&=(BIT3); /消除中斷標志外延功能(1)子程序:void effect3()int
17、i,j;for(i=0;i<=4;i+)P2OUT |= (BIT4<<i)+(BIT3>>i); /BIT4左移i位 BIT3 右移i位delay_ms(200); /延時200MSfor(j=0;j<=4;j+)P2OUT &= (0x01<<j)+(0x80>>j); /0x01 左移j位 0x50右移j位delay_ms(200); /延時200MS外延功能(2)子程序:void effect4()int i,j;for(i=0;i<=4;i+)P2OUT |= (0x01<<i)+(0x80>>i); /0x01 右移i位 0x80 右移 i位delay_ms(200); /延時200MSfor(j=0;j<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學五年級期末試卷(集錦12篇)
- 采石場股份買賣與礦山安全生產責任書
- 智能家居社區場地及智能家居租賃合同
- 房屋買賣合同催告與產權轉移合同
- 餐飲連鎖企業旗下特色餐廳品牌轉讓及經營管理合同
- 車輛質押融資與汽車改裝設計合同
- 知識產權代理授權委托書范本
- 拆遷補償安置及安置房銷售合同范本
- 2025私人借款合同書模板
- 2025版FIDIC合同主要條款深度解析
- 電氣控制柜面試題及答案
- 藥房藥品追溯管理制度
- 2025年初中學業水平考試地理模擬卷:地震、臺風等自然災害防治措施試題及答案
- 2025年中國柔性透明導電膜項目投資計劃書
- 中醫執業醫師資格考試《第一單元》真題及答案(2025年新版)
- 重癥醫學科醫院感染控制原則專家共識(2024)解讀
- 福建三明經開區控股集團有限公司子公司招聘筆試題庫2025
- 海洋垃圾資源化利用與環境影響評估-洞察闡釋
- 分公司收回協議書
- 虛擬現實技術的應用場景的試題及答案
- 企業內部審計與風險管理的互動試題及答案
評論
0/150
提交評論