1、 毕业设计(论文) 题 目 基 于 51单片机的电子时钟设计 毕业设计(论文)任务书 姓 名 专 业 班 级 毕业设计(论文) 题 目 基于 51 单片机的电子时钟设计 毕业设计(论文)选题的目的与意义 现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过 计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时 清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶 体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试。 毕业设计(论文)的资料收集情况(
2、含指定参考资料) 谢自美:电子线路设计实验测试,武汉:华中理工大学出版社, 1992。 何立民:单片机应用系统设计,北京:北京航空航天大学出版社, 1993。 楼然笛:单片机开发,北京:人民邮电出版社, 1994。 付家才:单片机控制工程实践技术,北京:化学工业出版社 , 2004。 李光才:单片机课程设计,北京:北京航空航天大学出版社 , 2004。 毕业设计(论文)工作进度计划 第一周 选定项目 第二周 查阅资料 第三周 动笔 第四周 修改论文 第五周 完成论文 接受任务日期 年 月 日 要求完成日期 年 月 日 学 生签名: 年 月 日 指导教师签名: 年 月 日 系(分院) 主任(院长
3、)签名: 年 月 日 毕业设计(论文)指导教师评阅意见表 姓 名 学 号 性 别 专 业 班 级 毕业设计(论文) 题 目 基于 51 单片机的电子时钟设计 评 阅 意 见 成绩 指导教师签字 年 月 日 毕业设计(论文)答辩意见表 姓 名 学 号 性 别 专 业 班 级 毕业设计(论文) 题 目 基于 51 单片机的电子时钟设计 答辩时间 地 点 答辩 小组 成员 姓 名 职 称 学 历 从事专业 组 长 成 员 秘 书 答 辩 小 组 意 见 答 辩 成 绩: 答辩小组组长签名: 年 月 日 基于 51 单片机的电子时钟设计 摘 要: 本文介绍了基于 51 单片机的电子时钟的设计,从硬件和
4、软件两个方面给出了具体实现过程。该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和 数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。文中给出了各个模块的电路图,并用 Proteus 的 ISIS 软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像。 关键 词 : 单片机 电子时钟 键盘控制 一、引言 1957 年 ,Ventura 发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时
5、工具,采用延时程序产生一定的时间中断,用 于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四 小时 清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高, 稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时 ,译码代替机械式传动,用 LED 显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 二、时钟的基本原理分析 利用单片机定时器完成计时功 能,定时器 0计时中断程序每隔
6、0.01s中断一次并当作一个计数,设定定时 1秒的中断计数初值为 100,每中断一次中断计数初值减 1,当减到 0时,则表示 1s 到了,秒变量加 1,同理再判断是否 1min 钟到了,再判断是否 1h到了。 为了将时间在 LED 数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现 LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是 亮的,从而实现了各种显示。 三、时钟设计分析 针对要实现的功能,采用 AT89S51单
7、片机进行设计, AT89S51 单片机是一款低功耗,高性能 CMOS8位单片机,片内含 4KB在线可编程( ISP)的可反复擦写 1000次的 Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51指令系统及 80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为 闹钟的声音程序 、时间 显示程序 、日期显示程序,秒表显示程序,时间调整 程序 、闹钟调整程序、定时调整程序,延时程序等。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想
8、不到的错误。 首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四 部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入
9、程序检查电路,若与设计的完全一样一般能实现想要的功能。最后进行功能扩展,在已经正确的设计基础上,添加额外的功能! 四、时钟的实现 (一)、电路设计 1、整体设计 此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用 8个共阴数码管分别显示,星期(年份),小时 、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了 I/0端口,使电路更加简单。单片机采用 AT89S51系列,这种单片机应用简单,适合电子钟设计。 电路的总体设计框架如 下 图所示: (二)、分块设计 模块电路主要分为:输入部分、输出部分、复位和晶振电路。 1、输入部分 输入信号
10、主要是各种模式选择和调整信号,由按键开关提供。 以下为输入部分样例如图 2所示 在本实验中主要用用 P3口输入按键信号,还用到了特殊的 P0口。对于 P0口,由于其存在高阻状态,为了实现开关功能, 给其添加上拉电阻,具体如下图 3所示: 单片机 输入部分 晶振和复位 输出部分 2、输出部分 本电路的输出信号为 7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在 P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从 P2口接入,如下图: 闹铃由 P2.6端输出,模块如下: 3、晶振与复位电路 本实验单片机时钟用内部时钟,模
11、块如下: 复位电路为手动复位构成,模块如下: 各模块拼接组合,电路总体设计图如下 :(三 )、 程序主要模块 1、延时模块 数码管显示动态扫描 时,用到延时程序,这里使用延迟 1ms 的程序,此程序需反复调 ,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。 2、中断服务程序 本实验中,计数器 T0,T1中断都有运用,其中 T0中断为时钟定时所用, T1中断用于音乐播放。 T0的定时长度为 0.01s,工作于方式 1,计数 1次,时长 1us,故计数器计数 10000次,进入中断,计数初值为 65536-10000=55536=#0D8F0,装满定时器需要 0.01s的时间,从而 100次中断为一秒,一秒之后,判断是否到 60秒,若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推。包括日期显示的功能也是如此。另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。基于以上考虑,以 R3为倒计时中的秒,R4为倒计时的分,当秒加 1时 R3减一,减到 0之后,秒赋值为 59,分减一,直到分为 0。