找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2039|回复: 2
收起左侧

单片机8位数码管电子钟的设计与制作

[复制链接]
ID:1054077 发表于 2022-11-26 16:41 | 显示全部楼层 |阅读模式
设计并制作一种基于STC89C52单片机的数码管显示电子时钟,由8位数码管显示时、分、秒;自动计时,具有校准功能,可设置当前时间,具备定时启闹功能,可以设置启闹时间,启闹一定时间后自动关闭闹铃,主要内容如下:
1.对MCU的内部定时器、I/0口、键盘和显示接口等知识能融汇贯通,初步形成独立设计、制作和调试较简单的单片机应用系统的能力;
2.熟悉MCU应用系统的硬件设计、模块化程序设计及软件调试方法,掌握单片机应用系统的开发过程;
3.设计并制作出8位数码管显示电子钟系统,具有设置、校准、闹铃等功能;
4.系统硬件设计与制作;
5.系统软件设计;
6.系统软、硬件联合调试;
7.系统性能测试。
2 设计方案及系统原理
2.1 设计方案
图2.1 8位数码管电子钟电路设计框图
此次设计方案如图2.1所示的设计框图,以单片机为核心,由晶振电路模块、复位电路模块、按键电路模块、蜂鸣器电路模块(起整点报时的功能)、以及显示模块组成。在这次设计中采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
2.2 系统原理
图2.2  8位数码管电子钟原理图
电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,具有校时功能和定时功能。如图2.2所示,一个基本的电子钟电路主要由显示电路、复位电路、时钟电路以及蜂鸣器报警电路等部分组成。


2.2.2 复位电路
图2.4  复位电路图
复位电路的作用是使单片机的状态处于初始化状态,让单片机的程序从头开始执行。如图2.4复位电路图所示,C3和R1构成单片机的上电自动复位电路。STC89C52单片机属于高电平复位,RST管脚上需要持续两个机器周期(24个时钟周期)以上的高电平,单片机才能复位。复位原理:上电的瞬间,电源给C3充电,在R1产生压降,R1上端为高电平,RST管脚检测到高电平,单片机的各个寄存器清零或恢复初始状态,特别是PC计数器清零,程序便从头开始执行。如果C3、R1取值过大或过小都会引起单片机复位时间过长或过短,不利于单片机启动。如果需要加手动复位,那就在C3两端并联一个按钮即可。
2.2.3 时钟电路
图2.5  时钟电路图
时钟电路作用是来配合晶振实现振荡的电路,这样可以为单片机提供运行时钟。如图2.5时钟电路图所示,C1、C2和X1构成单片机的时钟源电路。C1和C2是晶振X1的负载电容,过大或过小都会影响晶振的频率和幅度。STC89C52单片机对晶振负载电容的取值有明确的要求:在20pf到40pf之间,最佳值为30pf。X1的取值可从1MHz到24MHZ选择,常用的是12MHz。因为51单片机12个时钟周期为一个机器周期,用12MHz晶振,一个机器周期刚好是1us,编程时计时很方便。
2.2.4 显示电路
图2.6  显示电路图
显示电路的作用是对控制电路的信号进行放大。本次设计采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,能够点亮数码管后,就可以通过单片机控制数码管显示数字或字母。如图2.6显示电路图所示,为了控制方便,我们将数码管的a~dp引脚依次连接单片机的P0.0-P0.7引脚。因为是共阴极数码管,所以位选应接低电平,段选接高电平时,数码管正常显示。
2.2.5 按键控制电路
图2.7  按键控制电路图
按键模块的作用是调节时间及设置闹钟时间。实际的电子钟电路由于秒信号的精确性和不可能做到完全准确无误,加之电路中其它原因,电子钟总会产生走时误差的现象,因此,电路中就应该有校准时间的功能的电路。如图2.7按键控制电路图所示,此次设计中,K1控制复位功能;K2为暂停;K3为启动;K4为调整,可切换时、分、秒的调整,从而进行闹钟的设置;K5、K6分别为加一、减一。
2.2.6 蜂鸣器报警电路
图2.8  蜂鸣器报警电路图
图2.8为蜂鸣器报警电路图。它的作用是实现整点。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,这里使用三极管Q1来放大电流。当单片机检测到整点的时候,例如00-01-00时,单片机系统应能发出信号使蜂鸣器发出“嘀、嘀、嘀”的声音。
2.2.7 软件程序设计
本设计中主程序主要实现显示的初始化和调用各子程序工作的功能,读取时间的子程序主要实现初始化,时间信息的采集和显示段码的码的存取。设计中计时主要以定时器T0中断完成,定点闹铃使用蜂鸣器来完成。当端口有开关按下时,转入相应的功能程序,其主程序执行流程图如图2.9所示:
图2.9  主程序执行流程图
在时钟状态下,触发外中断1时,进入闹钟时间设定模式,且不影响T0计时器的功能状态,在键盘上输入对应的数字进行时间设定。闹钟时间设定流程图如图2.10所示:
图2.10  闹钟时间设定流程图
3 设计步骤和结果3.1 设计步骤
(1)先在Proteus上绘制硬件电路;
(2)使用Keil uVisio4进行程序软件编译,生成.Hex文件;
(3)在以上两步完成后,双击Proteus中的单片机,把用Keil uVisio4编译生成的.Hex文件指定为下载文件,点击PLAY键即可进行仿真;
(4)当电路出现错误时,列表中说明了具体的错误,必须要先排错才可以继续进行;
(5)仿真过程中,LED数码管要能正常显示时间;在LED数码管显示时间达到设定的闹钟时间时,蜂鸣器要响才算成功;
(6)根据Proteus绘制的硬件电路图,首先在万能板上进行布局,方便接线;
(7)布局好后按照器件焊接原则进行焊接,要求安装正确。元器件无缺焊、错焊,连结无误,印制板焊点无虚焊、桥接等;
(8)注意三极管接线时需要仔细对照原理图,不要接反接错;
(9)焊接过程中,电烙铁在焊接处停留的时间不宜过长,以免烫坏元件;烙铁离开焊接处后,被焊接的零件不能立即移动,否则因焊锡尚未凝固而使零件容易脱焊;
(10)接通电源后,若电子钟正常工作,即可;若不能正常工作,则对接线进行检查,看是否有虚接、错接等情况,直至其功能得到实现。
3.2 实验结果3.2.1 原理图仿真结果
设置闹钟为:“00-01-00”,响铃一分钟。如图3.1所示:
图3.1 原理图仿真结果
3.2.2 实物焊接结果
接通电源后,LED数码管显示从“00-00-00”开始运行,此时按下调整键,将时间调至“00-01-00”。当其再次运行时,LED数码管显示时间已到达设定的闹钟时间,此时蜂鸣器响。实物焊接结果图如图3.2所示:
图3.2 实物焊接结果图

设计总结
此次设计整体论述了设计电子钟的大致思路,然后再采用划分模块的方法将系统分为复位模块、时钟模块、显示模块、按键模块等部分。最后将各模块集成为一个整体,合成一个多功能的电子钟。在程序编写的过程中,通过查阅不少的书籍以及参考一下网上一些可用的程序,我更加加深了对单片机的工作原理以及使用方法。同时,通过对实际的单片机最小系统的搭建与焊接,我更加掌握了单片机最小系统的硬件要求和焊接技术。

在这次设计中我深深地体会到了理论跟实践的不同,理论学的再好不会动手那也只能是纸上谈兵。了解了集成电路芯片的型号命名规律,懂得了没有某种芯片时的替代方法,以及在网上查找电子电路资料的方法,掌握了各芯片的逻辑功能及使用方法,进一步熟悉了集成电路的引脚安排,掌握了数字钟的设计方法,明白了数字钟的组成原理以及工作原理。掌握了计数器的工作原理,以及计数器进制的组成方法和级联方法,实现了一次理论指导实践、理论向实践过渡的跨越,虽然期间遇到一些困难,但这些困难却增强了我分析问题、解决问题的能力,使我以后不仅只学习书本中的理论知识,而且知道学以致用,动过动手实践是我对书本中的理论知识掌握地跟牢固、理解地跟深刻,这对我今后的工作及学习有积极的影响。
这次设计不仅再次复习了数字电子和模拟电子,而且让我对于芯片的使用更加了解。增加了我的动手操作能力,加深了对软件使用的了解。这就是这次设计的成果,相信这些实际的操作经验会是我以后的宝贵财富。

以上图文的Word格式文档下载(内容和本网页上的一模一样,方便大家保存):
8位数码管电子钟的设计与制作.docx (553.17 KB, 下载次数: 37)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:34441 发表于 2022-12-6 11:52 | 显示全部楼层
下载看看,学习下,正在学习单片机
回复

使用道具 举报

ID:1103947 发表于 2023-12-12 17:19 | 显示全部楼层
能不能发一下代码啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表