标题:
求助,STC单片机eeprom问题
[打印本页]
作者:
骑小猪逛巴黎
时间:
2015-11-15 19:11
标题:
求助,STC单片机eeprom问题
用STC10F08XE编写eeprom时钟程序,用0000h存储的数据,一上电就显示2,换成其它存储空间的话就从0开始,不知道为什么,求大神解释
作者:
骑小猪逛巴黎
时间:
2015-11-15 19:13
void main()
{
init();
// d1=1;
sec=Iapreadbyte(0x0001);
if(sec>=60)
sec=0;
min=Iapreadbyte(0x0002);
if(min>=60)
min=0;
while(1)
{
min_h=min/10;
min_l=min%10;
sec_h=sec/10;
sec_l=sec%10;
alarm_min_h=alarm_min/10;
alarm_min_l=alarm_min%10;
alarm_sec_h=alarm_sec/10;
alarm_sec_l=alarm_sec%10;
ring();
keyscan();
if(k4num==0)
display(min_h,min_l,sec_h,sec_l);
else
display(alarm_min_h,alarm_min_l,alarm_sec_h,alarm_sec_l);
}
}
void t0() interrupt 1 //50ms定时
{
TH0=(65536-45872)/256; //50ms需计数N=45872=50ms/(12/11.0592)us
TL0=(65536-45872)%256;
num_50ms++;
if(num_50ms==20) //计时1s
{
num_50ms=0;
sec++;
Iaperasesector(0x0001);// 数据存储器的擦出是按扇区擦除的
Iapprogrambyte(0x0001,sec);
if(sec==60)
{
sec=0;
min++;
if(min==60)
min=0;
}
Iaperasesector(0x0002);//数据存储器的擦出是按扇区擦除的
Iapprogrambyte(0x002,min);
}
}
作者:
骑小猪逛巴黎
时间:
2015-11-15 19:19
void main()
{
init();
// d1=1;
sec=Iapreadbyte(0x0001);
if(sec>=60)
sec=0;
min=Iapreadbyte(0x0002);
if(min>=60)
min=0;
while(1)
{
min_h=min/10;
min_l=min%10;
sec_h=sec/10;
sec_l=sec%10;
alarm_min_h=alarm_min/10;
alarm_min_l=alarm_min%10;
alarm_sec_h=alarm_sec/10;
alarm_sec_l=alarm_sec%10;
ring();
keyscan();
if(k4num==0)
display(min_h,min_l,sec_h,sec_l);
else
display(alarm_min_h,alarm_min_l,alarm_sec_h,alarm_sec_l);
}
}
void t0() interrupt 1 //50ms定时
{
TH0=(65536-45872)/256; //50ms需计数N=45872=50ms/(12/11.0592)us
TL0=(65536-45872)%256;
num_50ms++;
if(num_50ms==20) //计时1s
{
num_50ms=0;
sec++;
Iaperasesector(0x0001);// 数据存储器的擦出是按扇区擦除的
Iapprogrambyte(0x0001,sec);
if(sec==60)
{
sec=0;
min++;
if(min==60)
min=0;
}
Iaperasesector(0x0002);
Iapprogrambyte(0x002,min);
}
}
复制代码
作者:
无量寿经
时间:
2015-11-15 19:57
使用软件仿真或硬件仿真查找下错误具体位置
作者:
腾飞的龙
时间:
2015-11-16 14:54
换块芯片试试。
作者:
olielie
时间:
2017-10-4 12:49
proteus 能仿真eeprom
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1