MCS51單片機原理及應用實驗報告_第1頁
MCS51單片機原理及應用實驗報告_第2頁
MCS51單片機原理及應用實驗報告_第3頁
MCS51單片機原理及應用實驗報告_第4頁
MCS51單片機原理及應用實驗報告_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機原理與應用實驗報告 學校: 合肥工業大學 姓名: 呂增威 學號: 20082606 班級:計算機科學與技術08-03班目 錄前 言 -3第一章 MC51 單片機原理及應用軟件實驗 實驗1:系統認識實驗-6實驗6:數據排序實驗(驗證性)- 11第二章 MC51 單片機原理及應用硬件實驗實驗1:廣告燈實驗-15實驗2:P1 口實驗(驗證性)-21實驗16:串口轉并口實驗 -32實驗心得與體會-37前 言一單片機原理實驗的任務單片機原理實驗是單片機原理及應用課程的一部分,它的任務是:1.通過實驗進一步了解和掌握單片機原理的基本概念、單片機應用系統的硬件設計及調試方法。2.學習和掌握單片機應用系

2、統程序設計技術。3.提高應用計算機的能力及水平,提高邏輯動手能力。二實驗設備單片機實驗所使用的設備由計算機、單片機實驗開發系統(,其中計算機是軟件開發平臺,主要完成程序編輯、編譯、下載程序等任務;單片機實驗開發系統是硬件開發平臺,是基于51/196 單片機的擴展實驗系統。計算機和單片機實驗開發系統之間是通過RS232 串行接口進行通信的。單片機實驗開發系統配有開關電源、單片機、晶振、存儲器、可編程并行接口芯片、鍵盤顯示控制芯片、24 鍵鍵盤、六位LED 數碼管顯示、A/D 及D/A 轉換芯片、簡單輸出口2個、簡單輸入口1 個、邏輯電平輸入開關、發光二極管顯示電路,并配有小直流電機、步進電機、繼

3、電器、音響等驅動電路。在計算機軟件的控制下可完成單片機基本實驗及綜合設計性實驗項目。所有的MCS51 單片機原理及應用課程實驗都是在這套實驗系統上完成的。Keil與Proteus的聯合使用:Keil C51 6.02的使用:1.打開Keil,新建一個程序文件(File-New),在上面輸入要調試的程序,保存為*.asm格式;2.新建一個工程(project-Newproject),保存,在CPU選項了選擇Atmel-AT89C51,點擊確定,在彈出的選項框中選擇“否”。3.在Project Workspace選框中,選擇你新建的工程,右擊,選擇Options for Target'ta

4、rget(你起的工程名)',選擇Debug,選擇PROTEUS VSM MONITOR 51 DRIVER,點擊確定.4.在Source Group上右擊,選擇Add files to group'Source Group(工程名)',在文件類型里選擇All files (*.*),找到剛才保存的.asm文件.5.調試程序: 選擇 編譯連接程序,保證其全部正確.Keil C51 6.02實用的一些技巧:1.     Keil中的 可以使project workspace窗口隱藏或顯示, 可以使output window(

5、即下面的調試窗口)窗口隱藏或顯示.2.     使用proteus畫電路圖時,有一些常用的元件的位置:AT89C51在Microprocessor ICs中, 可按下的開關在Switches&ReplaysBUTTON,電阻在Resistors里,或非門在Modelling Primitives-XOR_2中,其他的邏輯電路門也可以在這里找到,發光二級管OptoelectronicsLED中, 3電源和接地:找到工具欄中的 按鈕,里面的POWER就是電源,GROUND就是地,記得選擇完之后要把按鈕按回 ,不然就不能繼續選擇其他的元件.4

6、選好的元件的下方 的這四個按鈕可以調整元件的方向,以方便電路圖的繪制5在畫電路圖的連線時,如果只在起點和終點單擊的話,有時會出現斜線,即不美觀.又影響對電路圖的檢查,在畫線時,如果想在某地拐彎,就在那個地方單擊一下第一章MC51 單片機原理及應用軟件實驗實驗1:系統認識實驗1 實驗目的(1)了解ZY15MCU12BC2單片機實驗開發裝置的接線與安排。掌握實驗箱內撥位開關KF,KC的使用方法。(2)通過實例程序的編輯、編譯、鏈接及調試,熟悉Keil C51軟件的使用方法和基本操作。(3)教育學生愛撫實驗裝置,養成良好的實驗習慣。2 試驗設備(1)ZY15MCU12BC2單片機實驗開發裝置一臺。(

7、2)PC系列微機及相關軟件。3 試驗內容(1)使用串行通訊電纜將實驗開發裝置與PC機相連。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟件進入uVision2集成開發環境。(3) 確認撥位開關KF的開關為A端,確認89C51處于仿真狀態。(4) 在uVision2開發平臺上建立并編輯示例程序:計算N個數求和程序。其中N個數分別放在片內RAM區50H到55H單元中,N=6,求和的結果放在片內RAM區03H(高位)和04H(低位)單元中。題目:1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?(5) 編譯連接源程序。(6) 在Ke

8、il uVision2主菜單窗口進入DEBUG調試環境,打開存儲器窗口輸入數據至片內RAM區50H到55H單元中,全速運行程序,并檢查程序的運行結果,即觀察在存儲器窗口片內RAM區03H(高位)、04H(低位)單元中的數據是否正確。(7) 實驗結束,撤出接線,將一切整理復原。4. 實驗源程序org0000hljmp mainorg 1000hmain:mov r2,#06hmovr3,#00hmov r4,#00hmov r0,#50hl1:mov a,r4add a,r0mov r4,ainc r0clr aaddc a,r3mov r3,adjnz r2,l1end5. 實驗心得本次試驗我

9、了解ZY15MCU12BC2單片機實驗開發裝置的接線與安排。掌握實驗箱內撥位開關KF,KC的使用方法。通過實例程序的編輯、編譯、鏈接及調試,熟悉了eil C51軟件的使用方法和基本操作。6.實驗部分截圖 實驗六.數據排序實驗1 實驗目的(1)理解并掌握排序程序的設計方法。(2)掌握減法指令的功能,并聯系其使用。(3)逐步提高調試程序的能力及編寫程序的能力。2 試驗設備(1)ZY15MCU12BC2單片機實驗開發裝置一臺。(2)PC系列微機及相關軟件。3 試驗內容(1)使用串行通訊電纜將實驗開發裝置與PC機相連。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟件進入uVision2集成開發

10、環境。(3)編寫程序,實現從平臺連續輸入六個數,數碼管將馬上從小到大的順序顯示這六個數。要求被排序的數放在70H到7FH單元中。(4)編譯連接源程序。(5)調試程序,在存儲器窗口輸入被排序數放在70H到7FH單元中,全速運行程序,并檢查程序員的運行結果,觀察是否正確。(5)若程序中出現錯誤,則可以采用單步分段調試,排除程序錯誤,直到正確為止。4.實驗源程序ORG 0000HLJMP MAINORG 1000HMAIN:MOV R0,#20HMOV R1,#30HCLR CMOV A,R0ADD A,R1 MOV R0,#22HMOV R0,ADEC R0INC R1MOV A,R0ADDC A

11、,R1 MOV R0,AMOV R0,#20HJC L1MOV R0,#00HLJMP LASTL1:MOV R0,#01HLAST:NOP END6. 實驗心得 實驗結果是70H-7fh的數字按照順序排列顯示,在這個實驗中我掌握了冒泡法排序的基本方法,單步和斷點分段調試的過程中看到程序是如何執行的6.實驗部分截圖第二章MC51 單片機原理及應用硬件實驗實驗一:廣告燈實驗1 實驗目的(1) 熟悉ZY15MCU12BC2單片機實驗開發裝置的試驗箱,學會選用其功能電路,連接成實驗需要的系統。掌握實驗箱內撥位開關KFKC使用。(2) 加深了解MCS-51單片機P1端口的應用方法。(3) 學習編寫接口

12、應用程序。 2.試驗設備(1)ZY15MCU12BC2單片機實驗開發裝置一臺。(2)PC系列微機及相關軟件。3 試驗內容(1)使用串行通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟件進入uVision2集成開發環境,確認89C51處于仿真狀態。(3)用試驗箱上的發光二極管L0到L7模擬外界各種場合的動態廣告燈,將試驗箱上的發光二極管L0到L7分別與單片機的P1.0到P1.7相連。(4)編寫程序,實現從P1口輸出信號驅動發光二極管L0到L7模擬外界廣告燈動態點亮的功能。(5)在uVision2開發平臺上輸入程序,編譯、連接程序,

13、調試通過后將撥位開關KF撥至B端。(6)單步執行程序,觀察是否進入表格首地址。(7)單步執行程序,觀察發光二極管L0到L7的變化。(8)全速運行程序,觀察發光二極管L0到L7的變化,并注意程序將循環下去。(9)實驗結束,撤除接線,將一切整理復原。4.實驗源程序ORG 0000H MAIN:MOV DPTR,#TAB MOV R5,#71HLOOP:MOV A,#00HMOVC A,A+DPTRMOV P1,AMOV A,P1ACALL DELAYACALL DELAYINC DPTRDJNZ R5,LOOPLJMP MAINDELAY:MOV R7,#00HMOV R6,#00HDE:DJNZ

14、 R7,$DJNZ R6,DERETTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH DB 0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H DB 80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH DB 0FEH,0FFH,7FH,3FH,1FH,0FH,0F8H,0FCH DB 01H,00H,01H,03H,07H,0FH,1FH,3FH DB 7FH,0FFH,7EH,3CH,18H,00H,18H,3CH

15、DB 7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H DB 0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH DB 0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H DB 80H,40H,20H,10H,08H,04H,02H,01H,00H DB 01H,02H,04H,08H,10H,20H,40H,80H,00H DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH END5.實驗心得 廣告燈按照我的程序所給的

16、效果循環的有序的點亮,如果應用到廣告霓虹燈,的確可以到達璀璨的效果,程序的最后的TAB是最糾結的,你要按照效果一點一點的編寫十六進制的數字,換算出效果,可見真正的商業廣告的效果的確是很麻煩的一件事,通過這個實驗,我清楚地認識到了單片機的控制的靈活性,并不是在單片機上開發,而是在PC上開發,這樣就錯檢錯的能力很強了還可以軟件模擬,這個令我很受啟發,在以前的數字邏輯試驗中,我們也是用的PLC可編程器件。6.實驗部分截圖實驗二:P1端口應用實驗1. 實驗目的(1) 進一步熟悉ZY15MCU12BC2實驗箱上的資源,掌握實驗箱內撥位開關KF,KC使用。(2) 加深了解MCS-51單片機P1端口的應用方

17、法。(3) 學習編寫接口應用程序。 2.試驗設備(1)ZY15MCU12BC2單片機實驗開發裝置一臺。(2)PC系列微機及相關軟件。3 試驗內容(1)使用串行通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟件進入uVision2集成開發環境,確認89C51處于仿真狀態。(3)將試驗箱上的L0到L3接到P1.0到P1.3,開關K0到K3接到P1.4到P1.7。(4)編寫程序實現如下功能:撥動K0到K3,使L0到L3出現以下組合變化。K3 K2 K1 K0 L3 L2 L1 L00 0 0 0 全亮0 0 0 1 全暗0 0 1 0

18、 一燈亮其余燈暗并左環依0 0 1 1 一燈亮其余燈暗并右環依0 1 0 0 一燈暗其余燈亮并左環依0 1 0 1 一燈暗其余燈亮并右環依1 ? ? ? 顯示開關狀態Ki為0,Li燈亮要求:1) 設40H單元為標志單元,(40H)=0時開關狀態無變化,(40H)=FFH時開關狀態發生變化。2) 設41H單元為開關狀態緩沖器,讀入開關狀態和41H單元內容比較,相同時開關狀態無變化,不同是開關狀態有變化。3) 設42H單元為當前指示燈狀態。(4) 在uVision2開發平臺上輸入程序,編譯、連接程序,調試通過后將撥位開關KF撥至B端。(5) 根據準雙向口的特性,對P1口寫操作使燈L0到L7的狀態隨

19、寫入P1.0到P1.3的內容而變化;讀P1口的高四位,讀出內容隨開關狀態的變化而變化。如不對,則檢查開關K0到K3的接線,檢查K0到K3的電平是否隨開關狀態變化而變化。(6) 從開始運至BK1處,檢查A的內容是否對應開關狀態,接著單步運行程序,檢查是否轉到相應入口使L0到L3狀態產生相應的變化。(7) 全速運行程序至BK2,在檢查A的內容是否與開關狀態一致,如不對,則檢查前面對P1口的操作指令。(8) 全速運行程序實現所要求的功能。4.實驗源程序ORG 0000HSTRL: MOV A,P1 SWAP A ANL A,#0FH MOV 41H,A MOV 40H,#0FFHMLP0: CJNE

20、 A,#6,$+3 JNC PK6 MOV DPTR,#CTAB MOV R1,A RL A ADD A,R1 JMP A+DPTRCTAB: LJMP PK0 LJMP PK1 LJMP PK2 LJMP PK3 LJMP PK4 LJMP PK5PK6: MOV 42H,A LJMP MLP1PK5: MOV A,40H CJNE A,#0FFH,PK51 MOV 42H,#01 LJMP MLP1PK51: MOV A,42H LCALL RR7 ANL A,#0FH JNZ PK52 MOV A,#1PK52: MOV 42H,A LJMP MLP1PK4: MOV A,40H CJN

21、E A,#0FFH,PK41 MOV 42H,#1 LJMP MLP1PK41: MOV A,42H LCALL RL9 ANL A,#0FH JNZ PK42 MOV A,#1PK42: MOV 42H,A LJMP MLP1PK3: MOV A,40H CJNE A,#0FFH,PK31 MOV 42H,#0F7H LJMP MLP1PK31: MOV A,42H LCALL RR9 ANL A,#0FH CJNE A,#0FH,PK32 MOV A,#0F7HPK32: ORL A,#0F0H MOV 42H,A LJMP MLP1PK2: MOV A,40H CJNE A,#0FFH,

22、PK21 MOV 42H,0FEH LJMP MLP1PK21: MOV A,42H RL A ANL A,#0FH CJNE A,#0FH,PK22 MOV A,#0FEHPK22: ORL A,#0F0H MOV 42H,A LJMP MLP1PK1: MOV 42H,#0FH LJMP MLP1PK0: MOV 42H,#0MLP1: MOV A,42H ORL A,#0F0H MOV P1,A MOV R7,#0 MOV R6,#0DEL1: DJNZ R6,DEL1 DJNZ R7,DEL1 MOV A,P1 SWAP A ANL A,#0FH CJNE A,41H,MLP2 MOV

23、 40H,#0 LJMP MLP0MLP2: MOV 41H,A MOV 40H,#0FEH LJMP MLP0RR9: RR A RR ARR7: RR A RR A RR A RR A RR A RR A RR A RETRL9: RL A RL ARL7: RL A RL A RL A RL A RL A RL A RL A RET END5.實驗心得 試驗中我們把P1口作為輸入輸出口來測試以下的內容1.P1 口做輸出口,接八只發光二極管循環點亮。2.P1 口低四位接四只發光二極管L1-L4, P1 口高四位接開關K1-K4,編寫程序,將開關的狀態在發光二極管上顯示出來。在這次試驗中我認

24、識到課本上的關于P1口的介紹的知識P1 口為準雙向口,P1 口的每一位都能獨立地定義為輸出線或輸入線,作為輸入的口線,必須向鎖存器相應位寫入“1”,該位才能作為輸入。8031中所有口鎖存器在復位時均置為“1”,如果后來往口鎖存器寫入過“0”,再作為輸入時,需要向口鎖存器對應位寫入“1”。延時程序的編寫可以用兩種方法,一種是用定時器來實現,一種使用指令循環來實現。在系統時間允許的情況下可以采用后一種方法。6.實驗部分截圖實驗十六:串轉并實驗1. 實驗目的(1) 掌握51系列單片機串口工作方式0的應用。(2) 學習8位串行輸入和并行輸出的同步移位寄存器74LS164和8位并行輸入和穿行輸出的同步移

25、位寄存器74LS165兩個接口芯片的應用性能。(3) 研究單片機串行口如何用于擴展并行I/O口。2.試驗設備(1)ZY15MCU12BC2單片機實驗開發裝置一臺。(2)PC系列微機及相關軟件。3 試驗內容(1)使用串行通訊電纜將實驗開發裝置與PC機相連,確認撥位開關KF的位置。(2)開啟PC機及實驗開發裝置,啟動Keil C51軟件進入uVision2集成開發環境,確認89C51處于仿真狀態。(3)實驗步驟:1)通過單片機串口用一片8位串行輸入/并行輸出的同步移位寄存器74LS164擴展8位并行輸出口。2)通過單片機串口用一片8位并行輸入/串行輸出的同步移位寄存器74LS165擴展8位并行輸入

26、口。(4)將單片機的RXD端與74LS164的串行輸入端SERIAL(PA)相連,將單片機的TXD端與74LS164的脈沖CLOCK(PB)相連,74LS164的輸出Q0到Q7接發光二極管L8到L15。(5)調試程序:1)實驗采用終端方式調試,既目標程序裝入仿真器后,使操作界面進入終端方式。2)單步進入執行程序,打開Keil的寄存器窗口,觀察串口數據緩沖區SBUF里的值有何變化。3)單步執行程序,注意中斷標志T1的變化以及所亮的發光二極管的位置。4)全速運行程序,觀察發光二極管L8到L15的變化。4.實驗源程序 ORG 0000H SJMP MAIN ORG 0023H SJMP SBVMAI

27、N: MOV SCON,#00H SETB EA SETB ES MOV A,#80H MOV SBUF,A ;MOV SBUF,A ;MOV SBUF,A SJMP $SBV: ACALL DELAY CLR T1 RR A MOV SBUF,A RETiDELAY: MOV R7,#00H MOV R6,#00HDEL: DJNZ R7,$ DJNZ R6,DEL RET END5.實驗心得在實驗中我明白了串行口和并行口的相關知識8位串行輸入和并行輸出的同步移位寄存器74LS164和8位并行輸入和穿行輸出的同步移位寄存器74LS165兩個接口芯片的應用性能。知道了單片機串行口如何用于擴展并

28、行I/O口6.實驗部分截圖實驗總結體會在做單片機原理及應用試驗的實驗前,我以為不會難做,就像以前做物理實驗一樣,做完實驗,然后兩下子就將實驗報告做完.直到做完實驗跟幾個研究生學長交流時,我才知道其實并不容易做,但學到的知識與難度成正比,使我受益匪淺.在做實驗前,一定要把課本上的知識吃透,因為這是做實驗的基礎,否則,在老師講解時就會聽不懂,這將使你在做實驗時的難度加大,浪費做實驗的寶貴時間.比如keil的實驗,要清楚這個軟件的各種使用,如果不清楚,在做實驗時才去摸索,這將極大地浪費時間,使你事倍功半.做實驗時,一定要親力親為,務必要將每個步驟,每個細節弄清楚,弄明白,實驗后,還要復習,思考,這樣

29、,印象才深刻,記得才牢固,否則,過后不久你就會忘得一干二凈,這還不如不做.做實驗時,老師還會根據自己的親身體會,將一些課本上沒有的知識教給我們,拓寬我們的眼界,使我們認識到這門課程在生活中的應用是那么的廣泛. 還有動手這次實驗,使單片機原理及應用這門課的一些理論知識與實踐相結合,更加深刻了我對這門課的認識,鞏固了我的理論知識。不過這次實驗安排的時間與數據庫概論的時間正好沖突,結果兩個實驗跑來跑去的把精力都渙散了,希望以后老師在安排實驗的時候能夠互相商量下。通過這次單片機原理及應用的實驗,使我學到了不少實用的知識,更重要的是,做實驗的過程,思考問題的方法,這與做其他的實驗是通用的,真正使我們受益匪淺.實驗之后我有幸參加了老師的單片機的公交報站系統的小研討會,會議上我記錄下了學長老實們的一些實際開發單片機的小技巧,整理如下:(1)在元器件的布局方面,應該把相互有關的元件盡量放得靠近一些,例如,時鐘發生器、晶振、CPU的時鐘輸入端都易產生噪聲,在放置的時候應把它們靠近些。對于那些易產生噪聲的器件、小電流電路、大

溫馨提示

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

評論

0/150

提交評論