打印
[51单片机]

字节写入eeprom问题,假设写入abcd的话,读出的是cdcd。。。为什么

[复制链接]
1391|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
飞鸟yl|  楼主 | 2013-11-16 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include<intrins.h>
#define        uchar        unsigned char
#define        uint        unsigned int

sfr                ISP_DATA=0xe2;
sfr         ISP_ADDRH=0xe3;
sfr         ISP_ADDRL=0xe4;
sfr         ISP_CMD=0xe5;
sfr         ISP_TRIG=0xe6;
sfr         ISP_CONTR=0xe7;

uchar k;
void iap_disable()                                //防止误触发;
{
        ISP_CONTR=0x00;
        ISP_CMD=0x00;
        ISP_TRIG=0x00;       
}

uchar byte_read(uchar add)                                //读字节;
{
        ISP_CONTR=0x81;
        ISP_CMD=0x01;
        ISP_ADDRH=0x28;
        ISP_ADDRL=add;
        EA=0;
        ISP_TRIG=0x46;
        ISP_TRIG=0xb9;
        _nop_();
        k=ISP_DATA;
        EA=1;
        iap_disable();
        return(k);
}

void byte_program(uchar add,uchar num)                                 //写字节;
{
        ISP_CONTR=0x81;
        ISP_CMD=0x02;
        ISP_ADDRH=0x28;
        ISP_ADDRL=add;
        ISP_DATA=num;
        EA=0;
        ISP_TRIG=0x46;
        ISP_TRIG=0xb9;
        EA=1;
        iap_disable();
}  

void sector_erase()                                 //檫除扇区;
{
        ISP_CONTR=0x81;
        ISP_CMD=0x03;
        ISP_ADDRH=0x28;
        ISP_ADDRL=0x00;
        EA=0;
        ISP_TRIG=0x46;
        ISP_TRIG=0xb9;
        _nop_();
        EA=1;
        iap_disable();                       
}
void main()
{
        uchar a=0,b=0,d=2;
                     uint c;
        TH0=0;
        TL0=0;
        TMOD=0x01;
        EA=1;
        ET0=1;
        TR0=1;
        a=0;
        while(1)
        {
                a++;
                d++;
                sector_erase();
                byte_program(0x00,a);
                byte_program(0x01,d);
                c=byte_read(0x00)*256+byte_read(0x01);       
        }          
}

相关帖子

沙发
NE5532| | 2013-11-16 21:47 | 只看该作者
没有说什么E2芯片,确认不是FLASH哇?写1234呢?写一个字节又正确不呢?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
飞鸟yl + 1 单片机内部e2 问题已经解决 时间没设置好.
板凳
crjab| | 2013-11-17 07:59 | 只看该作者
好贴就~~~~~顶一顶~~~~~~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝