天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

如何較快的清除內置eeprom的內容?

更新時間: 2019-03-26
閱讀量:3111

;========================================================== ;= use buffer : Address => EEPROM action address buffer ;= example: movlw D'10' 位址10讀出 ;= call EE_READ_A ;= : Address = D'10' ;= : TMP1,TMP2 = data ;=========================================================== ; EE_READ_A: MOVWF ADDRESS EE_READ: MOVLW D'02' MOVWF CNT1 BCF STATUS,C RLF ADDRESS,W BANK_1 MOVWF EEADR ;point to EEPROM EE_READ_LOOP: BANK_1 BSF EECON1,RD ;read data from EEP MOVFW EEDATA ; INCF EEADR,F BANK_0 BTFSC CNT1,1 MOVWF TMP2 BTFSS CNT1,1 MOVWF TMP1 DECFSZ CNT1,F GOTO EE_READ_LOOP RETURN

;================================================================ ;= use buffer : Address => EEPROM action address buffer ;= example: movlw H'55' 位址10寫入0x55 0x55 ;= movwf TMP1 ;= movwf TMP2 ;= movlw D'10' ;= call EE_WRITE_A ;= Address = D'12' ;================================================================ ; MEMORY_WRITE: MOVWF TMP1 CLRF TMP2 MOVLW PWR_MEM EE_WRITE_A: MOVWF ADDRESS EE_WRITE: MOVLW D'02' MOVWF CNT1 BCF STATUS,C RLF ADDRESS,W BANK_1 MOVWF EEADR ;point to EEPROM BANK_0

EE_WRITE_LOOP: MOVFW TMP2 BTFSS CNT1,1 MOVFW TMP1 BANK_1 MOVWF EEDATA BSF EECON1,WREN ;enable write BCF INTCON,GIE MOVLW H'55' MOVWF EECON2 MOVLW H'0AA' MOVWF EECON2 BSF EECON1,WR ;寫入 BANK_0

;------- wait --------------------------

MOVLW D'43' ; +=> wait 100mSec MOVWF DELAY_2 ; / L_WaitLoop: CLRF DELAY_1 ; \ CLRWDT ; | BTFSS PIR1,EEIF ; | GOTO L_WaitLoop_TP ; | BCF PIR1,EEIF ; | BANK_1 ; | BCF EECON1,WREN ; | L_WaitLoop1: INCF EEADR,F ; point to EEPROM BANK_0 ; | DECFSZ CNT1,F GOTO EE_WRITE_LOOP INCF ADDRESS,F RETURN

L_WaitLoop_TP: ; | INCFSZ DELAY_1,F ; | GOTO L_WaitLoop+1 ; | DECFSZ DELAY_2,F ; | GOTO L_WaitLoop ; / GOTO L_WaitLoop1 ;

;下面為清除程序,清除地址為00H----3FH,清除值為0FFH,上面一個是讀子程序一個是寫子程序,但在清除中只用寫

;子程序

EEPROM_ERROR: CLRF ADDRESS ; SET EEPROM ADDRESS 0 ERASE_LOOP: MOVLW H'0FF' ; ERASE EEPROM 00-3FH MOVWF TMP1 ; MOVWF TMP2 ; CALL EE_WRITE ; BTFSS ADDRESS,6 ; GOTO ERASE_LOOP ; GOTO RESET ;



联系我们: 尼木县| 吴川市| 如东县| 理塘县| 巴彦淖尔市| 游戏| 辛集市| 乌兰县| 慈溪市| 定陶县| 舟曲县| 苍梧县| 泉州市| 淮南市| 惠州市| 沧州市| 闻喜县| 唐山市| 金秀| 金溪县| 日照市| 玉屏| 安国市| 新竹市| 会理县| 田东县| 自治县| 兖州市| 龙川县| 开封市| 高雄市| 曲阳县| 隆尧县| 汝州市| 平果县| 瑞金市| 静海县| 应用必备| 郎溪县| 凤山市| 万全县|