- 帖子
- 219
- 主题
- 115
- 精华
- 2
- 积分
- 480
- 在线时间
- 285 小时
- 注册时间
- 2007-5-27
|
- ORG 0000H
- AJMP MAIN
- ORG 0003H
- AJMP KEYPRESS
- ORG 000BH
- AJMP TIMEOUT
- ORG 001BH
- AJMP TIMEOUT
- SENDDUAN BIT P3.0
- JIEDUAN BIT P3.1
- INTRPO BIT P3.2
- JIEXUAN BIT P3.3
- SENDLIGHT BIT P3.4
- JIELIGHT BIT P3.5
- CS BIT P3.7
- DATADUAN BIT P1.6
- CLK BIT P1.7
- JIANWEI EQU R5
- JIANMA EQU R6
- SHANGJIAN EQU 07H;R7
- OPENKEY EQU 81H
- CLOSEKEY EQU 00H
- CHUT0 EQU 11H
- CHUT1 EQU 11H
- BUFBEGIN EQU 18H
- OPENT1 EQU 88H
- CLOSET1 EQU 00H
- OPENT0 EQU 82H
- CLOSET0 EQU 00H
- DATABEG1 EQU 0AAH
- DATABEG2 EQU 33H
- ORG 0030H
- MAIN: MOV IE,#80H
- MOV IP,#00H
- MOV P3,#0FFH
- CLR CS
- SETB P1.0
- SETB P1.1
- SETB P1.2
- CLR P1.3
- CLR P1.4
- CLR P1.5
- CLR P1.6
- CLR P1.7
- MOV R3,#80H
- MOV R0,00H
- CYCLE1: MOV @R0,#00H
- INC R0
- DJNZ R3,CYCLE1
- MOV PSW,#00H
- MOV SP,#07H
- MOV TMOD,#11H
- MOV TCON,#00H
- START: MOV SP,#07H
- SETB SENDDUAN
- CLR F0
- SETB EXO
- WAITKEY: MOV C,F0
- JNC WAITKEY
- CJNC JIANMA,#1BH,SEND
- LCALL LEARNP
- LJMP START
- SEND: LCALL SENDP
- LJMP START
- SENDP: SETB SENDDUAN
- CLR F0
- MOV TMOD,#CHUT1
- CLR SENDLIGHT
- MOV A,JIANMA
- CJNE A,SHANGJIAN,SAME
- SAME: MOV R0,#BUFBEGIN
- CLR TR1
- LJMP NEXT3
- RETURN: CLR ET1
- SETB SENDDUAN
- SETB SENDLIGHT
- CLR F0
- LCALL DELAY
- RET
- NEXT3: CPL F0
- JB F0,SEND1
- SEND0: CLR C ;1
- MOV A,#0FFH
- SUBB A,@R0
- MOV R2,A ;1
- INC R0 ;1
- MOV A,#0FFH ;1
- SUBB A,@R0 ;1
- MOV R3,A
- INC R0
- CLR C
- MOV A,#4FH
- ADDC A,R2
- MOV R2,A
- MOV A,R3
- ADDC A,#00H
- MOV R3,A
- MOV TL1,R2
- MOV TH1,R3
- SETB TR1 ;1
- SETB ET1 ;1
- SEND1: CLR C
- MOV A,#0FFH
- SUBB A,@RO
- MOV TL1,A
- INC R0
- MOV A,#0FFH
- SUBB A,@R0
- MOV TH1,A
- INC R0
- SETB TR1
- SETB ET1
- NEXT6: CLR SENGGUAN
- MOV R3,#03H
- NEXT4: DJNZ R3,NEXT4
- SETB SENDDUAN
- MOV R3,#07H
- NEXT5: DJNZ R3,#NEXT5
- SJMP NEXT6
- TIMA1OUT: CLR ET1 ;2
- CLR TR1 ;2
- SETB SENDDUAN ;1
- CJNE@R0,#DATABEG2,TIM1NT2
- MOV DPTR,#RETURN ;2
- MOV R1,SP ;2
- MOV @R1,DPH ;2
- DEC R1 ;1
- MOV @R1,DPL ;2
- RETI ;2
- TIM1NET2: DEC R0
- TIM1NET1: CPL F0 ;1
- JB F0,SEND11 ;2
- SEND00: MOV DPTR,#SENDO ;11
- MOV R1,SP
- MOV @R1,DPH
- DEC R1
- MOV @R1,DPL
- RETI
- SEND11: MOV DPTR,#SEND1 ;11
- MOV R1,SP
- MOV @R1,DPH
- DEC R1
- MOV @R1,DPL
- RETI
- LEARNP: MOV R2,#02H
- NEXT91: MOV R3,#0FFH
- NEXT81: MOV R4,#0FFH
- NEXT71: DJNZ R4,NEXT71
- DJNZ R3,NEXT81
- GJNZ R2,NEXT91
- CLR F0
- SETB EX0
- MOV R2,#0AH
- MEXT9: MOV R3,#0FFH
- NEXT8: MOV R4,#0FFH
- NEXT7: JB F0,NEXT10
- DJNZ R4,NEXT7
- DJNZ R3,MEXT8
- DJNZ R2,NEXT9
- CLR EX0
- RET
- NEXT10: CJNE JIANMA,#1BH,NEXT11
- LJMP NEXT111
- NEXT11: RET
- NEXT111: CLR JIELIGHT
- CLR JIEXUAN
- CLR F0
- MOV R0,#BUFBEGIN
- SETB ET0
- MOV TCON,#00H
- MOV TMOD,#CHUT0
- MOV TL0,#00H
- MOV TH0,#00H
- MOV R2,#02H
- NEXT92: MOV R3,#0FFH
- NEXT82: MOV R4,#0FFH
- NEXT72: DJNZ R4,NEXT72
- DJNZ R3,NEXT82
- DJNZ R2,NEXT92
- CLR TR0
- L1: MOV C,JIEDUAN
- JC L1
- L4: SETB TR0
- L2: MOV C,JIEDUAN
- CLR TR0
- MOV @R0,TL0
- INC R0
- MOV TH0,#00H
- MOV TL0,#00H
- L6: SETB TR0
- L3: MOV C,JIEDUAN
- JC L3
- CLR TR0
- CLR C
- MOV A,TL0
- ADDC A,#13H
- MOV @R0,A
- INC R0
- MOV TH0,#00H
- MOV TL0,#00H
- SETB TR0
- L5: MOV C,JIEDUAN
- JNC L5
- CLR TR0
- CLR C ;1
- MOV A,TL0 ;1
- ADDC A,#13H ;1
- MOV @R0,A ;2
- INC R0
- MOV A,TH0
- ADDC A,#00H
- MOV @R0,A
- INC R0
- MOV TH0,#00H
- MOV TL0,#00H
- SJMP L6
- SHUJIAN: SETB JIEXUAN
- MOV @R0,#DATABEG1
- INC R0
- MOV @R0,#DATABEG2
- SETB EX0
- CLR F0
- NEXT13: JB F0,NEXT12
- LJMP NEXT13
- NEXT12: LCALL WRITEP
- SETB JIELIGHT
- RET
- TIME0OUT CLR ET0
- CLR TR0
- MOV DPTR,#SHUJIAN
- MOV @R1,DPH
- DEC R1
- MOV @R1,DPL
- RETI
- KEYPRESS: CLR EX0
- MOV R3,#0DH
- CYCLE3: MOV R4,#0FFH
- CYCLE2: DJNZ R4,CYCLE2
- DJNZ R3,CYCLE3
- MOV C,INTRPO
- JNC NEXT1
- RETI
- NEXT1: SETB F0
- MOV C,P1.0
- MOV ACC.0,C
- MOV C,P1.1
- MOV ACC.1,C
- MOV C,P1.2
- MOV ACC.2,C
- CLR P1.0
- CLR P1.1
- CLR P1.2
- SETB P1.3
- SETB P1.4
- SETB P1.5
- MOV C,P1.3
- MOV ACC.3,C
- MOV C,P1.4
- MOV ACC.4,C
- MOV C,P1.5
- MOV ACC.5,C
- ANL A,300111111B
- MOV JIANMA,A
- SETB P1.0
- SETB P1.1
- SETB P1.2
- CLR P1.3
- CLR P1.4
- CLR P1.5
- LCALL JIANWEIP
- RETI
- JIANWEIP: CJNE JIANMA,#36H,NEXT14
- MOV JIANWEI,#01H
- LJMP LAST
- NEXT14: CJNE JIANMA,#35H,NEXT15
- MOV JIANWEI,#02H
- LJMP LAST
- NEXT15: CJNE JIANMA,#35H,NEXT16
- MOV JIANWEI,#03H
- LJMP LAST
- NEXT16: CJNE JIANMA,#2EH,NEXT17
- MOV JIANWEI,#04H
- LJMP LAST
- NEXT17: CJNE JIANMA,#2DH NEXT18
- MOV JIANWEI, #05H
- LJMP LAST
- NEXT18: CJNE JIANMA,#2BH,NEXT19
- MOV JIANWEL,#06H
- LJMP LAST
- NEXT19: CJNE JIANMA,#1EH,NEXT20
- MOV JIANWEI,#07H
- LJMP LAST
- NEXT20: CJNE JIANMA,#1DH,NEXT21
- MOV JIANWEL,#09H
- LJMP LAST
- NEXT21: CJNE JIANMA,#1BH,NEXT22
- MOV JIANWEI,#09H
- LJMP LAST
- NEXT22: CLR FO
- LAST: RET
- READP: MOV RO,BUFBEGIN
- MOV A,JIANWEI
- MOV B,50
- MUL AB
- MOV R3,A
- SHU JU DI ZHI
- INC R3
- LCALL READCOM
- READNET2: MOV A,R3
- LCALL WRITEADRESS
- LCALL READBYTE
- CJNE ,#DATABEG1,READNET1
- MOV A R3
- INC A
- LACLL WRITEADRESS
- LCALL READBYTE
- CJNE A,#DATABEG2,READNET1
- CLR CS
- RET
- READNET1: MOV @RO,A
- INC RO
- INC R3
- LJMP READNET2
- WRITEP: MOV RO,BUFBEGIN
- MOV A,JIAWEI
- MOV B,50
- MUL AB
- MOV R3,A ;KAI SHI SHU
- JU DI ZHI
- INC R3
- LCALL EWEN
- WRITNET1: LACLL WRITECOM
- MOV,R3
- LCALL WRITEADRESS
- MOV A,@RO
- CJNE A,#DATABEG1,WRITNET2
- INC RO
- MOV A,@RO
- CJNE A,DATABEG2,WRITNET3
- LCALL EWDS
- CLR CS
- RET
- WRITNRT3: DEC RO
- WRITNET2: LCALL WRITEBYTE
- INC RO
- INC R3
- LJMP WRITNE1
- RET
- WRITBYTE: MOV R2,#08H
- BOUT1: CLR CLK
- RLC A
- MOV DATADUAN,C
- NOP
- SETB CLK
- NOPDJNZ R2,BOUT1
- CLRDATADUAN
- RET
- READBYTE: SETB DATAUAN
- MOV R2,#08H
- BIN1: CLR CLK
- NOP
- SETB CLK
- NOP
- MOV C,DATADUAN
- RLC A
- DJNZ R2,BIN1
- RET
- READCOM: CLR CS
- CLR CLK
- SETB DATADUAN
- SETB CS
- NOP
- SETB CLK ;1
- NOP
- CLR CLK
- NOP
- SETB CLK ;1
- NOP
- CLR DATAUAN
- CLR CLK
- NOP
- SETB CLK ;0
- RET
- WRITECOM: CLR CS
- NOP
- CLR CLK
- SETB DATADUAN
- SETB CS
- NOP
- SETB CLK ;1
- NOP
- CLR DATADUAN
- NOP
- CLR CLK
- NOP
- SETB CLK ;0
- NOP
- SETB DATADUAN
- NOP
- CLR CLK
- NOP
- SETB CLK ;1
- RET
- WRITEADRESS: MOV R2,#07H
- RLC A ;TIAO GUO
- DI 7 WEI
- BOUT2: CLR CLK
- RLC A
- MOV DATADUAN,C
- NOP
- DJNA R2,BOUT2
- CLR DATAUAN
- RET
- EQEN: CLR CS
- CLR CLK
- SETB DATADUAN
- SETB CS
- SETB CLK ;1
- NOP
- CLR CLK
- NOP
- CLR DATADUAN
- SETB CLK ;0
- NOP
- NOP
- CLR CLK
- NOP
- SETB CLK ;0
- NOP
- NOP
- SETB DATADUAN
- CLR CLK
- NOP
- SETB CLK ;1
- NOP
- NOP
- SETB CLK ;1
- NOP
- NOP
- CLR CLK
- NOP
- NOP
- CLR CS
- RET
- EWDS: CLR CS
- CLR CLK
- SETB DATADUAN
- SETB CS
- SETB CLK ;1
- NOP
- CLR CLK
- NOP
- CLR DATADUAN
- SETB CLK ;0
- NOP
- NOP
- CLR CLK
- NOP
- SETB CLK ;0
- NOP
- NOP
- CLR CLK
- NOP
- NOP
- RETB CLK ;0
- NOP
- NOP
- SETB CLK ;0
- NOP
- NOP
- CLR CLK
- NOP
- NOP
- SETB CLK ;0
- NOP
- NOP
- CLR CS
- CLR CLK
- RET
- DELAY: MOV R3,#96H
- DEL1: MOV R4,#OFFH
- DEL2: DJNZ R4,DEL2
- DJNZ R3,#DEL1
- RET
- END
复制代码 |
|