惠州學(xué)院單片機課程設(shè)計報告_第1頁
惠州學(xué)院單片機課程設(shè)計報告_第2頁
惠州學(xué)院單片機課程設(shè)計報告_第3頁
惠州學(xué)院單片機課程設(shè)計報告_第4頁
惠州學(xué)院單片機課程設(shè)計報告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設(shè)計報告課題名稱: 單片機學(xué)習(xí)板的設(shè)計與制作 專 業(yè): 電氣信息工程 班 級: 12電氣信息(1)班 學(xué)生姓名: 黃志豪 學(xué) 號: 1207080618115 同組人員: 林穗極(22)、耿志超(06) 分組序號: 1 指導(dǎo)教師 : 謝珩 2014 年 12 月1摘要單片機被廣泛地應(yīng)用在工業(yè)自動化控制、智能儀器儀表、數(shù)據(jù)采集、通訊以及家用電器等領(lǐng)域。單片機以其與通用微機完全不同的發(fā)展模式,不斷滿足工業(yè)測控、惡劣環(huán)境下可靠運行的要求。、單片機已成為現(xiàn)代工業(yè)領(lǐng)域中不可缺少的重要角色。 單片機技術(shù)的發(fā)展速度十分迅速,速度更快、功能更強的16位、32位單片機以及陸續(xù)問世,但8位機,

2、特別是新一代高檔8位機具有優(yōu)異的性能,已能滿足大部分單片機應(yīng)用領(lǐng)域的需要,另外,它還具有可靠性高、外圍芯片配套、系統(tǒng)結(jié)構(gòu)簡單、應(yīng)用軟件豐富、技術(shù)成熟、開發(fā)應(yīng)用方便等優(yōu)點,在單片機市場中依舊據(jù)有一定地位。通過本次課程設(shè)計掌握單片機硬件和軟件方面的知識,更深入的了解單片機的實際應(yīng)用。關(guān)鍵詞:51單片機 C51程序 跑馬燈 數(shù)碼管 單片機音樂目錄摘要1第一節(jié) 引言31.1本設(shè)計任務(wù)和主要內(nèi)容31.1.1目標(biāo)31.1.2系統(tǒng)基本構(gòu)成31.1.3系統(tǒng)制作31.2基于51單片機系統(tǒng)學(xué)習(xí)板概述31.2.1A89S51單片機開發(fā)板硬件配置情況4第二節(jié) 系統(tǒng)主要硬件電路設(shè)計52.1 AT89C52單片機簡介52

3、.1.1 單片機AT89C52模塊52.1.2電源模塊62.1.3振蕩電路模塊72.1.4復(fù)位電路模塊722四位一體共陽LED數(shù)顯82.3 LED 燈電路9第三節(jié) 實驗系統(tǒng)軟件設(shè)計103.1八路LED流水燈實驗103.1.1設(shè)計內(nèi)容:103.1.2.proteus仿真下的8位流水燈103.1.3上機程序:113.1.4流程圖123.1.5調(diào)試結(jié)果及結(jié)論:123.2二位數(shù)碼管循環(huán)顯示0099的實驗123.2.1設(shè)計內(nèi)容:123.2.2電路圖:133.2.3上機程序:133.2.4流程圖153.2.5調(diào)試結(jié)果及結(jié)論:15第四節(jié)課程設(shè)計總結(jié)154.1實驗結(jié)果15 4 .1.1花樣

4、流水燈15 4.1.2簡易電子琴15 4.1.3數(shù)碼管動態(tài)掃描數(shù)顯16 4.2制作感受16參考文獻16附錄17 1. 制作元件172.學(xué)習(xí)板正面和反面實物照片18第一節(jié) 引言1.1本設(shè)計任務(wù)和主要內(nèi)容1.1.1目標(biāo)設(shè)計制作一個簡化的單片機學(xué)習(xí)板,并在該學(xué)習(xí)板上完成基本的單片機實驗。該設(shè)計以單片機課程同步實驗指導(dǎo)中的通用實驗板的為制作藍本,并加以適當(dāng)簡化,但仍保留模塊化的設(shè)計方法。1.1.2系統(tǒng)基本構(gòu)成1、電源模塊(P12):以USB接口供電,并安裝電源開關(guān)和電源指示等。2、CPU模塊(P22):單片機+時鐘及復(fù)位電路,構(gòu)成單片機最小系統(tǒng)。3、輸入輸出模塊(P86):并行I/O連接撥動開關(guān)、發(fā)光

5、二極管、數(shù)碼管等輸入、輸出設(shè)備。1.1.3系統(tǒng)制作在9*15cm萬用板上,通過合理布局,依次搭建上述3個模塊,最終構(gòu)成完整的單片機學(xué)習(xí)板,實現(xiàn)基本的單片機實驗。為了與單片機課程教學(xué)過程相銜接,并突出重點環(huán)節(jié),對單片機學(xué)習(xí)板的制作進行了必要的簡化,具體體現(xiàn)在:(1)USB接口實現(xiàn)單片機供電,由通用充電器保障電源質(zhì)量。(2)通用編程器(實驗室提供)實現(xiàn)單片機的編程,替代串行通信模塊。(3)并行I/O口實現(xiàn)單片機控制功能,實現(xiàn)單片機基本控制功能的實驗演示。系統(tǒng)簡化后,可靠性也得到一定程度的提高。1.2基于51單片機系統(tǒng)學(xué)習(xí)板概述本次課設(shè)所使用的單片機最小系統(tǒng)板包括以下器件:電源模塊:可以USB供電,

6、也可通過排針接獨立電源供電。通用異步串口,P3.0、P3.1、以及電源負(fù)極(TXD、RXD、GND)。各種顏色的LED發(fā)光二極管共9個,其中8個接于P1口做LED顯示,還有一個做電源燈顯示。四位一體共陽數(shù)碼管可以實現(xiàn)時鐘電路及動態(tài)掃描顯示。還有其他電阻系列特有的ISP在線編程,方便我們初學(xué)者的二次開發(fā),省去大量芯片燒寫時間。USB電源線供電和外接供電并存,方便學(xué)生在寢室使用.板上提供ISP、USB接口并將單片機的全部I/O引腳引出。51開發(fā)板使用ISP在線下載,直接把程序?qū)懙絾纹瑱C中,使用當(dāng)前最流行的KEILC51軟件,用戶無需再購買任何仿真器或編程器等開發(fā)工具,只要有一臺計算機,就可以實踐學(xué)

7、習(xí)單片機方面的知識;同時引出的單片機的32個I/O口可全部用于擴展,用戶可把自己設(shè)計的電路通過這32 個I/O口與單片機連接,方便用戶開發(fā)自己的產(chǎn)品,最大限度的為用戶節(jié)約學(xué)習(xí)成本和加快學(xué)習(xí)速度。1.2.1A89S51單片機開發(fā)板硬件配置情況1)AT89S512)MAX2323)8個LED燈4)8位撥動開關(guān)5)4位8段數(shù)碼管6)12M晶振1.2.2、AT89S51單片機實驗板配套實驗1)51開發(fā)板預(yù)燒程序2)按鍵中斷3)花樣燈4)流水燈5)跑馬燈6)數(shù)碼管7)數(shù)碼管時鐘第二節(jié) 系統(tǒng)主要硬件電路設(shè)計2.1 AT89C52單片機簡介MCS-51是美國Intel公司生產(chǎn)的一系列單片機的總稱,

8、包括多個品種,如8031、8051、8751、8032、80C52、8752等。其中8051是最典型的產(chǎn)品,其他單片機都是在其基礎(chǔ)上進行功能增減而來的,所以人們習(xí)慣于用8051來稱呼MCS-51系列單片機。Intel公司將MCS-51的核心技術(shù)授權(quán)給了多家公司,這些廠家生產(chǎn)的單片機在功能上或多或少有些改變,以滿足不同的需求,其中美國的ATMEL公司生產(chǎn)的AT89C51是曾經(jīng)在我國非常流行的51單片機。當(dāng)前AT89C51/52已經(jīng)停產(chǎn),其替代產(chǎn)品為AT89S51/52。深圳宏晶公司出品的STC89C51可以直接代替?zhèn)鹘y(tǒng)的AT89S51和AT89C51芯片,也可以代替菲利普、華幫等其他公司的89C

9、51,由于時代的發(fā)展,工藝的進步,STC89C51功能更強,壽命更長(4K字節(jié)Flash存儲器、128字節(jié)片內(nèi)RAM、支持ISP下載編程)2.1.1 單片機AT89C52模塊AT89C52 :8位單片機是MSC-51系列產(chǎn)品的升級版,有世界著名半導(dǎo)體公司ATMEL在購買MSC-51®設(shè)計結(jié)構(gòu)后,利用自身優(yōu)勢技術(shù)(掉電不丟數(shù)據(jù))閃存生產(chǎn)技術(shù)對舊技術(shù)進行改進和擴展,同時使用新的半導(dǎo)體生產(chǎn)工藝,最終得到成型產(chǎn)品。與此同時,世界上其他的著名公司也通過基本的51內(nèi)核,結(jié)合公司自身技術(shù)進行改進生產(chǎn),推廣一批如51F020等高性能單片機。AT89C52片內(nèi)集成256字節(jié)程序運行空間、8K字節(jié)Fla

10、sh存儲空間,支持最大64K外部存儲擴展。根據(jù)不同的運行速度和功耗的要求,時鐘頻率可以設(shè)置在0-33M之間。片內(nèi)資源有4組I/O控制端口、3個定時器、8個中斷、軟件設(shè)置低能耗模式、看門狗和斷電保護??梢栽?V到5.5V寬電壓范圍內(nèi)正常工作。不斷發(fā)展的半導(dǎo)體工藝也讓該單片機的功耗不斷降低。同時,該單片機支持計算機并口下載,簡單的數(shù)字芯片就可以制成下載線,僅僅幾塊錢的價格讓該型號單片機暢銷10年不衰。根據(jù)不同場合的要求,這款單片機提供了多種封裝,本次設(shè)計根據(jù)最小系統(tǒng)有時需要更換單片機的具體情況,使用雙列直插DIP-40的封裝。圖1: DIP-40封裝89C52引腳圖2.1.2電源模塊本系統(tǒng)的電源模

11、塊由USB接口、電源開關(guān)、電源指示燈、濾波電路等組成。實物圖如下:圖2:電源模塊實物圖 2.1.3振蕩電路模塊振蕩電路由一個12M的晶振和兩個22pf的電容所組成,原理圖如下:圖3:震蕩電路原理圖2.1.4復(fù)位電路模塊復(fù)位電路是維持單片機最小系統(tǒng)運行的基本模塊。復(fù)位電路通常分為兩種:上電復(fù)位和手動復(fù)位。 圖4.1: 上電復(fù)位 圖4.2: 手動復(fù)位有時系統(tǒng)在運行過程中出現(xiàn)程序跑飛的情況,在程序開發(fā)過程中,經(jīng)常需要手動復(fù)位。所以本次設(shè)計選用手動復(fù)位。AT89C52系列大片級為高電平復(fù)位,在復(fù)位引腳RST上接一電容到VCC,再接一電阻到GND,由此形成一個RC充放電路。圖5 最小系統(tǒng)結(jié)構(gòu)圖22四位一

12、體共陽LED數(shù)顯8段數(shù)碼管屬于LED 發(fā)光器件的一種,分為8 段:A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點位,還包括一個公共端COM 端。從電氣上,8 段數(shù)碼管又分為共陰和共陽兩種。共陰指數(shù)碼管的公共端接負(fù)極,而各段接正極;共陽則正好相反。如果有多個數(shù)碼管,它們的各段輸入一般都分別接在一起,公共端分開。開發(fā)板上采用的是4位一體的共陽數(shù)碼管。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是每個數(shù)碼管的8 段輸入各自分開,其COM 口電平一直有效。它的優(yōu)點是控制方便,顯示穩(wěn)定,但要占用較多的I/O口。動態(tài)顯示

13、的原理是,各個數(shù)碼管的段輸入相應(yīng)位接在一起,共同占用8 位數(shù)據(jù)線;公共端分開,利用掃描和人視覺上的短暫停留性,依次給出各個數(shù)碼管COM 端使能信號,并同時給出各數(shù)碼管的數(shù)據(jù)。它的優(yōu)點是占用I/O 口少,但控制較靜態(tài)顯示復(fù)雜。一般在數(shù)碼管較多的情況下都采用動態(tài)顯示。本實驗板使用的是4位一體的共陽數(shù)碼管,共12腳,其中8腳公用是8段顯示,另4腳是對應(yīng)于4個數(shù)碼管。圖6四位一體共陽數(shù)顯電路2.3 LED 燈電路一般發(fā)光二極管的工作電流是十幾毫安至幾十毫安,正向壓降為1.3V-2.5V。有一些低電流的發(fā)光二極管的工作電流可以降至2MA,而亮度與正常發(fā)光二極相同,

14、當(dāng)然價格會高一些。所有發(fā)光二極管在電路中一般都要串一個電阻用來限流。發(fā)光二極管的電流不同,亮度也不同,并且壽命也會受到影響,這個電流通常就是由接入的電阻來調(diào)整。 51開發(fā)板的發(fā)光二極管串聯(lián)了一個1k的電阻后接在5V 的電壓上。LED 燈電路接在單片機的P1口上。LED燈的陽極接電源,陰級接單片機的I/0 口,因此是低電平驅(qū)動,只要單片機在相應(yīng)引腳給出低電平,LED 就會發(fā)光。第三節(jié) 實驗系統(tǒng)軟件設(shè)計3.1八路LED流水燈實驗3.1.1設(shè)計內(nèi)容:八路發(fā)光二極管輪流點亮的實驗,也就是通常所說的流水燈實驗,首先讓我們來完成必須的硬件部分,我們需要焊接上8個發(fā)光

15、二極管和8個限流電阻(本設(shè)計中用排阻代替),可以參考下面的原理圖和實物圖像進行操作,需要注意的是LED是有極性的,引腳長的為正極,引腳短的為負(fù)極,負(fù)極和單片機P1的I/O連接,正極與排阻并連接到電源正極一側(cè),如果接錯那么相應(yīng)的那一路可能在實驗中不會點亮了。3.1.2.proteus仿真下的8位流水燈.圖8流水燈電路圖3.1.3上機程序:ORG 0000HSTART:MOV R2,#8MOV A,#01H ; 先讓第一個發(fā)光二極管點亮LOOP:MOV P1,A; 從P1口輸出到發(fā)光二極管LCALL DELAYRL A ; 循環(huán)左移DJNZ R2,LOOP ; 判斷移動是否超過8 位,未超過繼續(xù)循

16、環(huán) LJMP START ; 重做 DELAY:MOVR5, #5 ; 延時0.5秒子程序DEL1: MOVR6, #200DEL2: MOVR7, #126DEL3: DJNZR7, DEL3 DJNZR6, DEL2 DJNZR5, DEL1RET END3.1.4流程圖開始R2=8,A=1P1=A延時0.2SA左移一次R2=R2-1R2=0?是否圖9流程圖3.1.5調(diào)試結(jié)果及結(jié)論:八路發(fā)光二極管輪流點亮匯編語言的一大優(yōu)勢就是能夠精確控制程序的執(zhí)行時間,這在編寫一些對時序要求嚴(yán)格的外圍器件驅(qū)動時由為重要!3.2二位數(shù)碼管循環(huán)顯示0099的實驗3.2.1設(shè)計內(nèi)容:8段數(shù)碼管顯示.兩位數(shù)碼管顯

17、示00-99依次循環(huán)(動態(tài)掃描方式).p0做LED顯示數(shù)據(jù)輸出口。P2控制數(shù)碼管個位數(shù)和十位數(shù)顯示.用單片機進行數(shù)碼顯示應(yīng)具有顯示器件;應(yīng)用最廣泛的是8段數(shù)碼管。8段數(shù)碼管從內(nèi)部接線上分共陽和共陰兩種。在電路設(shè)計時應(yīng)根據(jù)情況決定采用共陽或共陰,其基本原則是:若單片機IO口直接驅(qū)動數(shù)碼管個段,最好采用共陽數(shù) 碼管,因為51單片機IO口輸出高電平時輸出的電流很小,數(shù)碼管不會太亮;若數(shù)碼管是通過驅(qū)動芯片與單片機相連的,就要看驅(qū)動芯片對數(shù)碼管極性的要求。3.2.2電路圖:3.2.3上機程序:; T10_1_LED.ASMPORT EQU 0CFA0HBUF EQU 23H ;存放計數(shù)值SBF EQU

18、22H ;存放秒值MBF EQU 21H ;存放分值CSEG AT 0000H LJMP STARTCSEG AT 401BH LJMP CLOCKCSEG AT 4100HSTART: MOV R0,#40H ;40H-45H是顯示緩沖區(qū),依次存放 MOV A,#00H ;分高位、分低位,0A,0A(橫線) MOV R0,A ;以及秒高位、秒底位 INC R0 MOV R0,A INC R0 MOV A,#0AH MOV R0,A INC R0 MOV R0,A INC R0 MOV A,#00H MOV R0,A INC R0 MOV R0,A MOV TMOD,#10H ;定時器1初始化

19、為方式1 MOV TH1,#38H ;置時間常數(shù),延時0.1秒 MOV TL1,#00H MOV BUF,#00H ;置0 MOV SBF,#00H MOV MBF,#00H SETB ET1 SETB EA SETB TR1DS1: MOV R0,#40H ;置顯示緩沖區(qū)首址 MOV R2,#20H ;置掃描初值,點亮最左邊的LED6DS2: MOV DPTR,#PORT MOV A, #00 MOVX DPTR, A MOV A,R2 ;向位數(shù)據(jù)口P1輸出位顯碼 CPL A MOV P1,A MOV A,R0 ;得到的段顯碼輸出到段數(shù)據(jù)口 ACALL TABLE MOVX DPTR,A C

20、ALL DELAY ;延時一小段時間 CALL DELAY CALL DELAY INC R0 ;顯示緩沖字節(jié)加一 CLR C MOV A,R2 RRC A ;顯碼右移一位 MOV R2,A ;最末一位是否顯示完畢?,如無則 JNZ DS2 ;繼續(xù)往下顯示 MOV R0,#45H MOV A,SBF ;把秒值分別放于44H,45H中 ACALL GET DEC R0 ;跳過負(fù)責(zé)顯示"-"的兩個字節(jié) DEC R0 MOV A,MBF ;把分值分別放入40H,41H中 ACALL GET SJMP DS1 ;轉(zhuǎn)DS1從頭顯示起TABLE: INC A ;取與數(shù)字對應(yīng)的段碼 MO

21、VC A,A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH, 07H, 7FH,6FH, 40H GET: MOV R1,A ;把從分或秒字節(jié)中取來的值的高 ANL A,#0FH ;位屏蔽掉,并送入緩沖區(qū) MOV R0,A DEC R0 MOV A,R1 ;把從分或秒字節(jié)中取來的值的低 SWAP A ;位屏蔽掉,并送入緩沖區(qū) ANL A,#0FH MOV R0,A DEC R0 ;R0指針下移一位 RETCLOCK: MOV TL1,#0AFH ;置時間常數(shù) MOV TH1,#3CH PUSH PSW PUSH ACC INC BUF ;計數(shù)加一 MOV A,BU

22、F ;計到10否?沒有則轉(zhuǎn)到QUIT退出中斷 CJNE A,#0AH,QUIT MOV BUF,#00H ;置初值 MOV A,SBF ADD A,#1 ;秒值加一,經(jīng)十進制調(diào)整后放入 DA A ;秒字節(jié) MOV SBF,A CJNE A,#60H,QUIT ;計到60否?沒有則轉(zhuǎn)到QUIT退出中斷 MOV SBF,#00H ;是,秒字節(jié)清零 MOV A,MBF ADD A,#1 ;分值加一,經(jīng)十進制調(diào)整后放入 DA A ;分字節(jié) MOV MBF,A CJNE A,#60H,QUIT ;分值為60否?不是則退出中斷 MOV MBF,#00H ;是,清零QUIT: POP ACC POP PSW

23、 RETI ;中斷返回DELAY: MOV R3,#0FFH ;延時一小段時間DEL: NOP DJNZ R3,DELRETEND 3.2.4流程圖圖103.2.5調(diào)試結(jié)果及結(jié)論:8段數(shù)碼管顯示.兩位數(shù)碼管顯示00-99依次循環(huán)(動態(tài)掃描方式)。因為要顯示兩位不同的數(shù)字,所以必須用動態(tài)掃描的方法來實現(xiàn),就是先個位顯示1毫秒,再十位顯示1毫秒,不斷循環(huán),這樣只要掃描時間小于1/50秒,就會因為人眼的視覺殘留效應(yīng),看到兩位不同的數(shù)字穩(wěn)定顯示。第四節(jié)課程設(shè)計總結(jié)4.1實驗結(jié)果4 .1.1花樣流水燈程序循環(huán)輸出到單片機P1口,控制LED燈從LED1向LED8依次亮,到全部亮然后LED 燈從LED1向LED8依次前進單個亮,類似跑馬情形。 4.1.2簡易電子琴向蜂鳴器發(fā)送一定頻率的方波可以使蜂鳴器發(fā)出相應(yīng)的音調(diào),該實驗使蜂鳴器發(fā)出類似"多來咪發(fā)梭拉西"的音調(diào)。 4.1.3數(shù)碼管動態(tài)掃描數(shù)顯單片機P1端口用于數(shù)碼管顯示數(shù)值,P2端口部分用于選擇4位數(shù)碼管中的一位,從而實現(xiàn)一下現(xiàn)象:4位數(shù)碼管從第一位到第四位由0到F依次循環(huán)顯示4.2制作感受為期8周的單片機實訓(xùn)已經(jīng)圓滿結(jié)束了,通過這次實訓(xùn),我對單片機的用途有了一定的了解并且熟

溫馨提示

  • 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

提交評論