{ unsigned char ucData;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
DS1302InputByte(ucAddr|0x01); // 地址,命令
ucData = DS1302OutputByte(); // 读1字节数据 DS1302_CLK = 1;
DS1302_RST = 0;
return(ucData);
}
3)字符转换程序
单片机从DS1302读取的时间数据并不能直接在LCD屏上显示,需要转换成可供lcd显示的字段。
/************函数功能:年份转换成可供lcd显示的字段子程序***************/
void DateToStr(SYSTEMTIME *Time)
{ Time->DateString[0] = Time->Year/10 + '0'; //Time->DateString[0]中存放的就是要显示年的十位
Time->DateString[1] = Time->Year%10 + '0'; //Time->DateString[1]中存放的就是要显示年的个位
Time->DateString[2] = '-'; //年和月份之间用-分开
Time->DateString[3] = Time->Month/10 + '0'; //Time->DateString[3]中存放的就是要显示月份的十位
Time->DateString[4] = Time->Month%10 + '0'; //Time->DateString[4]中存放的就是要显示月份的个位
Time->DateString[5] = '-';
Time->DateString[6] = Time->Day/10 + '0'; //Time->DateString[6]中存放的就是要显示日的十位
Time->DateString[7] = Time->Day%10 + '0'; //Time->DateString[7]中存放的就是要显示日的个位 AT89S52单片机的家庭智能浇花器设计+源程序(10):http://www.youerw.com/zidonghua/lunwen_2625.html