單片機(jī)匯編實(shí)驗(yàn)一:讀程序存儲(chǔ)器及簡(jiǎn)單I/O實(shí)驗(yàn)
P1口作輸出口,接8只發(fā)光二極管,程序存儲(chǔ)器的0500H~0509H單元依次存放著數(shù)字0~9的ASCII碼,
編程將其 依次讀出寫入到內(nèi)部RAM的30H~39H單元,并同時(shí)送P1口輸出顯示。
//This is the first exercise of the homework
//The author is WQ,who modify theprogramof Teacher GUO
//關(guān)于表格的使用要矯正一下老師的說(shuō)法:Table后面的冒號(hào)還是必須的;
ORG 0000H
SJMP MAIN
ORG 0050H
MAIN:MOV DPTR,#Table //DPTR是16位間接寄存器 可以用來(lái)段基址直接尋址
MOV R0,#30H // R0———R7是七個(gè)寄存器
MOV R1,#10 //#后面加立即數(shù)
CLR A //A是累加器 將累加器清零
MOV R2,A //
LOP: MOV A,R2
MOVC A,@A+DPTR
MOV @R0,A
MOV P1,A
LCALL DELAY
INC R0
INC R2
DJNZ R1,LOP
SJMP MAIN //無(wú)條件轉(zhuǎn)移指令
DELAY:MOV R3,#03FH
DELY1:MOV R4,#022H
DELY2:MOV R5,#0FFH
DELY3:NOP
DJNZ R5,DELY3
DJNZ R4,DELY2
DJNZ R3,DELY1
RET
Table: db 30H,31H,32H,33H,34H //表格后面的冒號(hào)還是必須的
DB 15H,26H,37H,48H,59H //為了便于觀察現(xiàn)講輸出代碼做些改動(dòng);
END
評(píng)論