基于单片机的电子时钟设计和实现.doc

上传人:灯火****19 文档编号:138000686 上传时间:2020-07-13 格式:DOC 页数:25 大小:191KB
返回 下载 相关 举报
基于单片机的电子时钟设计和实现.doc_第1页
第1页 / 共25页
基于单片机的电子时钟设计和实现.doc_第2页
第2页 / 共25页
基于单片机的电子时钟设计和实现.doc_第3页
第3页 / 共25页
基于单片机的电子时钟设计和实现.doc_第4页
第4页 / 共25页
基于单片机的电子时钟设计和实现.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于单片机的电子时钟设计和实现.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计和实现.doc(25页珍藏版)》请在金锄头文库上搜索。

1、陕西电子科技职业技术学院Shaanxi electronic science and technology vocational college课程设计报告题 目 基于单片机的电子时钟设计和实现 班 级 电子信息1507 姓 名 张聪 指导教师 聂弘颖 时 间 2017年10月30日 第一章 系统设计要求1.1 基本功能(1)能够显示时分秒(2)能够调整时分秒1.2 扩展功能(1)能够任意设置定时时间(2)定时时间到闹铃能够报警(3)实现了秒表功能第二章 硬件总体设计方案本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键

2、盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。2.1系统功能实现总体设计思路此设计原理框图如图2-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。闹铃电路51单片机独立键盘数码管显示 图2-1 设计原理框图 经多方论证硬件我个人采用AT89C51单片机和7SED八位共阳极数码管等来实现单片机电子时钟的功能。详细元器件列表如表2.1所示:表2.1 详细元器件列表AT89c511片7SED八位共阳极数码管1片NPN三极管1个104p电容6个30p

3、电容2个10K电阻6个560欧姆电阻8个200欧姆电阻1个100欧姆电阻6个2.2各部分功能实现(1) 单片机发送的信号通过程序控制最终在数码管上显示出来。(2) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3) 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。(4) 单片机通过控制闹铃电路来完成 定时闹钟的功能。2.3系统工作原理设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。详细电路功能图如图2-2: 图2-2 详细电路功能图本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分

4、计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。2.4时钟各功能分析及图解2.4.1电路各功能图解分析 (1) 时钟运行图仿真开始运行时,或按下key4键时,时钟从12:00:00开始运行,其中key2键对分进行调整,key3对小时进行调整,key6可以让时钟暂停。时钟运行图如图 2-3 所示: 图2-3 时钟运行图(2)秒表计时图当按下key1键进入秒表计时状态,key6是秒表暂停键,可按key4键跳出秒表计时状

5、态。如图2-4: 图2-4 秒表计时图(3)闹铃设置图及运行图当按下key5,开始定时,分别按key2调分,key3调时设置闹铃时间,然后按下key4键恢复时钟运行状态(图2-5)当闹铃设置时间到时,蜂鸣器将发出10秒中蜂鸣声(图2-6)。 图2-5 闹铃时间设置图 图2-6 闹铃运行图 该数字钟是用一片AT89C51单片机通过编程去驱动8个数码管实现的。通过6个开关控制,从上到下6个开关KEY1-KEY6的功能分别为:KEY1,切换至秒表;KEY2,调节时间,每调一次时加1;KEY3, 调节时间,每调一次分加1;KEY4,从其它状态切换至时钟状态;KEY5,切换至闹钟设置状态,也可以对秒表清

6、零;KEY6,秒表暂停.控制键分别与P1.0P1.5口连接其中:A通过P2口和P3口去控制数码管的显示如图所示P2口接数码管的ag端,是控制输出编码,P3口接数码管的18端,是控制动态扫描输出B从P0.0输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发光,若有乐曲可以去驱动扬声器实现。2.4.2电路功能使用说明(1) 各个控制键的功能:可对时间进行校准调节(只能加);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加、分加键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对

7、秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。(2) AT89C51单片机,通过编写程序对数码显示进行控制。(3) 八个7段数码管显示时钟和秒表信号。第三章软件总体设计方案3.1 主程序流程图:开始定时器及中断定时器初始化执行时钟秒表闹铃设定程序是否设定参数执行显示程序NY软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。如图3-1: 图3-1 主程序流程图分数值time.minute加1time.second归零Tcount加1返回主程序实数值time1.boun加1time1.mintet归零Time1.bour23时

8、数值time1.hour归零Tount1=100?秒数值time1.second加1second归零执行闹钟程序p0.0=1判断时间与闹钟时间是否一致闹钟程序是否行完全Time1.second=60?Time.minute=60?恢复初值保护3.2 总中断程序流程 图3-2 中断流程图时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断是否让闹铃工作。程序中包含时间的设定,如设定tcount来使秒等工作,进而来控制分和时。如上图图3-2。A. 秒表中断程序流程 秒表功能通过另一个程序来实现。通过保护主程序的数据来进行秒表功能。程序中需要设置秒表的具体显示方法。如图3-3:恢复初值

9、保护10ms计数器加1恢复初值保护秒计数器加1,10ms计数器归零,即sec+,ms=0Sec60?Ms100?输出字码,中断结束,返回上级主程序分计数器加1,秒计数器归零,即minit+,sec=0 N Y N Y图3-3秒表中断程序流程图B.按键程序流程程序初始化时十位归零alarms【7】=0分时位归零alarms4=0分十位归零输出时钟时十位加一输出闹钟时个位加一,延时输出时钟十位加一输出时钟十个位加一输出时钟分个位加一,延时输出闹钟时分位加一输出闹钟时十位加一输出闹钟分个位加一,延时时十位归零判断标志位是否为零Alarms42Alarms72Alarms【3】0Dat169Dat17

10、Alarms69Dat139Dat142判断标志是否为零判断时i加键是否按下判断分加键是否按下图3-4为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间和闹钟的调节。图3-4按键程序流程图图3-5为进入中断和清零图,程序中通过扫描来判断按键是否按下进行执行相应的中断来事实现相应的功能。判断分加键tminute是否按下,P1.1=0判断秒表miaobiao1是否按下按下,P1.0=0,tgsdhPP1.0=0判断清零键miaobiao2是否按下,P1.3=0进入秒表中断,执行秒表中断程序返回上级主程序清零所有的计数器,各个显示的字码。图3-5 中断和清零程序流程图3.3控制电路的C语言

11、源程序根据流程图,经过认真分析得出控制电路的源程序如下:#include#define uchar unsigned char#define uint unsigned int#define delay_time 3/*宏定义*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;unsigned char code SEG711=0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/ ;/*数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号