哈爾濱工業(yè)大學(xué)單片機(jī)實(shí)驗(yàn)報(bào)告_第1頁
哈爾濱工業(yè)大學(xué)單片機(jī)實(shí)驗(yàn)報(bào)告_第2頁
哈爾濱工業(yè)大學(xué)單片機(jī)實(shí)驗(yàn)報(bào)告_第3頁
哈爾濱工業(yè)大學(xué)單片機(jī)實(shí)驗(yàn)報(bào)告_第4頁
哈爾濱工業(yè)大學(xué)單片機(jī)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Harbin Institute of Technology單片機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告學(xué)生姓名: 學(xué)號(hào): 班級(jí): 專業(yè): 通信工程任課教師: 所 在 單 位: 電子與信息工程學(xué)院2013年5月軟件實(shí)驗(yàn)在軟件實(shí)驗(yàn)部分,通過實(shí)驗(yàn)程序的調(diào)試,使學(xué)生熟悉MCS-51的指令系統(tǒng),了解程序設(shè)計(jì)過程,掌握匯編語言設(shè)計(jì)方法以及如何使用實(shí)驗(yàn)系統(tǒng)提供的調(diào)試手段來排除程序錯(cuò)誤。實(shí)驗(yàn)一 清零程序一、實(shí)驗(yàn)?zāi)康?掌握匯編語言設(shè)計(jì)和調(diào)試方法,熟悉鍵盤操作。二、實(shí)驗(yàn)內(nèi)容 把200020FFh的內(nèi)容清零。三、程序框圖四、實(shí)驗(yàn)過程1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。在“P.”狀態(tài)下鍵入0640

2、,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se01.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí),每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查200020FFH中執(zhí)行程序前后的內(nèi)容變化。五、實(shí)驗(yàn)結(jié)果及分析實(shí)驗(yàn)前截圖:實(shí)驗(yàn)后截圖:實(shí)驗(yàn)源程序:ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(2000H)送DPTRLOO1: MOVX DPTR,A ;0送(DP

3、TR) INC DPTR ;DPTR+1 INC R0 ;字節(jié)數(shù)加1 CJNE R0,#00H,LOO1 ;不到FF個(gè)字節(jié)再清SJMP $END實(shí)驗(yàn)問題:2000H20FFh中的內(nèi)容是什么?解答:實(shí)驗(yàn)運(yùn)行之前,2000H20FFh中的內(nèi)容是隨機(jī)分配的;在執(zhí)行完清零程序之后,2000H20FFh中的內(nèi)容都變?yōu)?.-19-實(shí)驗(yàn)二拆字程序一、實(shí)驗(yàn)?zāi)康恼莆諈R編語言設(shè)計(jì)和調(diào)試方法。二、實(shí)驗(yàn)內(nèi)容把2000h的內(nèi)容拆開,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把數(shù)據(jù)送顯示緩沖區(qū)時(shí)用。三、程序流程四、實(shí)驗(yàn)步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝

4、載實(shí)驗(yàn)所需的代碼程序。在“P.”狀態(tài)下鍵入0660,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se02.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查20002002h中內(nèi)容變化情況。五、實(shí)驗(yàn)結(jié)果及分析 先保存2000H,在利用SWAP語句將2000H高低位交換;然后利用ANL語句把交換后的2000H單元的高位給屏蔽,將高低位交換后的2000H單元的地位送

5、給2001H,最后將2000H交換之前的高位屏蔽,低位送入2002H。實(shí)驗(yàn)前后截圖如下:六、實(shí)驗(yàn)源程序ORG 0000;MOV DPTR,#2000H;MOVX A,DPTR;ANL A,#0FH;MOV R1,A;MOVX A,DPTR;SWAP A;ANL A,#0FH;INC DPTR;MOVX DPTR,A;INC DPTR;MOV A,R1;MOVX DPTR,A;END;如果將2001h、2002h高位置1,程序該如何修改?修改方法很多,例如在2001H、2002H單元中加上1100H。實(shí)驗(yàn)三拼字程序一、實(shí)驗(yàn)?zāi)康倪M(jìn)一步掌握匯編語言設(shè)計(jì)和調(diào)試方法。二、實(shí)驗(yàn)內(nèi)容把2000h、2001h

6、的低位分別送入2002h高低位,一般本程序用于把顯示緩沖區(qū)的數(shù)據(jù)取出拼裝成一個(gè)字節(jié)。三、程序流程四、實(shí)驗(yàn)步驟1、LED環(huán)境在“P.”狀態(tài)下按"0EV/UN",裝載實(shí)驗(yàn)所需的代碼程序。在“P.”狀態(tài)下鍵入0680,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se03.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2002h內(nèi)容變化情況。五、

7、實(shí)驗(yàn)結(jié)果及分析 實(shí)驗(yàn)前后截圖如下:六、實(shí)驗(yàn)源程序ORG 0000H; MOV DPTR,#2000H; MOVX A,DPTR; ANL A,#0FH; SWAP A; MOV R1,A; INC DPTR; MOVX A,DPTR; ANL A,#0FH; ORL A,R1; INC DPTR; MOVX DPTR,A; END;七、實(shí)驗(yàn)問答1、運(yùn)行程序后2002h的最終內(nèi)容是?從實(shí)驗(yàn)后的截圖中可以看出為:06.實(shí)驗(yàn)四數(shù)據(jù)區(qū)傳送子程序一、實(shí)驗(yàn)?zāi)康恼莆誖AM中的數(shù)據(jù)操作。二、實(shí)驗(yàn)內(nèi)容把R2、R3源RAM區(qū)首址內(nèi)的R6、R7字節(jié)數(shù)據(jù)傳送到R4、R5目的RAM區(qū)。三、程序流程四、實(shí)驗(yàn)步驟1、LED

8、環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。對(duì)R2、R3所定義的源地址單元從首址開始依次寫入00、11、22、0FF。在“P.”狀態(tài)下鍵入07B0,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se04.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵檢查由R4、R5所定義的目的地址單元。五、實(shí)驗(yàn)結(jié)果及分析實(shí)驗(yàn)前后截圖如下:六、實(shí)驗(yàn)源程序ORG 07B

9、0H MOV R2,#20H MOV R3,#00H MOV R4,#20H MOV R5,#90H MOV R6,#00H MOV R7,#00HSTART: CLR C MOV DPL,R3 MOV DPH,R2 ;建立源程序首址 MOVX A,DPTR ;取數(shù) MOV DPL,R5 MOV DPH,R4 ;目的地首址 MOVX DPTR,A INC R3 ;源地址加1 MOV A,R2 ACALL ADB MOV R2,A INC R5 ;目的地址加1 MOV A,R4 ACALL ADB MOV R4,A INC R7 ;轉(zhuǎn)移數(shù)加1 MOV A,R6 ACALL ADB MOV R6,

10、A CJNE R6,#00H,START CJNE R7,#2FH,START ADB: ADDC A,#00H CLR C RET END七、實(shí)驗(yàn)問答1、R4、R5所定義的目的地址單元內(nèi)容是什么?從截圖中可以看出 R4、R5中為:01 、09.實(shí)驗(yàn)六查找相同數(shù)個(gè)數(shù)一、實(shí)驗(yàn)?zāi)康氖煜R編語言編程。二、實(shí)驗(yàn)內(nèi)容在2000200Fh中查出有幾個(gè)字節(jié)是零,把個(gè)數(shù)放在2100h中。三、程序框圖四、實(shí)驗(yàn)步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。在2000200Fh的若干單元中填入零在“P.”狀態(tài)下鍵入0AA0,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2

11、、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se06.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2100h中是幾個(gè)單元數(shù)。五、實(shí)驗(yàn)結(jié)果及分析 實(shí)驗(yàn)前后截圖如下:六、實(shí)驗(yàn)源程序ORG 2000H;MOV R0,#0FH;MOV R1,#00H;MOV DPTR,#2000H;START:MOVX A,DPTR;JNZ LOOP;INC R1;LOOP:INC DPTR;DJNZ R0,START;MOV A,R1;

12、MOV DPTR,#2100H;MOVX DPTR,A;END;實(shí)驗(yàn)七無符號(hào)雙字節(jié)快速乘法子程序一、實(shí)驗(yàn)?zāi)康恼莆誐CS-51匯編語言程序設(shè)計(jì)方法。二、預(yù)備知識(shí)本程序是利用單字節(jié)的乘法指令,根據(jù)下面的公式進(jìn)行乘法運(yùn)算的:(R2 R3)×(R6 R7)= (R2)×28+(R3)×(R6)×28+(R7)= (R2)×(R6)×216+(R2)×(R7)+(R3)×(R6)×28+(R3)*(R7)三、實(shí)驗(yàn)內(nèi)容將(R2 R3)和(R6 R7)中雙字節(jié)無符號(hào)整數(shù)相乘,積送R4 R5 R6 R7中。四、程序框圖五

13、、實(shí)驗(yàn)步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。對(duì)R2、R3所定義的源地址單元從首址開始輸入無符號(hào)整數(shù)。在“P.”狀態(tài)下鍵入0970,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se07.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵檢查R4 R5 R6 R7中內(nèi)容。五、實(shí)驗(yàn)結(jié)果及分析 實(shí)驗(yàn)前后截圖如下:六、實(shí)驗(yàn)源程序ORG 000

14、0H MOV A,R3MOV B,R7MUL ABXCH A,R7MOV R5,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,AMOV A,R6MOV B,R3MUL ABADD A,R4XCH A,R6XCH A,BADDC A,R5MOV R5,AMOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADDC A,BMOV R4,ASJMP $END 七、實(shí)驗(yàn)問答1、寄存器R2、R3、R6、R7分別輸入01、10、11、10,運(yùn)行程序,R4、R6中的內(nèi)容是什么?解答

15、:0110H*1110H=122100H故R4:12 R6:00實(shí)驗(yàn)八多分支程序一、實(shí)驗(yàn)?zāi)康恼莆諈R編語言的編程。二、實(shí)驗(yàn)內(nèi)容編寫程序,根據(jù)送入的數(shù)據(jù)轉(zhuǎn)移運(yùn)行。三、程序框圖四、實(shí)驗(yàn)步驟1、LED環(huán)境在“P.”狀態(tài)下按“0EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。在20H中分次送入00、01、02、03。在“P.”狀態(tài)下鍵入0A10,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。2、PC環(huán)境在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se08.asm,用連續(xù)或單步方式運(yùn)行程序。3、運(yùn)行結(jié)果檢查(1)在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。(2)在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“

16、暫停按鈕”,使系統(tǒng)無條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后觀察每次運(yùn)行程序后,數(shù)碼管上數(shù)字循環(huán)情況。 六、實(shí)驗(yàn)源程序MAIN: MOV 20H,#00H MOV A,20H MOV DPTR,#SZ ;散轉(zhuǎn)首址 RL A ;(20)*2 JMP A+DPTR ;轉(zhuǎn)到(20)*2+DPTRSZ: AJMP LOOP0 AJMP LOOP1 AJMP LOOP2 AJMP LOOP3LOOP0: MOV 20H,#0C0H ;0字循環(huán) LJMP SOX0LOOP1: MOV 20H,#0F9H ;1字循環(huán) LJMP SOX0LOOP2: MOV 20H,#0A4H ;2字循環(huán) LJMP SOX0LOO

17、P3: MOV 20H,#0B0H ;3字循環(huán) LJMP SOX0 SOX0: MOV A,20H MOV R0,#0DCH MOV R1,#0DDH MOVX R0,A MOV A,#01HSOX1: MOVX R1,A ;MOV R2,#20H LCALL DELY RL A ;顯示子程序 SJMP SOX1 DELY: MOV R5,#1AHLP0: MOV R6,#7DHLP1: NOP NOP DJNZ R6,LP1 DJNZ R5,LP0RETEND實(shí)驗(yàn)十一二進(jìn)制轉(zhuǎn)換到BCD一、實(shí)驗(yàn)要求將給定的一個(gè)二進(jìn)制數(shù),轉(zhuǎn)換成二進(jìn)制編碼的十進(jìn)制(BCD)碼。二、實(shí)驗(yàn)?zāi)康恼莆蘸唵蔚臄?shù)值轉(zhuǎn)換算法,基本了解數(shù)值的各種表達(dá)方法。三、實(shí)驗(yàn)說明計(jì)算機(jī)中的數(shù)值有各種表達(dá)方式,這是計(jì)算機(jī)的基礎(chǔ)。掌握各種數(shù)制之間的轉(zhuǎn)換是一種基本功。四、程序框圖五、實(shí)驗(yàn)步驟1、在實(shí)驗(yàn)系統(tǒng)與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載、運(yùn)行PH51se1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論