📄 35201.dt
字号:
;project:taida 3520/1/2/3
;mcu:em78p153s
;data:2006.5.20
;rev:1.0
;clock:4M
;*************************************
p5 equ 0x05 ;Port5
p6 equ 0x06 ;Port6
ioc5 equ 0x05 ;P5 control register
ioc6 equ 0x06 ;P6 control registe
ioce equ 0x0e
iocf equ 0x0f ;Interrupt mask register
iocc equ 0x0c
iocd equ 0x0d
tcc equ 0x01 ;tcc register
backup_a equ 0x10
backup_status equ 0x11
status equ 0x03 ;status registe
;**************************************
colck16ms equ 0x12
colck32ms equ 0x13
colck16bit equ 0x14
poweroutbit equ 0x15
colckbit equ 0x16
;-------------------------------------(bit)
bitcolck16ms == 0
bitcolck32ms == 1
bitkey == 2
bitout == 3
keyfirst == 4
bitcolck400us == 5
;------------------------------------(bit2)
bitpowerhi == 0
bitpowerlow == 1
bitledout == 2
bitpowerlowout == 3
bitp52 == 4
bitp53 ==5
bit13 ==6
;-----------------------------------------(bit3)
bit16 ==0
bit17 ==1
bit18 ==2
bit19 ==3
;*************************************
org 000h
jmp boot
jmp boot
add a,@0ffh
add a,@0ffh
add a,@0ffh
add a,@0ffh
add a,@0ffh
;------------------------
org 008h
jmp emint
jmp emint
add a,@0ffh
add a,@0ffh
add a,@0ffh
add a,@0ffh
add a,@0ffh
;-----------------------
org 010h
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;********************************
boot: nop
mov a,@00h ;p5 output
iow ioc5
mov a,@0fdh
mov p5,a ;p6 intput ok!
mov a,@00h
mov colck16bit,a
mov a,@00h
mov poweroutbit,a
mov a,@28h
mov colck16ms,a
mov a,@050h
mov colck32ms,a
mov a,@00h
iow ioce
; mov a,@0xff
; iow iocc
; mov a,@0xff
; iow iocd
mov a,@001h ;enable tcc interrupt
iow iocf
mov a,@00h ;fcpu/2(cont)
contw
mov a,@038h
mov tcc,a
eni
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;*************************************(main)
main:
nop
call emtime
call emkey
call abitout
call ledout
call bill
call powerout
call colck2
jmp main
jmp main
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;************************************************(colck2)
colck2: nop
jbs p6,1
jmp pbs16
nop
;jbs colckbit,bit16
;ret
nop
bc colckbit,bit16
bs colckbit,bit17
bs colckbit,bit18
ret
ret
pbs16:nop
jbs colckbit,bit17
ret
nop
bs colckbit,bit16
bc colckbit,bit17
bs colckbit,bit18
ret
ret
;*************************************************(bill)
bill: nop
jbc p6,2
jmp billled
bill2: nop
bc poweroutbit,bitp52
bc poweroutbit,bitp53
bs poweroutbit,bit13
ret
ret
billled:nop
jbs poweroutbit,bitpowerhi
jmp billled2
nop
bs poweroutbit,bitp52
bc poweroutbit,bit13
ret
ret
billled2:nop
jbs poweroutbit,bitpowerlow
ret
nop
bs poweroutbit,bitp53
bc poweroutbit,bit13
ret
ret
;____________________________________________
;****************************************(bledout) (ok)
ledout:nop
jbs poweroutbit,bitledout
jmp ledoff
nop
bc p5,0 ;led-on
jmp pledout
jmp pledout
ret
ledoff: nop
bs p5,0 ;led-off
nop
;----------------------------------------------------------------
pledout:nop
jbs poweroutbit,bitp52
jmp nxet
nop
bc p5,2
bs p5,3
ret
nxet:nop
jbs poweroutbit,bitp53
jmp nxetoff
nop
bs p5,2
bc p5,3
ret
ret
nxetoff:nop
bs p5,2
bs p5,3
ret
ret
;************************************(powerlowout) (ok)
abitout: nop
jbc colck16bit,bitout
jmp testpowerhi
ret
ret
testpowerhi: nop
bc colck16bit,bitout
jbc poweroutbit,bitpowerhi ;testpowerout hi
jmp lowb
nop
jbs poweroutbit,bitpowerlow ;;testpowerout low
jmp hi
off: nop
bc poweroutbit,bitpowerlow ;;bit power hi off
ret
ret
lowb: nop
bc poweroutbit,bitpowerhi
bs poweroutbit,bitpowerlow
ret
ret
hi: nop
bs poweroutbit,bitpowerhi ;bit power hiout
ret
ret
;----------------------------------------------------------------------------
;oooooooooooooooooooooooooooooooooooooooooooooo
;******************************************************(powerhi/offout) (ok)
powerout:nop
jbc poweroutbit,bit13
ret
jbs poweroutbit,bitpowerhi
jmp powerlow
powrhi: nop
bs 5,1
bs poweroutbit,bitp52
bc poweroutbit,bitp53
ret
ret
;----------------------------------------------------------------------
powerlow:
nop
jbs poweroutbit,bitpowerlow ;testpowelow
jmp poweroff
nop
bs poweroutbit,bitp53
bc poweroutbit,bitp52
nop
testlowhi:nop
jbs colckbit,bit18
ret
nop
jbc poweroutbit,bitpowerlowout ;test p5.1 low/hi
jmp low
nop
bs poweroutbit,bitpowerlowout ;power low-hi
bs p5,1
bc colckbit,bit18
ret
ret
low:
nop
bc poweroutbit,bitpowerlowout ;power low-low
bc p5,1
bc colckbit,bit18
ret
ret
;---------------------------------------------------------------------------
poweroff: ;(power off)
nop
bc p5,1
bc poweroutbit,bitp52
bc poweroutbit,bitp53
ret
ret
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;************************************(key) (ok)
emkey: nop
jbc p6,6
jmp ledkey
nop
jbc p6,7
jmp powerkey
nop
jmp keyover
ret
;------------------------------------(ledkey)
ledkey: jbc colck16bit,keyfirst
ret
jbc colck16bit,bitkey
jmp keyout
nop
bs colck16bit,bitcolck32ms
bs colck16bit,bitkey
mov a,@050h
mov colck32ms,a
ret
keyout:
nop
jbc colck16bit,bitcolck32ms
ret
nop
jbc poweroutbit,bitledout
jmp ledbitoff
nop
bs poweroutbit,bitledout
bs colck16bit,keyfirst
ret
ret
ledbitoff:
nop
bc poweroutbit,bitledout
bs colck16bit,keyfirst
ret
ret
;**************************************(powerkey)
powerkey:nop
jbc colck16bit,keyfirst
ret
jbc colck16bit,bitkey
jmp pkeyout
nop
bs colck16bit,bitcolck32ms
bs colck16bit,bitkey
mov a,@050h
mov colck32ms,a
ret
pkeyout:
nop
jbc colck16bit,bitcolck32ms
ret
nop
bs colck16bit,bitout
bs colck16bit,keyfirst
ret
;-----------------------------------------------
keyover:
nop
bc colck16bit,keyfirst
bc colck16bit,bitkey
ret
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;*************************************(int)
emint:
nop
mov a,@00h
mov iocf,a
mov a,@038h
mov tcc,a
mov backup_a,a
swapa status
mov backup_status,a
bs colck16bit,bitcolck400us
emint_end:
swapa backup_status
mov status,a
mov a,backup_a
reti
reti
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;************************************(time)
emtime: nop
jbc colck16bit,bitcolck400us
jmp test16ms ;test 16ms
ret
ret
test16ms:
djz colck16ms
jmp test32ms
nop
bc colck16bit,bitcolck16ms
test32ms:nop
djz colck32ms ;test32ms
jmp timeover
nop
bc colck16bit,bitcolck32ms
timeover: nop
bc colck16bit,bitcolck400us
ret
ret
;*************************************
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -