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

📄 dflash.a51

📁 C51单片机端
💻 A51
字号:

$NOMOD51

NAME	DFLASH
#include <reg52.inc>

v_Fr	BIT	0B0H.4
v_Io	BIT	090H.7

?PR?_vReadFlash?DFLASH		SEGMENT CODE 
?PR?_vWriteFlash?DFLASH		SEGMENT CODE 

	PUBLIC	_vWriteFlash
	PUBLIC	_vReadFlash
       
; Uchar vReadFlash(Uint uaddr)
	RSEG  ?PR?_vReadFlash?DFLASH
_vReadFlash:
	USING	0
    ;输入数据地址存储在R7,R6中
	MOV  	DPL,R7
	MOV  	DPH,R6
	CLR  	v_Fr     ;切换到Flash操作
	CLR  	v_Io
	MOVX 	A,@DPTR  ;读取Flash
	MOV  	R7,A     ;保存返回参数
	SETB 	v_Fr     ;切换到Ram操作
	CLR  	v_Io
	RET  	

; void vWriteFlash(Uint uaddr, Uchar val)
	RSEG  ?PR?_vWriteFlash?DFLASH
_vWriteFlash:
	USING	0
	;输入数据地址存储在R7,R6中,数据存储在R5中
	MOV  	DPL,R7
	MOV  	DPH,R6
	CLR  	v_Fr     ;切换到Flash操作
	CLR  	v_Io
	MOV  	A,R5     ;写Flash操作
	MOVX 	@DPTR,A
	SETB 	v_Fr     ;切换到Ram操作
	CLR  	v_Io
	RET 

;?PR?_vBankSet?DFLASH     	SEGMENT CODE 
;	PUBLIC	_vBankSet
; void _vBankSet(m_Bank)
;	RSEG  ?PR?_vBankSet?DFLASH
;_vBankSet:
;	USING	0
;	MOV  	A,R7
;	JNZ  	Bank01
;Bank00:	
;	CLR  	v_A16
;	CLR  	v_A17
;	RET  	
;Bank01:
;	CJNE 	A,#01H,Bank02
;	SETB 	v_A16
;	CLR  	v_A17
;	RET  	
;Bank02:
;	CJNE 	A,#02H,Bank03
;	CLR  	v_A16
;	SETB 	v_A17
;	RET  	
;Bank03:
;	CJNE 	A,#03H,Bdfault
;	SETB 	v_A16
;	SETB 	v_A17
;	RET  	
;Bdfault:
;	CLR  	v_A16
;	CLR  	v_A17
;	RET  
	END

⌨️ 快捷键说明

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