匯編語言寫的,依據(jù)stc單片機官方提供的資料,測試ok,另外還有c語言的大家可到論壇去找。
stc的eeprom 功能還是不錯的,可以簡化我們的外圍電路,但是缺點是是有就那就是寫入速度太慢了,只能按扇區(qū)的寫,不能字節(jié)寫.
下面是代碼
AUXR1 EQU 0A2H ISPDATA EQU 0E2H ISPADDRH EQU 0E3H ISPADDRL EQU 0E4H ISPCMD EQU 0E5H ISPTRIG EQU 0E6H ISPCONTR EQU 0E7H ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV AUXR1,#0 INC AUXR1 MOV DPTR,#2000H ACALL ERASE MOV A,#0FEH ACALL EEPROMW ACALL EEPROMR INC AUXR1 AJMP MAIN ERASE:;擦除 MOV ISPCONTR,#81H MOV ISPCMD,#03H MOV ISPADDRH,DPH MOV ISPADDRL,DPL CLR EA MOV ISPTRIG,#46H MOV ISPTRIG,#0B9H NOP SETB EA ACALL ISPXX RET EEPROMW:;寫 MOV ISPCONTR,#81H MOV ISPCMD,#02H MOV ISPADDRH,DPH MOV ISPADDRL,DPL MOV ISPDATA,A CLR EA MOV ISPTRIG,#46H MOV ISPTRIG,#0B9H NOP SETB EA ACALL ISPXX RET EEPROMR:;讀 MOV ISPCONTR,#81H MOV ISPCMD,#01H MOV ISPADDRH,DPH MOV ISPADDRL,DPL CLR EA MOV ISPTRIG,#46H MOV ISPTRIG,#0B9H NOP MOV A,ISPDATA SETB EA ACALL ISPXX RET ISPXX: MOV ISPCONTR,#0 MOV ISPCMD,#0 MOV ISPTRIG,#0 RET DEL: MOV R2,#0FFH D1: MOV R1,#0FFH DJNZ R1,$ DJNZ R2,D1 RET END