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

📄 mrtof.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************MRTOF********************
;本程序实现从内部RAM传送多字节数据到内部FLASH。
;入口参数:原操作数的地址放在SADR中,目标FLASH的地址放在SADRH:DADR中,字节数在W中。
;出口参数:相关数据已写入指定FLASH单元中。
;占用资源:W,STATUS,FSR,020H,021H,022H,023H,一重堆栈。
;说    明:字节数W一定为偶数

           IFNDEF       MRTOF1
            #DEFINE     MRTOF1
            
MRTOF       MOVWF       CNT
            BCF         STATUS,C
            RRF         CNT,F          ;一个FLASH单元占用2个字节
            MOVF        SADR,W
            MOVWF       FSR            ;RAM单元首地址
            BANKSEL	PIE2
	    BCF		PIE2,EEIE      ;关闭EE中断
            BANKSEL     EECON1
            BSF         EECON1,EEPGD   ;读写FLASH
            BCF         STATUS,RP0
	    BCF		STATUS,RP1
	    MOVF	DADR,W
	    BSF		STATUS,RP1
            MOVWF       EEADR          
            BCF         STATUS,RP1
            MOVF        SADRH,W
            BSF         STATUS,RP1
            MOVWF       EEADRH         ;将目标地址写入EEADR
LOOP100     MOVF	INDF,W
 	    MOVWF	EEDATA         
            INCF        FSR,F
            MOVF        INDF,W
            MOVWF       EEDATH         ;将源数据写入FLASH 
            BSF         STATUS,RP0
            BSF         EECON1,WREN    ;写允许
	    BCF		INTCON,GIE     ;关闭中断
	    MOVLW	55H            ;MICROCHIP
	    MOVWF	EECON2         ;规
            MOVLW	0XAA           ;定
	    MOVWF       EECON2         ;代码
            BSF	 	EECON1,WR      ;开始写入
            NOP
            NOP
            BSF		INTCON,GIE     ;开放中断
            BCF	 	EECON1,WREN    ;写保护
            BTFSC       EECON1,WR      ;写完了吗?            
            GOTO        $-1
            INCF        FSR,F          ;写下一个数据
            BCF         STATUS,RP0
            INCF        EEADR,F
            BCF         STATUS,RP1
            DECFSZ      CNT,F          ;所有的数据写完了吗?
            GOTO        NEXT64          
            RETURN
NEXT64      BSF         STATUS,RP1
            GOTO	LOOP100
           ENDIF

⌨️ 快捷键说明

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