×
FPGA/DSP > DSP系统 > 详情

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

发布时间:2020-05-16 发布时间:
|
单片机对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有充分的歇息!


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机晶振的常见问题