?? ha0010-ht48c10.asm
字號(hào):
include ht48c10.inc
;-------------------------------
data .section 'data' ;數(shù)據(jù)段
count1 db ? ;延時(shí)變量1
count2 db ? ;延時(shí)變量2
count3 db ? ;延時(shí)變量3
flash db ? ;LED閃爍控制寄存器
rglight db ? ;LED控制寄存器
;-------------------------------
code .section at 0 'code' ;程序段
org 00h ;程序初始入口地址
jmp start
start: ;程序開(kāi)始
mov a,0 ;(1) ;
mov pac,a ;設(shè)置PA口為輸出口
mov pa,a ;清除PA口
;-------------------------------
loop: ;LED燈循環(huán)
mov a,0 ;
mov tblp,a ;表格指針初始化
tabrdl rglight ;(2) ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;(3) ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delayl ;(4) ;調(diào)用延時(shí)子程序delayl
inc tblp ;(5) ;遞增表格指針
mov a,6 ;
mov flash,a ;設(shè)置LED閃爍控制寄存器的值為6次
flashlamp: ;LED閃爍循環(huán)
tabrdl rglight ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delays ;(6) ;調(diào)用延時(shí)子程序delays
inc tblp ;遞增表格指針
sdz flash ;檢查L(zhǎng)ED閃爍是否結(jié)束
jmp flashlamp ;閃爍沒(méi)有結(jié)束,則跳至LED閃爍循環(huán)
tabrdl rglight ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delaym ;(7) ;調(diào)用延時(shí)子程序delaym
inc tblp ;遞增表格指針
;-------------------------------;
tabrdl rglight ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delayl ;調(diào)用延時(shí)子程序delayl
inc tblp ;遞增表格指針
mov a,6 ;設(shè)置LED閃爍次數(shù)
mov flash,a ;將閃爍次數(shù)存入LED閃爍控制寄存器
flash2: ;LED閃爍循環(huán)2
tabrdl rglight ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delays ;調(diào)用延時(shí)子程序delays
inc tblp ;遞增表格指針
sdz flash ;檢查L(zhǎng)ED閃爍是否結(jié)束
jmp flash2 ;閃爍沒(méi)有結(jié)束,則跳至LED閃爍循環(huán)2
tabrdl rglight ;讀取最后一頁(yè)的表格內(nèi)容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;將LED寄存器的內(nèi)容輸出到PA口
call delaym ;調(diào)用延時(shí)子程序delaym
jmp loop ;
;-------------------------------
delayl proc ;延時(shí)子程序delayl
mov a,0fh
mov count1,a
mov count2,a
mov count3,a
d1:
sdz count3
jmp d1
sdz count2
jmp d1
sdz count1
jmp d1
ret
delayl endp
;-------------------------------
delaym proc ;延時(shí)子程序delaym
mov a,07h
mov count1,a
mov a,0ffh
mov count2,a
mov count3,a
d2:
sdz count3
jmp d2
sdz count2
jmp d2
sdz count1
jmp d2
ret
delaym endp
;-------------------------------
delays proc ;延時(shí)子程序delays
mov a,0ffh
mov count1,a
mov count2,a
d3:
sdz count2
jmp d3
sdz count1
jmp d3
ret
delays endp
;-------------------------------
org 300h ;LED表格
dc 0ebh,0fbh,0ebh,0fbh,0ebh,0fbh,0ebh,0dbh
dc 0beh,0bfh,0beh,0bfh,0beh,0bfh,0beh,0bdh
end
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -