單片機實驗報告_第1頁
單片機實驗報告_第2頁
單片機實驗報告_第3頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、目錄時間:2021.03.01創作:歐陽語二實驗一1三、實驗二7四、實驗三11五、實驗四15實驗一定時/訃數器驗證實驗一、實驗目的熟悉定時/計數器TO的特點,學會合理選擇定時方式并能根據具體悄況 結合軟件的方式定時。二、實驗設備及器件IBM PC機一臺PROTEUS硬件仿真軟件Keil C51。三、實驗內容用AT89C51單片機的定時/計數器TO產生Is的定時時間,作為秒計數時 間,當Is產生時秒計數加1;秒計數到60時,自動從0開始。四、實驗要求要求采用Proteus軟件實現上述實驗。五、實驗步驟1. 打開Proteus ISIS編輯環境,按照表1-1所列的元件清單添加元件。元件名稱所屬類所

2、屬子類AT89C51Microprocessor8051 FamilyCAPCapacitorsGen ericCAP-ELECCapacitorsGen ericCRYSTALMiscellaneousRESResistorsGen eric7SEG-COM-CAT-GRNOptoelectronics7-Segment DisplaysPULLUPModeling PrimitivesDigitalMiscellaneous表1-1元件淸單元件全部添加后,在Proteus ISIS的編輯區域中按圖1-1所示的原理圖 連接硬件電路。C1 -vaoAto laimoiQU*AM 止mef2A(

3、fQP3.1W1Q.UM A*a P3XVAM gZRHYM TWXWtMS PXc? iu TXdxnt iftXTED RRmr RRWTTRSJ nf/Ti taiXTER.17 而TtXT圖1T電路原理圖2. 根據參考程序繪出流程圖,并輔以適當的說明。 流程圖如圖1-2所示:圖1-2程序流程圖3. 打開KeilpiVision-l,新建Ke訂項訂,選擇AT89C51單片機作為CPU,將參 考程序導入到Source Group 1中。在Options for Target對話窗口 中,選中Output選項卡中的Create HEX F訂e選項和Debug選項卡 中的/zUse: Prot

4、eus VSM Simulator選項。編譯匯編源程序,改止程序 中的錯誤。4. 在Proteus ISIS中,選中AT89C51并單擊鼠標左鍵,打開Edit Component 對話窗口,設置單片機晶振頻率為12MHz,在此窗口中的ProgramFile 欄中,選擇先前用Keil生成的.HEX文件。在Proteus ISIS的菜單欄中選 擇FileTSdve Design選項,保存設訃,在Proteus ISIS的菜單欄中, 打開Qebug下拉菜單,在菜單中選中Use Remote Debug Monitor選項, 以支持與Keil的聯合調試。5. 在Ke訂的菜單欄中選擇T)ebug-Std

5、rt/Stop Debug Session選項,或 者直接單擊工具欄中的Debug St art/St op Debug Session圖標,進 入程序調試環境。按怦了鍵,順序運行程序。調出Troteus ISIS界面 可以看到7段數碼管顯示從059s的計數值,每個數值顯示Is,如圖1-3 所示。C1*rJ_U1idXTAUFUIVP1XTAUFURE印腫仍russ強LMCP2SAir 苗” UM 21113runjn aftrofUw XTTFll.I5.WTU 1.0小5士士養-43丄R2R11I1三iRFfi1Tf:1. 6 口控制LED, Pl. 7控制LED的亮和滅(Pl. 7 接按

6、鍵,按下時LED亮,不按時LED滅)。四、實驗要求學會使用單片機的P1 口作10 口,如果有時間同學也可以利用P3 口 作10 口來做該實驗。五、實驗步驟1. 用導線把A2區的J61接口與D1區的J52接口相連。原理如圖2-1所示。圖2-1實驗二原理圖2. 先編寫一個延時程序。延時程序見程序1子程序DELAY。3. 將LED輪流亮的程序編寫完整并使用TKStudy ICE調試運行。LED輪流亮程序見程序1。調試運行結果:D1區LED輪流亮。4. 使用導線把A2區的J61接口的P1.0P1.6與D1區的J52接口的LED1LED7相 連,另外A2區J61接口的P1.7與D1區的J53的KEY1相

7、連。5. 編寫P1.7控制LED的程序,并調試運行。(按下K1看是否全亮)。P1.7控制LED的程序見程序2。調試運行結果:按下Pl7后D1區LED全滅。6. A2區J61接口的P1.7與D1區的J54的SW1相連。然后再使用TKStudy ICE運 行程序,查看結果。P1.7控制LED的程序見程序2。調試運行結果:按下Pl7后D1區LED全亮。六-實驗參考程序程序1:0000HMAIN0100HA,#OFFHORGUMPORGMAIN:MOVCLR CMAINLOOP:CALL DELAYRLC AMOV P1ZASJMP MAINLOOPDELAY: MOVR7,#0LOOP:MOVR6,

8、#0DJNZR6,$DJNZR6,$DJNZR6,$DJNZR7ZLOOPRETEND程序2:ORG 000HLJMP MAINORG 0100HMAIN: JB Pl. 7, SETLEDCLRLED:CLRP1.0CLR Pl. 1CLR Pl. 2CLR Pl. 3CLR Pl. 4CLR Pl. 5CLR Pl.6SJMPNfAINSETLED:SETB Pl. 0SETBPl.1SETBPl.2SETBPl.3SETBPl. 4SETBPl. 5SETBPl. 6SJMPMAINEXD七、實驗思考題1. 請同學思考一下,想出兒個實現以上功能的編程方法。程序1可利用單片機的定時計數器通

9、過選擇定時計數器工作方式和 預置初值設定延時時間,通過定時計數器產生的中斷在中斷程序中對A 進行移位后輸出至Pl 口。程序2可在判斷P1.7高低電平后根據判斷結果直接將#80H或#7F直接 送P1 口而不必逐位進行位操作。2. 請同學再思考一下,第二個程序中如果使用KEY1作為外部中斷控制LED 的亮和滅時,程序應如何修改。此時將KEY1接/INTO口,在主程序中開啟外部中斷設置外部中斷觸發 方式,通過中斷服務子程序控制LED亮滅。程序如下所示:ORG 000HLJMP MAINORG 0003H;中斷服務程序LJMP SETLEDMAIN: MOV SP, #40HSETBETO;開外部中斷

10、CLR ITO ;設置為電平觸發SETB EACLRLED:CLRP1.0CLR Pl. 1CLR Pl. 2CLR Pl. 3CLR Pl. 4CLR Pl. 5CLR Pl. 6SJMPCLRLEDSETLED:SETBP1.0SETBPl. 1SETBPl. 2SETBPl. 3SETBPl. 4SETBPl. 5SETB Pl. 6RETIEND丿I、 實驗總結及相關問題通過本次實驗掌握了使用TKStudy ICE進行硬件仿真調試的方法,在設置仿頁. 器驅動程序聲明時對C:Keil目錄下的Tools.ini文件添加描述時,由于添加的路徑 錯誤導致無法進行硬件仿真調試,修改為正確路徑后方

11、可在DEBUG窗口中的Use 選項中找到對應的選項。使用TKStudy ICE進行硬件仿貞調試相比本學期的電子系 統設計中用到的調試方法更快捷,使用更方便。與此同時,通過本次實驗對單片機的I/O控制有了更深入的了接,同時加深 入對單片機I/O編程的理解。實驗三串轉并I/O 口實驗一、實驗目的熟悉并掌握串轉并的I/O 口擴展方法。二、實驗設備及器件IBM PC機一臺DP-51PR0. NET單片機仿真器、編程器、實驗儀三合一 綜合開發平臺一臺三、實驗內容1. 寫程序,通過單片機的P1 口控制74HC164的串行輸入端口,實現串并轉 換。2. 驗證串并轉換數據的正確性。四、實驗要求熟悉串并轉換芯片

12、的工作原理,學會使用串并轉換芯片擴展單片機的I/O 口 資源。新入輸出ClearClockA BQaQpOIN 曲INB圖3-1實驗三原理圖2.運行編寫好的軟件程序,完成一次串并轉換。 實驗程序見實驗參考程序。2.使用C2區的邏輯筆或D1區的J52接口(LED指示燈)測試并行輸出數據Q0Q7數據 的正確性。調試運行結果:通過觀察LED的亮火情況可判斷完成一次串并轉換,且轉換結果 正確無誤。u六、實驗參考程序CLK EQUP1.0DINA EQU Pl. 1DINB EQU Pl. 2CLR164 EQU Pl. 3ORG 0000HLJMP MAINORG 01 OOHMAIN: MOV SP

13、,#60HNOPCLR CLKSETB DINBCLR CLR164SETB CLR164MOV A, #OFFHMOV R4, #08HSLCHG: RLCAMOVDINA, CSETBCLKNOPCLRCLKNOPDJNZR4,SLCHGSJMP SEND七-實驗思考題參考圖3-2電路圖,嘗試編寫軟件程序,實現8位LED流水燈的控制。圖3.2實驗原理圖可利用單片機的定時計數器通過選擇定時計數器工作方式和預置初 值設定延時時間,通過定時計數器產生的中斷在中斷程序中對A進行移 位。程序如下所示:CLK EQUP1.0DINA EQU P1.1DINB EQUP1.2CLR164 EQU P1.

14、3ORGOOOOHUMP MAINORGOOOBH;泄時器0中斷服務程序UMP SLCHGMAIN:MOV SP,#60HNOPCLRCLKSETBDINBCLRCLR164SETBCLR164MOVA,#OFFHMOVTMODZ#01H ;左時器0工作方式1MOV TH0z#18H ;送2ms時間常數MOVTLO,#OFCHSETBTRO ;開中斷SETBETOSETBEASJMP $SLCHG: MOVTHO,#18HMOVTLOZ#OFCHRLC AMOV DINA,CSETB CLKNOPCLR CLKRETI丿I、實驗總結及相關問題由于具有之前實驗的基礎所以本實驗基本沒碰到什么問題,

15、調試運行都符合 實驗要求,通過本次實驗對串并轉化程序的編寫有了一泄了解,通過編寫流水燈 程序加深了對單片機串并口的了解。實驗四繼電器控制實驗一、實驗目的加深理解繼電器的工作原理和特點,掌握利用單片機的10 口控制繼 電器的一般方法。二、實驗設備及器件IBM PC機一臺DP-51PR0. NET單片機仿真器、編程器、實驗儀三合一 綜合開發平臺一臺三、實驗內容1. 利用D1區的撥動開關和LED,學習繼電器的工作原理和特點。2. 編寫一段程序,用P1.0口控制繼電器,繼電器控制LED的亮和滅,(COM 與CLOSE連通時,一盞LED亮;不連通時該LED滅。COM與OPEN連通時,另 盞LED亮,不通

16、時該LED滅)。四、實驗要求學會繼電器的使用和利用單片機的10 口控制繼電器的方法。五、實驗步驟JP7 PEKTRLYVCCQ228550J9COM2UL0SE20PEN20PEN1 C0M1 U0SE1 QPEN2COM2 CL0SE2CL0SE10PEN1R73IKJ103123456C0N6圖4-1繼電器驅動控制電路圖1. 用短路帽短接JP7,使用導線把D1區J54接口的SW1與C7區J9接口的KJ (任 意一根針)相連接。2. 使用導線把D1區J52接口的LED1、LED2與C7區J103接口的0PEN1, CLOSE 1 分別相連,另外C7區J103接口的COM1接地(GND)。3.

17、 接好線后,同學可以撥動D1區的SW1撥動開關,觀察現象(撥到1時LED2 亮,撥到0時LED1亮),并得出結論。運行結果:撥到1時LED2亮,撥到0時LED1亮,說明每撥動一次開關改變 一次繼電器的狀態。4. 然后把C7區J9接口的KJ改接到A2區的J61接口的P10。再編寫一個程序程序(參考實驗二),使P1.0 口延時一段時間后改變電平值,來控制繼電器的開關。 實驗程序見實驗參考程序。調試運行結果:兩個LED交替變亮,繼電器狀態不斷改變。六、實驗參考程序ORG 0000HLJMP MAINORG 0100HMAIN: MOV R7, #0LOOP: MOV R6, #0DJNZR6,SDJNZR6,SDJNZR6, SDJNZR7, LOOPCPLP1.0SJMPMAINEND七、實驗思考題1. 請同學思考一下,改由0PEN2、COM2、CL0SE2時本實驗如何進行。同使用OPEN1、C0M1和CL0SE1時連接方法類似,把D1區J52接口的LED1、 LED2與C7區J103接口的OPEN2, CLOSE2分別相連,另外C7區J103接口的COM2 接地(GND)即可。2. 請同學再思考一下,繼電器的用途,并舉例說明。繼電器是一種電控制器件,是當輸入量(激勵量)的變化達到規左要求時, 在電氣輸岀電路中使被控量發生

溫馨提示

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

評論

0/150

提交評論