📄 ha0010-ht48c10.asm
字号:
include ht48c10.inc
;-------------------------------
data .section 'data' ;数据段
count1 db ? ;延时变量1
count2 db ? ;延时变量2
count3 db ? ;延时变量3
flash db ? ;LED闪烁控制寄存器
rglight db ? ;LED控制寄存器
;-------------------------------
code .section at 0 'code' ;程序段
org 00h ;程序初始入口地址
jmp start
start: ;程序开始
mov a,0 ;(1) ;
mov pac,a ;设置PA口为输出口
mov pa,a ;清除PA口
;-------------------------------
loop: ;LED灯循环
mov a,0 ;
mov tblp,a ;表格指针初始化
tabrdl rglight ;(2) ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;(3) ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delayl ;(4) ;调用延时子程序delayl
inc tblp ;(5) ;递增表格指针
mov a,6 ;
mov flash,a ;设置LED闪烁控制寄存器的值为6次
flashlamp: ;LED闪烁循环
tabrdl rglight ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delays ;(6) ;调用延时子程序delays
inc tblp ;递增表格指针
sdz flash ;检查LED闪烁是否结束
jmp flashlamp ;闪烁没有结束,则跳至LED闪烁循环
tabrdl rglight ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delaym ;(7) ;调用延时子程序delaym
inc tblp ;递增表格指针
;-------------------------------;
tabrdl rglight ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delayl ;调用延时子程序delayl
inc tblp ;递增表格指针
mov a,6 ;设置LED闪烁次数
mov flash,a ;将闪烁次数存入LED闪烁控制寄存器
flash2: ;LED闪烁循环2
tabrdl rglight ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delays ;调用延时子程序delays
inc tblp ;递增表格指针
sdz flash ;检查LED闪烁是否结束
jmp flash2 ;闪烁没有结束,则跳至LED闪烁循环2
tabrdl rglight ;读取最后一页的表格内容,放入LED控制寄存器
mov a,rglight ;
mov pa,a ;将LED寄存器的内容输出到PA口
call delaym ;调用延时子程序delaym
jmp loop ;
;-------------------------------
delayl proc ;延时子程序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 ;延时子程序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 ;延时子程序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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -