//从1302读一字节的数据
unchar output_1302_byte()
{
unchar i=0;
for(;i<9;i++)
{
ACC=ACC>>1;
ACC_7=io_1302;
sclk_1302=1;
sclk_1302=0;
}
return ACC;
}//数据读出函数
unchar read_1302(unchar add) //读出的数据为十进制
{ unchar DATA,D;
rst_1302=0;
sclk_1302=0;
rst_1302=1;
input_1302_byte(add);
//delay();
DATA=output_1302_byte();
sclk_1302=1;
rst_1302=0;
D=BCD_D(DATA);
return D;
}
//bcd转换位10进制
unchar BCD_D(unchar BCD)
{
unchar j;
j=BCD>>4;
j*=10;
BCD=BCD&0x0F;
return (j+BCD);
}
输入数据没有问题,输出0到20也没问题,就是输出大于20的时候出现问题,和时钟存储器的值不一样。
|
|