微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 24C02单片机编程的一点注意问题

24C02单片机编程的一点注意问题

时间:11-30 来源:互联网 点击:
单片机24C02的读写,有一点要注意的,就是关于延时的问题。读写操作的间隔时间不能太短,否则会导致在Proteus仿真时正常,实际应用出错的结果。
下面是一个毫秒级延时程序:
void delay_ms(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
以下是部分操作24C02的程序:
init_24C02();//初始化24C02
delay_ms(20);//延时
write_add(1,18);//写入数据1
delay_ms(20);//延时
write_add(2,92);//写入数据2
delay_ms(20);//延时
write_add(3,56);//写入数据3
delay_ms(20);//延时
for(i=1;i<4;i++)
{
delay_ms(10);
//write_add(0x02,12);
delay_ms(10);
n=read_add(i);//读取数据
temp[i*2-2]=n/10;
temp[i*2-1]=n%10;
}
实际上,上面的程序在Proteus仿真时通过,但写到板子上却无法正常读取刚刚写入的数据。后来把延时参数增大到50,一切正常了!这说明合理的延时对读写24C02是至关重要的,特别是写入数据后应该保证24C02有充分的歇息!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top