基于51单片机的电子钟设计及实现毕业论文.doc_第1页
基于51单片机的电子钟设计及实现毕业论文.doc_第2页
基于51单片机的电子钟设计及实现毕业论文.doc_第3页
基于51单片机的电子钟设计及实现毕业论文.doc_第4页
基于51单片机的电子钟设计及实现毕业论文.doc_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 51 单片机的数字电子钟设计及实现 0 南 阳 理 工 学 院 本科生毕业设计 论文 学院 系 计算机与信息工程学院 专 业 通信工程 学 生 谢国锋 指导教师 张芳 完成日期 2014 年 5 月 基于 51 单片机的数字电子钟设计及实现 0 南阳理工学院本科生毕业设计 论文 基于51单片机的数字电子钟设计及实现 Digital Electronic Clock Design and Implementation Based on 51 Single Chip Microcomputer 总 计 毕业设计 论文 22 页 表 格 1 个 插 图 11 幅 基于 51 单片机的数字电子钟设计及实现 0 南南 阳阳 理理 工工 学学 院院 本本 科科 毕毕 业业 设设 计 论文 计 论文 基于51单片机的数字电子钟设计及实现 Digital Electronic Clock Design and Implementation Based on 51 Single Chip Microcomputer 学 院 计算机与信息工程学院 专 业 通信工程 学 生 姓 名 谢国锋 学 号 1206644044 指 导 教 师 职称 张芳 讲师 评 阅 教 师 完 成 日 期 2014 年 5 月 南阳理工学院 Nanyang Institute of Technology Comment A1 摘要的写法 针对 问题 最多两行文字 利用 原理 采用 技术 实现了 系 统 达到了 效果 Comment A2 与上面的中文关键词 不对应 基于 51 单片机的数字电子钟设计及实现 0 基于 51 单片机的数字电子钟设计及实现 通信工程专业 谢国锋 摘摘 要要 20 世纪末 电子技术获得了快速的发展 在其推动下 现代电子产品几乎渗 透了所有领域 有力地推动了社会生产力的发展和社会信息化程度的提高 同时也使现代电 子产品性能进一步提高 产品更新换代的节奏也越来越快 数字钟是采用数字电路实现对 时 分 秒 数字显示的计时装置 数字钟的精度 稳定度远远超过老式机械钟 在 这次设计中 我们采用液晶显示时 分 秒 以 24 小时计时方式 根据液晶显示原理来进 行显示 用 12MHz 的晶振产生振荡脉冲 定时器计数 在此次设计中 电路具有显示时间的 其本功能 还可以实现对时间的调整 关键词关键词 数字电子钟 单片机 定时器 液晶显示器 Digital Electronic Clock Design and Implementation Based on 51 Single Chip Microcomputer Communication Engineering Major Xie Guofeng Abstract The late 20th century electronic technology has been rapid development in its promotion penetration of modern electronic products will almost Fields a strong impetus to the development of social productive forces and social improvement in the level of information while also further improve the performance of modern electronic products replacement products have become increasingly fast pace Digital Clock is a digital circuit implementation of the when sub seconds The figures show the timing device Digital clock precision stability far more than theold mechanical clock In this design we use LED digital display hours minutes seconds to 24 hour time mode according to digital control theory to dynamic display to display use the 12MHz crystal oscillation pulse the timer count In this design the circuit has a display time of the this function you can also realize the time adjustment Keywords digital electronic clock SCM The timer Single chip microcomputer Liquid crystal display 基于 51 单片机的数字电子钟设计及实现 0 目录目录 1 引言 1 1 1 数字电子钟的背景 1 1 2 数字电子钟的意义 1 1 3 数字电子钟的应用 1 2 整体设计框架 2 2 1 系统功能 2 2 2 数字钟的原理图 2 3 数字钟的硬件设计 3 3 1 单片机的选择 3 3 2 单片机的基本结构 4 3 3 最小系统设计 7 3 4 LED 显示电路 9 4 数字钟的软件设计 10 4 1 系统软件设计流程图 10 4 2 设计主程序 13 5 调试与功能说明 14 5 1 硬件调试 14 5 2 系统性能测试与功能说明 14 5 3 系统时钟误差分析 14 5 4 调试问题及解决 15 总结 16 参考文献 17 附录 18 致谢 22 基于 51 单片机的数字电子钟设计及实现 0 1 引言 数字钟已成为人们日常生活中必不可少的必需品 广泛用于个人家庭以及车站 码头 剧场 办公室等公共场所 给人们的生活 学习 工作 娱乐带来极大的方便 由于数字集 成电路技术的发展和采用了先进的石英技术 使数字钟具有走时准确 性能稳定 携带方便 等优点 它还用于计时 自动报时及自动控制等各个领域 1 1 研究背景 20 世纪末 电子技术获得了快速的发展 在其推动下 现代电子产品几乎渗透了社会 的所有领域 有力地推动了社会生产力的发展和社会信息化程度的提高 同时也使现代电子 产品性能进一步提高 产品更新换代的节奏也越来越快 时间对人们来说总是那么宝贵 工作的忙碌性和繁杂性容易使人忘记当前的时间 忘记了要做的事情 当事情不是很重要的 时候 这种遗忘无伤大雅 但是 一旦重要事情 一时的耽误可能酿成大祸 目前 单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化 低功耗 小体积 大容量 高性能 低价格和外围电路内装化等几个方面发展 下面是单片机的主要 发展趋势 单片机应用的重要意义还在于 它从根本上改变了传统的控制系统设计思想和设 计方法 从前必须由模拟电路或数字电路实现的大部分功能 现在已能用单片机通过软件方 法来实现了 这种软件代替硬件的控制技术也称为微控制技术 是传统控制技术的一次变革 单片机模块中最常见的是数字钟 数字钟是一种用数字电路技术实现时 分 秒计时的 装置 与机械式时钟相比具有更高的准确性和直观性 且无机械装置 具有更更长的使用寿 命 因此得到了广泛的使用 1 2 研究意义 数字钟是采用数字电路实现对 时 分 秒 数字显示的计时装置 广泛用于个人家庭 车站 码头办公室等公共场所 成为人们日常生活中不可少的必需品 由于数字集成电路的发展和石 英晶体振荡器的广泛应用 使得数字钟的精度 远远超过老式钟表 钟表的数字化给人们生产 生活带来了极大的方便 而且大大地扩展了钟表原先的报时功能 诸如定时自动报警 按时 自动打铃 时间程序自动控制 定时广播 自动起闭路灯 定时开关烘箱 通断动力设备 甚至各种定时电气的自动启用等 所有这些 都是以钟表数字化为基础的 因此 研究数字 钟及扩大其应用 有着非常现实的意义 Comment A3 这些功能是怎么来的 需要分析一下的 Comment A4 是怎么来的 需要分 析说明一下 基于 51 单片机的数字电子钟设计及实现 1 2 整体设计框架 2 1 系统功能 系统实现功能 1 时间显示在 1602 液晶上 并且按秒实时更新 2 能够使用板上的按键随时调节时钟的年 月 日 时 分 秒 按键可 设计三个有效键 分别为功能选择键 数值增大键和数值减小键 3 每次有按键按下时 蜂鸣器都以短 滴 声报警 4 利用设计实现断电自动保护显示数据的功能 当下次上电时会接着上次 断电前的时间数据继续运行 2 2 数字钟的原理图 用 PROTELL 软件 根据要求画出数字电子钟的原理图如图 2 1 所示 图 2 1 数字钟的原理图 工作原理 数字电子钟是一个将 时 分 秒 显示于人的视觉器官的计时装置 它的计时周期为 24 小时 显示满刻度为 23 时 59 分 59 秒 另外还有校时功能 因此 一个 Comment A5 这个不是工作原理吧 Comment A6 若要发展趋势等的话 可以放到第一章 作为 1 3 节 Comment A7 同上 基于 51 单片机的数字电子钟设计及实现 2 基本的数字钟电路主要由显示器 时 分 秒 和单片机 还有校时电路组成 3 数字钟的硬件设计 3 1 单片机的选择 单片机微型计算机是微型计算机的一个重要分支 也是颇具生命力的机种 单片机微型 计算机简称单片机 特别适用于控制领域 故又称为微控制器 通常 单片机由单块集成电路芯片构成 内部包含有计算机的基本功能部件 中央处理 器 存储器和 I O 接口电路等 因此 单片机只需要和适当的软件及外部设备相结合 便可 成为一个单片机控制系统 单片机经过 1 2 3 三代的发展 正朝着多功能 高性能 低电压 低功耗 低价格 大存储容量 强 I O 功能及较好的结构兼容性方向发展 其发展趋势不外乎以下几个方面 1 多功能 单片机中尽可能地把所需要的存储器和 I O 口都集成在一块芯片上 使得单片机可以实 现更多的功能 比如 A D PWM PCA 可编程计数器阵列 WDT 监视定时器 看门狗 高速 I O 口及计数器的捕获 比较逻辑等 有的单片机针对某一个应用领域 集成了相关的控制设备 以减少应用系统的芯片数量 例如 有的芯片以 51 内核为核心 集成了 USB 控制器 SMART CARD 接口 MP3 解码器 CAN 或者 I I C 总线控制器等 LED LCD 或 VFD 显示驱动器也开始集成在 8 位单片机中 2 高效率和高性能 为了提高执行速度和执行效率 单片机开始使用 RISC 流水线和 DSP 的设计技术 使 单片机的性能有了明显的提高 表现为 单片机的时钟频率得到提高 同样频率的单片机运 行效率也有了很大的提升 由于集成度的提高 单片机的寻址能力 片内 ROM FLASH 和 RAM 的容量都突破了以往的数量和限制 由于系统资源和系统复杂程度的增加 开始使用高级语言 如 C 语言 来开发单片机的 程序 使用高级语言可以降低开发难度 缩短开发周期 增强软件的可读性和可移植性 便 于改进和扩充功能 3 低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要 由于 CMOS 等工艺的大量 采用 很多单片机可以在更低的电压下工作 1 2V 或 0 9V 功耗已经降低到 uA 级 这些 特性使得单片机系统可以在更小电源的支持下工作更长的时间 4 低价格 单片机应用面广 使用数量大 带来的直接好处就是成本的降低 目前世界各大公司为 了提高竞争力 在提高单片机性能的同时 十分注意降低其产品的价格 下面大致介绍一下单片机的主要应用领域和特点 1 家用电器领域 Comment A8 这一节可以作为 1 4 节的 基于 51 单片机的数字电子钟设计及实现 3 用单片机控制系统取代传统的模拟和数字控制电路 使家用电器 如洗衣机 空调 冰 箱 微波炉 和电视机等 功能更完善 更加智能化和易于使用 2 办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备 如计算机的键盘 磁盘驱动 打印机 复印机 电话机和传真机等 3 商业应用领域 商业应用系统部分与家用和办公应用系统相似 但更加注重设备的稳定性 可靠性和安 全性 商用系统中广泛使用的电子计量仪器 收款机 条形码阅读器 安全监测系统 空气 调节系统和冷冻保鲜系统等 都采用了单片机构成的专用系统 与通用计算机相比 这些系 统由于比较封闭 可以更有效地防止病毒和电磁干扰等 可靠性更高 4 工业自动化 在工业控制和机电一体化控制系统中 除了采用工控计算机外 很多都是以单片机为核 心的单片机和多机系统 5 智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统 使得测 量系统具有存储 数据处理 查询及联网等智能功能 将单片机和传感器相结合 可以构成 新一代的智能传感器 它将传感器变换后的物理量作进一步的变化和处理 使其成为数字信 号 可以远距离传输并与计算机接口 6 现代交通与航空航天领域 通常应用于电子综合显示系统 动力监控系统 自动驾驶系统 通信系统以及运行监视 系统等 这些领域对体积 功耗 稳定性和实时性的要求往往比商用系统还要高 因此采用 单片机系统更加重要 目前 我国生产很多型号的单片机 在此 我们采用型号为 STC89C52 的单片机 因为 STC89C52 是一个低电压 高性能 CMOS 8 位单片机 片内含 4k bytes 的可反复擦写的 Flash 只读程序存储器和 128 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司 的高密度 非易失性存储技术生产 兼容标准 MCS 52 指令系统 片内置通用 8 位中央处理 器和 Flash 存储单元 内置功能强大的微型计算机的 AT89C52 提供了高性价比的解决方案 STC89C52 是一个低功耗高性能单片机 40 个引脚 32 个外部双向输入 输出 I O 端 口 同时内含 2 个外中断口 2 个 16 位可编程定时计数器 2 个全双工串行通信口 STC89C51 可以按照常规方法进行编程 也可以在线编程 其将通用的微处理器和 Flash 存 储器结合在一起 特别是可反复擦写的 Flash 存储器可有效地降低开发成本 3 2 单片机的基本结构 MCS 52 单片机内部结构 8052 单片机包含中央处理器 程序存储器 ROM 数据存储器 RAM 定时 计数器 并行接口 串行接口和中断系统等几大单元及数据总线 地址总线和 控制总线等三大总线 现在我们分别加以说明 1 中央处理器 中央处理器 CPU 是整个 基于 51 单片机的数字电子钟设计及实现 4 单片机的核心部件 是 8 位数据宽度的处理器 能处理 8 位二进制数据或代码 CPU 负责控 制 指挥和调度整个单元系统协调的工作 完成运算和控制输入输出功能等操作 2 数据存储器 RAM 8052 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存 器单元 它们是统一编址的 专用寄存器只能用于存放控制指令数据 用户只能访问 而不 能用于存放用户数据 所以 用户能使用的 RAM 只有 128 个 可存放读写的数据 运算的中 间结果或用户定义的字型表如图 3 1 所示 图 3 1 单片机 8052 的内部结构 3 程序存储器 ROM 8052 共有 4096 个 8 位掩膜 ROM 用于存放用户程序 原始数 据或表格 4 定时 计数器 ROM 8052 有两个 16 位的可编程定时 计数器 以实现定时或计 数产生中断用于控制程序转向 5 并行输入输出 I O 口 8052 共有 4 组 8 位 I O 口 P0 P1 P2 或 P3 用于 对外部数据的传输 6 全双工串行口 8052 内置一个全双工串行通信口 用于与其它设备间的串行数 据传送 该串行口既可以用作异步通信收发器 也可以当同步移位寄存器使用 7 中断系统 8052 具备较完善的中断功能 有两个外中断 两个定时 计数器中 断和一个串行中断 可满足不同的控制要求 并具有 2 级的优先级别选择 8 时钟电路 8052 内置最高频率达 12MHz 的时钟电路 用于产生整个单片机运行 的脉冲时序 但 8052 单片机需外置振荡电容 单片机的结构有两种类型 一种是程序存储器和数据存储器分开的形式 即哈佛 Harvard 结构 另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的 结构 即普林斯顿 Princeton 结构 INTEL 的 MCS 52 系列单片机采用的是哈佛结构的形式 而后续产品 16 位的 MCS 96 系列单片机则采用普林斯顿结构 下图是 MCS 52 系列单片机的内部结构如图 3 2 所示 基于 51 单片机的数字电子钟设计及实现 5 图 3 2 MCS 52 系列单片机的内部结构 MCS 52 的引脚说明 MCS 52 系列单片机中的 8031 8051 及 8751 均采用 40Pin 封装的 双列直插 DIP 结构 右图是它们的引脚配置 40 个引脚中 正电源和地线两根 外置石英 振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 现在我们对这些 引脚的功能加以说明 MCS 52 的引脚说明如图 3 3 所示 图 3 3 单片机的引脚图 Pin9 RESET 复位信号复用脚 当 8052 通电 时钟电路开始工作 在 RESET 引脚上出 现 24 个时钟周期以上的高电平 系统即初始复位 初始化后 程序计数器 PC 指向 0000H P0 P3 输出口全部为高电平 堆栈指针写入 07H 其它专用寄存器被清 0 RESET 由高电平下降为低电平后 系统即从 0000H 地址开始执行程序 然而 初始复位不改变 RAM 包括工作寄存器 R0 R7 的状态 8052 的初始态 8052 的复位方式可以是自动复位 也可以是手动复位 如图 3 4 所示 此外 RESET Vcc还是一复用脚 Vcc掉电其间 此脚可接上备用电源 以保证单片机内部 RAM 的数 据不丢失 备注 图中只标出了 RESET 功能 图 3 4 上电自动复位电路图 Pin18 和 Pin19 外部时钟连接端 主要提供单片机工作的时钟信号 如图 3 5 所示 图 3 5 外部时钟方式图 Pin30 ALE 当访问外部程序器时 ALE 地址锁存 的输出用于 Comment A9 看不太清啊 Comment A10 正文必须有标点符号 的 除非是标题 基于 51 单片机的数字电子钟设计及实现 6 锁存地址的低位字节 而访问内部程序存储器时 ALE 端将有一个 1 6 时钟频率的正脉冲信 号 这个信号可以用于识别单片机是否工作 也可以当作一个时钟向外输出 更有一个特点 当访问外部程序存储器 ALE 会跳过一个脉冲 如果单片机是 EPROM 在编程其间 将用于输入编程脉冲 备注 图中只标出了 ALE 功能 Pin29 PSEN 当访问外部程序存储器时 此脚输出负脉冲选通信号 PC 的 16 位地址数 据将出现在 P0 和 P2 口上 外部程序存储器则把指令数据放到 P0 口上 由 CPU 读入并执行 Pin31 EA Vpp 程序存储器的内外部选通线 8052 和 8751 单片机 内置有 4kB 的程序 存储器 当 EA 为高电平并且程序地址小于 4kB 时 读取内部程序存储器指令数据 而超过 4kB 地址则读取外部指令数据 如 EA 为低电平 则不管地址大小 一律读取外部程序存储 器指令 显然 对内部无程序存储器的 8031 EA 端必须接地 备注 图中只标出了 EA 功能 3 3 最小系统设计 单片机的最小系统是由电源 复位 晶振组成 如图 3 6 所示 下面介绍一下每一个组 成部分 图 3 6 单片机最小系统的结构图 1 电源引脚 Vcc 40 电源端 GND 20 接地端 工作电压为 5V 2 外接晶体引脚 XTAL1 19 XTAL2 18 XTAL1 是片内振荡器的反相放大器输入端 XTAL2 则是输出端 使用外部振荡器时 外 部振荡信号应直接加到 XTAL1 而 XTAL2 悬空 内部方式时 时钟发生器对振荡脉冲二分频 基于 51 单片机的数字电子钟设计及实现 7 如晶振为 12MHz 时钟频率就为 6MHz 晶振的频率可以在 1MHz 24MHz 内选择 电容取 30PF 左右 系统的时钟电路设计是采用的内部方式 即利用芯片内部的振荡电路 AT89 单片机 内部有一个用于构成振荡器的高增益反相放大器 引脚 XTAL1 和 XTAL2 分别是此放大器的输 入端和输出端 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器 外 接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路 接在放大器的反馈回路中 对外接电容 的值虽然没有严格的要求 但电容的大小会影响震荡器频率的高低 震荡器的稳定性 起振 的快速性和温度的稳定性 因此 此系统电路的晶体振荡器的值为 12MHz 电容应尽可能的 选择陶瓷电容 电容值约为 22 F 在焊接刷电路板时 晶体振荡器和电容应尽可能安装得 与单片机芯片靠近 以减少寄生电容 更好地保证震荡器稳定和可靠地工作 3 复位 RST 即 9 号引脚 在振荡器运行时 有两个机器周期 24 个振荡周期 以上的高电平出现在此引脚时 将使单片机复位 只要这个脚保持高电平 51 芯片便循环复位 复位后 P0 P3 口均置 1 引 脚表现为高电平 程序计数器和特殊功能寄存器 SFR 全部清零 当复位脚由高电平变为低电 平时 芯片为 ROM 的 00H 处开始运行程序 复位是由外部的复位电路来实现的 片内复位电 路是复位引脚 RST 通过一个施密特触发器与复位电路相连 施密特触发器用来抑制噪声 它 的输出在每个机器周期由复位电路采样一次 复位电路通常采用上电自动复位和按钮复位两 种方式 此电路系统采用的是上电自动复位电路 当时钟频率选用 12MHz 时 C 取 10UF Rk 约为 10K 复位操作不会对内部 RAM 有所影响 4 输入输出引脚 1 P0 端口 P0 0 P0 7 P0 是一个 8 位漏极开路型双向 I O 端口 端口置 1 对端口 写 1 时作高阻抗输入端 作为输出口时能驱动 8 个 TTL 对内部 Flash 程序存储器编程时 接收指令字节 校验程序时输出指令字节 要求外接 上拉电阻 在访问外部程序和外部数据存储器时 P0 口是分时转换的地址 低 8 位 数据总线 访 问期间内部的上拉电阻起作用 2 P1 端口 P1 0 P1 7 P1 是一个带有内部上拉电阻的 8 位双向 I 0 端口 输出时可 驱动 4 个 TTL 端口置 1 时 内部上拉电阻将端口拉到高电平 作输入用 对内部 Flash 程序存储器编程时 接收低 8 位地址信息 3 P2 端口 P2 0 P2 7 P2 是一个带有内部上拉电阻的 8 位双向 I 0 端口 输出时可 驱动 4 个 TTL 端口置 1 时 内部上拉电阻将端口拉到高电平 作输入用 对内部 Flash 程 序存储器编程时 接收高 8 位地址和控制信息 在访问外部程序和 16 位外部数据存储器时 P2 口送出高 8 位地址 而在访问 8 位地址 的外部数据存储器时其引脚上的内容在此期间不会改变 4 P3 端口 P3 0 P3 7 P2 是一个带有内部上拉电阻的 8 位双向 I 0 端口 输出时可 驱动 4 个 TTL 端口置 1 时 内部上拉电阻将端口拉到高电平 作输入用 对内部 Flash 程序存储器编程时 接控制信息 除此之外 P3 端口还用于一些专门功能 如表 3 1 所示 Comment A11 对于每一个图或者表 需要解释说明一下的 Comment A12 要有标点 基于 51 单片机的数字电子钟设计及实现 8 表 3 1 P3 端口引脚兼用功能表 P3 引脚兼用功能 P3 0 串行通讯输入 RXD P3 1 串行通讯输出 TXD P3 2 外部中断 0 INT0 P3 3 外部中断 1 INT1 P3 4 定时器 0 输入 T0 P3 5 定时器 1 输入 T1 P3 6 外部数据存储器写选通 WR P3 7 外部数据存储器写选通 RD 3 4 LED 显示电路 显示器普遍地用于直观地显示数字系统的运行状态和工作数据 按照材料及产品工艺 单片机应用系统中常用的显示器有 发光二极管 LED 显示器 液晶 LCD 显示器 CRT 显示器 等 液晶 LCD 显示器是现在最常用的显示器之一 如图 3 7 所示 图 3 7 LCD 液晶显示器的硬件连接示意图 备注 图中 P4 为 1602 液晶的安装位置 使用说明如下 1 LCD 液晶显示器的使用条件 芯片工作电压 4 5 5 5V 工作电流 2 0mA 5 0V 字符尺寸 2 95 4 35 W H mm 正常工作温度范围 0 55 存储温度范围 20 60 2 LCD 液晶显示器使用注意事项说明 液晶 1 2 端为电源 15 16 为背光电源 为防止 5V 电压烧坏背光灯 在 15 脚串接一个 10 欧电阻用于限流 基于 51 单片机的数字电子钟设计及实现 9 液晶 3 端为液晶对比度调节端 通过一个 10K 电位器来调节液晶对比度 首次使用时 在液晶上电状态下 调节至液晶上面一行显示出黑色小格为止 液晶 4 端为向液晶控制器写数据 写命令选择端 接单片机的 P3 5 口 液晶 5 端为读 写选择端 因为我们不从液晶读取任何数据 只是向其写入命令数据 因此此端为写状态 始终接低电平 液晶 6 端为使能信号 是操作时必须的信号 接单片机的 P3 4 口 4 数字钟的软件设计 系统的软件设计也是系统功能的设计 单片机软件的设计主要包括执行软件 完成各种 实质性功能 的设计和监控软件的设计 单片机的软件设计通常要考虑以下几个方面的问题 1 根据软件功能要求 将系统软件划分为若干个相对独立的部分 设计出合理的总 体结构 使软件开发清晰 简洁和流程合理 2 培养良好的编程风格 如考虑结构化程序设计 实行模块化 子程序化 既便于 调试 链接 又便于移植和修改 3 建立正确的数学模型 通过仿真提高系统的性能 并选取合适的参数 4 绘制程序流程图 5 合理分配系统资源 6 为程序加入注释 提高可读性 实施软件工程 7 注意软件的抗干扰设计 提高系统的可靠度 4 1 系统软件设计流程图 主程序是先开始 然后启动定时器 定时器启动后在进行按键检测 检测完后 就可以 显示时间 如图 4 1 所示 启动定时 器 按键检测 时间显示 开始 Comment A13 流程图画错了 菱形 图是判断的 矩形表处理的 基于 51 单片机的数字电子钟设计及实现 10 图 4 1 主程序流程图 当减小键或增大键被按下时 功能键按下第一次 可以调整秒减一或增加一 功能键按 下第二次 可以调整分减一或增加一 功能键按下第三次 可以调整小时减一或增加一 如 图 4 2 所示 N Y Y N Y Y Y Y N Y Y Y Y 功能键被按下 第一次 可以调整分 加一或减一 减小键或增 大键被按下 功能键被按 下第二次 功能键被按 下第三次 可以调整秒 加一或减一 可以调整小时 加一或减一 显示时间 N Comment A14 画的不好 可以采用 visio 画图 那个好画 基于 51 单片机的数字电子钟设计及实现 11 图 4 2 按键处理流程图 定时器中断时是先检测 1 秒是否到 1 秒如果到 秒单元就加 1 如果没到 就检测 1 分钟是否到 1 分钟如果到 分单元就加 1 如果没到 就检测 1 小时是否到 1 小时如果 到 时单元就加 1 如果没到 就显示时间 如图 4 3 所示 N Y N Y N Y N Y Y 开始 一秒时间到 秒单元加 1 60 秒时间到 秒单元清零 分单 元加 1 60 分钟到 分单元清零 时单 元加 1 24 小时到 时单元清零 时间显示 Comment A15 不要附代码 基于 51 单片机的数字电子钟设计及实现 12 图 4 3 定时器中断流程图 4 2 设计主程序 主函数 void main 主函数 init 首先初始化各数据 while 1 进入主程序大循环 keysan 不停的检测按键是否被按下 void timer0 interrupt 1 定时器 0 中断服务程序 TH0 65536 50000 256 再次装定时器初值 TL0 65536 50000 256 count 中断次数累加 if count 20 20 次 50ms 为一秒 count 0 miao if miao 60 秒加到 60 则进位分钟 miao 0 同时秒数清零 fen if fen 60 分钟加到 60 则进位小时 fen 0 同时分钟数清零 shi if shi 24 小时加到 24 则小时清零 中断返回 Comment A16 可以放一些图啊 就 是系统实物图或者仿真图 基于 51 单片机的数字电子钟设计及实现 13 shi 0 write sfm 4 shi 小时若变化则重新写入 write sfm 7 fen 分钟若变化则重新写入 write sfm 10 miao 秒若变化则重新写入 5 调试与功能说明 单片机应用系统的调试包括硬件和软件两部分 但是他们并不能完全分开 一般的方法 是排除明显的硬件故障 再进行综合调试 排除可能的软 硬件故障 5 1 硬件调试 拿到电路板后 首先要检查加工质量 并确保没有任何方面的错误 如短路和断路 尤 其要避免电源短路 元器件在安装前要逐一检查 用万用表测其数值 看是否与所用相同 完成焊接后 应先空载上电 芯片座上不插芯片 并检查各引脚的电位是否正确 若一切 正常 方可在断电的情况下将芯片插入 再次检查各引脚的电位及其逻辑关系 将万用表的 探针放到单片机接电源的引脚上检测一下 看是否符合要求 5 2 系统性能测试与功能说明 实现功能 1 时间显示在 1602 液晶上 并且按秒实时更新 2 能够使用板上的按键随时调节时钟的年 月 日 时 分 秒 按键可 设计三个有效键 分别为功能选择键 数值增大键和数值减小键 3 每次有按键按下时 蜂鸣器都以短 滴 声报警 4 利用设计实现断电自动保护显示数据的功能 当下次上电时会接着上次 断电前的时间数据继续运行 5 3 系统时钟误差分析 时间是一个基本物理量 具有连续 自动流逝 不重复等特性 我国时间基准来自国家 授时中心 人们日常使用的时钟就是以一定的精度与该基准保持同步的 结合时间概念和误 差理论 可以定义电子钟的走时误差 S S1 S2 S1 表示程序实际运行计算所得的秒 S2 表示 基于 51 单片机的数字电子钟设计及实现 14 客观时间的标准秒 S 0 时表示电子钟秒单元数值刷新滞后 即走时误差为 慢 反之 S 0 表示秒单元数值的刷新超前 即走时误差为 快 本次设计的单片机电子钟系统中 其误差主要来源包括晶体频率误差 定时器溢出误差 延迟误差 晶体频率产生震荡 容易产生走时误差 定时器溢出的时间误差 本应这一秒溢 出 但却在下一秒溢出 造成走时误差 延迟时间过长或过短 都会造成与基准时间产生偏 差 造成走时误差 5 4 调试问题及解决 在调试的过程中 出现过许多问题 软件调试例如 程序变量没有声明 程序结尾处忘 记大括号 不能生成 文件 定时器时间有交叉等等 硬件调试例如 液晶插座接触不 良 电路短路 断路等等 经过认真分析以后这些问题都解决了 总结 我在这一次数字电子钟的设计过程中 受益匪浅 通过对自己在大学四年时间里所学的 知识的回顾 并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力 最终完成 Comment A17 不是心的体会 是对 整个论文的总结 主要是摘要的详细 版 基于 51 单片机的数字电子钟设计及实现 15 了 这为自己今后进一步深化学习 积累了一定宝贵的经验 撰写论文的过程也是专业知识 的学习过程 它使我运用已有的专业基础知识 对其进行设计 分析和解决一个理论问题或 实际问题 把知识转化为能力的实际训练 培养了我运用所学知识解决实际问题的能力 通过这次设计我发现 只有理论水平提高了 才能够将课本知识与实践相整合 理论知 识服务于教学实践 以增强自己的动手能力 这个设计十分有意义 使我获得很深刻的经 验 通过这次设计 我们知道了理论和实际的距离 也知道了理论和实际相结合的重要性 也从中得知了很多书本上无法得知的知识 我们的学习不但要立足于书本 以解决理论和实际教学中的实际问题为目的 还要与实 践相结合 理论问题即实践课题 解决问题即课程研究 学生自己就是一个专家 通过自己 的手来解决问题比用脑子解决问题更加深刻 学习就应该采取理论与实践结合的方式 理论 的问题 也就是实践性的课题 这种做法既有助于完成理论知识的巩固 又有助于带动实践 解决实际问题 加强我们的动手能力和解决问题的能力 参考文献 1 樊昌信等 通信原理 第 5 版 M 北京 国防工业出版社 2001 1 116 2 吴国经等 单片机应用技术 M 北京 中国电力出版社 2004 1 3 董长虹 Matlab 信号处理与应用 M 北京 国防工业出版社 2005 1 2 Comment A18 全是图书 不太妥 最好加上一些期刊论文和硕士论文 基于 51 单片机的数字电子钟设计及实现 16 4 郭天祥 51 单片机 C 语言教程 M 北京 电子工业出版社 2009 12 5 周润景 徐宏伟 单片机电路设计与制作 M 北京 机械工业出版社 6 周国运 单片机原理及应用 C 语言版 M 北京 中国水利水电出版社 2011 1 7 胡斌 胡松 图表细说电子工程师速成手册 第二版 M 北京 电子工业出版社 2011 1 8 王东锋 王会良 董冠强 单片机 C 语言应用 100 例 M 北京 电子工业出版社 2009 3 9 李广弟等 单片机基础 M 北京 北京航空航天出版社 2001 7 10 楼然苗等 51 系列单片机设计实例 M 北京 北京航空航天出版社 2003 3 11 唐俊翟等 单片机原理与应用 M 北京 冶金工业出版社 2003 9 12 刘瑞新等 单片机原理及应用教程 M 北京 机械工业出版社 2003 7 Comment A19 不要了 基于 51 单片机的数字电子钟设计及实现 17 附录 按键扫描函数 void keysan 按键扫描函数 if s1 0 delay 5 if s1 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论