//温度显示子函数
void write_temp(uchar adduint dat)//向LCD写温度数据并指定显示位置
{
uint gwswbw;
bw=dat/100;//取得百位
sw=dat%100/10;//取得十位数字
gw=dat%10;//取得个位数字
write_1602com(er+add);//er是头文件规定的值0x80+0x40
write_1602dat(0x30+bw);
write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码
write_1602dat('.');
write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码
write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码
write_1602dat(0x43); //显示"C"符号,0x43是液晶屏字符库里大写C的地址码
write_1602dat(0x)
}
void Ds1302Init()
{
uchar n;
Ds1302Write(0x8E0X00); //禁止写保护,就是关闭写保护功能
for (n=0; n<8; n++)//写入8个字节的时钟信号:分秒时日月周年
{
Ds1302Write(WRITE_RTC_ADDR[n]
tiME[n]);
}
Ds1302Write(0x8E0x80); //打开写保护功能
}
void Ds1302ReadTime()
{
uchar n;
for (n=0; n<8; n++)//读取7个字节的时钟信号:分秒时日月周年
{
TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
}
}