蓝桥杯单片机设计第六届省赛温度记录器,题目与编程(IAP15单片机)(STC15F2K60S2)

本文介绍了作者参与蓝桥杯单片机设计比赛的温度记录器项目,使用IAP15单片机(STC15F2K60S2)完成。设备能按用户设定的间隔自动采集温度并存储,具备数码管显示、按键交互功能。涉及的硬件包括RTC时钟、DS1302芯片、DS18B20温度传感器等。代码包括main.c、onewire.c、ds1302.c等文件。
摘要由CSDN通过智能技术生成

编程部分是笔者自己编写,且已在板子上调试成功,免费分享给读者,如有不足忘指正。
使用的芯片为竞赛芯片IAP,并非练习芯片52。

功能简述
设备按照用户通过按键设定的时间间隔自动采集并存储温度数据,并具有采集完成提醒、数码管显示等功能,系统硬件部分主要由按键电路、电源供电电路、RTC 时钟、传感器电路和显示电路组成.

在这里插入图片描述
单总线驱动程序、DS1302 芯片驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹位于Windows 桌面上)
设计任务及要求

  1. 数码管显示
    1.1 设备上电后,自动进入参数设置界面(图 1)此时,通过按键 S4 切换 4 个温度
    采集间隔时间,分别为 1 秒、5 秒、30 秒和 60 秒;
    在这里插入图片描述
    要求:时钟显示界面(图 2)下,提示符 1、2 以 1 秒为间隔闪烁
    1.2 当设备按照用户设定的采集间隔采集到 10 个数据后,指示灯 L1 闪烁提示本
    次温度采集已经完成,此时进入数码管温度采集显示界面(图 3)
    在这里插入图片描述
    此时,按下 S6,L1 熄灭,按照时间先后顺序,切换显示设备内存储的温度数据;
    按下 S7 按键进入参数设置界面(图 1),待用户输入温度采集间隔之后,可以进行
    下一次的温度采集工作。
    说明:索引指的是当前显示的温度按照采集时间先后顺序的编号(00-09)。
  2. 温度检测功能
    使用 DS18B20 温度传感器完成温度测量功能。
  3. RTC
    使用 DS1302 时钟芯片完成 RTC 的相关功能。
  4. 设备工作模式说明
    (1)默认 RTC 时间:23 时 59 分 50 秒;
    (2)默认温度数据采集间隔为 1 秒;
    (3)设备处在不同的显示界面下,与该界面无关的按键操作无效;
    (4)温度数据最大存储容量:10 个

代码

main.c

#include"STC15F2K60S2.h"
 #include"ds1302.h"
 #include"onewire.h"

 #define uchar unsigned char
 #define uint unsigned int

 bit blink;
 bit flag_wendu;

 uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
 uchar yi,er,san,si,wu,liu,qi,ba;	//yi---ba为1-8个数码管
 uchar flag_S4;	//标志位
 uchar samplemiao;	//采集间隔
 uchar flag_scan;  
 uchar shi,fen,miao; //时钟时分秒
 uchar wendu;		 //温度
 uchar samplewendu[10];	 //采集的10次温度记录在该数组
 uchar suoyin;       //索引

 void allinit(void);
 void Timer0Init(void
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值