DS1302N的时钟逻辑

时钟也是一个实时的串口,也是很简单的,不过要注意以下的要点:

要点:

(1)里面有很多数据,所以需要定义一个结构体变量,将其中的数据写进去。

(2)写进去的数字是需要转换成特定的格式,才能写进去的,同时读出来的格式也是需要特定的转换才能变成数字的。

(3)写数据是从低到高,和IIC是相反的。

(4)时钟逻辑的初始化就是将那三个信号线初始化了一下。

基本的逻辑:这里面也有读时序和写时序,时序里面也有写字节和读字节的函数,不过这里面需要注意写字节和读字节之间的衔接转换。

while (1)
    {
        Int_DS1302N_GetDate(&st_date);
        temperature = Int_DS18B20_GetTemperature();
        sprintf(str, "20%02d/%02d/%02d %s",
                (int)st_date.year,
                (int)st_date.month,
                (int)st_date.day,
                WEEK_NAME[st_date.day_of_week - 1]);
        Int_LCD1602_ShowStr(0, 0, str);
        sprintf(str, "%02d:%02d:%02d Temp:%d",
                (int)st_date.hour,
                (int)st_date.minute,
                (int)st_date.second,
                (int)temperature);
        Int_LCD1602_ShowStr(1, 0, str);
        Delay1ms(50);
    }

这个是主函数,其中需要强制转换,同时要分两次写。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值