基于单片机的数字万年历设计毕业论文

上传人:l**** 文档编号:129733736 上传时间:2020-04-23 格式:DOC 页数:58 大小:1.05MB
返回 下载 相关 举报
基于单片机的数字万年历设计毕业论文_第1页
第1页 / 共58页
基于单片机的数字万年历设计毕业论文_第2页
第2页 / 共58页
基于单片机的数字万年历设计毕业论文_第3页
第3页 / 共58页
基于单片机的数字万年历设计毕业论文_第4页
第4页 / 共58页
基于单片机的数字万年历设计毕业论文_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《基于单片机的数字万年历设计毕业论文》由会员分享,可在线阅读,更多相关《基于单片机的数字万年历设计毕业论文(58页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的数字万年历设计毕业论文基于单片机的数字万年历设计毕业论文 目录 1 设计任务要求 12 2 2 设计方案及比较 设计可行性分析 13 2 1 单片机芯片的选择方案和论证 13 2 2 显示模块选择方案和论证 13 2 3 时钟芯片的选择方案和论证 14 2 4 按键模块方案的选择与比较 14 3 硬件电路设计 15 3 1 系统总体方案设计 15 3 2 系统框图 15 3 3 系统硬件概述 16 3 4 主要单元电路的设计 16 3 4 1 系统核心部分 单片机主控模块 16 3 4 2 时钟电路模块的设计 20 3 4 3 按键电路模块的设计 23 3 4 4 液晶显示电路模块

2、 23 3 4 5 闹铃电路 32 4 软件设计 34 4 1 系统软件设计 34 4 2 系统主程序的流程图 34 5 系统仿真测试 36 5 1 仿真软件简介 36 5 2 仿真步骤 36 6 测试与结果分析 39 参考资料 6 1 硬件测试结果 39 6 2 软件测试 40 6 3 测试结果分析与结论 40 6 3 1 测试结果分析 40 6 3 2 测试结论 40 参考文献 41 致谢 42 附录 43 附录一 系统程序如下 43 附录二 系统原理图 64 附录三 液晶显示和 DS1032 时钟的 PCB 图 65 附录四 键盘的 PCB 图 66 参考资料 1 设计任务要求 1 平年

3、 365 天 52 周 1 天 闰年 366 天 52 周 2 天 平年 2 月 28 天 闰年 2 月 29 天 2 每 400 年整一闰 或每 4 年且不为百年的一闰 即凡能被 400 整除 或不能 被 100 整除但能被 4 整除的年份为闰年 3 每 4 年 3 个平年 1 个闰年 共 208 周 5 天 每百年共 100 208 周 5 天 1 天 5217 周 5 天 每 400 年共 4 5217 周 5 天 1 天 整 400 年闰 20871 周 0 天 即每 400 年一个轮回 4 显示年 月 日 星期 时 分 秒的功能 5 具有调节功能 通过键盘加减调整万年历 参考资料 2

4、 2 设计方案及比较 设计可行性分析 2 1 单片机芯片的选择方案和论证 方案一 采用 89C51 芯片作为硬件核心 采用 Flash ROM 部具有 4KB ROM 存储空 间 能于 3V 的超低压工作 而且与 MCS 51 系列单片机完全兼容 但是运用于电路 设计中时由于不具备 ISP 在线编程技术 当在对电路进行调试时 由于程序的 错误修改或对程序的新增功能需要写入程序时 对芯片的多次拔插会对芯片造 成一定的损坏 方案二 采用 AT89S52 芯片 ROM 全都采用 Flash ROM 能以 3V 的超底压工作 同时 也与 MCS 51 系列单片机完全兼容 该芯片部存储器为 8KB RO

5、M 存储空间 同 样具有 89C51 的功能 且具有在线编程可擦除技术 当在对电路进行调试时 由于程序的错误修改或对程序的新增功能需要写入程序时 不需要对芯片多次 拔插 所以不会对芯片造成损坏 所以选择采用 AT89S52 作为主控制系统 2 2 显示模块选择方案和论证 方案一 采用 LED 液晶显示屏 液晶显示屏的显示功能强大 可显示大量文字 图形 显示多样 清晰可见 但是价格昂贵 需要的接口线多 所以在此设计中不采用 LED 液晶显示屏 方案二 采用点阵式数码管显示 点阵式数码管是由八行八列的发光二极管组成 对于显示文字比较适合 如采用在显示数字显得太浪费 且价格也相对较高 所以 参考资料

6、 也不用此种作为显示 方案三 采用 LCD12864 液晶显示模块显示 由于其屏幕是四行八列的 可以显 示很大的信息量 2 3 时钟芯片的选择方案和论证 方案一 直接采用单片机定时计数器提供秒信号 使用程序实现年 月 日 星期 时 分 秒计数 采用此种方案虽然减少芯片的使用 节约成本 但是 实现 的时间误差较大 所以不采用此方案 方案二 采用 DS1302 时钟芯片实现时钟 DS1302 芯片是一种高性能的时钟芯片 可 自动对秒 分 时 日 周 月 年以及闰年补偿的年进行计数 而且精度高 位的 RAM 做为数据暂存区 工作电压 2 5V 5 5V 围 2 5V 时耗电小于 300nA 2 4

7、按键模块方案的选择与比较 方案一 矩阵式键盘 行线的一端通过上拉电阻与单片机的 P1 口线的高四位相连 列线的一端也通过上拉电阻与单片机的 P1 口线低四位相连 矩阵式键盘结构性 好 使用于按键较多时的情况 方案二 独立式键盘 每个按键的电路是独立的 都有单独一根数据线输出键的通 断状态 单片机一条 I O 口线对应一个按键 独立式键盘结构简单 易于编程 适 用本实验按键较少的情况 由于这次设计中 使用的功能键比较多 若采用独立式键盘占有的 I O 口 比较多 所以在这里采用矩阵式键盘 综上各方案所述 对此次作品的方案选定 采用 AT89S52 作为主控制系统 DS1302 提供时钟 LCD1

8、2864 液晶显示模块作为显示 矩阵式键盘 参考资料 3 硬件电路设计 3 1 系统总体方案设计 万年历采用 LCD12864 液晶显示时间 LCD12864 液晶和矩阵式键盘都是单 片机用扩展 I O 接口实现的 当把程序下载到单片机 就显示年 月 日 星 期并且电子钟开始走时 按调试键按秒 分 时 星期 日 月 年的调整运 算 按加减进行调整 每次调整时询问 秒分 单元不能满 60 时 单元是 不能满 24 日 单元是否满 30 以及 月 单元是否 12 若满足条件则清零并 向高位进 1 若不满足则继续计数 以 秒分 单元为例 当满 60 秒时 秒 单元便清零 同时 分 单元加 1 当满

9、60 分时 分 单元清零 同时 时 单元加 1 修改完时间后按下确定键 时钟继续走 3 2 系统框图 显示采用 LCD12864 液晶显示模块 设置时间按键采用矩阵式键盘 时间生 成采用 DS1302 时钟芯片 系统框图如下 AT89S52 主控制模 块 DS1302 时钟模块 LCD 液晶显示屏 显示模块 键盘模块 参考资料 图 1 系统设计框图 3 3 系统硬件概述 本电路是由 AT89S52 单片机为控制核心 具有在线编程功能 低功耗 能 在 3V 超低压工作 时钟电路由 DS1302 提供 它是一种高性能 低功耗 带 RAM 的实时时钟电路 它可以对年 月 日 星期 时 分 秒进行计时

10、 具 有闰年补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 可产生年 月 日 星期 时 分 秒 具有使用寿命长 精度高和低功耗等特点 同时具有掉电自动保存功能 用液晶显示 3 4 主要单元电路的设计 3 4 1 系统核心部分 单片机主控模块 AT89S52 单片机为 40 引脚双列直插芯片 有四个 I O 口 P0 P1 P2 P3 MCS 51 单片机共有 4 个 8 位的 I O 口 P0 P1 P2 P3 每一条 I O 线

11、都能独立 地作输出或输入 AT89S52 具有下列主要性能 8KB 可改编程序 Flash 存储器 可经受 1000 次的写入 擦除周期 全静态工作 0Hz 24MHz 三级程序存储器 128 8 字节部 RAM 32 条可编程 I O 线 2 个 16 位定时器 计数器 6 个中断源 可编程串行通道 片时钟振荡器 AT89S52 的引脚及功能 AT89S52 单片机的管脚说明如图 2 所示 参考资料 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST 9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 1

12、2 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 GND 20 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 PSEN 29 ALE PROG 30 EA VPP 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0

13、 39 VCC 40 图 2 AT89S52 的管脚 1 主要电源引脚 VCC 电源端 GND 接地端 2 外接晶体引脚 XTAL1 和 XTAL2 XTAL1 接外部晶体的一个引脚 在单片机部 它是构成片振荡器的反相 放大器的输入端 当采用外部振荡器时 该引脚接收振荡器的信号 既把此信 号直接接到部时钟发生器的输入端 XTAL2 接外部晶体的另一个引脚 在单片机部 它是上述振荡器的反相 放大器的输出端 采用外部振荡器时 此引脚应悬浮不连接 3 控制或与其它电源复用引脚 RST ALE PROG PSEN 和 EA VPP RST 复位输入端 当振荡器运行时 在该引脚上出现两个机器周期的 高电

14、平将使单片机复位 ALE PROG 当访问外部存储器时 ALE 地址锁存允许 的输出用于锁 存地址的低位字节 即使不访问外部存储器 ALE 端仍以不变的频率 此频率 为振荡器频率的 1 6 周期性地出现正脉冲信号 因此 它可用作对外输出的 时钟 或用于定时目的 然而要注意的是 每当访问外部数据存储器时 将跳 过一个 ALE 脉冲 在对 Flash 存储器编程期间 该引脚还用于输入编程脉冲 PROG 6 PSEN 程序存储允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89S52 LV52 由外部程序存储器取指令 或常数 时 每个机器周期两次 PSEN 有效 既输出 2 个脉冲 但在此

15、期间 每当访问外部数据存储器时 这 参考资料 两次有效的 PSEN 信号将不出现 EA VPP 外部访问允许端 要使 CPU 只访问外部程序存储器 地址为 0000H FFFFH 则 EA 端必须保持低电平 接到 GND 端 当 EA 端保持高电平 接 VSS 端 时 CPU 则执行部程序存储器中的程序 4 输入 输出引脚 P0 0 P0 7 P1 0 P1 7 P2 0 P2 7 和 P3 0 P3 7 P0 端口 P0 0 P0 7 P0 是一个 8 位漏极开路型双向 I O 端口 作为 输出口用时 每位能以吸收电流的方式驱动 8 个 TTL 输入 对端口写 1 时 又 可作高阻抗输入端用

16、 P1 端口 P1 0 P1 7 P1 是一个带有部上拉电阻的 8 位双向 I O 端口 P1 的输出缓冲器可驱动 吸收或输出电流方式 4 个 TTL 输入 对端口写 1 时 通过部的上拉电阻把端口拉到高电位 这时可用作输入口 作输入口时 因为 有部的上拉电阻 那些被外部信号拉低的引脚会输出一个电流 P2 端口 P2 0 P2 7 P2 是一个带有部上拉电阻的 8 位双向 I O 端口 P2 的输出缓冲器可驱动 吸收或输出电流方式 4 个 TTL 输入 对端口写 1 时 通过部的上拉电阻把端口拉到高电位 这时可用作输入口 P2 作输入口使用时 因为有部的上拉电阻 那些被外部信号拉低的引脚会输出一个电流 P3 端口 P3 0 P3 7 P3 口管脚是 8 个带部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 这是由于 上拉的缘故 P3 口也可作为 AT89S52 的一些特殊功能 这些特殊功能见表 1 表 1 P3 端口的特殊功能 端口引脚 兼 用 功 能 P3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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