|
楼主 |
发表于 2017-9-24 22:36:02
|
显示全部楼层
您好!
附件是我写的程序,在第一行显示温度,第二行显示时间。
当我在DS1302的初始化中将秒和分的初值设为0x30时,就会对液晶屏的显示产生影响。如图片所示。
void DS1302Init()
{
DS1302write(0x8E,0x00); //关闭写保护
DS1302write(0x8C,0x17); //设置年为17
DS1302write(0x8A,0x07); //设置星期为7
DS1302write(0x88,0x09); //设置月份为09
DS1302write(0x86,0x24); //设置日期为24
DS1302write(0x84,0x12); //设置小时为17,24小时制
DS1302write(0x82,0x00); //设置分钟为0 //***** 这一位不能设置为3,LCD显示会乱码
DS1302write(0x80,0x30); //设置秒为00,并启动计时 //***** 这一位不能设置为3,LCD显示会乱码
DS1302write(0x8e,0x80); //打开写保护
}
当我把这两位设成其他值,比如0x00后,不会有这种现象。但是只要在主函数中进行DS1302的初始化,温度的示数就始终维持在00.00C不变。
希望能帮忙分析一下是何原因,我是个新手,实在找不出错误在哪。麻烦了!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|