1、Abstract0北京工业大学耿丹学院毕业设计(论文)题目: 电子倒计时定时器设计摘 要随着时代的进步,电子技术的发展,倒计时定时器得到了越来越广泛的应用,给人们日常的生活、学习、工作、娱乐带来便利,电子定时器相比普通的定时器来事具有体积小、重量轻、造价低、精度高等特点。本设计主要采用 51 系列单片机,通过硬件电路设计和软件编程设计来实现,硬件主要包括主控模块,时间显示模块,键盘设置模块,报警器模块的设计,软件编程主要采用 C 语言,虽然程序条数比较多,但是设计起来比较方便,可通过 Keils 软件进行调试。此次倒计时定时器采用单片机 AT89S52 为核心,利用时钟芯片 DS1302 来显
2、示一天的时间,系统通电后利用数码管自动显示当前时间,通过键盘可以调整时间,分别对时、分、秒进行加减,也可以通过键盘转换成倒计时模式,最大倒计时时间为 59 分 59 秒,而且误差很小,当倒计时为零时蜂鸣器进行报警,指示灯变亮,倒计时功能关闭则显示当前时间,操作简单方便。Abstract1关键词:时钟芯片;AT89S52;倒计时;DS1302AbstractWith the progress of the development of electronic technology, the countdown timer has been more and more widely to peopl
3、es daily life, study, work, entertainment convenience, electronic timer timer compared to ordinary things havesmall size, light weight, low cost and high accuracy.The design is mainly 51 series microcontroller, hardware design and software programming design, hardware control module, display module,
4、 keyboard settings module, the alarm module design, software programming using C language, although the program Articlenumber, but it was easier to design, Keils software debugging.The countdown timer microcontroller AT89S52 as the core, DS1302 clock chip to display the time of day, the system is po
5、wered on use of digital control automatically displays the current time, the time can be adjusted via the keyboard, hours, minutes, seconds plus or minus, but alsokeyboard converted into countdown mode, the maximum countdown time of 59 minutes 59 seconds, and the error is very small, the buzzer alar
6、m when the countdown to zero, the light is on, the countdown function Close to display the Abstract2current time, simple operation.Key Words:Clock chip;AT89S52;Countdown;DS1302目 录3目 录摘 要 .1Abstract .2第 1 章 绪论 .51.1 课题的学术背景及其实际意义 .51.2 相关领域的成果及存在的不足 .51.3 课题来源及主要研究内容 .5第 2 章 倒计时定时器的结构、原理及设计方案 .72.1 单
7、片机的发展概况 .72.2 51 单片机的内部结构 .72.3 设计要求、方案及框图 .92.1.1 设计要求 .92.1.2 设计方案 .92.1.3 设计框图 .10第 3 章 硬件电路设计 .113.1 ATS89C52 单片机介绍 .113.2 时钟模块 .133.2.1 DS1302 简介 .133.2.2 DS1302 电路设计 .143.2.3 时钟电路设计 .153.2.4 时钟复位电路 .153.3 键盘模块 .163.4 显示模块 .173.4.1 LED 数码管介绍 .173.4.2 LED 数码管电路设计 .193.5 报警模块 .21第 4 章 软件程序设计 .224
8、.1 Keil 软件介绍 .224.2 软件程序流程图 .22第 5 章 系统调试 .25目 录4结 论 .30参考文献 .31附 录 .32附录 1 主程序 .32附录 2 电路原理图 .49附录 3 PCB 图 .50致 谢 .51北京工业大学耿丹学院 2012 届毕业设计(论文)5 第 1 章 绪论1.1 课题的学术背景及其实际意义倒计时定时器已经成为人们日常生活中必不可少的物品,随着技术的发展,广泛的应用于各个公共场所,给人们日常的生活、学习、工作、娱乐带来便利,但是由于原先简单的报时功能已经不能够被人们所满足,希望出一些新的功能新的产品来满足人们的需要,例如重要日子的倒计时、秒表等等
9、,这些都能带来更大的方便。而所有的这些都是以倒计时定时器为基础的。因此,研究倒计时定时器有着非常重要的意义和实用价值。电子定时器在家用电器中经常用于延时自动关机、定时。延时自动关机可用于:收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。定时可用于:照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。例如:空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机,方便节能。定时器除了应用于家用
10、电器外,还广泛地用于工业农业生产和服务设施等等。1.2 相关领域的成果及存在的不足在电子技术突飞猛进的今天,电子倒计时定时器也慢慢的被广大的家庭所接受,这些都方便了每个人的生活和工作。传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有用时间继电器的。相对于传统的定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。所以电子定时器的发展必定大有前途。同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。1.3 课题来源及主要研究内容本课题是通过老师挑选的几个课题当中自主选择的
11、,虽然倒计时定时器已经很常见了,但是自己亲自动手制作,把所学到的知识应用的实际操作中,通过这个过程一定会有很大的收获,巩固加深了单片机应用的知识面,提高了自己的动手能力和解决问题的能力。北京工业大学耿丹学院 2012 届毕业设计(论文)6 本课题主要研究的内容要了解电子倒计时定时器的基本结构原理,调研并查找相关资料,选择实现电子倒计时定时器的方案,进行完整的倒计时的硬件电路、系统软件以及实物结构的设计并进行电路仿真、软件编程、系统调试。北京工业大学耿丹学院 2012 届毕业设计(论文)7第 2 章 倒计时定时器的结构、原理及设计方案2.1 单片机的发展概况微型计算机的出现是电子数字计算机广泛应
12、用到人们日常工作和生活领域中去的一个重大转折点。它已经深入应用到非微型计算机所无法应用的领域,对社会产生了极大的影响。单片微型计算机是微型计算机发展的一个重要分支,它以其独特的机构和性能,越来越普遍的应用到国民经济建设的各个领域。单片机全称为单片微型计算机(Single Chip Microcomputer) 。因为单片机主要用于控制系统中,所以又称微控制器(Microcontroller Unit,MCU)或嵌入式控制器(Embedded Controller) 。它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。他把计算机的基本部件都微型化集成到一块芯片上了,
13、通常片内部都含有中央处理部件(CPU) ,数据存储器(RAM) ,程序存储器(ROM,EPROM,Flsh ROM) ,定时器/计数器和各种输入/输出(I/O)接口他们之间的相互连接结构2.2 51 单片机的内部结构51 单片机内部有一个 8 位的 CPU,同时 CPU 内部包含了运算器,控制器及若干寄存器。1、运算器(ALU)的主要功能A)算术和逻辑运算,可对半字节(一个字节是 8 位,半个字节就是 4 位)和单字节数据进行操作。B)加、减、乘、除、加 1、减 1、比较等算术运算。C)与、或、异或、求补、循环等逻辑运算。D)位处理功能(即布尔处理器)。由于 ALU 内部没有寄存器,参加运算的
14、操作数,必须放在累加器 A 中。累加器 A 也用于存放运算结果。例如:执行指令 ADD A,B 执行这条指令时,累加器 A 中的内容通过输入口 In_1 输入 ALU,寄存器 B 通过内部数据总线北京工业大学耿丹学院 2012 届毕业设计(论文)8经输入口 In_2 输入 ALU,A+B 的结果通过 ALU 的输出口 Out、内部数据总线,送回到累加器 A。2、程序计数器 PCPC 的作用是用来存放将要执行的指令地址,共 16 位,可对 64K ROM 直接寻址,PC 低 8 位经P0 口输出,高 8 位经 P2 口输出。也就是说,程序执行到什么地方,程序计数器 PC 就指到哪里,它始终是跟蹿
15、着程序的执行。我们知道,用户程序是存放在内部的 ROM 中的,我们要执行程序就要从 ROM 中一个个字节的读出来,然后到 CPU 中去执行,那么 ROM 具体执行到哪一条呢?这就需要我们的程序计数器 PC 来指示。程序计数器 PC 具有自动加 1 的功能,即从存储器中读出一个字节的指令码后,PC 自动加1(指向下一个存储单元)。3、指令寄存器 IR指令寄存器的作用就是用来存放即将执行的指令代码。在这里我们先简单的了解下 CPU 执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。关于指令在单片机内部的
16、执行过程,我们在后面将会以另一节课来进行详细的讲解。4、指令译码器 ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU 控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。5、地址寄存器 AR(16 位)AR 的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器 PC 产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。从上图中我们可以看到,地址寄存器 AR 通过地址总线 AB 与外部存储器相
17、连。6、数据寄存器 DR用于存放写入外部存储器或 I/O 端口的数据信息。可见,数据寄存器对输出数据具有锁存功北京工业大学耿丹学院 2012 届毕业设计(论文)9能。数据寄存器与外部数据总线 DB 直接相连。7、程序状态字 PSW用于记录运算过程中的状态,如是否溢出、进位等。例如,累加器 A 的内容 83H,执行:ADD A,#8AH ;累加器 A 与立即数 8AH 相加,并把结果存放在 A 中。指令后,将产生和的结果为10DH,而累加器 A 只有 8 位,只能存放低 8 位,即 0DH,元法存放结果中的最高位 B8。为些,在 CPU 内设置一个进位标志位 C,当执行加法运算出现进位时,进位标
18、志位 C 为 1。8、时序部件由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。2.3 设计要求、方案及框图2.1.1 设计要求这个倒计时定时器的设计采用倒计时的方式,初始值由键盘设定,最大定时为 59 分 59 秒,4 位 LED 显示时间,定时到进行声光报警。2.1.2 设计方案(1)采用 AT89C51 单片机为核心,通过程序来实现时间的显示,用定时器实现闹钟功能的设定,通过 LED 数码管显示时间。如图 2-1:图 2-1 系统框图本设计采用 AT89C51 单片机不如 AT89S52 精确高,长时间工作会导致误差很大,并且 C 语言设计起来相当麻烦,调整起来麻烦而且不方便实现对系统的扩展。键盘模块电源模块 报警模块主控模块显示模块