?? 閃光燈.dt
字號:
r6==0x06
r5==0x05
ioc6==0x06
ioc5==0x05
ioce==0x0e
flag==0x20
bit_flag0==0
iocf==0x0f
rf == 0x0f
status==0x03
pc==0x02
time_counter1==0x21
time_counter2==0x22
lp_cnt0==0x10
lp_cnt1==0x11
org 000h
jmp main
org 008h
jmp time_int
org 00ah
main: mov a, @0x00 ; 定義P5口為輸出口
iow ioc5
mov a, @0x01 ; 定義P6口為輸出口
iow ioc6
mov a, @0x00 ; 關閉看門狗
iow ioce
bs r5, 0
bc r5, 0
bs r5, 1
bc r5, 1
mov flag, a
mov 0x23, a
mov time_counter1, a
mov a, @0x15
mov time_counter2, a
start: mov a, @0x06
contw
mov a, @0x00
mov r5, a
mov a, @0x01
mov r6, a
loop_10: call wait_for
jbs flag, 1
jmp loop_10
bc flag, 1
mov a, @0x01
iow iocf
eni
loop_600:
mov a, @00
mov r5, a
mov r6, a
mov a, @0x0b
mov r6, a
mov r5, a
loop_601: jbs flag, 1
jmp wait_601
jmp wait_602
wait_601: call wait_for
jbs flag, 1
jmp loop_601
jmp loop_800
wait_602: bc flag, bit_flag0
mov a, @0x04
mov r5, a
mov a, @0x09
mov r6, a
loop_602: jbs flag, bit_flag0
jmp wait_603
jmp wait_604
wait_603: call wait_for
jbs flag, 1
jmp loop_602
jmp loop_800
wait_604: bc flag, bit_flag0
mov a, @0x00
mov r5, a
mov a, @0x89
mov r6, a
loop_603: jbs flag, bit_flag0
jmp wait_605
jmp wait_606
wait_605: call wait_for
jbs flag, 1
jmp loop_603
jmp loop_800
wait_606: bc flag, bit_flag0
mov a, @0x04
mov r5, a
mov a, @0x09
mov r6, a
loop_604: jbs flag, bit_flag0
jmp loop_604
bc flag, bit_flag0
mov a, @0x00
mov r5, a
mov a, @0x09
mov r6, a
loop_605: jbs flag, bit_flag0
jmp wait_607
jmp wait_608
wait_607:call wait_for
jbs flag, 1
jmp loop_605
jmp loop_800
wait_608: bc flag, bit_flag0
mov a, @0x04
mov r5, a
mov a, @0x19
mov r6, a
loop_606: jbs flag, bit_flag0
jmp wait_650
jmp wait_651
wait_650: call wait_for
jbs flag, 1
jmp loop_606
jmp loop_800
wait_651: bc flag, bit_flag0
mov a, @0x00
mov r5, a
mov a, @0x09
mov r6, a
loop_607: jbs flag, bit_flag0
jmp wait_609
jmp wait_610
wait_609: call wait_for
jbs flag, 1
jmp loop_607
jmp loop_800
wait_610: bc flag, bit_flag0
mov a, @0x08
mov r5, a
mov a, @0x29
mov r6, a
loop_608: jbs flag, bit_flag0
jmp loop_608
bc flag, bit_flag0
mov a, @0x00
mov r5, a
mov a, @0x89
mov r6, a
loop_609: jbs flag, bit_flag0
jmp wait_611
jmp wait_612
wait_611: call wait_for
jbs flag, 1
jmp loop_609
jmp loop_800
wait_612: bc flag, bit_flag0
mov a, @08
mov r5, a
mov a, @0x0b
mov r6, a
loop_700: jbs flag, bit_flag0
jmp loop_700
bc flag, bit_flag0
mov a, @0x00
mov r5, a
mov a, @0x0d
mov r6, a
loop_610: jbs flag, bit_flag0
jmp wait_613
jmp wait_614
wait_613: call wait_for
jbs flag, 1
jmp loop_610
jmp loop_800
wait_614: bc flag, bit_flag0
mov a, @0x08
mov r5, a
mov a, @0x49
mov r6, a
loop_611: jbs flag, bit_flag0
jmp wait_615
jmp wait_616
wait_615: call wait_for
jbs flag, 1
jmp loop_611
jmp loop_800
wait_616: bc flag, bit_flag0
jmp loop_600
loop_800:
loop_900: bc flag, 1
mov a, @00
mov r5, a
mov r6, a
loop_201: jbs flag, bit_flag0
jmp wait_200
bc flag, bit_flag0
jmp loop_201
wait_200: call wait_for
jbs flag, 1
jmp loop_201
bc flag, 1
disi
jmp start
nop
nop
nop
nop
nop
jmp main
nop
nop
nop
nop
nop
jmp main
time_int: disi
clr rf
inc time_counter1
mov a, time_counter1
bc status, 2
xor a, time_counter2
jbs status, 2
jmp loop_50
bs flag, bit_flag0
mov a, @00
mov time_counter1, a
loop_50: reti
delay10ms: mov a, @20
mov lp_cnt0, a
p0_dly: nop
mov a, @200
mov lp_cnt1, a
p0_lp: nop
nop
nop
djz lp_cnt1
jmp p0_lp
djz lp_cnt0
jmp p0_dly
ret
wait_for: disi
jbs r6, 0
jmp wait_1
jmp wait_2
wait_1: call delay10ms
jbc r6, 0
jmp wait_2
wait_4: jbs r6, 0 ; 等待按鍵松開
jmp wait_4
bs flag, 1
wait_2: eni
ret
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -