Page 64 -
P. 64
DB 01H,03H,07H,0FH,1FH,3FH,7FH,FFH
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
END
程式技巧說明:
在上列兩程式均將 P0~P3 做為輸出埠,程式中 ORG 為虛指令,用以告知編譯器將
其下之程式,放置於程式記憶體中之位址。由於 8051 之中斷向量位址,如下圖,故程
式撰寫時應養成不使用這部分之記憶體。
中斷源 中斷向量
Reset 0000H
INTO 0003H
Timer0 000BH
INT 0 0013H
Timer1 001BH
UART ( TXD ) 0023H
UART ( RXD ) 002BH
首先,8051 啟動後,須給予一 Reset 信號,則程式由 0000H 位址開始執行,而程式
中 JMP START 指令則是用以規避中斷向量,故 ORG 30H 則指定另一程式記憶體放置起
始點。
另外,CALL DELAY 指令則是用以呼叫延遲副程式,而在副程式中是以 RET 做為
結束,執行到 RET 後則在跳回主程式中繼續執行。