07-51_可调电子时钟温度显示_仿真

基于51单片机的可调电子时钟与温度显示系统

时分秒计时 · 按键调时 · DS18B20测温 · LCD显示

一、项目简介

本项目设计了一个多功能电子时钟,集成了时间显示和温度监测功能。系统使用51单片机内部定时器实现时分秒计时,通过按键可调整时间。同时接入DS18B20温度传感器,在LCD上交替或同时显示时间和温度。

时钟功能包括:时:分:秒显示、按键调时/调分/调秒、24小时制。温度功能包括:DS18B20实时温度采集、精度0.1℃、LCD显示。两种信息可在LCD上分区域同时显示,或通过按键切换显示模式。

项目属性

说明

主控平台

AT89C52(Proteus仿真)

开发语言

C语言

开发环境

Keil C51 / Keil MDK

仿真工具

Proteus(部分项目)

图1-1 系统整体效果图

二、系统总体架构

本系统以单片机为核心,外围连接传感器、显示模块、按键模块和执行机构。系统总体架构如下:单片机通过相应接口与各外设通信,采集传感器数据后进行处理,结果输出至显示模块,同时根据逻辑控制执行机构动作。

图2-1 系统总体架构框图

模块

功能描述

主控模块

系统核心,负责数据采集、逻辑处理和输出控制

传感器模块

采集环境参数(温度/光照/按键输入等)

显示模块

LCD1602/OLED实时显示数据和状态

按键模块

用户输入,参数调整和模式切换

执行机构

蜂鸣器/LED/电机等,执行报警和驱动动作

三、硬件设计

3.1 核心器件选型

器件

型号

说明

主控芯片

AT89C52

Proteus仿真

温度传感器

DS18B20

数字温度传感器

液晶显示屏

LCD1602

16×2字符LCD

独立按键

×3

调时/调分/模式切换

图3-1 核心器件实物图

3.2 引脚分配

单片机各引脚分配如下表所示,在设计时需注意引脚复用和电平匹配问题:

引脚

连接

功能描述

P1.0

DQ

DS18B20单总线

P1.1

KEY_HOUR

小时调整

P1.2

KEY_MIN

分钟调整

P1.3

KEY_MODE

显示模式切换

P2.5~P2.7

LCD控制

LCD1602控制

P0

LCD数据

LCD1602数据

图3-2 引脚分配电路原理图

四、软件设计

4.1 软件流程

定时器T0配置为1ms中断模式,中断服务程序中维护时/分/秒变量。主循环中扫描按键调整时间,每隔500ms读取一次DS18B20温度。LCD第一行显示"HH:MM:SS",第二行显示"Temp: XX.XC"。

图4-1 主程序流程图

4.2 模块划分

源文件

模块名称

功能描述

ds18b20.c

DS18B20驱动

温度采集

lcd1602.c

LCD驱动

显示

timer.c

定时器

T0产生1ms中断,计时

main.c

主程序

时钟计时、按键处理、温度采集、显示

4.3 关键代码

以下代码均从项目工程源文件中直接提取,完整展示了各模块的核心实现:

📄 main.c

📄 DS18B20.c

📄 Key.c

📄 Timer0.c

五、项目文件结构

项目工程的目录结构如下,展示了源代码文件的组织方式:

六、功能演示

系统功能演示步骤如下:

1. 上电后LCD显示当前时间和温度

2. 按调时键,小时数递增(0~23循环)

3. 按调分键,分钟数递增(0~59循环),秒清零

4. 按模式键切换显示模式

图6-1 功能演示照片/截图

图6-2 运行状态特写

七、总结

本项目将电子时钟和温度监测结合,利用定时器中断实现精确计时,DS18B20实现温度采集。按键调时功能使系统具有交互性,是一个典型的51单片机综合应用项目。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

— END —

posted @ 2026-07-21 21:12  Yan_2  阅读(2)  评论(0)    收藏  举报