请问为什么读不出来数据?
```c
#include "reg52.h"
#include "iic.h"
#define AT24C02_ADD 0xa0
unsigned char SMGNoDot_CA[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char count = 0;
unsigned char keynum = 0;
sbit S7=P3^0;
sbit S6=P3^1;
sbit S5=P3^2;
sbit S4=P3^3;
void Delay(unsigned int t)
{
while(t--);
}
void DelayK(unsigned char t)
{
while(t--);
}
//============
void DisplaySMG_Bit(unsigned char pos ,unsigned char value)
{
P2 = 0xc0;
P0 = pos;
P2 = 0xe0;
P0 = value;
}
//================
void at24c02_writebyte(unsigned char dizhi,unsigned char shuzhi)
{
IIC_Start();
IIC_SendByte(AT24C02_ADD);
IIC_WaitAck();
IIC_SendByte(dizhi);
IIC_WaitAck();
IIC_SendByte(shuzhi);
IIC_WaitAck();
IIC_Stop();
}
unsigned char AT24C02_Readbyte(unsigned char dizhi)
{
unsigned char Data;
IIC_Start();
IIC_SendByte(AT24C02_ADD);
IIC_WaitAck();
IIC_SendByte(dizhi);
IIC_WaitAck();
IIC_Start();
IIC_SendByte(AT24C02_ADD | 0x01);
IIC_WaitAck();
Data = IIC_RecByte();
IIC_SendAck(1);
IIC_Stop();
return Data;
}
void KeyBoard()
{
if(S4 == 0)
{
DelayK(100);
if(S4 == 0)
{
count++;
while(S4 == 0);
}
}
else if(S5 == 0)
{
DelayK(100);
if(S5 == 0)
{
count--;
while(S5 == 0);
}
}
else if(S6 == 0)
{
DelayK(100);
if(S6 == 0)
{
at24c02_writebyte(0x00,count);
Delay(200);
while(S6 == 0);
}
else if(S7 == 0)
{
DelayK(100);
if(S7 == 0)
{
count = AT24C02_Readbyte(0x00);
while(S7 == 0);
}
}
}
}
void main()
{
P2 = 0xa0;
P0 = 0x00;
P2 = 0x00;
P2 = 0x80;
P0 = 0xff;
P2 = 0x00;
while(1)
{
KeyBoard();
DisplaySMG_Bit(0x01,SMGNoDot_CA[count / 10]);
Delay(200);
DisplaySMG_Bit(0x02,SMGNoDot_CA[count % 10]);
Delay(200);
}
}
```