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

📄 eeprom.asm

📁 1
💻 ASM
字号:
#INCLUDE <P16F877A.INC>

ROMADD  EQU  0X20;

W_DATA   EQU  0X21;
R_DATA   EQU  0X22;

#DEFINE  BVAL  0X41;  FIREST,PUT VAL TO W_DATA,WRITE TO EEPROM,THEN READ BACK TO R_DATA;

;B口必须全部接LED

ORG 0X0
		NOP
		NOP
		BCF		STATUS,RP0
		BCF		STATUS,RP1;

        CLRF    INTCON;    
        CLRF    T1CON;

        movlw	0x10
		movwf	ROMADD;
        MOVLW   BVAL;
        MOVWF   W_DATA;

        CALL    W_EEPROM;
        CALL    R_EEPROM;
        MOVF    R_DATA,W;
        SUBWF   W_DATA,W;
       
        GOTO    $;
   
   W_EEPROM;入口参数:ROMADD,W_DATA  出口参数:无;写一个字节 
        BCF     STATUS,RP1;
        BCF     STATUS,RP0;     ;Select bank 0 
        MOVF    ROMADD,W        ;
        BSF     STATUS,RP1;      Select bank 2
        MOVWF   EEADR           ; Load EEPROM word address
        BCF     STATUS,RP1;      Select bank 0
        MOVF    W_DATA,W
        BSF     STATUS,RP1;      Select bank 2
        MOVWF   EEDATA          ; Load data

        BSF     STATUS,RP0      ; Select bank 3
        CLRF    EECON1
        BSF     EECON1,WREN     ; Enable write operation
        MOVLW   055H
        MOVWF   EECON2          ; Sent 055h
        MOVLW   0AAH
        MOVWF   EECON2          ; Send 0AAh
        BSF     EECON1,WR       ; Intiates a write cycle
        BTFSC   EECON1,WR
        GOTO    $-1
        BCF     EECON1,EEIF     ; Clear EEIF
        BCF     STATUS,RP1      ; Select bank 0
        BCF     STATUS,RP0        
        RETURN
        
   R_EEPROM;入口参数,ROMADD,出口参数R_DATA
        BCF     STATUS,RP1;
        BCF     STATUS,RP0      ; Select bank 0
        MOVF    ROMADD,W;
        BSF     STATUS,RP1;     ; Select bank 2
        MOVWF   EEADR           ; Load EEPROM word address
        
        BSF     STATUS,RP0      ; Select bank 3
        BCF     EECON1,WR       ; Clear
        BSF     EECON1,RD       ; Initiates a read cycle
        
        BCF     STATUS,RP0      ; Select bank 2
        MOVF    EEDATA,W        ; Get a data to W        
        BCF     STATUS,RP1;       Select bank 0
        MOVWF   R_DATA;
        RETURN                        
END

⌨️ 快捷键说明

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