单片机控制定时闹钟

上传人:mg****2 文档编号:122345579 上传时间:2020-03-04 格式:DOC 页数:24 大小:391KB
返回 下载 相关 举报
单片机控制定时闹钟_第1页
第1页 / 共24页
单片机控制定时闹钟_第2页
第2页 / 共24页
单片机控制定时闹钟_第3页
第3页 / 共24页
单片机控制定时闹钟_第4页
第4页 / 共24页
单片机控制定时闹钟_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《单片机控制定时闹钟》由会员分享,可在线阅读,更多相关《单片机控制定时闹钟(24页珍藏版)》请在金锄头文库上搜索。

1、摘要 本设计是定时闹钟的设计 由单片机 AT89C51 芯片和 LED 数码管为核心 辅以必要的电路 构成的一个单片机电子定时闹钟 电子钟设计可采用数字电 路实现 也可以采用单片机来完成 数字电子钟是用数字集成电路构成的 用数 码管显示 时 分 秒 的现代计时装置 若用数字电路完成 所设计 的电路相当复杂 大概需要十几片数字集成块 其功能也主要依赖于数字电路的各 功能模块的组合来实现 焊接的过程比较复杂 成本也非常高 若用单片机来设计 制作完成 由于其功能的实现主要通过软件编程来完成 那么就降低了硬件电路的 复杂性 而且其成本也有所降低 所以在该设计中采用单片机利用 AT89C51 它是 低功

2、耗 高性能的 CMOS 型 8 位单片机 片内带有 4KB 的 Flash 存储器 且允 许在系统内改写或用编程器编程 另外 AT89C51 的指令系统和引脚与 8051 完全兼容 片内有 128B 的 RAM 32 条 I O 口线 2 个 16 位定时计数器 5 个中断源 一个全双工串行口等 AT89C51 单片机结合七段显示器设计的简易 定时闹铃时钟 可以设置现在的时间及显示闹铃设置时间 若时间到则发出一 阵声响 进 步可以扩充控制电器的启停 设计内容包括了秒信号发生器 时间显示电路 按键电路 供电电源以及 闹铃指示电路等几部分的设计 采用四个开关来控制定时闹钟的工作状态 分 别为 K1

3、 设置时间和闹钟的小时 K2 设置小时以及设置闹钟的开关 K3 设置分钟和闹钟的分钟 K4 设置完成退出 课设准备中我根据具体的要求 查找资料 然后按要求根据已学过的时钟 程序编写定时闹钟的程序 依据程序利用 proteus 软件进行了仿真试验 对出 现的问题进行分析和反复修改源程序 最终得到正确并符合要求的结果 设计完成的定时闹钟达到课程设计的要求 在到达定时的时间便立即发出 蜂鸣声音 持续一分钟 显示采用的六位数码管电路 如果亮度感觉不够 可 以通过提升电阻来调节 控制程序中延迟时间的长短 可以获得不同的效果 也可以改蜂鸣器为继电器 通过控制继电器从而进一步扩展的来控制一些家电 开关 目录

4、 1 概述 4 2 系统总体方案及硬件设计 5 2 1 总体设计 5 2 2 系统时钟电路设计 5 2 3 系统复位电路的设计 5 2 4 闹钟指示电路设计 6 2 5 电子闹钟的显示电路设计 6 3 软件设计 7 3 1 概述 7 3 2 主模块的设计 7 3 3 基本显示模块设计 8 3 4 时间设定模块设计 8 3 5 闹铃功能的实现 9 4 PROTEUS 软件仿真 12 5 课程设计体会 14 参考文献 15 附 1 源程序代码 16 附 2 系统原理图 26 1 概述 本设计是定时闹钟的设计 由单片机 AT89C51 芯片和 LED 数码管为核 心 辅以必要的电路 构成的一个单片机

5、电子定时闹钟 定时闹钟设计可采用数字电路实现 也可以采用单片机来完成 定时闹 钟是用数字集成电路构成的 用数码管显示 时 分 秒 的现代 计时装置 单片机具有集成度高 功能强 通用性好 特别是它能耗低 价 格便宜 可靠性高 抗干扰能力强和使用方便等独特的优点 所以单片机现 在广泛的应用到家用电器 机电产品 儿童玩具 机器人 办公自动化产品 等领域 所以在该设计中采用单片机利用 AT89C51 它是低功耗 高性能的 CMOS 型 8 位单片机 片内带有 4KB 的 Flash 存储器 且允许在系统内改写 或用编程器编程 另外 AT89C51 的指令系统和引脚与 8051 完全兼容 片 内有 12

6、8B 的 RAM 32 条 I O 口线 2 个 16 位定时计数器 5 个中断源 一个全双工串行口等 AT89C51 单片机结合七段显示器设计的简易定时闹 铃时钟 可以设置现在的时间及显示闹铃设置时间 若时间到则发出一阵声 响 进 步可以扩充控制电器的启停 设计内容包括了秒信号发生器 时间显示电路 按键电路 供电电源以 及闹铃指示电路等几部分的设计 采用四个开关来控制定时闹钟的工作状态 分别为 K1 设置时间和闹钟的小时 K2 设置小时以及设置闹钟的开关 K3 设置分钟和闹钟的分钟 K4 设置完成退出 课设准备中根据具体的要求 查找资料 然后按要求根据已学过的时钟 程序编写定时闹钟的程序 依

7、据程序利用 proteus 软件进行了仿真试验 对出现的问题进行分析和反复修改源程序 最终得到正确并符合要求的结果 设计完成的定时闹钟达到课程设计的要求 在到达定时的时间便立即发 出蜂鸣声音 持续一分钟 显示采用的六位数码管电路 如果亮度感觉不够 可以通过提升电阻来调节 控制程序中延迟时间的长短 可以获得不同的效 果 也可以改蜂鸣器为继电器 通过控制继电器从而进一步扩展的来控制一 些家电开关 2 系统总体方案及硬件设计 2 1 总体设计 电子闹钟应包括秒信号发生器 时间显示电路 按键电路 供电电源以及 闹铃指示电路等几部分 按键功能说明 K1 设置时间和闹钟的小时 K2 设置小时以及设置闹钟

8、的开关 K3 设置分钟和闹钟的分钟 K4 设置完成退出 电子闹钟的系统框图如下所示 图 1 电子闹钟的主电路指的是图 中虚线框内部分 主要涉及到 CPU 电路和按 键按钮电路 主机的设计具体地说有 1 系统时钟电路设计 2 系统复位电 路设计 3 按键与按钮电路设计 4 闹铃声指示电路设计 2 2 系统时钟电路设计 对于时间要求不是很高的系统 只要按图进行设计就能使系统可靠起振并 稳定运行 但由于原理图中的 C1 C2 电容起着系统时钟频率微调和稳定的作 用 因此 在本闹钟系统的实际应用中一定要注意正确选择参数 30 10 PF 并保证对称性 尽可能匹配 选用正牌厂家生产的瓷片或云母电容 如果

9、可 复位 时钟等电 路 按钮电路 6 位数码管显示电路 闹铃声指示电路 电源系统 能的话 温度系数要尽可能低 实验表明 这 2 个电容元件对闹钟的走时误差 有较大关系 2 3 系统复位电路的设计 智能系统一般应有手动或上电复位电路 复位电路的实现通常有两种方式 RC 复位电路 专用 监控电路 前者实现简单 成本低 但复位可 靠性相对较低 后者成本较高 但复位可靠性高 尤其是高可靠重复复位 对 于复位要求高 并对电源电压进行监视的场合 大多采用这种方式 本次课程设计采用了上电按钮电平复位电路 2 4 闹钟指示电路设计 闹铃指示可以有声或光两种形式 本系统采用声音指示 关键元件是蜂鸣 器 蜂鸣器有

10、无源和有源两种 前者需要输入声音频率信号才能正常发声 后 者则只需外加适当直流电源电压即可 元件内部已封装了音频振荡电路 在得 电状态下即起振发声 市场上的有源蜂鸣器分为 3 5 6 等系列 以适 应不同的应用需要 闹钟电路是用比较器来比较计时系统和定时系统的输出状 态 如果计时系统和定时系统的输出状态相同 则发出一个脉冲信号 再和一 个高频信号混合 送到放大电路驱动扬声器发声 从而实现定时闹响的功能 其电路设计参见系统原理图 2 5 电子闹钟的显示电路设计 本次课程设计采用了 6 位数码管显示电路 在 6 位 LED 显示时 为了简化 电路 降低成本 采用动态显示的方式 6 个 LED 显示

11、器共用一个 8 位的 I O 6 位 LED 数码管的位选线分别由相应的 P2 0 P2 5 控制 而将其相应的段选线 并联在一起 由一个 8 位的 I O 口控制 即 P0 口 译码显示电路将 时 分 秒 计数器的输出状态菁七段显示译码器译码 通过 6 位 LED 七段显示器 显示出来 到达定时电路时根据计时系统的输出状态产生一脉冲信号 然后去 触发一音频发生器实现闹铃 校时电路时用来对 时 分 秒 显示 数字进行校对调整的 3 软件设计 3 1 概述 软件设计的重点在于秒脉冲信号的产生 显示的实现 以及按键的处理等 方面 基于软件的秒脉冲信号通常有延时法和定时中断法 延时法一般采用查 询方

12、式 在延时子程序前后必然需要查询和处理的程序 导致误差的产生 因 此其秒脉冲的精度不高 中断法的原理是 利用单片机内部的定时器溢出中断 来实现 例如 设定某定时器每 100ms 中断 1 次 则 10 次的周期为 1s 本 系统中所使用的晶振频率为 12MHZ 3 2 主模块的设计 主模块是系统软件的主框架 结构化程序设计一般有 自上而下 和 自 下而上 两种方式 自上而下 法的核心就是主框架的构建 它的合理与否 关系到程序最终的功能的多少和性能的好坏 本系统的主模块的程序框图如下 图 2 所示 系统初始化 定时 初始化 中断初始化 串口初始化 显示待机指示符 设定闹铃时间 判设置闹铃时间否

13、显示刷新 启动走时 有关变量初始化 刷新显示 判时或分变化否 秒指示 判 秒到否 闹铃 判是否到闹铃时间 延时 Y Y Y Y 图 2 3 3 基本显示模块设计 基本显示模块设计的重点是由显示代码取得相应的段码 显示段码数据的 并行发送 高精度的计时工具大多数都使用了石英晶体振荡器 由于电子钟 石英表 石英钟都采用了石英技术 因此走时精度高 稳定性好 使用方便 不需要经常调校 数字式电子钟用集成电路计时时 译码代替机械式传动 用 LED 显示器代替显示器代替指针显示进而显示时间 减小了计时误差 这种表 具有时 分 秒显示时间的功能 还可以进行时和分的校对 片选的灵活性好 程序流程如图 3 所示

14、 图 3 3 4 时间设定模块设计 时间设定模块的设计要点是按键的去抖处理与 一键多态 的处理 即只 涉及 4 个键完成了 6 位时间参数的设定 软件法去抖动的实质是软件延时 即 将 进制时分秒数据转化为 显示代码 关显示以免显示抖动 通过串口将时分秒数据传入数码管 打开显示 检测到某一键状态变化后延时一段时间 再检测该按键的状态是否还保持着 如是则作为按键处理 否则 视为抖动 不予理睬 去抖中的延时时间一般参 考资料多描述为 10ms 左右 实际应用中 应大于 20ms 否则 会导致按一 次作多次处理 影响程序正常执行 一键多态 即多功能键的实现思想是 根据按键时刻的系统状态 决定按键采取何

15、种动作 即何种功能 其流程图如下图 4 所示 图 4 3 5 闹铃功能的实现 闹铃功能的实现涉及到两个方面 闹铃时间设定和是否闹铃判别与相应处 理 闹铃时间设定模块的设计可参照时间设定模块 这里着重阐述闹铃判别与 处理模块的设计问题 闹铃判别与闹铃处理的关键在于判别何时要进行闹铃 设置键吗 设置模块初始化 将在编参数送显示缓冲区 闪烁标志为真 将当前位的显示代码置暗代码 调基本显示模块刷新显示 设置键吗 当前编辑位下移 下一位 当前编辑的是分各位 结束设定 键吗 根据当前位的性质分别进行 处理 含上下限判断 当时十位 时个位 分十位 分个位中任一位发生改变 进位 时 就必须进 行闹铃判别 译码

16、显示电路将 时 分 秒 计数器的输出送到七段 显示译码驱动器译码驱动 通过六个七段 LED 显示器显示出来 闹铃电路根据 计时系统的输出状态产生一脉冲信号 然后加上一个高频或低频信号送到放大 电路驱动蜂鸣器发声实现报时 校时电路是直接加一个脉冲信号到时计数器或 者分计数器或者秒计数器来对 时 分 秒 显示数字进行校对调整 其流程图如下所示 图 5 1 考虑到实用性 在该电子钟的设计中修改定时或调整时间时采用了闪烁 而且 以定时 20 组闹钟 在编程上 首先进行了初始化定义了程序的入口地址以及中 断的入口地址 在主程序的开始定义了一组固定单元用来存储计数的秒 分 时以 及定时时间的序号等 在显示程序段中主要进行了闪烁的处理 采用定时器中断置标志位 再与位选 相互结合的方法来控制调时或定时中的闪烁 时 分 秒显示则是用了软件译码 查表 的方式 再用了一段固定的程序段进行进制转化 初始化之后 用中断方式 对其计数 计数的同时采用了定时器比较的方法 比较当前计数时间与定时时间是 时十位 个位 分十位 个位改变了 设置闹铃标志 是否设置了闹铃 清除闹铃标志 判当前时间是设定时间 中断返回 中断返

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

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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