eeprom.inc

来自「汽车遥控制的源代码.用的单片机是PIC16F72. 大批量生产.」· INC 代码 · 共 97 行

INC
97
字号
;#####################################
;Charge_PWM_Deal, Charge_Control pin
;#####################################
;Function:	Test and change Charge_Statue when A/D one CH cycle is over.
;Parameter In:	Charge_Statue, AD_Control_Flag
;Return Parameter:
;		Charge_Statue
;using regs:	W,STATUS
;code size:	about 0x00
;using time:	about 0 instruction cycles
;WDT:		Not Clear
;Stack using:	1

Read_Eeprom:
Read_Eeprom_Loop:
	bcf	STATUS,RP0
	
	bcf	INTCON,GIE
	
	movf	Eeprom_Number,F
	skpnz
	goto	Read_Eeprom_Over
	
	bsf	STATUS,RP0

	movf	Eeprom_Address,W
	movwf	EEADR

	bsf	EECON1,RD

	goto	$+1
	goto	$+1
	
	movf	EEDATA,W
	movwf	INDF
	
	bcf	STATUS,RP0		;BANK0
	incf	Eeprom_Address,F
	incf	FSR,F
	decf	Eeprom_Number,F
	goto	Read_Eeprom_Loop

	bsf	INTCON,GIE
	
Read_Eeprom_Over:
	return
	
;------------------------------------------------

Write_Eeprom:
Write_Eeprom_Loop:
	bcf	STATUS,RP0
	
	movf	Eeprom_Number,F
	skpnz
	goto	Write_Eeprom_Over
	
	bcf	INTCON,GIE
	
	bsf	STATUS,RP0

	movf	Eeprom_Address,W
	movwf	EEADR

	movf	INDF,W
	movwf	EEDATA
	
	movlw	b'00000100'
	btfss	WRITE_EEPROM_ENABLE
	clrw
	movwf	EECON1			
	
	movlw	0x55
	movwf	EECON2
	movlw	0xAA
	movwf	EECON2
	bsf	EECON1,WR

Write_Eeprom_Wait:
	btfsc	EECON1,WR
	goto	Write_Eeprom_Wait
	
	incf	FSR,F
	incf	Eeprom_Address,F
	decf	Eeprom_Number,F
	goto	Write_Eeprom_Loop

Write_Eeprom_Over:	
	clrf	EECON1		
	bcf	STATUS,RP0

	bsf	INTCON,GIE	
	return

;======================================

⌨️ 快捷键说明

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