單片機原理及應(yīng)用課程設(shè)計閃爍LED小燈的設(shè)計_第1頁
單片機原理及應(yīng)用課程設(shè)計閃爍LED小燈的設(shè)計_第2頁
單片機原理及應(yīng)用課程設(shè)計閃爍LED小燈的設(shè)計_第3頁
單片機原理及應(yīng)用課程設(shè)計閃爍LED小燈的設(shè)計_第4頁
單片機原理及應(yīng)用課程設(shè)計閃爍LED小燈的設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、長春大學(xué)課程設(shè)計報告課程名稱:單片機原理及應(yīng)用課程設(shè)計設(shè)計題目: 系 別: 通信工程系 專 業(yè): 自動化專業(yè) 班 級: 07級通信11班 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 指導(dǎo)教師評語: 指導(dǎo)教師簽名: 年 月 日成績評定項 目權(quán)重成績樓建軍張藝文1、設(shè)計過程中出勤、學(xué)習(xí)態(tài)度等方面0.22、課程設(shè)計質(zhì)量與答辯0.53、設(shè)計報告書寫及圖紙規(guī)范程度0.3總 成 績 教研室審核意見:教研室主任簽字: 年 月 日教學(xué)系審核意見: 主任簽字: 年 月 日摘 要介紹一種led小燈控制系統(tǒng)的設(shè)計方法,以at-89c52單片機作為主控核心,與按鍵、排阻、電阻、電容等較少的輔助硬件電路相結(jié)合,利用軟件實現(xiàn)對le

2、d燈進行控制。本系統(tǒng)具有體積小、硬件少、電路結(jié)構(gòu)簡單及容易操作等優(yōu)點。能夠通過按鍵控制8個led小燈輪流點亮、逐點點亮、間隔點亮、來回點亮、兩邊向中間同時點亮。關(guān)鍵詞: led流水燈,at89c52單片機,模塊設(shè)計,流程圖目 錄(下面為宋體小四)設(shè)計要求11 方案論證與對比11.1 方案一31.2 方案二31.3 方案三51.4 方案對比與選擇62 原理圖的設(shè)計72.1 實現(xiàn)功能的機器代碼72.2 延時子程序的計算93 系統(tǒng)軟件工作流程圖104詳細(xì)儀器清單125 總結(jié)與思考及致謝14參考文獻(xiàn)15附錄一:原理圖16附錄二:at89c52單片機圖片17附錄三:程序18閃爍led小燈的設(shè)計設(shè)計要求主

3、要功能:本設(shè)計的閃爍小燈控制器,可使小燈輪流點亮,可使小燈輪流點亮、逐點點亮、間隔點亮,通過按鍵來進行切換。擴展部分:來回點亮、一個點亮兩次輪流點亮、兩邊的等同時向中間點亮也可用按鍵來切換。1 方案論證與對比按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。at89c52單片機是美國atmel公司生產(chǎn)的低電壓、高性能cmos 8位單片機,具有豐富的內(nèi)部資源:4kb閃存、128bram、32根i/o口線、2個16位定時/計數(shù)器、5個向量兩級中斷結(jié)構(gòu)、2個全雙工的串行口,具有4.255.50v的電壓工作范圍和024mhz工作頻率,使用at89c52單片機時無

4、須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。其具體硬件組成如圖1所示圖1 硬件組成圖(字體五號)(圖與文字間必須有一定間隔,約0.5行)從硬件組成圖中可以看出,如果要讓接在p1.0口的led1亮起來,那么只要把p1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反?如果要接在p1.0口的led1熄滅,就要把p1.0口的電平變?yōu)楦唠娖?;同理,接在p1.1p1.7口的其他7個led的點亮和熄滅的方法同led1。因此,要實現(xiàn)流水燈功能,我們只要將發(fā)光二極管led1led8依次點亮、熄滅,8只led燈便會一

5、亮一暗的做流水燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。單片機的應(yīng)用系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能看到流水燈循環(huán)點亮的現(xiàn)象,我們還需要告訴單片機怎么來進行工作,即編寫程序控制單片機管腳電平的高低變化,來實現(xiàn)發(fā)光二極管的一亮一滅。下面以最簡單的流水燈控制功能即實現(xiàn)8個led燈的循環(huán)點亮,來介紹實現(xiàn)流水燈控制的幾種軟件編程方法。1.1 方案一這是一種比較笨但又最易理解的方法,采用順序程序結(jié)構(gòu),用位指令控制p1口的每一個位輸出高低電平,從而來控制相應(yīng)

6、led燈的亮滅。只要循環(huán)執(zhí)行下面的程序就可以了,想要哪個燈亮就對對應(yīng)的哪個輸出口輸出低電平。要實現(xiàn)按鍵切換流水花樣,則可以用調(diào)用一個中斷程序處理。使某一小燈閃爍一次的程序如下: clr p1.0 ;p1.0輸出低電平,使led1點亮acalldelay ;調(diào)用延時子程序setbp1.0 ;p1.0輸出高電平,使led1熄滅其原理圖如下圖2:圖2 位控法原理圖(字體五號,圖中的字為10磅)1.2 方案二在上個程序中我們是逐個控制p1端口的每個位來實現(xiàn)的,因此程序顯得有點復(fù)雜,下面我們利用循環(huán)移位指令,采用循環(huán)程序結(jié)構(gòu)進行編程。我們在程序一開始就給p1口送一個數(shù),這個數(shù)本身就讓p1.0先低,其他位

7、為高,然后延時一段時間,再讓這個數(shù)據(jù)向高位移動,然后再輸出至p1口,這樣就實現(xiàn)“流水”效果啦。由于8051系列單片機的指令中只有對累加器acc中數(shù)據(jù)左移或右移的指令,因此實際編程中我們應(yīng)把需移動的數(shù)據(jù)先放到acc中,讓其移動,然后將acc移動后的數(shù)據(jù)再轉(zhuǎn)送到p1口,這樣同樣可以實現(xiàn)“流水”效果。具體編程如下所示,程序結(jié)構(gòu)確實簡單了很多。原理框圖如圖1所示。(紅色部分無需另起一行。)圖 3 方案二原理圖1.3 方案三。(匯編程序按下面的格式寫,c語言要體現(xiàn)層次感,,附錄要求相同)匯編程序:org 0000h ;偽指令,指定程序從0000h開始存放 ljmp main ;跳轉(zhuǎn)指令,程序跳轉(zhuǎn)至mai

8、n處執(zhí)行 org 0030h ;偽指令,指定程序從0030h開始存放main: mov sp, #60h ;給堆棧指針賦初值 mov p1,#0ffh ;給p1口賦值 mov dptr,#table;查表light: mov r4,#42 ;設(shè)置循環(huán)次數(shù)loop: mov a,#42 ;給a賦初值 subb a,r4 ;將a的值與r4的值相減,結(jié)果存在a中 movc a,a+dptr ;將a+dptr的值所對應(yīng)的table中的值賦給a mov p1,a ;將a的值賦給p1口 lcall del1s ;調(diào)用1s延時子程序 djnz r4,loop ;判斷r4是否為0,不為0跳轉(zhuǎn),為0順序執(zhí)行 l

9、jmp light ;跳轉(zhuǎn)指令,跳轉(zhuǎn)至light處繼續(xù)執(zhí)行此程序沒有實現(xiàn)按鍵控制的功能,每一種花樣依次運行下去。c語言程序:void main( ) int a; if (a3) w=a+b; .while (a10) w=a-b; 1.4 方案對比與選擇以上方案中,位控法思維簡單明了但程序過長,不適合編寫。循環(huán)移位法簡短,且實現(xiàn)以上功能方便。查表法可隨心所欲實現(xiàn)流水燈的花樣變化,但要實現(xiàn)按鍵很麻煩。顯然用第二種方案循環(huán)移位法最合適。2.1 實現(xiàn)功能的機器代碼花樣變化如下表1所示:(圖和表內(nèi)容應(yīng)與文字對齊)表1 花樣顯示表序號花樣(一)花樣(二)花樣(三)花樣(四)花樣(五)花樣(六)1111

10、111101111111011111110111111100111111011111110211111101111111011111101111111110101111011111110031111101111111011111011111111110111011011111110004111101111111011110111111111111011110011111110000511101111111011111111110111111011111001111110000061101111111011111111101111111101111011011110000007101111111

11、011111111011111111101111011110110000000801111111011111110111111111110111011111100000000091111111001111111111111101110111101111110111111101011111101101111111111101111101111101111011111110011111110111101111111101111110111111101101111111000121111011111101111101111111101111111100111111100001311101111111

12、1011111111101101111111110011111100000141101111111111011111101111011111111011011110000001510111111111111011101111101111111101111011000000016011111111111111001111111011111110111111000000000花型(一):輪流點亮,即led小燈像流水一樣點亮下去 ,當(dāng)8個led小燈點亮完畢后,又從第一個開始點亮。花型(二):來回點亮,即led小燈像流水一樣點亮下去 ,當(dāng)8個led小燈點亮完畢后,又從后面開始往前面輪流點亮,就這樣來回

13、點亮下去?;ㄐ停ㄈ洪g隔點亮,即隔一個小燈亮一下?;ㄐ停ㄋ模阂粋€燈亮兩次輪流點亮,即一個小燈閃爍兩次,這樣輪流點亮下去?;ㄐ停ㄎ澹簝蛇呄蛑虚g點亮,即有兩個小燈從兩邊同時向中間點亮,然后又從中間向兩邊點亮?;ㄐ停褐瘘c點亮,即led小燈一個一個依次點亮。2.2 延時子程序的計算延時子程序的延時計算問題,對于程序delay: mov r5,#2dz1: mov r7,#250dz2: mov r6,#250 djnz r6,$ djnz r7,dz2 djnz r5,dz1 ret查指令表可知 mov,djnz 指令均需用兩個機器周期,而一個機器周期時間長度為1211.0592mhz,所

14、以該段程序執(zhí)行時間為:(公式用mathtype寫,標(biāo)號右對齊,公式居中) (1+2502)250+25022+22+21211.059200272.9ms (1)由(1)可知:延時時間為0.27秒,所以每一個燈隔0.27秒就閃爍一次,因為掃描按鍵也調(diào)用了延時程序,所以當(dāng)s2-1鍵按下時最少時間也需要0.27秒才會跳到下一種流水花樣,要是小于0.27秒則不作出反應(yīng)。4 詳細(xì)儀器清單表格2 儀器清單序號類型數(shù)量1單片機板2塊2100uf 電容1個310 uf 電容1個4100 uf極性電容1個5100k電阻3個610k電阻1個329 針串口蓋1個5 總結(jié)與思考及致謝為期兩周的單片機課程設(shè)計已經(jīng)接近

15、尾聲了。記得剛拿到設(shè)計課題時,覺得這個題目太簡單了,不就是一個花樣流水燈嗎!非常熟悉的東西啊。可是當(dāng)真正投入設(shè)計時,很多問題出來了。在這次設(shè)計中遇到的問題及解決方法:(1)在實現(xiàn)流水燈的功能時,要保證每一個燈都亮,必須認(rèn)真仔細(xì)的進行每一步的測試。(2)程序調(diào)試時也出現(xiàn)了許許多多的問題,雖然程序本身的問題不大,但由于粗心錄入程序時,將程序敲錯,比如將0(零)和字母o 混淆,還有中文標(biāo)點符號和英文標(biāo)點符號混淆等。這樣的錯誤很難發(fā)現(xiàn),以至于花費了很多時間。通過本次課程設(shè)計,不僅使我將課本上學(xué)到的理論知識的到了實踐,從而鞏固了知識。還使我了解了一個完整的系統(tǒng)是怎樣開發(fā)的。也了解到單片機的強大功能,同時

16、也知道在開發(fā)系統(tǒng)時基礎(chǔ)知識的重要性。在這里我特別感謝伍鐵斌老師和侯海良老師對我們孜孜不倦的輔導(dǎo)以及同學(xué)們熱心的幫助,同時也感謝學(xué)校給我們這樣好的機會來學(xué)習(xí)單片機設(shè)計。參考文獻(xiàn)1 朱定華,戴汝平.單片微機原理與應(yīng)用.(m) 北京:清華大學(xué)出版社,20032 張鑫,單片微機原理與應(yīng)用。北京,電子工業(yè)出版社,2005.83徐煜明,韓雁.單片機原理及接口技術(shù)m.北京:電子工業(yè)出版社,2005.14萬光毅,嚴(yán)義,邢春香.單片機實驗與實踐教程m.北京:北京航空航天大學(xué)出版社,2006.45蔡明文,馮先成,.單片機課程設(shè)計.武漢:華中科技大學(xué)出版社,2007.3(參考文獻(xiàn)一律左對齊)附錄一:原理圖附錄二:a

17、t89c52單片機圖片附錄三:程序 org 0000h start: mov r2,#0 mov r4,#0feh mov r3,#0fehmov r1,#0mov p1,#0ffhstart1: ljmp j28 jb p3.3,j20 acall relayj20:jnb p3.3,jjjcjne r2,#1,j21j21:jc j1cjne r2,#2,j22j22:jc j2cjne r2,#3,j23j23:jc j3cjne r2,#4,j24j24:jc j4cjne r2,#5,j25j25: jc j5cjne r2,#6,j27j27: jc j28jjj: inc r2c

18、jne r2,#6,$+3jc j10mov r2,#0j10: jnb p3.3,$jmp start1j1: mov p1,r3acall relaymov a,r3rr amov r3,ajmp start1j2: mov p1,r3acall relayjnb p1.0,j9mov a,r3rr amov r3,ajmp start1j9: mov p1,r3acall relayjnb p1.7,j2mov a,r3rl amov r3,ajmp j9j3: mov p1,r3 acall relayjnb p1.0,j8jnb p1.1,j7mov a,r3rr arr amov r3,ajmp start1j8: mov a,r3rr amov r3,ajmp start1j7: mov a,r3rr arr arr amov r3,ajmp start1j4: mov p1,0ffh acall relay mov p1,r3 acall relay mov p

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論