我用網站買的板子做實驗程序如下,為什么數據保存不了,斷電后,P0口燈不亮,求高手幫忙,謝謝
ISP_DATA EQU 0E2H
ISP_ADDRH EQU 0E3H
ISP_ADDRL EQU 0E4H
ISP_CMD EQU 0E5H
ISP_TRIG EQU 0E6H
ISP_CONTR EQU 0E7H
ONE_DATA EQU 33H
ORG 00H
AJMP MAIN
ORG 100H
MAIN:
CLR P1.4
MOV DPTR,#2000H
LCALL RDMEM
MOV A,33H
MOV P0,33H
LCALL DELAY
LOOP: JB P3.0,LOOP
LCALL DELAY
JB P3.0,LOOP
MOV DPTR,#2000H
LCALL ERASE
MOV 33H,#10H
MOV DPTR,#2000H
LCALL WRMEM
MOV P0,ONE_DATA
LCALL DELAY
AJMP $
RDMEM:MOV ISP_ADDRH,DPH
MOV ISP_ADDRL,DPL
CLR EA
MOV ISP_CONTR,#81H
MOV ISP_CMD,#01H
MOV ISP_TRIG,#46H
MOV ISP_TRIG,#0B9H
NOP
MOV ISP_CONTR,#0H
MOV ISP_CMD,#0H
MOV ISP_TRIG,#0H
MOV ISP_ADDRH,#0
MOV ISP_ADDRL,#0
SETB EA
MOV ONE_DATA,ISP_DATA
RET
WRMEM:MOV ISP_DATA,ONE_DATA
MOV ISP_ADDRH,DPH
MOV ISP_ADDRL,DPL
CLR EA
MOV ISP_CONTR,#81H
MOV ISP_CMD,#2H
MOV ISP_TRIG,#46H
MOV ISP_TRIG,#0B9H
NOP
MOV ISP_CONTR,#0H
MOV ISP_CMD,#0H
MOV ISP_TRIG,#0H
MOV ISP_ADDRH,#0
MOV ISP_ADDRL,#0
SETB EA
RET
ERASE: MOV ISP_ADDRH,DPH
MOV ISP_ADDRL,DPL
CLR EA
MOV ISP_CONTR,#81H
MOV ISP_CMD,#3H
MOV ISP_TRIG,#46H
MOV ISP_TRIG,#0B9H
NOP
MOV ISP_CONTR,#0H
MOV ISP_CMD,#0H
MOV ISP_TRIG,#0H
MOV ISP_ADDRH,#0
MOV ISP_ADDRL,#0
SETB EA
RET
DELAY:MOV R1,#100H
D1: MOV R0,#20H
D2: DJNZ R0,D2
DJNZ R1,D1
RET
END
你用stc內部的eeprom吧 ,你可先參考下這篇文章:
用51hei-5板子學習單片機內部EEPROM的應用
不過是c語言的
我看看 稍等
寫入之前需要擦除!----這點不像 24C .
僅供參考!
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |