📄 汇编程序.htm
字号:
B0BCLR FT0IEN<BR>
;ENABLE
INT0<BR> B0BSET
FP00IEN<BR> B0BCLR
FP00IRQ<BR> JMP
INTERRUPT_RET<BR>;================================================================
<BR>INT_INTERRUPT:<BR>
B0BTS1 FP00IRQ
;INT0<BR>
JMP INTERRUPT_RET<BR>
B0BCLR FP00IRQ<BR>
<BR> B0BCLR
FP00IEN<BR>
B0BCLR FP00IRQ<BR>
<BR>LED_INC_OR_DEC:<BR>
B0BTS0 NUM_FLAG.0<BR>
JMP LED_INC<BR>
B0BTS0 NUM_FLAG.1<BR>
JMP
LED_DEC<BR> <BR>
MOV A,#0<BR>
B0MOV NUM_FLAG,A<BR>
MOV A,#25<BR>
B0MOV
INC_DEC_BUFF,A<BR> B0MOV
INC_DEC_BUFF_1,A<BR>
JMP T0_INTERRUPT<BR>LED_INC:<BR>
MOV A,#25<BR>
B0MOV
INC_DEC_BUFF_1,A<BR> <BR>
DECMS
INC_DEC_BUFF<BR> JMP
T0_INTERRUPT<BR> MOV
A,#25<BR> B0MOV
INC_DEC_BUFF,A<BR>
<BR> B0MOV
A,LOOP_BUFF<BR> SUB
A,#1<BR> B0MOV
LOOP_BUFF,A<BR> CMPRS
A,#10<BR> JMP
T0_INTERRUPT<BR> <BR>
MOV A,#11<BR>
B0MOV
LOOP_BUFF,A<BR> B0MOV
LOOP,A<BR> JMP
T0_INTERRUPT<BR>LED_DEC:<BR>
MOV A,#25<BR>
B0MOV INC_DEC_BUFF,A<BR>
<BR> DECMS
INC_DEC_BUFF_1<BR>
JMP T0_INTERRUPT<BR>
MOV A,#25<BR>
B0MOV INC_DEC_BUFF_1,A<BR>
<BR> MOV
A,#1<BR> B0ADD
LOOP_BUFF,A<BR>
MOV A,#21<BR>
CMPRS A,LOOP_BUFF<BR>
JMP T0_INTERRUPT<BR>
MOV A,#20<BR>
B0MOV LOOP,A<BR>
B0MOV
LOOP_BUFF,A<BR> <BR>T0_INTERRUPT:
;ENABLE T0<BR>
MOV A,#254<BR>
B0MOV T0C,A<BR>
B0BSET
FT0ENB<BR> B0BSET
FT0IEN<BR>
<BR>INTERRUPT_RET:<BR> B0MOV
A,PFLAG_BUFF<BR>
B0MOV PFLAG,A<BR>
B0XCH A,ACC_BUFF<BR>
RETI<BR>;================================================================<BR>START:<BR>
MOV A,#07FH
<BR>
B0MOV
STKP,A
<BR> CLR
PFLAG
<BR> CLR
OSCM<BR>
<BR> CALL
PORT_SET<BR> CALL
RAM_SET<BR> CALL
FLAG_SET<BR>
;T0<BR> B0BCLR
FT0ENB<BR> B0BCLR
FT0IEN<BR> B0BCLR
FT0IRQ<BR>
B0BCLR FT0TB<BR>
MOV A,#0<BR>
B0MOV T0M,A<BR>
MOV A,#254<BR>
B0MOV T0C,A<BR>
;INT0<BR>
MOV A,#18H<BR>
B0MOV PEDGE,A<BR>
B0BSET
FP00IEN<BR> B0BCLR
FP00IRQ<BR> <BR>
B0BSET FGIE<BR>
JMP MAIN<BR>
<BR>PORT_SET:<BR>
MOV A,#0<BR>
B0MOV P0M,A<BR>
B0MOV P0UR,A<BR>
B0MOV P0,A<BR>
<BR> <BR>
MOV A,#11111101B<BR>
B0MOV
P1M,A<BR> MOV
A,#0<BR> B0MOV
P2M,A<BR> B0MOV
P5M,A<BR> <BR>
MOV A,#0<BR>
B0MOV P1UR,A<BR>
MOV A,#11111111B<BR>
B0MOV
P2UR,A<BR> B0MOV
P5UR,A<BR><BR> MOV
A,#00000010B<BR>
B0MOV P1,A<BR>
MOV A,#11111111B<BR>
B0MOV P2,A<BR>
B0MOV P5,A<BR>
RET<BR> <BR>RAM_SET:<BR>
MOV A,#4<BR>
B0MOV
KEY_BUFF,A <BR>
MOV A,#25<BR>
B0MOV FIVE,A
<BR> <BR>
B0MOV INC_DEC_BUFF,A<BR>
B0MOV
INC_DEC_BUFF_1,A<BR> MOV
A,#0<BR> B0MOV
NUM_BUFF_SEND,A<BR>
MOV A,#10<BR>
B0MOV TEN,A<BR>
<BR> MOV
A,#11
;原来的值为2<BR> B0MOV
LOOP,A<BR> B0MOV
LOOP_BUFF,A<BR>
RET<BR> <BR>FLAG_SET:<BR>
MOV A,#0<BR>
B0MOV KEY_FLAG,A<BR>
B0MOV
ON_OFF_FLAG,A <BR>
B0MOV NUM_FLAG,A<BR>
B0MOV REC_OFF_FLAG,A
;接收,放开标志位 <BR>
B0MOV CHECK_FLAG,A
;按键开关状态标志<BR> <BR>
B0MOV
CHUFA_FLAG,A<BR>
RET<BR>;===========================================<BR>MAIN:<BR>
MOV A,
#0X5A<BR> B0MOV
WDTR, A <BR>
<BR> CALL
KEY <BR>
CALL CHECK_NUM<BR>
JMP
MAIN<BR>;=============================================<BR>KEY:<BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -