📄 addr.asm
字号:
address_data equ 30h
org 0000h
ajmp start
org 0003h
reti
org 000bh
reti
org 0013h
reti
org 001bh
reti
org 0023h
reti
start: mov p1,#0
mov p3,#0ffh
acall d1s
cpl p1.1
acall d1s
cpl p1.1
acall d1s
cpl p1.1
acall d1s
cpl p1.1
acall d1s
cpl p1.1
acall d1s
setb p1.1
sjmp main
main: acall select_address
;mov a,#00001100b
;rr a
;rr a
;mov address_data,a
acall d10ms
acall d10ms
acall d10ms
acall d10ms
acall d10ms
acall d10ms
acall address_service_select
sjmp main
d1ms: mov r6,#200
nop
d1_0: nop
nop
nop
nop
djnz r6,d1_0
nop
ret
d10ms: mov r1,#200
nop
d10_0: nop
acall d1ms
djnz r1,d10_0
nop
ret
delay_3s_4s: mov r2,#30
d1s_0: nop
acall d10ms
djnz r2,d1s_0
nop
ret
d1s: mov r7,#35
d1s_1: nop
acall d10ms
djnz r7,d1s_1
ret
;-------------------
select_address: acall d1ms
mov a,p3
anl a,#3ch ;00111100b
rr a
rr a
anl a,#0fh
;----------------------------------------------------------
mov address_data,a
no_address_ret: ret ;14--15
;-------------------
address_service_select: mov a,address_data
anl a,#0fh
mov b,#2
mul ab
mov dptr,#address_nomber_service
jmp @a+dptr
address_nomber_service: sjmp address_mode_00
sjmp address_mode_01
sjmp address_mode_02
sjmp address_mode_03
sjmp address_mode_04
sjmp address_mode_05
sjmp address_mode_06
sjmp address_mode_07
sjmp address_mode_08
sjmp address_mode_09
sjmp address_mode_10
sjmp address_mode_11
sjmp address_mode_12
sjmp address_mode_13
sjmp address_mode_14
sjmp address_mode_15
address_ret: ret
address_mode_00: nop
nop
;--模式00-- 0000
; 1表示向上,0表示向下
nop
sjmp address_ret
address_mode_01: nop
nop
;--模式01-- 1000
;硬件检测(输入/输出)
nop
sjmp address_ret
address_mode_02: nop
nop
;--模式02-- 0100
;
nop
sjmp address_ret
address_mode_03: nop
nop
;--模式03-- 1100
;设定波特率4800
nop
sjmp address_ret
address_mode_04: nop
nop
;--模式04-- 0010
;
nop
sjmp address_ret
address_mode_05: nop
nop
;--模式05-- 1010
;设定波特率2400
nop
sjmp address_ret
address_mode_06: nop
nop
;--模式06-- 0110
;
nop
sjmp address_ret
address_mode_07: nop
nop
;--模式07-- 1110
;8路输入,对应路输出
nop
sjmp address_ret
address_mode_08: nop
nop
;--模式08-- 0001
;
nop
sjmp address_ret
address_mode_09: nop
nop
;--模式09-- 1001
;切换到--音乐模式
nop
sjmp address_ret
address_mode_10: nop
nop
;--模式10-- 0101
nop
sjmp address_ret
address_mode_11: nop
nop
;--模式11-- 1101
;系统热复位初始化所有EEPROM,RAM
nop
sjmp address_ret
address_mode_12: nop
nop
;--模式12-- 0011
nop
sjmp address_ret
address_mode_13: nop
nop
;--模式13-- 1011
;设定波特率9600
nop
sjmp address_ret
address_mode_14: nop
nop
;--模式14-- 0111
nop
sjmp address_ret
address_mode_15: nop
nop
;--模式15-- 1111
;正常工作模式 无拔码按下,1表示向上,0表示向下
nop
sjmp address_ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -