人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

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

開發(fā)工具

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

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

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

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

如何較快的清除內(nèi)置eeprom的內(nèi)容?

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

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



永泰县| 鄂温| 金山区| 全南县| 鹤壁市| 岳阳市| 邵武市| 丹阳市| 游戏| 砚山县| 湘潭市| 山东省| 海林市| 石林| 衡山县| 延安市| 广德县| 马公市| 原平市| 江津市| 曲阜市| 大宁县| 恩平市| 灵寿县| 沂源县| 临颍县| 永德县| 镇康县| 巧家县| 沙田区| 华容县| 眉山市| 保亭| 扬中市| 太仆寺旗| 忻城县| 罗甸县| 萨嘎县| 新疆| 阿拉善左旗| 达拉特旗|