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

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

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

開發工具

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

技術支持

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

新聞中心

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

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

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

;========================================================== ;= 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 ;



联系我们: 吉隆县| 友谊县| 敦煌市| 泊头市| 西林县| 岳池县| 多伦县| 宁国市| 绥德县| 苗栗市| 镇坪县| 江阴市| 永年县| 望都县| 宜君县| 邯郸市| 微山县| 忻州市| 吴江市| 柯坪县| 宝坻区| 长顺县| 景泰县| 科技| 兴仁县| 观塘区| 建德市| 威海市| 周口市| 唐山市| 建湖县| 乃东县| 万源市| 潞城市| 建阳市| 儋州市| 陵川县| 太湖县| 鹤壁市| 广饶县| 内黄县|