基于单片机的多功能电子钟设计


前言

💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗
👇🏻 精彩专栏 推荐订阅👇🏻
单片机设计精品实战案例
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

资料获取

文章底部名片,详细资料联系我。

设计介绍

随着电子技术行业的迅猛发展,电子产品的市场需求量增多,许多传统产品受到前所未有的冲击。电子钟是日常生活中的必需品,但传统电子钟功能单一,不能很好地满足人们日常的需求。多功能电子钟解决了这些问题,不仅拥有传统电子钟的功能,还拥有显示日期、温度测试、电子闹钟等常用功能,大大满足了人们的需求[1]。
多功能电子时钟是采用数字电路实现对时、分、秒数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义[2]。
当前市场上已有现成的数字钟集成电路芯片出售,价格较便宜。由于数字集成电路技术的发展,使数字钟具有走时准确,性能稳定,携带方便等特点,是目前人们生活和工作不可或缺的报时用品。国内厂家的产品拥有时间、日期、温度、夜光、贪睡功能、倒计时、顺计时、省电模式、多组闹钟、可循环显示、多档亮度调节、12/24时制转换、调节亮度、遥控操作等功能。国外的时钟企业也已经研发出了价格低廉、封装小,功能更齐全的且具有时基软件调校功能(TTF)及振荡器停振自动检测功能的时钟芯片。
在实际生活中数字式电子钟的设计方法有很多钟,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。如果用数字电路来完成,所设计的电路相当复杂,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高[3]。而利用单片机实现的电子钟具有编程灵活、便于电子钟功能的扩充(即可用该电子钟发出各种控制信号)、精确度高等特点,被广泛应用。
本次设计是基于单片机的定时计时功能而设计的一款以单片机为核心控制的电子钟,具有多项显示和控制功能,并且能够实现实时显示时、分、秒;具有闹钟、秒表功能;实时显示环境的温度、湿度、二氧化碳等信息。

功能介绍

课题研究方案:基于单片机AT89S52的实时多功能电子钟由时钟、微控制器、键盘和液晶显示、温湿度测量及显示、PM2.5、CO2测量及显示、蜂鸣器等部分组成。整个系统工作时,首先对各个测量模块进行初始化设置,使其产生的相应信号(如时钟模块产生时间信号、温湿度测量模块产生的温湿度信号等)可以通过键盘对其进行调整与校正以及完成其他控制功能,然后由液晶模块显示时间信息,包括年、月、日、时、分、秒、星期、温湿度、空气质量等信息,蜂鸣器模块用于整点报时功能。

课题主要研究内容与技术参数:主要研究是一款以单片机为核心,且具有多项显示和控制功能的多功能电子钟。从而整个系统能够实现实时显示时、分、秒;具有闹钟、秒表功能;实时显示环境的温度、湿度、二氧化碳等信息。具体的技术参数如下:
1.点阵式液晶显示器或 LED 显示;
2.能够实时显示时、分、秒,以 24 时计时方式;
3.具有快速校准时、分秒的功能;
4.时钟具有整点报时的功能;
5.具有秒表功能,秒表精度 0.1 秒,具有启动、暂停及清零功能;
6.具有闹钟的功能,可通过按钮关闭该提醒音;
7.可显示环境的温度和湿度等功能,温度检测精度±0.5℃;湿度检测精度±2%RH。
8.可以检测 PM2.5,测量精度为±10%;
9.可检测 CO2 浓度,测量精度为±5%。

程序代码部分参考

/*************************************************************
                      电子时钟

补充说明:
***************************************************************/
#include<reg52.h>		   //头文件
#include<LCD1602.h>
#include<DS1302.h>
#include<DHT11.h>
#include<AT24C02.h>
#include<INTERRUPT.h>
#include<ADC0832.h>
#include<SGP30.h>

#define uchar unsigned char//宏定义
#define uint unsigned int

/***********************引脚定义***********************/ 	
sbit key_mode = P1^0;	 //设置键
sbit key_jia  = P1^1;	 //加键
sbit key_jian = P1^2;	 //减键
sbit key_ok   = P1^3;	 //确定键
sbit key_miao = P1^4;	 //秒表键

sbit buzz     = P2^7;	 //蜂鸣器
sbit PM_out   = P3^2;    //粉尘传感器
/***********************变量定义***********************/
uchar set_f=0;		//设置选择标记,=0非设置,=1设置
uchar num;			//计数变量
uchar naozhong[3];	//闹钟-时、闹钟-分、闹钟-开关
bit   miaobiao_f=0;	//秒表标记位,=0非秒表模式,=1秒表模式
bit   baoshi_f=0;	//报时标记位,=1整点报时

uint PM25=0;	//存储实测PM2.5值

uint pm25_data[10];	//历史最近10个PM2.5值,以便求平均减少测量误差

uchar max=184;  //AD最大值
uchar min=16;   //AD最小值

/********************************************************
函数名称:void delayms(uint ms)
函数作用:毫秒延时函数
参数说明:
********************************************************/ 
void delayms(uint ms)
{
	unsigned char i=100,j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值