1、本科毕业设计(论文)(20 届)基于 AT89S52 的数字电子钟的设计所在学院专业班级 电子信息科学与技术学生姓名指导教师完成日期目 录摘要 .IIIAbstract.IV第一章 引言 .1第二章 芯片的选择与简介 .22.1 AT89S52 简介 .22.2 74HC164 简介 .32.3 DS1302 简介 .4第三章 硬件设计 .63.1 电路设计方案图 .63.2 系统硬件设计概述 .63.3 系统主要单元电路的设计 .63.3.1 系统主控制电路的设计 .63.3.2 时钟电路的设计 .73.3.3 显示系统电路的设计 .83.4 系统电路原理及说明 .93.4.1 单片机 AT
2、89S52 的工作原理 .93.4.2 时钟芯片 DS1302 的工作原理 .11第四章 软件设计 .144 . 1 主程序流程框图 .144.2 计算阳历程序流 .144.3 时间调整程序流程图 .164.4 日历程序流程图 .174.5 子程序的设计 .17第五章 硬件、软件调试 .195.1 硬件调试 .195.2 软件调试 .195.3 调试结果分析与结论 .20第六章 论文总结 .21参考文献 .22附录 .23致谢 .43基于 AT89S52 的数字电子钟的设计摘要本文介绍了一款基于 AT89S52 单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现
3、过程。论文重点阐述了数字钟硬件中主控制模块、时钟模块、显示模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,本设计实现了时间与闹钟的修改功能、年、月、日和星期等的显示功能。并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。本次设计过程在硬件与软件方面是进行同步设计。硬件部分主要由AT89S52 单片机,LED 显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了 AT89S52 单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用 2 片 7SEG-MPX8-CA 和一片 7SEG-MP
4、X4-CA。7SEG-MPX8-CA 是一种八个共阳二极管显示器,7SEG-MPX4-CA 是一种四个共阳二极管显示器。为了能更轻松的控制这三片显示器,本人使用了 3 片 74HC164 来驱动。74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实现调整时间及阴历显示功能。 关键词:时钟电钟;DS1302;DS18B20 ;动态扫描;单片机 Based On The Design of AT89S52 Digital Electric ClockAbstractThi
5、s article describes an AT89S52 microcontroller based digital clock design, through multi-functional digital clock design ideas, detailed description of the system hardware and software realization process. Paper focuses on the digital clock in the main control module hardware, the clock modules, dis
6、play modules and associated control modules, modular design and production; software as modular design, the design and implementation of the changes of time and alarm functions, voice broadcast function, year, month, day and week, etc. display. And by comparing the actual clock, find out the source
7、of the error, the error of the method of determining the adjustment, as much as possible to reduce errors Enable the system to achieve a practical digital clock within allowable error.Hardware mainly by the AT89S52 microcontroller, LED display circuit, and the tune composed of the circuit when the b
8、utton. In the SCM choice I used the AT89C51 microcontroller, which is suitable for many of the more complex control applications. Monitor the use of two 7SEG-MPX8-CA and a 7SEG-MPX4-CA. 7SEG-MPX8-CA is a total of eight-yang display 7SEG-MPX4-CA is a total of four-yang diode display. In order to more
9、 easily control the three monitors, I use three 74HC164 to drive.74HC164 is an 8-bit edge-triggered shift register, serial input data, and parallel output. The software includes calendar program, time to adjust procedures, turn the lunar calendar programs display programs. Programs written in assemb
10、ly language used in order to more easily adjust the time and the realization of the lunar calendar display. All programming is complete, the wave software debugging.Key words: Clock Electric Clock,DS1302,DS18B20,Dynamic,Scanscm第一章 引言随 着 科 学 技 术 的 飞 速 发 展 , 电 子 技 术 的 产 业 结 构 调 整 , 人 们 生 活 水 平 的提 高 ,
11、他 们 对 时 间 的 要 求 越 来 越 高 , 精 准 数 字 计 时 的 消 费 需 求 也 是 越 来 越 多1。二 十 一 世 纪 的 今 天 , 最 具 代 表 性 的 计 时 产 品 就 是 电 子 数 字 钟 电 子 万年 历 , 它 是 近 代 世 界 钟 表 业 界 的 第 三 次 革 命 。 第 一 次 是 摆 和 摆 轮 游 丝 的 发 明 ,相 对 稳 定 的 机 械 振 荡 频 率 源 使 钟 表 的 走 时 差 从 分 级 缩 小 到 秒 级 , 代 表 性 的 产品 就 是 带 有 摆 或 摆 轮 游 丝 的 机 械 钟 或 表 。 第 二 次 革 命 是 石
12、英 晶 体 振 荡 器 的 应用 , 发 明 了 走 时 精 度 更 高 的 石 英 电 子 钟 表 , 使 钟 表 的 走 时 月 差 从 分 级 缩 小 到秒 级 。 第 三 次 革 命 就 是 单 片 机 数 码 计 时 技 术 的 应 用 ( 电 子 万 年 历 ) , 使 计 时产 品 的 走 时 日 差 从 分 级 缩 小 到 1/600 万 秒 , 从 原 有 传 统 指 针 计 时 的 方 式 发 展为 人 们 日 常 更 为 熟 悉 的 夜 光 数 字 显 示 方 式 , 直 观 明 了 , 并 增 加 了 全 自 动 日 期 、星 期 、 温 度 以 及 其 他 日 常 附
13、 属 信 息 的 显 示 功 能 , 它 更 符 合 消 费 者 的 生 活 需 求 !因 此 , 这 种 数 字 钟 的 出 现 带 来 了 钟 表 计 时 业 界 跨 跃 性 的 进 步 。 本文通过对一个能实现按键开关可调整年、月、日、周、时、分、秒,且具有测温功能、定点报时的 24 小时制的时间系统的设计学习,详细介绍了单片机应用中的定时中断原理、数码管显示原理、动态扫描显示原理等,进一步学习、应用单片机汇编语言系统的实现了各种功能。从而使自身明白使用单片机汇编语言和 C 语言之间的效率、整体性问题。系统由单片机、独立式按键、时钟芯片、LED 数码管、等部分构成,能实现 24 小时制年
14、、月、日、周、时、分、秒等时钟显示。同时也可进行年、月、日、周、时、分、秒的校准、定点报时和 LED 数码管显示。第二章 芯片的选择与简介采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,具有 3 个 16 位定时器/计数器,8 个中断源,同样具有 AT89C51 的功能,且具有 ISP 在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。使得 AT89S52 为众多嵌入式控制应用系
15、统提供高灵活、超有效的解决方案。可见 AT89S52 更能满足各方面的设计要求,减少不必要的麻烦,所以选择采用 AT89S52 作为主控制系统。2.1 AT89S52 简介 与 MCS-51 单片机产品兼容 、8K 字节在系统可编程 Flash 存储器、1000次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器、32 个可编程I/O 口线、三个 16 位定时器/计数器 八个中断源、全双工 UART 串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash
16、存储器 2。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操
17、作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。2.2 74HC164 简介74HC164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出 3。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数
18、据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0,Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。74HC164 的特性: 门控串行数据输入; 异步中央复位; 符合 JEDEC 标准 no.7A; 静电放电 (ESD) 保护; HBM EIA/JESD22-A114-B 超过 2000V; MMEIA/JESD22-A115-A 超过 200V; 多种
19、封装形式; 额定从-40C 至+85C 和-40C 至+125C 。74HC164 的功能图如下图 2.1:图 2. 功能图74HC164 的引脚信息为下图 2.2:图 2.2 DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚配置74HC164 的各个引脚说明为下表 2.1:表 2.1 引脚说明符号 引脚 说明DSA 1 数据输入DSB 2 数据输入Q0Q3 36 输出GND 7 地 (0 V)CP 8 时钟输入(低电平到高电平边沿触发)/M/R 9 中央复位输入(低电平有效)Q4Q7 1013 输出VCC 14 正电源罗2.3 DS1302 简介DS1302 是 DALLAS 公司推出的串行接口实时时钟芯片。它既提供实时时钟,又把关键的数据位存储于 RAM。芯片使用简单,外部连线少,在智能化仪表及自动控制领域具有广泛用途。其主要特点是: 简单的三线串行 I/O 接口; 2.55.5V 的电压工作范围(在 2.5V 工作时耗电小于 300nA) ; 与 TTL 兼容(Vcc=5V)时; 实时时钟包括秒、分、小时、日、月、星期和年(闰年)等信息; 31*8 静态 RAM 可供用户使用; 可选的涓流充电方式; 工作电源和备份电源双引脚输入; 备份电源可由大容量电容来替代 4。引脚功能表及内部结构图如下图 2.3:图 2.3 DS1302 引脚及内部结构