题目:
问题1---数码管闪烁---对应的解决方法---减少延时时间---时间过长闪烁越明显---时间过短会不显示
问题2---数码管出现固定的数字,代码如下:
Nixie_ShowNumber(1,AT24C02_ReadFrame(0x01)/10);
Delay2ms();
Nixie_ShowNumber(2,AT24C02_ReadFrame(0x01)%10);
Delay2ms();
---无论怎么改都没有变化---最后发现是 写数据帧 的时序看错
问题3---数码管只有第一、二个数码管发生变化
---起初想到抓狂认为可能是因为51单片机故障原因,在一个主函数中多个if语句只会执行第一个if语句
---但是有些说不过去,挣扎了几个小时,发现是 写数据帧 的顺序对数码管显示有影响
---最后发现是 因为 AT24C02存储器读写数据是需要时间,故需要进行延时
代码如下:
void Data_Update()
{
unsigned char i;
for(i=0;i<3;i++)
{
Delay2ms();//!!!!!读写需要时间
AT24C02_WriteFrame(0x01|(0x01<<i),Data[i]);
Delay2ms();//!!!!!读写需要时间
}
}
谨以此篇记录这煎熬的过程!!!