求教:关于stc内部EEPROM的使用

[复制链接]
 楼主| 发表于 2009-7-25 09:34 | 显示全部楼层 |阅读模式
各位大人,小弟最近做使用stc单片机EEPROM时,想对一个页连续的存入数据,结果每个扇区存放的只是第一个数据。
请问各位大人 SSTC EEPROM连续写应该怎么写?
          
发表于 2009-7-25 09:40 | 显示全部楼层

它带有例子的,LZ找找

 楼主| 发表于 2009-7-25 10:00 | 显示全部楼层

huangqi412 大人

 芯片资料里面的只是写一个字节,而我想要的是连续的存储,而且存储量比较大。
发表于 2009-7-25 10:11 | 显示全部楼层

网上下了个,好象不止写字节哦,你先看看

 楼主| 发表于 2009-7-25 10:14 | 显示全部楼层

huangqi412

哦 收到,看看先 谢瓜了~~~~
 楼主| 发表于 2009-7-25 12:09 | 显示全部楼层

再请教

看了huangqi412给的列子和STC提供的资料还有点一下几个问题想请教:
1、存数据是不是每存一次就要把对应的页擦除一次?
2、STC提供的资料说 要一次性存放一个页的数据,请问该怎么存,地址怎么设置?
发表于 2009-7-25 12:20 | 显示全部楼层

额,STC很久前用的,

1,肯定的啦,先要擦一页,如果你只想修改部分数据,必须先要读回来哦
2,看具体型号的说明,应该很容易的,有办法写进1个字节,2个字节,就有办法写进N个字节了, 前阵本本被偷了,现在用别人的娱乐本,啥都没有,暂时无法具体回答哦
 楼主| 发表于 2009-7-25 13:26 | 显示全部楼层

非常感谢

 楼主| 发表于 2009-7-25 13:30 | 显示全部楼层

我写的代码,帮帮我看看问题出在哪里?

程序想把0——255存入EEPROM,结果就只存了第一个数
IAP_STORE:
    LCALL IAP_ERASE
    MOV T_DATA,#00H
    MOV DATA_ADDH,#20H
    MOV DATA_ADDL,#00H
    MOV IAP_CNT,#0FFH    
IAP_LOOP:    
    LCALL IAP_PROGRAME
    INC IAP_ADDL
    INC T_DATA
    DJNZ IAP_CNT,IAP_LOOP
           ret
IAP_PROGRAME:
    MOV IAP_CONTR,#81H    
    MOV IAP_ADDH,DATA_ADDH
    MOV IAP_ADDL,DATA_ADDL
    CLR EA
    MOV IAP_DATA,T_DATA
    MOV IAP_CMD,#02H
    MOV IAP_TRIG,#46H
    MOV IAP_TRIG,#0B9H
    NOP
    NOP
    SETB EA
    RET
使用的 STC89C2RC
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

45

帖子

0

粉丝
快速回复 返回顶部 返回列表