實(shí)訓(xùn)三 程序調(diào)試
一、 實(shí)驗(yàn)?zāi)康?span lang="EN-US">
1. 知識(shí)點(diǎn):寄存器,存儲(chǔ)器,KEIL軟件的調(diào)試工具。
2. 能力點(diǎn):學(xué)會(huì)用KEIL軟件的寄存器窗口、存儲(chǔ)器窗口調(diào)試程序,并加深對(duì)寄存器窗口、存儲(chǔ)器的認(rèn)識(shí)。
3. 素質(zhì)點(diǎn):科學(xué)嚴(yán)謹(jǐn)?shù)乃季S方法、認(rèn)真細(xì)致的工作作風(fēng)。
二、 實(shí)訓(xùn)內(nèi)容
任務(wù)一:將立即數(shù)30H送累加器A;
任務(wù)二:將累加器A的內(nèi)容送內(nèi)部RAM的10H單元;
任務(wù)三:將內(nèi)部RAM的10H單元內(nèi)容送內(nèi)部RAM 的70H單元;
任務(wù)四:將內(nèi)部RAM 的70H單元內(nèi)容送P0口;
任務(wù)五:將內(nèi)部RAM的20H單元的第0位置1;
任務(wù)六:讀取內(nèi)部ROM的0000H單元的內(nèi)容,送累加器A。
三、實(shí)驗(yàn)儀器和設(shè)備
Keil軟件;STC
四、實(shí)訓(xùn)步驟
1、 新建項(xiàng)目并命名,保存在自已的文件夾中;
2、 指定目標(biāo)器件;
3、 新建匯編語言程序文件(·ASM),命名并保存;
4、 編輯程序;
ORG 0000H
JMP
ORG 0030H
MOV 10H,A
MOV 70H,10H
MOV P0,70H
SETB 20H.0
MOV A,#00H
MOV DPTR,#0000H
MOVC A,@A+DPTR
JMP $
END
5、 將文件添加到項(xiàng)目中;
6、 點(diǎn)
7、 點(diǎn)
8、 點(diǎn)
(1) 觀察寄存器A、B、SP、DPTR、Rn的方法:在左邊寄存器窗口(Regiter)。
(2) 觀察內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)單元的方法:在View菜單中打開存儲(chǔ)器窗口(Memory Window),在地址框中輸入地址d:xxH。
(3) 觀察內(nèi)部程序存儲(chǔ)器(ROM)單元的方法:在View菜單中打開存儲(chǔ)器窗口(Memory Window),在地址框中輸入地址c:xxxxH。
(4) 觀察P1的方法:在View菜單中打開變量觀察窗口(Watch $ Call Stack Window),按F1鍵,設(shè)置變量P1。
五、實(shí)驗(yàn)報(bào)告要求
1、寫出程序。
2、內(nèi)部ROM的0000H單元的內(nèi)容是什么?為什么會(huì)有內(nèi)容?
3、設(shè)計(jì)任務(wù):跑馬燈,用單片機(jī)控制8個(gè)LED小燈,逐個(gè)點(diǎn)亮再熄滅,形成跑馬燈。
設(shè)計(jì)思想:點(diǎn)亮一個(gè)燈,調(diào)用延時(shí),然后再點(diǎn)亮臨近的一個(gè)燈的同時(shí)熄滅上一個(gè)燈,再調(diào)用延時(shí)程序,如此循環(huán)即會(huì)出現(xiàn)跑馬燈現(xiàn)象。
a. 畫出實(shí)驗(yàn)原理圖。
b. 給出程序清單,代碼行要有注釋。
c. 根據(jù)流程圖在Keil編譯環(huán)境下編寫程序,生成*.HEX文件,將生成的*.HEX文件下載到單片機(jī)當(dāng)中。
d. 觀察實(shí)驗(yàn)現(xiàn)象,是否滿足要求。不滿足實(shí)驗(yàn)要求時(shí),檢查實(shí)驗(yàn)代碼。
4、進(jìn)行完該項(xiàng)實(shí)驗(yàn)后,你對(duì)單片機(jī)的開發(fā)工具和開發(fā)過程了解了嗎?請(qǐng)畫出單片機(jī)開發(fā)過程流程圖。
5、報(bào)告上交時(shí)間
聯(lián)系客服