📄 jieshou.asm
字号:
; *************************************
; * *
; * ? ? ? ? ? ? *
; * ??AT89C2051 *
; * *
; *************************************
;
; P1.0-P1.1???????,P1.2-P1.3???????,P1.4???????,
; ?????P3.1?p3.2(int0)?,P3.0?P3.5??????????,???
; ??????????????
;*************************************
;* *
;* ?????????? *
;* *
;*************************************
ORG 0000H ;????????
LJMP START ;??START??
ORG 0003H ;???0??????
LJMP INTEX0 ;??INTEX0??????
ORG 000BH ;???T0??????
RETI ;????(????)
ORG 0013H ;???1??????
RETI ;????(????)
ORG 001BH ;???T1??????
RETI ;????(????)
ORG 0023H ;?????????
RETI ;????(????)
ORG 002BH ;???T2??????
RETI ;????(????)
;
;***************************
;* *
;* ????? *
;* *
;****************************
CLEARMEMIO: CLR A ;?A
MOV P1,A ;P1??0
DEC A ;A?#0FFH
MOV P3,A ;P3??1
SETB P1.4 ;????????
CLR 00H ;????????0
CLEARMEM: MOV IE,#00H ;?????
SETB EX0 ;????
SETB EA ;??????
RET ;??
;
;*************************************
;* *
;* ? ? ? *
;* *
;*************************************
START: LCALL CLEARMEMIO ;?????
MAIN: JB 00H,AUTO2 ;00H????1?????
LJMP MAIN ;?????
NOP ;PC?????
NOP
LJMP START ;??????
AUTO2: LJMP AUTO ;???????
;******************************
; ;
; ?????? ;
; ;
;******************************
INTEX0: CLR EX0 ;???
JNB P3.1,READ1 ;P3.1?0?READ1
READOUTT0: SETB EX0 ;??,????
RETI ;????
;
READ1: CLR A ;?A
MOV DPH,A ;?DPTR
MOV DPL,A ;
HARD1: JB P3.1,HARD11 ;P3.1??????HARD11
INC DPTR ;???????????
NOP ;?????
NOP
AJMP HARD1 ;????(????8??)
HARD11: MOV A,DPH ;?DPTR?8????
JZ READOUTT0 ;??0,?????3??????
CLR A ;????2MS,??????
READ11: INC A ;?????1
READ12: JNB P3.1,READ12 ;?????,
MOV R1,#06H ;????????
READ13: JNB P3.1,READ11 ;????READ11(????)
LCALL DELAY ;??512??
DJNZ R1,READ13 ;???????3MS,?READ13??
DEC A ;???????3MS,????,A?1
DEC A ;??1
JZ FUN0 ;??2???,??????
DEC A
JZ FUN1 ;??3???,??????
DEC A
JZ FUN2 ;??4???,??????
DEC A
JZ FUN3 ;??5???,??????
DEC A
JZ FUN4 ;??6???,????????
DEC A
JZ FUN5 ;??7???,????????
DEC A
JZ FUN6 ;??8???,??????
NOP ;????
NOP ;
LJMP READOUTT0 ;??
FUN0: SETB P1.0 ;????
LJMP READOUTT0 ;
FUN1: SETB P1.1 ;????
LJMP READOUTT0 ;
FUN2: SETB P1.2 ;?????
LJMP READOUTT0 ;
FUN3: SETB P1.3 ;?????
LJMP READOUTT0 ;
FUN4: CPL 00H ;????????
JB 00H,AUTO1 ;00H=1??????
CLR P1.0 ;00H=0???????,????
CLR P1.1 ;????
CLR P1.2 ;????
CLR P1.3 ;????
SETB P1.4 ;??????
LJMP READOUTT0 ;????
AUTO1: CLR P1.4 ;??????,????????
SETB EX0 ;???
RETI ;????
AUTO: JNB P3.0,BL ;????????,?????BL
SETB P1.0 ;?????,????
CLR P1.1 ;?????,????
CLR P1.2 ;?????,????
CLR P1.3 ;?????,????
JNB 00H,OUT1 ;???0?OUT1(???)
AJMP AUTO ;?1?AUTO??
BL: CLR P1.0 ;?????,???????
SETB P1.1 ;?????
SETB P1.2 ;????
CLR P1.3 ;
JNB 00H,OUT1 ;???0?OUT1(???)
JNB P3.5,AUTO ;???????AUTO(????)
AJMP BL ;?????BL??????
OUT1: CLR P1.0 ;????????,?????????
CLR P1.1 ;
CLR P1.2 ;
CLR P1.3 ;
SETB P1.4 ;????????
LJMP MAIN ;?????
FUN5: CLR P1.2 ;??????
CLR P1.3 ;
LJMP READOUTT0 ;????
FUN6: CLR P1.0 ;??????,?????????
CLR P1.1 ;
CLR P1.2 ;
CLR P1.3 ;
LJMP READOUTT0 ;????
;*************************************
;* *
;* ????( 255 X 2 = 513 us) *
;* *
;*************************************
DELAY: MOV R0,#0FFH ;
DELAY1: DJNZ R0,DELAY1 ;
RET ;
;
;
END ;????
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -