当前位置:网站首页 > 编程语言 > 正文

51单片机电子时钟秒表(51单片机秒表计时)



设计任务:
利用AT89C51单片机实现电子时钟和秒表计时的功能,电子时钟可以通过液晶屏显示时间,日期等信息,数字秒表要通过LCD显示当前计时信息,开始/结束,清零功能
设计要求:
基于单片机的电子时钟+数字秒表设计要求:
(1)显示当前时间;
(2)显示当前日期
(3)按键实现电子时钟和数字秒表的功能切换
(4)按键实现秒表停止计时
(5)按键实现秒表复位
用户需求用例

此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。
在这里插入图片描述

图1.整体设计框图
3.1输入部分:
在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:
在这里插入图片描述

在这里插入图片描述
3.2输出部分:
本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入。
在这里插入图片描述
3.3晶振与复位电路:
本实验单片机时钟用内部时钟,复位电路为手动复位构成,模块如下:

在这里插入图片描述

首先选用8051单片机为主控芯片,74LS245为六位共阴数码管的驱动芯片用于数码管显示驱动,以12MHz晶振与两个10k电阻组成该硬件系统时钟信号发生器,并选用四个按键实现功能的切换和显示控制。
数据传输采用总线模式P0端口通过上拉电阻连接74LS245芯片,为数码管驱动端,P1端口为数码管数据端,负责单片机程序输出数据传送至数码管。
12MHz晶振通过两个10uf电容输出一毫秒延迟传入单片机主程序,用于时钟和秒表程序的毫秒响应
K1按键连接P3.1接口输入TX0中断,呼叫切换显示程序请求,软件部分通过端口监听实现功能的切换,K2按键连接P3.2接口输入INT0中断,实现调时和计时开始功能,K3按键连接P3.3接口接入INT1中断,通过秒表清零消隐子程序实现秒表清零和时钟选位调节。
在这里插入图片描述

Delay函数模块,提供晶振时钟信号接口,用于时间和秒表的数字定时显示;
Time0,Time1为定时器函数模块,用于提供时钟和秒表的定时器接口;
Display0时间显示模块,实现六位数码管的数字位选消隐和延时;
Display1时间显示模块,实现六位数码管的数字位选消隐和延时;
Display2时间设置模块,通过if语句嵌套,判断对应接口按键
KEY_Time_Set为时间设置按键监听函数,当按下对应按键执行各位加减操作
KEY_miaobiao为秒表功能函数,实现秒表开始,暂停,和复位功能
Mode_K1为按键模式选择函数,判断现阶段系统处于那种状态调用相对应的按键接口
在这里插入图片描述
全部代码如下

 

元件清单:

器件名称 数量 按键SPST Push Button 4 12MHz 晶振 1 10uf电容 9 74LS245单片机 1 7SEG-MPX6-CA-BLUE六位共阴极数码管 1 8051单片机 1

链接: 下载地址.

到此这篇51单片机电子时钟秒表(51单片机秒表计时)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 好玩的代码游戏马里奥(马里奥游戏源代码)2025-05-21 16:54:07
  • nvme是什么硬盘品牌(nvme硬盘测评)2025-05-21 16:54:07
  • 日本驾照换国内驾照(日本驾照换国内驾照需要多久)2025-05-21 16:54:07
  • 若依文件上传从后端限制文件类型(文件上传后端可以用什么接收)2025-05-21 16:54:07
  • 自动拆包机拆袋原理及结构(自动拆包机拆袋原理及结构图)2025-05-21 16:54:07
  • Ubuntu镜像站同步(ubuntu系统镜像)2025-05-21 16:54:07
  • awvs最新版(awvs最新版本是多少)2025-05-21 16:54:07
  • ubuntu源文件列表在哪(ubuntuyum源)2025-05-21 16:54:07
  • 速排小蚂蚁编辑器免费吗(速排小蚂蚁编辑器怎么上传图片)2025-05-21 16:54:07
  • 谷歌向手机发送验证码多少钱(谷歌发送验证码标准费率)2025-05-21 16:54:07
  • 全屏图片