2021-03-21

2021——06温度计数器

  1. 前期验证准备工作
    将ds1302,ds18b20添加进main.
    分别在各自的.c文件中添加相对于的驱动函数
    并将各自都文件加入主文件

  2. 按键S4的设定:

设备上电后,自动进入参数设置界面(图 1)此时,通过按键 S4 切换 4 个温度
采集间隔时间,分别为 1 秒、5 秒、30 秒和 60 秒;

按照图示界面修改数码管初始值,先显示1s,之后设置时间间隔,定义Timec=1默认1s,Timec改变时间间隔在这里插入图片描述
数码管显示:
在这里插入图片描述
3.写S5按键功能
/第一部分/:显示数码管的功能在这里插入图片描述
定义变量:Cai_start=0;//默认不进行采集,按下之后进行采集
在主函数中进行判断Cai的值进而显示数码管的值
将时间定义在主文件中调用(要求23:59:00):

extern unsigned char shijian[]; 

在循环前初始化时钟!在循环添加得到时间函数!
要求的闪烁功能:偶数秒与奇数秒 (%
在这里插入图片描述
/第二部分/ 采集温度存储功能

通过定时器实现存储:开一个5ms定时器,老方法,声明定时器!!!初始化定时器!!! 定义tt(uint型!!!

判断是否采集 == 1, 如果== 1,按照时间间隔(1s)进行采集

用数组存10个温度变量——定义Save[10],定义wendu(在主函数中读取温度,定义标志位Save_n=0,将温度存入数组之后,使Save_n++,再判断是否svaen==10,如果=10,则采集的时间Cai=0即不采集了 (取时间间隔的巧:将条件变成Timec×200(原200是1s的条件))

采集10个数据完成后,L1闪烁,数码管显示改变成所给的初始显示

在这里插入图片描述
/第三部分/ 温度依次显示,且LED闪烁

温度依次显示从0开始;
LED闪烁:
由于当Cai=0时,就跳出循环,故设置标志位LED_shan=1,判断LED== 1&&tt== 200,满足就使得L1闪烁
(定义标志位fla(闪烁常见))
在这里插入图片描述
开定时器暂且在s5打开在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值