void delay()
{
unsigned char i;
i=10;
while(i--);
}
void start_1640()
{
SCK=0;
delay();
SDA=1;
delay();
SCK=1;
delay();
SDA=0;
delay();
SCK=0;
delay();
}
void stop_1640()
{
SCK=0;
delay();
SDA=0;
delay();
SCK=1;
delay();
SDA=1;
delay();
SCK=0;
}
void send_data_1640(unsigned char x)
{
unsigned char i;
for(i=0;i<8;i++)
{
SCK=0;
delay();
if(x&0X01)SDA=1;
else SDA=0;
delay();
SCK=1;
delay();
x>>=1;
}
SCK=0;
}
void scan_1640()
{
unsigned char i;
start_1640();
send_data_1640(0X40);//地址自动+1
stop_1640();
start_1640();
send_data_1640(0XC0);//从00地址开始
for(i=0;i<16;i++)
{
send_data_1640(disp_data[i]);
}
stop_1640();
start_1640();
send_data_1640(0X8A);//灰度显示
stop_1640();
}