C51单片机实现电子闹钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C51单片机实现电子闹钟
————————————————————————————————作者:————————————————————————————————日期:
课程名称:单片机原理与接口技术实践设计课题:基于MCS 51单片机实现电子
闹钟功能的设计
学院:电子与信息工程学院
专业:通信工程
小组成员:
电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实用。本文给出了一种基于MCS51单片机实现电子闹钟功能的设计方法,从而给人们带来更为方便的工作与生活。
一.电子闹钟简介
我们设计的电子闹钟是以MCS 51单片机中的计时器作为时钟,用8位数码管显示当前时间,并且可以设置闹钟时间,并在设置的时间点发出闹铃。
简易闹钟具有以下功能:
1.时钟能准确地走时,并可以通过数码管进行显示
2.复位后可以进行当前时间的设置
3.可以随意设置闹钟时间,闹钟会在设置时间响铃
整个系统的任务要求:
1)输入数字按键的功能。
保证数字的输入。
2)复位电路的功能。
所有时间回到初始化状态,用于启动设定时间参数(调时或设定闹钟时间);
3)显示电路的功能。
当输入数字时显示24小时时间功能。
4)闹铃功能
设置闹铃的时间后.能按设置好的时间准时闹铃。
二.系统方案的设计要求
根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采用AT89C51为内核显示设计方案。
先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联调,最终实现一个完整的系统。
整个系统的设计步骤如下:
在单片机最小系统的基础上,完成按键电路和复位电路的设计。
完成显示电路、数字按键、单片机时钟电路。
Ⅰ硬件设计
系统硬件的设计可以根据系统的各个功能,把整个系统划分成若干个模块,分别对这些模块来进行设计,然后在通过单片机程序来实现对各个硬件模块功能的调度。
本系统涉及到的硬件模块有:按键电路、数码管显示电路、单片机时钟电路、蜂鸣器电路。
各部分实现功能如下:
按键电路:提供按键信号。
单片机时钟电路、复位电路:提供内部时钟。
数码管驱动显示电路:显示当前时间。
蜂鸣器电路:闹钟报时。
Ⅱ软件设计
本系统的软件部分主要完成功能:时分秒的进位算法处理、数码管的时间显示、时间调整设置、闹钟功能。
根据软件的功能划分软件设计模块结构,如下所示
主程序模块
按键驱动模块LED驱动模块时间处理模块
其中各个模块具体任务如下:
按键驱动模块:对各个按键的功能进行相关的定义。
LED驱动模块:根据系统需要显示相应的数字时间;
时间处理模块:时、分、秒的进位算法处理
三.系统硬件电路的设计
1根据确定的硬件方案设计硬件框图,如下图所示:
2系统原理图的设计
系统总的硬件电路如下图所示
实际要用到5个按键,受空间限制仿真电路中只画出4个。
单 片
机
蜂鸣器电路
晶振电路
复位电路
按键电路
数码管驱动及显示
单片机管脚资源分配:
P0口为数码管段选信号输出口。
P3口为数码管位选信号输出口。
P1.0、P1.1、P1.2、P1.3、P1.4为键盘的输入信号。
P3.6为蜂鸣器信号的输出口。
下面分别介绍各个电路。
(1)数码管驱动及显示电路
本设计采用8位7段共阳极数码管用来显示时间。为了将时间在LED数码管上显示可采用动态显示法。通过对每位数码管的依次扫描,使对应数码管亮;同时向该数码管送对应的字码使其显示数字。由于数码管扫描周期很短,而且人眼有视觉暂留效应,所以数码管看起来总是亮的从而实现了数字的同时显示。
数码管主要包括位选和段选信号线。位选是用来选通数码管的,只有位选信号有效该数码管才会亮并显示要现实的数字;段选是选择数码管7段的那一笔亮,从而显示不同的数字。
本设计中单片机P0口输出段选数据,P3口输出位选数据。
数码管与单片机相连的电路如下图所示:
电路中使用了芯片74ls245,该芯片用来驱动LED。其片选引脚要接地,使其一致为低电平,芯片一直可以工作。
(2)晶振电路
晶体以及电容C1、C2构成并联谐振电路,接在放大器的反馈回路中构成内部单片机内部时钟。晶体可在1.2MHz-12MHz之间任选,电容C1、C2的典型值为通常选择为30pF左右,这时对应的始终频率为12MHz。
单片机内部晶振电路图及连接电路如下:
(3)按键电路
本设计采用行列式按键电路,它由行线和列
线组称成,按键位于行列的交叉点。一个4*4的行列结构可以构成一个16个按键的键盘,如下图所示。在按键数目较多的场合,行列式按键可以节省很多的I/O口线。
按键的识别是通过扫描来实现的。单片机会依次扫描每一行和每一列,通过行线和列线的电平高低即可判断哪个按键被按下。
本设计中用到四个按键,P1.0、P1.1、P1.2、P1.3 、P1.4,分别用于时间校准设置、定闹设置、秒分时切换、加1调整、减1调整。
按键与单片机相连电路如下:
由原理图可以明显看出,当按键未被按下时,对应引脚为高电平;按键被按下时为低电平。通过扫描即可辨别哪一个按键被按下。
本题画出的虽然是独立按键,但是内部驱动依然是行列式按键的驱动,这里只是为了画图方便。