⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.asm

📁 台湾盛群半导体HT48RA0A自动照明样板
💻 ASM
字号:
;*******************************************************
;
; HT48RA0A 自动照明样板
;
;*******************************************************
INCLUDE HT48RA0A.INC
DATA .SECTION AT 20H 'DATA'
;------------------------------------------------
counter0 db ?;
counter1 db ?;
keycount db ?;
keystatus DB ?;
;------------------------------------------------
CODE .SECTION
ORG 00H
Jmp initial
;------------------------------------------------
ORG 010H
Initial: ;清除所有的通用存储单元
;20H to 3FH
mov A,20H
mov MP,A
jmp clramloop
clramloop:
clr R0
inc MP
mov A,0BFH
sub A,MP
sz STATUS.0
jmp clramloop ;MP0<3FH 跳转至clramloop
;------------------------------------------------
;------------------------------------------------
; -- 主程序 --
;------------------------------------------------
initial_mode:
clr keycount
mov A,00000011B ;设置 PA0 和 PA1 输出
;″1″
mov PA,A
mov A,00000000B ;
mov PC,A
;------------------------------------------------
mov A,0E0H;
mov counter1,A ;100×256×32=第一次点火时间
; (4MHz=E0H=0.8 秒)
;................................................
;................................................
sign_test:
sz keystatus.0 ;检测PB5 引脚电平
jmp ignite ;如果 PB5 电平为低,点亮
;灯管
calldelay_46:
sz PB5
jmp clr_sign
inc keycount
mov A,0FAH
sub A,keycount
sz status.0
jmp sign_test
set keystatus.0 ;
jmp sign_test
clr_sign:
clr keycount
mov A,00000011B ;设置 PA0 和 PA1 输出
;″1″
jmp sign_test
;................................................
ignite:
clr keycount
call ignite_sub ;点火模式: 第一次时间
;子程序
;
mov A,0FCH ;4MHz=FCH=0.1 秒
mov counter1,A ;110×256×4=第二次点火
;时间
ignite_se: ;点火模式: 第一次时间
mov A,00000001b
clr pa
mov PA,A
call delay_46
nop
nop
nop
nop
;..
mov A,00000010b
clr pa
mov PA,A
call delay_46
nop
siz counter0
jmp ignite_se
siz counter1
jmp ignite_se
;................................................
run_mode: ;运作模式: 稳定频率在
;22kHz
mov A,00000001b
clr pa
mov PA,A
call delay_run
snz keystatus.0 ;
jmp initial_mode ;PB5 为高电平, 熄灭
;灯管
;.......
mov A,00000010b
clr pa
mov PA,A
call delay_run
jmp run_mode
;--------------------------------------------------
; -- 子程序 --
;--------------------------------------------------
;delay_run:
clr wdt
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
ret
;
delay_run:
clr wdt
snz PB5 ;检测PB5 引脚电平
jmp delay_run1 ;如果PB5 电平为高,熄灭
;灯管
inc keycount
mov A,0FAH
sub A,keycount
sz status.0
jmp delay_run2
clr keystatus.0
jmp delay_run3
delay_run1:
nop
jmp $+1
jmp $+1
delay_run2:
jmp $+1
delay_run3:
jmp $+1
ret
delay_46:
clr wdt
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
jmp $+1
nop
ret
;--------------------------------------------------
; -- 子程序 --
;--------------------------------------------------
ignite_sub:
mov A,00000001b
mov PA,A
;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;
mov A,00000010b
mov PA,A
;.......
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;.......
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A

;.....
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;.....
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A

;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
;..
mov A,00000001b
mov PA,A
;;
mov A,00000010b
mov PA,A
clr wdt
siz counter0
jmp ignite_sub
siz counter1
jmp ignite_sub
clr pa
;..................................
ret
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -