| 
 
    
- 帖子
 - 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
 
  复制代码 |   
 
 
 
 |