⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sub_func.inc

📁 汽车遥控制的源代码.用的单片机是PIC16F72. 大批量生产.
💻 INC
字号:
;-----------------------------------------------------------
;SubFunction
;-----------------------------------------------------------

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Sub_Bit16:
	comf	Temp1,F				
	incf	Temp1,F
	btfsc	STATUS,Z
	decf	Temp2,F
	comf	Temp2,F				

	movf	Temp1,W			
	addwf	Temp3,F				
	btfsc	STATUS,C
	incf	Temp4,F
	movf	Temp2,W
	addwf	Temp4,F
	
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Serial_Number_Check:
	btfsc	Serial3,3		
	goto	Serial_Number_All_Zero

	movf	Serial3,W
	andlw	b'00001111'
	iorwf	Serial2,W		
	iorwf	Serial1,W
	iorwf	Serial0,W
	skpz
	goto	Serial_Number_No_Zero
Serial_Number_All_Zero:
	bcf	STATUS,C		
	return
Serial_Number_No_Zero:
	bsf	STATUS,C	
	return


;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Serial_Number_Compare:
	movf	Key_Temp_Address,W
	addlw	d'4'
	movwf	Eeprom_Address			
	movlw	RKE_Syn_Temp1
	movwf	FSR
	movlw	d'4'
	movwf	Eeprom_Number
	call	Read_Eeprom

	movf	Serial0,W
	subwf	RKE_Syn_Temp1,W
	skpz
	goto	Serial_Number_Compare_Not_Same
	movf	Serial1,W
	subwf	RKE_Syn_Temp2,W
	skpz
	goto	Serial_Number_Compare_Not_Same
	movf	Serial2,W
	subwf	RKE_Syn_Temp3,W
	skpz
	goto	Serial_Number_Compare_Not_Same
	movf	Serial3,W
	andlw	b'00001111'
	subwf	RKE_Syn_Temp4,W
	andlw	b'00001111'
	skpz
	goto	Serial_Number_Compare_Not_Same
Serial_Number_Compare_Same:
	bcf	STATUS,C
	return
Serial_Number_Compare_Not_Same:
	bsf	STATUS,C
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Hop_Tran:
	movf	Hop_Recieve1,W
	movwf	HOP1
	movf	Hop_Recieve2,W
	movwf	HOP2
	movf	Hop_Recieve3,W
	movwf	HOP3
	movf	Hop_Recieve4,W
	movwf	HOP4
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Decrypt_Key_Tran:
	movf	Key_Temp_Address,W
	addlw	d'8'
	movwf	Eeprom_Address
	movlw	KEY0
	movwf	FSR
	movlw	d'8'
	movwf	Eeprom_Number
	call	Read_Eeprom

	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Syn_Counter_Save:
	bsf	WRITE_EEPROM_ENABLE
	
	movf	HOP1,W
	movwf	RKE_Syn_Temp2		
	movwf	RKE_Syn_Temp3
	movf	HOP2,W
	movwf	RKE_Syn_Temp1
	movwf	RKE_Syn_Temp4

	movf	Key_Temp_Address,W
	movwf	Eeprom_Address
	movlw	RKE_Syn_Temp1
	movwf	FSR
	movlw	d'2'
	movwf	Eeprom_Number

	call	Write_Eeprom

	movf	Key_Temp_Address,W
	addlw	d'2'
	movwf	Eeprom_Address
	movlw	RKE_Syn_Temp3
	movwf	FSR
	movlw	d'2'
	movwf	Eeprom_Number		

	call	Write_Eeprom
	
	bcf	WRITE_EEPROM_ENABLE
	
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Manufacture_Key_Tran:
	movlw	MANU7
	movwf	KEY7
	movlw	MANU6
	movwf	KEY6
	movlw	MANU5
	movwf	KEY5
	movlw	MANU4
	movwf	KEY4
	movlw	MANU3
	movwf	KEY3
	movlw	MANU2
	movwf	KEY2
	movlw	MANU1
	movwf	KEY1
	movlw	MANU0
	movwf	KEY0
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Serial_Number_Tran:
	movf	Serial0,W
	movwf	HOP1	
	movf	Serial1,W
	movwf	HOP2	
	movf	Serial2,W
	movwf	HOP3	
	movf	Serial3,W
	movwf	HOP4	
			
	return

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Learn_Decrypt_Key_Get:
	call	Manufacture_Key_Tran
	
	call	Serial_Number_Tran
	movlw	b'00001111'
	andwf	HOP4,F
	movlw	b'00100000'		
	iorwf	HOP4,F
	
	call	DECRYPT
	
	movf	HOP1,W
	movwf	RKE_Syn_Temp1
	movf	HOP2,W
	movwf	RKE_Syn_Temp2
	movf	HOP3,W
	movwf	RKE_Syn_Temp3
	movf	HOP4,W
	movwf	RKE_Syn_Temp4
	
	call	Manufacture_Key_Tran
	
	call	Serial_Number_Tran
	movlw	b'00001111'
	andwf	HOP4,F
	movlw	b'01100000'	
	iorwf	HOP4,F
	
	call	DECRYPT
	
	movf	HOP1,W
	movwf	KEY4
	movf	HOP2,W
	movwf	KEY5
	movf	HOP3,W
	movwf	KEY6
	movf	HOP4,W
	movwf	KEY7
	
	movf	RKE_Syn_Temp1,W
	movwf	KEY0
	movf	RKE_Syn_Temp2,W
	movwf	KEY1
	movf	RKE_Syn_Temp3,W
	movwf	KEY2
	movf	RKE_Syn_Temp4,W
	movwf	KEY3
	
	return
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -