315M无线遥控单片机软件芯片解密
- 芯片解密;=============================按键发射接收到的编码==================================
- TTTT:
- CLR LED_F ;芯片解密发射指示灯
- MOV R3,#8 ;芯片解密每字节调用8次
- TTT_1:
- mov 20h,24h
- mov 21h,25h
- mov 22h,26h
- MOV R0,#20H
- TTT_2:
- LCALL FASE_T0
- TTT_3:
- CLR C
- MOV A,@R0
- RLC A
- MOV @R0,A
- JC TTT_4
- LCALL FASE_0 ;输出0码
- JMP TTT_5
- TTT_4:
- LCALL FASE_1 ;输出1码
- TTT_5:
- DJNZ R3,TTT_3 ;一字节是否发完
- MOV R3,#8
- INC R0
- CJNE R0,#23H,TTT_3 ;3字节是否发完
- MOV R3,#8 ;每字节调用8次
- MOV R0,#20H
- JNB K1,TTT_1
- CLR FAST
- SETB LED_F
- RET
- ;-------------同步码----------------
- FASE_T0:
- SETB FAST
- LCALL DEL_FS
- MOV R5,#31
- FASE_T1:
- CLR FAST
- LCALL DEL_FS
- DJNZ R5,FASE_T1
- RET
- ;--------------0码-----------------
- FASE_0: SETB FAST
- LCALL DEL_FS
- MOV R5,#3
- FASE_01:CLR FAST
- LCALL DEL_FS
- DJNZ R5,FASE_01
- RET
- ;--------------1码-----------------
- FASE_1: MOV R5,#3 ;
- FASE_11:SETB FAST
- LCALL DEL_FS
- DJNZ R5,FASE_11
- CLR FAST
- LCALL DEL_FS
- RET
- ;-----------数据解码显示-----------------20H/21H/22H/2FH------
- ;显示0/F/D/1
- DISP_JMB:
- MOV R0, #20H ;原数据地址
- MOV R1, #40H
- MOV R7, #0 ;左移次数计数
- MOV 2FH,#0 ;该位可以位操作(位操作地址是7FH--78H)
- DISP_JM:
- MOV A,@R0
- CLR C
- RLC A ;C→A0 A7→C 数据存入C
- MOV 79H,C ;移入2FH单元A1位
- CLR C
- RLC A ;C→A0 A7→C 数据存入C
- MOV 78H,C ;移入2FH单元A0位
- MOV @R0,A ;暂存@R0
- MOV A,2FH
- JNZ DISP_0F
- MOV @R1,#0 ;------00--0解码显示
- JMP DISP_01DF
- DISP_0F:
- CJNE A,#01,DISP_0D
- MOV @R1,#15 ;--------01--F解码显示
- JMP DISP_01DF
- DISP_0D:
- CJNE A,#02,DISP_0H
- MOV @R1,#13 ;--------10--D解码显示
- JMP DISP_01DF
- DISP_0H:
- CJNE A,#03,DISP_01DF
- MOV @R1,#1 ;--------11--1解码显示
- JMP DISP_01DF
- DISP_01DF:
- MOV 2FH,#0
- INC R1
- INC R7
- CJNE R7,#4,DISP_JM ;是否移动了4次,够4次说明一字节输出完成
- MOV R7,#0 ;左移次数清零
- INC R0
- CJNE R0,#23H,DISP_JM;3字节是否调取完成
- MOV 4CH,#36
- MOV 4DH,#36
- MOV 4EH,#4
- MOV 4FH,#22
- DISP_EN:
- RET

芯片解密