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