單片機實驗指導(dǎo)書 實驗一 系統(tǒng)認(rèn)識實驗一、實驗?zāi)康?/strong> 1、了解ZY15MCU12BC2單片機實驗開發(fā)裝置的接線與安排。掌握實驗箱內(nèi)撥位開關(guān)KF,KC的使用方法。 2、通過實例程序的編輯、編譯、鏈接及調(diào)試,熟悉Keil C51軟件的使用方法和基本操作。 3、教育學(xué)生愛護實驗裝置,養(yǎng)成良好的實驗習(xí)慣。 二、實驗設(shè)備 1、ZY15MCU12BC2單片機實驗開發(fā)裝置一臺。 2、PC機及相關(guān)軟件。 三、實驗內(nèi)容 1、使用串行通訊電纜將實驗開發(fā)裝置與PC機相連。 2、開啟PC機及實驗開發(fā)裝置,啟動Keil C51軟件進入uVision2集成開發(fā)環(huán)境。 確認(rèn)撥位開關(guān)KF的開關(guān)為A端,確認(rèn)89C51處于仿真狀態(tài)。 在uVision2開發(fā)平臺上建立并編輯示例程序:計算N個數(shù)求和程序。 其中N個數(shù)分別放在片內(nèi)RAM區(qū)50H到55H單元中,N=6,求和的結(jié)果放在片內(nèi)RAM區(qū)03H(高位)和04H(低位)單元中。 題目: 1)32H+41H+01H+56H+11H+03H=? 2)95H+02H+02H+44H+48H+12H=? 編譯連接源程序。 在Keil uVision2主菜單窗口進入DEBUG調(diào)試環(huán)境,打開存儲器窗口輸入數(shù)據(jù)至片內(nèi)RAM區(qū)50H到55H單元中,全速運行程序,并檢查程序的運行結(jié)果,即觀察在存儲器窗口片內(nèi)RAM區(qū)03H(高位)、04H(低位)單元中的數(shù)據(jù)是否正確。 實驗結(jié)束,撤出接線,將一切整理復(fù)原。 實驗源程序 org 0000h ljmp main org 1000h main: mov r2,#06h mov r3,#00h mov r4,#00h mov r0,#50h l1: mov a,r4 add a,@r0 mov r4,a inc r0 clr a addc a,r3 mov r3,a djnz r2,l1 end 實驗二 匯編指令實驗1.多字節(jié)十進制加法實驗一、實驗?zāi)康?/strong> 1、學(xué)習(xí)51運算指令的用法及對標(biāo)志位的影響。 2、學(xué)習(xí)循環(huán)程序編程方法。 3、掌握51內(nèi)部RAM和寄存器之間的關(guān)系。
二、實驗設(shè)備 ZY15MCU12BC2實驗箱,連接線若干,串口線,PC機。
三、實驗內(nèi)容 1、編寫多字節(jié)十進制加法程序,實現(xiàn)下式運算 : 4574+6728=11302 要求:被加數(shù)在片內(nèi)RAM區(qū)20H、21H單元; 加數(shù)在片內(nèi)RAM區(qū)30H、31H單元; 結(jié)果在片內(nèi)RAM區(qū)20H(最高位進位)、21H(高位)、22H(低位)單元。 結(jié)果:20H=1,21H =13,22H=02; 2、完成程序的設(shè)計、編輯、編譯、連接。 四、調(diào)試方法 進入DEBUG方式,打開存儲器Memory 1窗口,在窗口Address欄鍵入D:20H;點擊鼠標(biāo)右鍵,選擇最后一項Modify Memory ,輸入被加數(shù);在窗口Address欄鍵入D:30H;點擊鼠標(biāo)右鍵,選擇最后一項Modify Memory ,輸入加數(shù)。 2.整數(shù)十六進制轉(zhuǎn)十進制實驗一、實驗?zāi)康?/strong> 1、了解整數(shù)十六進制轉(zhuǎn)十進制的原理。 2、學(xué)會編程實現(xiàn)進制轉(zhuǎn)換。
二、實驗設(shè)備 ZY15MCU12BC2實驗箱,連接線若干,串口線,PC機。
三、實驗內(nèi)容 1、源文件的名稱為“ZYBTD.ASM”。 2、將“P00~P07”與“U7D0~U7D7”用八根線分別相連。 3、編寫并調(diào)試一個十六進制轉(zhuǎn)換為十進制數(shù)的程序,其功能為從ZY15MCU12BC2型的實驗箱鍵盤上輸入四位十六進制數(shù),轉(zhuǎn)換為6位十進制數(shù)并在實驗箱的顯示器上顯示出來。
四、實驗程序參考框圖如圖1所示 file:///C:\Users\金栗\AppData\Local\Temp\ksohtml\wps2281.tmp.png
圖1 十六進制轉(zhuǎn)十進制程序流程 注:框圖中延時1秒是為了看清顯示器上顯示的十六進制數(shù)和BCD碼結(jié)果
五、調(diào)試方法 1、全速運行至BK1,檢查40H,41H,3BH~3EH內(nèi)容是否為鍵入的數(shù)據(jù)。 2、從BK1全速運行至BK2,再從BK2運行到BK3,檢查3AH~3EH的BCD碼正確與否? 如有錯從BK2單步運行到BK3,檢查程序運行結(jié)果。 3、全速運行程序,每輸入4位十六進制數(shù),顯示6位BCD碼,用一組數(shù)據(jù)測試其程序的正確性。
3.查表實驗
一、實驗?zāi)康?/strong> 1、 了解編程中查表的原理。 2、 學(xué)會編寫查表程序。
二、實驗設(shè)備 ZY15MCU12BC2實驗箱,連接線若干,串口線,PC機。
三、實驗內(nèi)容 1、 源文件的名稱為“ZYTAB.ASM”。 2、 將“P00~P07”與“U7D0~U7D7”用八根線分別相連。 3、 編寫并調(diào)試一個查表程序,其功能為讀鍵盤輸入的0~F數(shù)字鍵,通過查表得到各鍵處理程序入口,并將入口地址在實驗仿真器的顯示器上顯示出來。 數(shù)字鍵“0”——8000H 數(shù)字鍵“1”——8200H 數(shù)字鍵“2”——8400H 數(shù)字鍵“3”——8600H 數(shù)字鍵“4”——8800H 數(shù)字鍵“5”——8A00H 數(shù)字鍵“6”——8C00H 數(shù)字鍵“7”——8E00H 數(shù)字鍵“8”——9000H 數(shù)字鍵“9”——9200H 數(shù)字鍵“A”——9400H 數(shù)字鍵“B”——9600H 數(shù)字鍵“C”——9800H 數(shù)字鍵“D”——9A00H 數(shù)字鍵“E”——9C00H 數(shù)字鍵“F”——9E00H
四、實驗程序參考框圖如圖2所示
file:///C:\Users\金栗\AppData\Local\Temp\ksohtml\wps2282.tmp.png
圖2 查表實驗流程
五、調(diào)試方法 1、 斷點設(shè)在BK1,按0~F鍵后,進入斷點地址,檢查ACC內(nèi)容是否與鍵值正確對應(yīng)。 2、 斷點設(shè)在BK2,程序運行至斷點,檢查ACC內(nèi)容是否為鍵值對應(yīng)跳轉(zhuǎn)入口地址高位。 3、 斷點設(shè)在BK3,程序運行至斷點,檢查ACC內(nèi)容是否為鍵值對應(yīng)跳轉(zhuǎn)入口地址低位。 4、 程序連續(xù)運行,按鍵0~F,即在顯示器上顯示出相應(yīng)散轉(zhuǎn)地址。若有錯誤,應(yīng)改用單步或斷點分段調(diào)試,排除軟件錯誤,直到正確為止。
|