欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 基于单片机的数字电子秒表设计

基于单片机的数字电子秒表设计

2025/1/8 12:49:34 来源:https://blog.csdn.net/weixin_66492206/article/details/144855539  浏览:    关键词:基于单片机的数字电子秒表设计

此文章谨为课设记录

一、实验要求

题目六 数字电子时钟

基本要求:

(1) 设计一个单片机电子时钟,设计的电子时钟通过数码管显示;
(2) 具有能通过按键实现设置时间的功能;
(3) 显示格式为小时十位、小时个位,分十位、分个位,秒十位、秒个位;
(4) 闹钟时间设置和报警功能。
在本次实验,不仅完美的实现了上述基本要求,还增加了几项

额外功能:

1、增加读取模式,能够记录当前计时值并保存,可以流水式已经读取记录的值
2、增加一个倒计时模式,在该模式下
(1)可以设置初值,并显示在数码管上
(2)当倒计时即将结束时,led灯会快速闪烁,提醒倒计时即将结束
(3)利用蜂鸣器在倒计时结束时,进行三秒的鸣叫提示倒计时已经结束

二、数字电子秒表硬件连接

硬件系统框图如下:

(一)核心控制器

51 单片机(如 STC89C51)作为系统核心,其内部定时器 用于产生 中断,为计时提供基准时钟。

(二)显示电路

6 位共阴极数码管用于显示时间信息。数码管的 a - g 段分别连接到 P0 口,通过向 P0 口输出不同的段码值来显示 0 - 9 数字。

(三)按键电路

多个按键采用独立按键形式连接到单片机引脚。按键未按下时,对应的引脚通过上拉电阻保持高电平;按键按下时,引脚电平变为低电平。通过软件中的按键扫描程序检测引脚电平变化,实现去抖和功能触发。

(四)蜂鸣器与 LED 电路

蜂鸣器通过输出高低电平控制其发声。LED 灯连接到 P1.7 引脚,用于倒计时警示。在倒计时即将结束根据程序控制 LED 灯闪烁。

三、代码介绍

代码流程图

在程序设计中,进行分模块进行描述:

1、主函数模块,负责初始化工作和等待响应;

2、按键扫描函数

3、显示函数类似对应与显示电路;

4、倒计数处理函数来实现这部分功能;

5、贯穿全局的定时函数,用来产生10ms的中断溢出信号。

系统初始化:设置定时器 0 为 16 位计时模式,计算初值实现 10ms 中断,晶振 12MHz。开启总中断和定时器 0 中断,初始关闭定时器 0。

主程序循环:在无限循环中,依次调用按键扫描函数获取按键状态,根据按键触发相应功能,如控制定时器的启停;调用显示函数更新数码管显示;调用倒计时处理函数处理倒计时逻辑。

按键扫描函数:采用静态变量记录按键状态,实现消抖和功能触发。根据不同按键执行相应操作,如控制计时状态、停止计时、清零数据、记录和读取时间、设置和启动倒计时等。

显示函数:根据不同模式,控制数码管显示相应内容,如计时、倒计时时间以及设置的倒计时初值,通过位选信号和段码输出实现稳定显示。

倒计时处理函数:利用静态变量控制 LED 灯闪烁,在倒计时模式下判断时间是否结束,结束时触发蜂鸣器;在倒计时最后几秒实现 LED 灯闪烁警示,其他时间熄灭。

定时器 0 中断函数:在计时模式下每 10ms 中断一次,实现 centisecond 自增及进位,精确计时,同时重新设置定时器初值 。

如果需要具体原理图工程文件和原代码(实验报告也有)可以通过下方链接下载
链接: https://pan.baidu.com/s/15JGLuF0L-YVonO5lAUArUQ?pwd=gt34 提取码: gt34

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com