單片機(jī)課程設(shè)計,單片機(jī)控制流水燈(共21頁)_第1頁
單片機(jī)課程設(shè)計,單片機(jī)控制流水燈(共21頁)_第2頁
單片機(jī)課程設(shè)計,單片機(jī)控制流水燈(共21頁)_第3頁
單片機(jī)課程設(shè)計,單片機(jī)控制流水燈(共21頁)_第4頁
單片機(jī)課程設(shè)計,單片機(jī)控制流水燈(共21頁)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE 鄭州科技(kj)學(xué)院 單片機(jī)課程設(shè)計題 目 單片機(jī)控制(kngzh)流水燈 學(xué)生(xu sheng)姓名 X X X 專業(yè)班級 電氣工程及其自動化X班 學(xué) 號 201XXXX 院 (系) 電氣工程學(xué)院 指導(dǎo)教師 X X 完成時間 201X年XX月XX日 目 錄 TOC o 1-1 h z u HYPERLINK l _Toc388814472 1 設(shè)計(shj)的目的 PAGEREF _Toc388814472 h 2 HYPERLINK l _Toc388814473 2 設(shè)計(shj)的任務(wù)與要求 PAGEREF _Toc388814473 h 2 HYPERLINK l _To

2、c388814474 3 設(shè)計方案與論證(lnzhng) PAGEREF _Toc388814474 h 3 HYPERLINK l _Toc388814475 4 元器件介紹44.1 單片機(jī) HYPERLINK l _Toc388814477 5 硬件電路設(shè)計8 HYPERLINK l _Toc388814478 6 軟件設(shè)計10 HYPERLINK l _Toc388814479 7 硬件的制作與調(diào)試128 HYPERLINK l _Toc388814480 總結(jié)13 HYPERLINK l _Toc388814481 參考文獻(xiàn)14附錄1 總體電路原理圖 HYPERLINK l _Toc3

3、88814481 15附錄2 實物圖 HYPERLINK l _Toc388814481 15 引言(ynyn) 基于(jy)單片機(jī)的LED流水燈的應(yīng)用十分(shfn)廣泛,由單片機(jī)作為的核心控制器,通過按鍵實現(xiàn)控制功能和數(shù)據(jù)輸入是非常普遍的。通常在所需按鍵數(shù)量不多時,系統(tǒng)常采用獨(dú)立式按鍵。這種按鍵的電路配置靈活,軟件結(jié)構(gòu)簡單。由于實際應(yīng)用中,不同系統(tǒng)對按鍵的要求不同,因此,對按鍵程序的設(shè)計要考慮全面,以便更好地完成按鍵所設(shè)定的功能,簡述了該系統(tǒng)中一些重要芯片的基本工作原理,著重論述了硬件線路各個模塊的設(shè)計思想。進(jìn)而熟練掌握相關(guān)專業(yè)基礎(chǔ)知識的綜合應(yīng)用,提高學(xué)生的實際動手和設(shè)計能力。 本系統(tǒng)是基

4、于AT89C51系列單片機(jī)為核心的LED流水燈設(shè)計,實現(xiàn)12個LED燈變化方向和速度的可調(diào)。 1 設(shè)計的目的1、使自己在學(xué)習(xí)理論知識的同時與實際操作相結(jié)合,從而提高自己動手操作的能力。2、可以培養(yǎng)自己自主學(xué)習(xí)的能力,自己可以查閱資料,從而提高自己的知識儲備。3、可以提高自己的動手能力,提前為以后走向社會,適應(yīng)社會而做準(zhǔn)備。4、在自己動手的同時,遇到不懂的可以請教老師,可以查閱資料,也可以通過自己的思考解決問題,這些都可以提高自己對理論知識的理解和對課外知識的擴(kuò)展,從而提高以后工作的社會競爭力。5、自己通過自己的努力而完成的作品會有一種(y zhn)巨大的成就感,會讓自己更喜歡這門學(xué)科,從而以后

5、更加好好學(xué)習(xí)這門學(xué)科。2 設(shè)計(shj)的任務(wù)與要求1、通過(tnggu)單片機(jī)實現(xiàn)對LED燈進(jìn)行閃爍控制。2、學(xué)會實物的設(shè)計和制作。3、能夠自己設(shè)計仿真電路。4、通過電路方案的分析、論證和比較,設(shè)計計算和選取元器件,初步掌握簡單實用電路的分析方法和工程設(shè)計方法,提高電子電路的設(shè)計和實驗?zāi)芰Α?、了解與課題有關(guān)的電子電路以及元器件的工程技術(shù)規(guī)范,能按設(shè)計任務(wù)書的要求,完成設(shè)計任務(wù),正確地反映設(shè)計與實驗的成果,正確地繪制電路圖。3 設(shè)計方案與論證.本方案以AT89C52單片機(jī)作為主控核心,按鍵控制電路,流水燈顯示電路以及單片機(jī)最小系統(tǒng)等模塊組成的核心主控電路。利用軟件編程燒錄程序到單片機(jī)來實現(xiàn)對

6、LED流水燈進(jìn)行控制,首先搭建單片機(jī)最小系統(tǒng),包括電源電路,手動復(fù)位電路,時鐘電路。時鐘電路才用內(nèi)部時鐘方式,手動復(fù)位電路采用按鍵電平復(fù)位方式。再根據(jù)要求在P2口串接12個發(fā)光二極管作為輸出設(shè)備,分別通過限流電阻接電源,在P3口串接2個獨(dú)立按鍵,作為輸入設(shè)備。通過獨(dú)立按鍵控制LED燈的閃爍和移動及速率變化。同時在P1口連接一個數(shù)碼管顯示電路,用于自動計時,實現(xiàn)自動改變流水燈的樣式。 程序(chngx)部分設(shè)定T0為定時工作(gngzu)方式,T0每隔一定的時間掃描獨(dú)立按鍵,當(dāng)檢測到某個鍵按下時,在主函數(shù)(hnsh)中執(zhí)行相應(yīng)的程序。 4 元器件介紹4.1單片機(jī) 89C52是INTEL公司MCS

7、-51系列單片機(jī)中基本的產(chǎn)品,它采用ATMEL公司可靠的CMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于89C51增強(qiáng)型單片機(jī)版本,集成了時鐘輸出和向上或向下計數(shù)器等更多的功能,適合于類似馬達(dá)控制等應(yīng)用場合。89C52內(nèi)置8位中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、8k片內(nèi)程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可

8、通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。主要(zhyo)引腳:P0口:P0口是一個(y )8位漏極開路(kil)的雙向I/O口。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。P2口;P2口是具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。P3口:P3口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅(qū)動4個T

9、TL 邏輯電平。RST:復(fù)位輸入,當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將是單片機(jī)復(fù)位。 如圖4-1AT89C52單片機(jī)5 硬件(yn jin)電路設(shè)計5.1 硬件(yn jin)系統(tǒng) 硬件系統(tǒng)是指構(gòu)成微機(jī)系統(tǒng)的實體和裝置,通常由運(yùn)算器、控制器、存儲器、輸入(shr)接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實質(zhì)上是一個硬件的芯片,在實際應(yīng)用中,通常很難直接和被控對象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對象等硬件和軟件,才能構(gòu)成一個單片機(jī)應(yīng)用系統(tǒng)。本設(shè)計選用以STC89C52單片機(jī)為主控單元。5.2控制電路 如圖5-2所示控制(kngzh)電路圖根

10、據(jù)(gnj)單片機(jī)的功能和性質(zhì),這次課程設(shè)計實現(xiàn)花樣流水燈,實際上就是一個帶有十六個發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的。最小應(yīng)用系統(tǒng)分為時鐘電路和復(fù)位電路。從原理圖中可以看出,如果要讓接在P0.0口的D9亮起來(q li),那么只要把P0.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P0.0口的D9熄滅,就要把P0.0口的電平變?yōu)楦唠娖?;同理,接在P0.1P0.7口和P2.0P2.7的其他15個LED的點(diǎn)亮和熄滅的方法同D9。5.3 時鐘電路 如圖5-3時鐘(shzhng)電路圖 時鐘電路用于產(chǎn)生單片機(jī)工作(gngzu)所需要的時鐘信號

11、,單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按序進(jìn)行工作。在STC89C52芯片(xn pin)內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。 此電路采用12MHz的石英晶體。5.4 復(fù)位電路 電阻的作用是用于上電復(fù)位的,VCC以上電,由于電容兩端電壓不能突變,所以RST上為高電平,然后電容放電,RST就為低電平了,還可以用手動復(fù)位,此電路應(yīng)用自動復(fù)位。 如圖5-4所示復(fù)位(f wi)電路圖5.5顯示(xinsh)電路 單片機(jī)顯示(

12、xinsh)電路LED彩燈顯示電路,實際上是由8個發(fā)光二極管和8個電阻構(gòu)成的電路。發(fā)光二極管與電阻對應(yīng)串聯(lián),然后接在與之相對應(yīng)的P0口上。通過軟件編程對P0口輸出高低電平來實現(xiàn)不同的閃爍花型。由于發(fā)光二極管的導(dǎo)通電壓一般為1.7V以上,另外,他的工作電流根據(jù)型號不同一般為1mA到30mA,電阻選擇范圍100歐姆3千歐姆在此我們這里選用300歐姆的電阻。6 軟件設(shè)計6.1軟件流程圖開始P0.0-P0.7依次置為低電平延時一秒P2.0-P2.7依次置為低電平延時一秒P2.0-P2.7依次置為低電平延時一秒P0.0-P0.7依次置為低電平延時一秒 圖6.1 軟件(run jin)流程方框圖6.2軟件

13、設(shè)計 軟件(run jin)程序設(shè)計流水燈變化,使用的STC89C52單片機(jī)的P0口,點(diǎn)亮第一個發(fā)光(f un)二極管需要P0.0口置低電平,單片機(jī)上電后從0000H地址執(zhí)行,跳轉(zhuǎn)到主程序存放地址處,設(shè)置(shzh)主程序開始地址,設(shè)置堆棧起始地址為60H,ACC中裝入LED1亮的數(shù)據(jù)(二進(jìn)制的11111110),將ACC的數(shù)據(jù)送入P0口,調(diào)用延時子程序,將數(shù)據(jù)再移動7次就完成一個8位流水過程,ACC中裝入LED7亮的數(shù)據(jù)(二進(jìn)制的10111111),將ACC的數(shù)據(jù)送P0口,調(diào)用延時子程序,將數(shù)據(jù)再移動5次就完成一個6位流水過程,ACC中裝入所有燈都亮的數(shù)據(jù)(二進(jìn)制的00000000),ACC

14、中裝入所有燈都滅的數(shù)據(jù)(二進(jìn)制的11111111),將ACC中的數(shù)據(jù)左移一位,把ACC移動過的數(shù)據(jù)送P0口顯示,調(diào)用延時子程序,沒有移動夠7次繼續(xù)移動,移動完7次后跳到START2,將ACC中的數(shù)據(jù)右移一位,把ACC移動過的數(shù)據(jù)送P0口顯示,調(diào)用延時子程序,沒有移動夠5次繼續(xù)移動,移動完5次后跳到START3,把ACC移動過的數(shù)據(jù)送P0口顯示,調(diào)用延時子程序,跳到START4,把ACC移動過的數(shù)據(jù)送P0口顯示,調(diào)用延時子程序跳到START1,延時0.5S,子程序返回。延時程序:MOV:這是一條指令,意思是傳遞數(shù)據(jù)。從指令MOV R7,#250中來分析,R7是一個接受者,250是被傳遞的數(shù),傳遞

15、者在這條指令中被省略了(注意:并不是每一條傳遞指令都會省的,事實上大部份數(shù)據(jù)傳遞指令都會有傳遞者)。它的意義也很明顯:將數(shù)據(jù)250送到R7中去,因此執(zhí)行完這條指令后,R7單元中的值就應(yīng)當(dāng)是250。在250前面有個#號,這個#就是用來說明250就是一個被傳遞的東西本身,而不是傳遞者。DJNZ:DJNZ指令的執(zhí)行(zhxng)過程是這樣的,它將其后面的第一個參數(shù)中的值減1,然后看一下(yxi),這個值是否等于0,如果(rgu)等于0,就往下執(zhí)行,如果不等于0,就轉(zhuǎn)移,轉(zhuǎn)到第二個參數(shù)所指定的地方去,減一不為零轉(zhuǎn)移指令(dec 1 jump if not zero)。DJNZ指令有兩種格式:DJNZ

16、Rn,rel和DJNZ direct,rel,前者為雙字節(jié)指令,其中第二個字節(jié)存儲rel的相對地址,范圍是-128+127,所以轉(zhuǎn)移范圍很窄,所以轉(zhuǎn)移的位置為指令的當(dāng)前PC值加上rel;第二條指令的第三個字節(jié)也是存儲rel的,和第一條指令的轉(zhuǎn)移方式相同,都是PC+rel。DJNZ RN,REL 是一條件轉(zhuǎn)移指令,先將工作寄存器Rn中的數(shù)減“1”,判斷結(jié)果是否為“0”,不為“0”程序就跳轉(zhuǎn)到行標(biāo)為REL的地方執(zhí)行,否則,為“0”就不轉(zhuǎn)移,繼續(xù)執(zhí)行下一條指令。需要注意的是,每執(zhí)行一次DJNZ指令時,工作寄存器中的數(shù)會先減去1后,再判斷是否返回。例如,DJNZ Rn 如果Rn中原來是2,則執(zhí)行兩次D

17、JNZ后,就會去執(zhí)行下面一行,執(zhí)行這么多次同一條指令就是為了延時。7 硬件的制作與調(diào)試7.1硬件的制作第一步,用編輯(binj)程序把編制的源程序按照一定的書寫格式送到計算機(jī)中,編輯程序會根據(jù)使用人員的意圖對源程序進(jìn)行增、刪或修改。第二步,把送入的源程序翻譯成機(jī)器語言,即用編譯程序?qū)υ闯绦蜻M(jìn)行語法檢查并將符合語法規(guī)則的源程序語句翻譯成計算機(jī)能識別的“語言”。如果經(jīng)編譯程序檢查,發(fā)現(xiàn)有語法錯誤,那就必須(bx)用編輯程序來修改源程序中的語法錯誤,然后再編譯,直至沒有語法錯誤為止。第三步,使用計算機(jī)中的連接程序,把翻譯好的計算機(jī)語言程序連接起來,并扶植成一個計算機(jī)能真正運(yùn)行的程序。在連接過程中,一

18、般不會出現(xiàn)連接錯誤,如果出現(xiàn)了連接錯誤,說明源程序中存在子程序的調(diào)用混亂或參數(shù)傳遞錯誤等問題。這時又要用編輯程序?qū)υ闯绦蜻M(jìn)行(jnxng)修改,再進(jìn)行編譯和連接,如此反復(fù)進(jìn)行,直至沒有連接錯誤為止。第四步,將修改后的程序進(jìn)行試算,這時可以假設(shè)幾個模擬數(shù)據(jù)去試運(yùn)行,并把輸出結(jié)果與手工處理的正確結(jié)果相比較。如有差異,就表明計算機(jī)的程序存在有邏輯錯誤。如果程序不大,可以用人工方法去模擬計算機(jī)對源程序的這幾個數(shù)據(jù)進(jìn)行修改處理;如果程序比較大,人工模擬顯然行不通,這時只能將計算機(jī)設(shè)置成單步執(zhí)行的方式,一步步跟蹤程序的運(yùn)行。一旦找到問題所在,仍然要用編輯程序來修改源程序,接著仍要編譯、連接和執(zhí)行,直至無邏

19、輯錯誤為止。也可以在完成后再進(jìn)行編譯。第五步,對分查找法。如果知道每個變量子程序內(nèi)若干個關(guān)鍵點(diǎn)上的正確值,則可用賦值語句或輸入語句在程序中的關(guān)鍵點(diǎn)附近“注入”這些變量的正確值,然后檢查程序的輸出。如果輸出結(jié)果是正確的,則表示錯誤發(fā)生在前半部分,否則,不妨認(rèn)為錯誤在后半部分。這樣反復(fù)進(jìn)行多次,逐漸逼近錯誤位置。將寫好的程序下載到單片機(jī)后,發(fā)現(xiàn)燈沒有亮,檢查程序沒有問題,就用萬能表測試,硬件部分,也沒有連錯,又從新下載程序,燈就按照(nzho)預(yù)計的開始流水點(diǎn)亮。8 總結(jié)(zngji) 在本次設(shè)計的過程中,我們發(fā)現(xiàn)了很多問題,遇到了很多麻煩,有的問題其實很簡單,主要是因為知識的掌握程度不夠,拓展知

20、識欠缺,這就要求我們在以后的學(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),并且應(yīng)該多讀一些課外的文獻(xiàn),只靠課本上的知識遠(yuǎn)遠(yuǎn)不夠,更重要的是我們要學(xué)會把書本中學(xué)到的知識和實際電路聯(lián)系起來,用時間鞏固理論,用理論優(yōu)化實踐,這不論是對我們以后的就業(yè)還是學(xué)習(xí),都會起到很大的促進(jìn)和幫助。在焊接過程中,我們意識到細(xì)心和嚴(yán)謹(jǐn)?shù)木袷潜夭豢缮?,通過本次課程設(shè)計,鞏固了我們學(xué)過的專業(yè)知識,也使我們把理論與實踐從真正意義上結(jié)合了起來,考驗了我們借助互聯(lián)網(wǎng)搜索,查閱相關(guān)文獻(xiàn)資料,從中可以自我檢測,認(rèn)識到自己哪方面有欠缺,以便在日后(rhu)的學(xué)習(xí)中得以改進(jìn),提高,我會記住這次經(jīng)歷,在以后的工作中一定會走得更遠(yuǎn)。 參考文獻(xiàn)1張毅剛.MCS-51單片機(jī)原理(yunl)及應(yīng)用J.哈爾濱工業(yè)大學(xué)出版社,2003.9:33452楊恢先.黃輝(hun hu)先.單片機(jī)原理(yun

溫馨提示

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

評論

0/150

提交評論