




免费预览已结束,剩余41页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生毕业设计 毕业论文 系 别 专 业 班 级 学 生 姓 名 傅浩 学 生 学 号 设计 论文 题目 基于单片机的数字钟设计 指 导 教 师 精品 感谢下载载 设 计 地 点 起 迄 日 期 毕业设计 论文 任务书 专业 电子信息工程 班级 电子 085 姓名 傅浩 一 课题名称 基于单片机的数字钟设计 二 主要技术指标 1 具有时间显示和手动校对功能 2 24 小时制 具有闹铃功能 3 可逆调整时分 4 走时月误差 5S 三 工作内容和要求 主要有数字钟的发展及其应用 单片机的设计方案 数字钟硬件设计 IC 芯片的选择 电子时钟硬件电路 数字钟软件设计 主程序设计 软件实现与流程 系统调试 硬件调试 软件调试 精品 感谢下载载 四 主要参考文献 1 康华光 电子技术基础数字部分 M 北京 高等教育出版社 2000 2 顾永杰 电工电子技术实训教程 M 上海 上海交通大学出版社 1999 3 李 可 数字钟电路及应用 M 北京 电子工业出版社 1996 4 李光飞 楼然庙 胡佳文等编著 M 单片机课程设计 实例指导 北京 北京 航 天航空大学出版社 5 赵建领 51 系列单片机开发实例 M 中国电力出版社 2010 学 生 签名 年 月 日 指 导 教师 签名 年 月 日 教研室主任 签名 年 月 日 系 主 任 签名 年 月 日 毕业设计 论文 开题报告 设计 论文 题目 基 于 单 片 机 的 数 字 钟 设 计 精品 感谢下载载 一 选题的背景和意义 毕业设计是一次难得的对所学知识进行实践的机会 我希望通过毕业设计独立设计一 个简单的单片机数字钟从而达到强化课本知识并灵活运用的目的 数字钟是日常生活中随处可见的简单系统 是一种用数字电路技术实现时 分 秒 计时的装置 与机械式时钟相比具有更高的准确性和直观性 且无机械装置 具有更长的 使用寿命 已得到广泛的使用 数字钟的设计方法有许多种 例如 可用中小规模集成电路 组成电子钟 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子 钟 还可以利用单片机来实现电子钟等等 现在单片机的应用正在不断地走向深入 而近年来随着科技的飞速发展 它带动了日新月 益更新的传统控制检测 在实时检测和自动控制的单片机应用系统中 单片机往往是作为一个 核心部件来使用 仅单片机方面知识是不够的 还应根据具体硬件结构 以及针对具体应用对 象特点的软件结合 以作完善 由于本人对数字钟的原理有浓厚的兴趣加之于单片机的广泛应用 且通过单片机实现的 数字钟的编程具有灵活性 更能有助于功能扩展 故本人选取基于单片机的数字钟设计 精品 感谢下载载 二 课题研究的主要内容 a 数字钟设计分析 数字钟的发展 数字钟的应用 单片机设计方案 b 数字钟的硬件设计 主要 IC 芯片选择 电子时钟硬件电路 c 数字钟的软件设计 主程序设计 软件实现与流程 d 系统调试 硬件调试 软件调试 三 主要研究 设计 方法论述 这次的数字钟设计 主要是针对单片机及数字钟的发展及影响在现在社会生活和学习 中产生了越来越重要的影响 因此我以单片机数字钟作为研究对象 而且 由单片机控制 的智能化数字时钟 集成度高 体积小 有很高的可靠性 功能强大 界面友好 更好的 满足了人们对它的智能化要求 首先通过上网查阅相关的资料 大体上得到关于单片机及数字钟的信息 自己经过整 合 确定下我的研究 设计 方向 再到图书馆借阅图书 整理出单片机数字钟的笔记 在设计过程中看单片机和数字钟课程设计时的笔记和相关试验指导手册 四 设计 论文 进度安排 时 间工 作 内 容 精品 感谢下载载 2010 5 10 2010 5 15 先选好自己感兴趣的题目交由老师审核同时在网上搜索资料 寻找 相关论文及设计的基本原理和相关知识进行作为参考 2010 5 15 2010 5 23 将搜索好的资料进行整理 然后按照自己的结构和思路 并将初稿 大致定好 2010 5 23 2010 5 27将初稿完成并上交老师评阅审核 2010 5 27 2010 7 3等待老师修正建议并对初稿进行具体修改 充实 完善 五 指导教师意见 指导教师签名 2010 年 5 月 10 日 六 系部意见 系主任签名 2010 年 5 月 11 日 目录 摘要 Abstract 第 1 章 前言 3 1 1 数字钟设计研究的背景和意义 3 1 2 数字钟的设计的功能 3 第 2 章 有关数字钟设计分析 4 2 1 数字钟的发展 4 2 2 数字钟的应用 4 2 3 单片机设计方案 5 第 3 章 数字钟的硬件设计 6 3 1 主要 IC 芯片选择 6 3 2 电子时钟硬件电路 7 第 4 章 数字钟的软件设计 11 4 1 主程序设计 11 4 1 1 C 语言程序 12 4 1 2 原理图 35 4 2 软件实现与流程 35 4 2 1 定时和串口程序 35 4 2 2 键盘响应程序 36 第 5 章 系统调试 38 5 1 硬件调试 38 5 2 软件调试 40 第 6 章 结束语 41 答谢辞 附录 参考文献 精品 感谢下载载 摘 要 以 8051 为主芯片制作多功能数字钟的方案中 时钟信号主要由 8051 单片 机的定时器 计数器来提供 对时间进行设置和进行闹铃设置主要用到单片机的外 部中断 外部控制电路及显示电路都用到了他的 I O 口 用单片机做一个数字钟 是单片机应用中的一个典型例子 本设计充分利用 8051 单片机的 4 个 I O 口 外 加两片 74LS07 作数码管驱动电路 12 位数码管的片选信号由 74LS138 译码器 提供 采用动态显示 为增加驱动能力 又在数码管的阴极端加 9013 驱动管 我们设计出的电子钟采用 24 小时制计时 其中添加了整点报时和闹铃提示 功能 关键词 动态显示 译码器 精品 感谢下载载 Abstract It is a typical example to make a digital clock with the MCU This design makes a good use of the I O redirections And we use two pieces of 74ls07 as the drivers for the LED two pieces of 74ls138 as the encoders We desplay the time in dynamic mathod For the purpose of improving the ability of driving we add the 9013 as the driver for the LED 精品 感谢下载载 The work we design use 24 hour format we add a alarm so the clock can remind us at the time we set ahead Moreover for the sake of demand we still add the stop watch function Keywords drive dynamic display encoder 精品 感谢下载载 第 1 章 前言 1 1 数字钟设计研究的背景和意义 时间是人类生活必不可少的重要元素 如果没有时间的概念 社会将不会有 所发展和进步 从古代的水漏 十二天干地支 到后来的机械钟表以及当今的石 英钟 都充分显现出了时间的重要 同时也代表着科技的进步 致力于计时器的 研究和充分发挥时钟的作用 将有着重要的意义 这是有个简单的逻辑电路设计 它是由中小型集成电路构成数字钟的设计 数字钟是采用数字电路实现对时分秒 数字显示的计时装置 由于数字集成电路的发展和石英晶体振荡器的广泛应用 使得数字钟的精度 稳定度远远超过了我们以前所用的老式机械表 在数字显示 方面目前已有集成的计数 译码电路 它可以直接驱动数码显示器 由于这些电路 装置十分简单 个体小巧 安装使用也十分方便 所以它是我们这些初学者的首 选之材 1 2 数字钟的设计的功能 电子时钟主要是利用电子技术将时钟电子化 数字化 拥有时间精确 体积 小 界面友好 可扩展性能强等特点 被广泛应用于生活和工作当中 当今市场 上的电子时钟品类繁多 外形小巧别致 也有体型较大的 诸如公共场所的大型 电子报时器等 电子时钟首先是数字化了的时间显示或报时器 在此基础上 人 们可以根据不同场合的要求 在时钟上加置其他功能 比如定时闹铃 万年历 USB 扩展口功能等 本设计电子时钟主要功能为 精品 感谢下载载 1 具有时间显示和手动校对功能 24 小时制 2 具有年 月 日显示和校对功能 3 具有闹铃功能 第 2 章 有关数字钟设计分析 2 1 数字钟的发展 根据 2010 2012 年中国数字钟行业市场运行及投资前景研究报告 2010 2012 年中国数字钟行业市场运行及投资前景研究报告 在大量周密 的市场调研基础上 主要依据了国家统计局 国家商务部 国家发改委 国务院 发展研究中心 中国海关总署 数字钟行业相关协会 国内外相关刊物的基础信 息以及数字钟行业专业研究单位等公布和提供的大量资料 结合深入的市场调查 资料 立足于当前金融危机对全球及中国宏观经济 政策 主要行业的影响 重 点探讨了数字钟行业的的整体及其相关子行业的运行情况 并对未来数字钟行业 的发展环境及发展趋势进行探讨和研判 最后在前面大量分析 预测的基础上 研究了数字钟行业今后的应对策略 给予了合理的授信风险建议 为数字钟企业 在当前环境下 激烈的市场竞争中洞察先机 根据行业环境及时调整经营策略 为战略投资者选择恰当的投资时机和公司领导层做战略规划提供了准确的市场情 精品 感谢下载载 报信息及科学的决策依据 同时对银行信贷部门也具有极大的参考价值 2 2 数字钟的应用 现在是一个知识爆炸的新时代 新产品 新技术层出不穷 电子技术的发展 更是日新月异 可以毫不夸张的说 电子技术的应用无处不在 电子技术正在不 断地改变我们的生活 改变着我们的世界 在这快速发展的年代 时间对人们来 说是越来越宝贵 在快节奏的生活时 人们往往忘记了时间 一旦遇到重要的事 情而忘记了时间 这将会带来很大的损失 因此我们需要一个定时系统来提醒这 些忙碌的人 数字化的钟表给人们带来了极大的方便 从古至今 时间对人们来说总是那么宝贵 工作的忙碌性和繁杂性容易使人 忘记当前的时间 忘记了要做的事情 当事情不是很重要的时候 这种遗忘无伤 大雅 但是 一旦重要事情 一时的耽误可能酿成大祸 例如 许多火灾都是由 于人们一时忘记了关闭煤气或是忘记充电时间 尤其在医院 每次护士都会给病 人作皮试 测试病人是否对药物过敏 注射后 一般等待 5 分钟 一旦超时 所 作的皮试试验就会无效 手表当然是一个好的选择 但是 随着接受皮试的人数 增加 到底是哪个人的皮试到时间却难以判断 所以 要制作一个定时系统 随 时提醒这些容易忘记时间的人 钟表的数字化给人们生产生活带来了极大的方便 而且大大地扩展了钟表原 先的报时功能 诸如定时自动报警 按时自动打铃 时间程序自动控制 定时广 播 定时启闭电路 定时开关烘箱 通断动力设备 甚至各种定时电气的自动启 用等 所有这些 都是以钟表数字化为基础的 因此 研究数字钟及扩大其应用 有着非常现实的意义 2 3 单片机设计方案 精品 感谢下载载 单片机是微型机的一个主要分支 它在结构上的最大特点使把 CPU 存储器 定时器和多种输入 输出接口电路集成在一块超大规模集成电路芯片上 就其组成 和功能而言 一块单片机芯片就是一台计算机 单片机具有如下特点 有优异的性能价格比 1集成度高 体积小 有很高的可靠性 2控制功能强 3低功耗 低电压 便于生产便携式产品 4外部总线增加了 I2C SPI 等串行总线方式 进一步缩小了体积 简化了 结构 5单片机的系统扩展 系统配置较典型 规范 容易构成各种规模的应用 统 所以单片机的应用非常广泛 在智能仪表 机电一体化 实时控制 分布式 多机系统以及人们的生活中均有用武之地 单片机应用的重要意义还在于 它从 根本上改变了传统的控制系统设计思路和设计方法 从前必须由模拟电路或数字 电路实现的大部分功能 现在已能用单片机通过软件方法来实现了 这种用软件 代替硬件的控制技术 是对生产控制技术的一次革命 利用单片机的智能性 可方便地实现具有智能的电子钟设计 单片机均具有 时钟振荡系统 利用系统时钟借助微处理器的定时器 计数器可实现电子钟功能 然而系统时钟误差较大 电子钟的积累误差也可能较大 所以可以通过误差修正 软件加以修正 或者在设计中加入高精度时钟日历芯片 以精确时间 另外很多 功能不同的单片机是兼容的 这就更便于实现产品的多功能性 精品 感谢下载载 第 3 章 数字钟的硬件设计 3 1 主要 IC 芯片选择 目前在单片机系统中 8XC5X 系列单片机均采用标准 MCS 51 内核 硬件 资源相互兼容 品类齐全 功能完善 性能稳定 体积小 价格低廉 货源充足 调试和编程方便 所以应用极为广泛 例如比较常用的 AT89C2051 单片机 带有 2KB Flash 可编程 可擦除只读 存储器 E2PROM 的低压 高性能 8 位 CMOS 微型计算机 拥有 15 条可编程 I O 引脚 2 个 16 位定时器 计数器 6 个中断源 可编程串行 UART 通道 并 能直接驱动 LED 输出 仅仅是为了完成时钟设计或者是环境温度采集设计 应用 AT89C2051 单片 机完全可以实现 但是将两种功能结合在一片单片机上 就需要更多的 I O 引脚 故本设计采用具有 32 根 I O 引脚的 AT89C51 单片机 AT89C51 单片机是一款低功耗 低电压 高性能 CMOS 8 位单片机 片内 含 4KB 可经受 1000 次擦写周期 的 FLASH 可编程可反复擦写的只读程序存 储器 EPROM 器件采用 CMOS 工艺和 ATMEI 公司的高密度 非易失性存储 器 NURAM 技术制造 其输出引脚和指令系统都与 MCS 51 兼容 片内的 FLASH 存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程 因此 AT89C51 是一种功能强 灵活性高且价格合理的单片机 可方便的应用 在各个控制领域 精品 感谢下载载 AT89C51 具有以下主要性能 1 4KB 可改编程序 Flash 存储器 2 全静态工作 0 24Hz 3 128 8 字节内部 RAM 4 32 个外部双向输入 输出 I O 口 5 6 个中断优先级 2 个 16 位可编程定时计数器 6 可编程串行通道 7 片内时钟振荡器 此外 AT89C51 是用静态逻辑来设计的 其工作频率可下降到 0Hz 并提 供两种可用软件来选择的省电方式 空闲方式 Idle Mode 和掉电方式 Power Down Mode 在空闲方式中 CPU 停止工作 而 RAM 定时器 计 数器 串行口和中断系统都继续工作 在掉电方式中 片内振荡器停止工作 由 于时钟被 冻结 使一切功能都暂停 只保存片内 RAM 中的内容 直到下一次 硬件复位为止 8 精品 感谢下载载 图 3 1 AT89C51 芯片 PDIP 封装引脚图 AT89C51 为适应不同的产品需求 采用 PDIP TQFP PLCC 三种封装形式 本 系统采用双列直插 PDIP 封装形式 3 2 电子时钟硬件电路 如图 3 2 所示 AT89C51 单片机 P1 7 直接接 DS1302 的 RST 端 上电后 AT89C51 的 P1 7 脚自动输出高电平 P1 5 作为串行时钟接口 P1 6 作为时钟 数据的 I O DS1302 采用双电源供电 平时由 5V 电源供电 当 5V 掉电之后 由图中 BT1 3V 备用电池 供电 特别需要注意 X1 和 X2 两端连接的晶振 Y1 该晶振频率为 32 768KHz 精品 感谢下载载 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 5 Jun 2008 Sheet of File C Documents and Settings Administrator 业业 业业业业业业 业业业 业业业业业业业业业业业业业业 ddbDrawn B y Y1 32 768K Hz BT1 BA TTER Y VC C1 1 X1 2 X2 3 GN D 4 VC C2 8 SCLK 7 I O 6 RST 5 U2 DS 1302 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 6 7 P1 5 6 P1 7 8 RST 9 P3 0 RX D 10 P3 1 TX D 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 GN D 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE PR OG 30 EA VPP 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VC C 40 U1 AT89S51 5 图 3 2 时钟电路 显示电路 就时钟而言 通常可采用 LCD 显示或 LED 显示 对于一般的段式 LCD 需 要专门的驱动电路 而且 LCD 显示的可视性较差 对于具有驱动电路和微处理 器接口的液晶显示模块 字符或点阵 一般采用并行接口 对微处理器的接口 要求较高 占用资源多 另外 AT89C51 本身没有专门的液晶驱动接口 市场 上也有专门的时钟显示组合 LED 故本设计中应用 7 位 8 段共阴 LED 实现显示 部分 LED 显示分动态显示和静态显示 动态显示方式的硬件电路简单 但设计上 如果处理不当 易造成亮度低 闪烁问题 因此合理的设计既应保证驱动电路易 实现 又要保证图像稳定 无闪烁 动态显示采用多路复用技术的动态扫描显示 精品 感谢下载载 方式 复用的程度不是无限增加的 因为利用动态扫描显示使我们看到一幅稳 定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短 发光的亮 度等因素 静态显示 是由微型计算机一次输出显示模型后 就能保持该显示结果 直 到下次发送新的显示模型为止 静态显示驱动程序简单 且 CPU 占用率低 但 每个 LED 数码管需要一个锁存器来锁存每一个显示位的笔段代码 硬件开销大 仅适合显示位数较少的场合 为了在显示部分节省单片机 I O 口 故采用动态扫 描方式 74LS164 是 8 位移位寄存器 应用该芯片驱动 LED 做显示部分 其优点在 于连线简单 节省单片机 I O 口 软件编程容易 按键电路设计 根据功能需要 本时钟需要设置以下功能键 校对选择键 加 1 操作键 减 1 操作键 显示日期键 显示温度键 闹铃开关键 按照键盘与 CPU 的连接方式可分为独立式键盘和矩阵式键盘 独立式键盘 是各个按键相互独立 每个按键占用一个 I O 口线 每根 I O 口线上的按键不会 影响其他 I O 口上按键工作状态 独立式键盘电路配置灵活 软件结构简单 但 每个按键必须占用一根 I O 口 在按键数量较多时 I O 口线浪费较大 且电路 结构复杂 矩阵式键盘适合按键较多时使用 由于本设计的电子钟最多需要 7 个 按键 若采用矩阵式键盘时会有按键浪费 故采用的是独立式键盘 电路如 3 3 所示 精品 感谢下载载 123456 A B C D 654321 D C B A Title Nu mberRev isionSize B Date 5 Jun 20 08 Sheet o f File C Do cuments an d Settings Ad ministrator 业业 业业业业业业 业业业 业业业业业业业业业业业业业业 ddbDrawn B y K2 K4 K5 K6 K7 SW PB K3 K1P2 7 P2 6 P2 5 P2 4 P2 3 P2 2 P2 1 图 3 3 键盘电路 其中 K1 K2 K7 为带自锁按键 每次按下后 其对应的 P2 7 P2 6 P2 1 管脚接地 从高电平被拉至低电平 只有再次按下 按键弹出 与之连接的单片机管脚才会重新被拉回高电平 K3 K4 K5 K6 键为自动复位 按键 每次按下后 会自动弹出 单片机管脚只有在按键按下时为低电平 按键 弹出后重新恢复高电平 闹铃电路设计 闹铃音乐可以直接采用蜂鸣器闹铃 如当前时刻与闹铃时间相同 单片机向 蜂鸣器送出高电平 蜂鸣器发声 采用蜂鸣器闹铃结构简单 控制方便 不足的 是音乐简单 单一 闹铃的音乐不是本设计中的重点 故采用最简单的方法 占用单片机一根 I O 口 P2 0 中间用 PNP 型三极管 S9012 连接 P2 0 和蜂鸣器 当 P2 0 引脚 为低电平时 S9012 的发射极和集电极导通 使蜂鸣器发声 当响铃标志位为 1 时 P2 0 送一定频率脉冲 使蜂鸣器 U11 发出声音 如图 3 4 精品 感谢下载载 123456 A B C D 654321 D C B A Title Nu mberRev isionSize B Date 8 J un 20 08 Sheet o f File C Do cuments an d Settings Ad minis trator 业业 业业业业业业 业业业 业业业业业业业业业业业业业业 ddbDrawn B y U1 1 BU ZZER Q1 S90 12 R8 10K 5 P2 0 图 3 4 闹铃电路 第 4 章 数字钟的软件设计 4 1 主程序设计 单片机依次开始调用键盘扫描子程序 DS1302 子程序 闹铃子程序 经过延时 返回 精品 感谢下载载 程序开头循环运行 系统设计中用到 89 C51 单片机的部分功能 包括内部定时器 键盘扩展 程序中断 串口通信等 用一个四联体的共阴极八段显示器 可通过一个输入 输出口作为显示器数据发送端 另一个输入 输出口的四位作为显示器各位的片 选信号 另四位作为键盘扩展口使用 采用一个频率为 32 768k Hz 的晶振构成 时钟电路 结构图如图 4 1 所示 单 片 机 显示器 键盘 P2 4 7 P2 0 3 P1 0 7 串 口 图 4 1 系统原理图 系统的功能完全符合设计任务的要求 经过大量的测试数据显示 系统的可 靠性已经完全达到了实际电子钟的设计要求 同时系统具有很强的扩展性 添加 A D 转换器可更改成数值仪表 而添加 D 转换器则可以设计成波形发生器 同时扩充串口的功能可以道到很好的计算机控制系统 系统扩展图如图 4 2 所示 精品 感谢下载载 图 4 2 系统功能扩展原理图 4 1 1 C 语言程序 include reg51 h 头文件 include typedef h include key h include alarm clock h include ds1302 h sbit DAT P1 0 74LS164 的 A B 脚接单片机 P1 0 sbit CLK P1 1 74LS164 的 CLOCK 脚接单片机 P1 1 sbit Calendar P2 7 定义日历显示按键 K7 接单片机 P2 7 sbit WDZ P2 6 定义温度显示按键 K6 接单片机 P2 6 sbit FUN P2 5 定义功能选择键 K5 接单片机 P2 5 sbit UP P2 4 定义加 1 键 K4 接单片机 P2 4 sbit DOWN P2 3 定义减 1 键 K3 接单片机 P2 3 sbit Ente Snooze P2 2 定义确认键 K2 接单片机 精品 感谢下载载 P2 2 sbit Alarm P2 1 定义闹铃开关键 K1 接单片机 P2 1 sbit beeper P2 0 定义闹铃接口 P2 0 define uint unsigned int define uchar unsigned char define true 1 定义 true 1 define false 0 定义 false 0 define FUNCTION 0 xDF 定义 FUN 键值为 DFH define UP 0 xEF 定义 UP 键值为 EFH define DOWN 0 xF7 定义 DOWN 键值为 F7H define ALARM 0 xFB 定义 ALARM 键值为 FBH define Ente Snooze 0 xFB 定义 E S 键值为 BFH void key task void void process uchar current key extern bit flash flag 定义全局变量 标志位 extern uchar function count extern bit alarm flag extern bit key enable void dis void sendbyte voidreset 3w 精品 感谢下载载 voidwbyte 3w uchar uchar rbyte 3w voidwrite byte uchar Clock Add uchar Clock Data uchar read byte uchar void write clock burst void ds1302 init void ds1302 task void lcd disp time1 void dis WD void ds18b20 void alarm clock void void delay unsigned int time 10ms 延时 unsigned char a b c for a 0 a time a for b 0 b 10 b for c 0 c0 l 延时 for a 50 a 0 a if PUSH 0 xFF key push P2 key key push key 等于键值 void process uchar current key 按键功能子程序 switch current key case FUNCTION 功能选择键 key enable true function count function count 1 if function count 9 function count 1 break case UP 加 1 操作键 if function count 1 function count 1 则 秒加 1 操作 sec if sec 60 秒加到 60 则被置 0 精品 感谢下载载 sec 0 write byte WRITE SEC ADD hex2bcd sec 写入秒寄存 器 if function count 2 function count 2 则分加 1 操作 min if min 60 分加到 60 则被置 0 min 0 write byte WRITE MIN ADD hex2bcd min 写入分寄 存器 else if function count 3 function count 3 则 小时加 1 操作 hour if hour 24 小时加到 24 则被置 0 hour 0 write byte WRITE HOUR ADD hex2bcd hour 写入小 时寄存器 else if function count 4 function count 4 则闹铃分 精品 感谢下载载 钟加 1 操作 clk min if clk min 60 分钟加满 60 自动置 0 clk min 0 else if function count 5 function count 5 则闹铃小 时加 1 操作 clk hour if clk hour 24 小时加满 24 自动置 0 clk hour 0 else if function count 6 function count 6 则年加 1 操作 year if year 99 year 0 write byte WRITE YEAR ADD hex2bcd year else if function count 7 function count 7 则月加 1 操作 month if month 13 month 1 write byte WRITE MONTH ADD hex2bcd month 精品 感谢下载载 else if function count 8 function count 8 则日加 1 操作 date if date 31 date 0 write byte WRITE DATE ADD hex2bcd date break case DOWN 键盘减 1 操作功能 if function count 1 if sec 0 sec 60 sec write byte WRITE SEC ADD hex2bcd sec if function count 2 if min 0 min 60 min write byte WRITE MIN ADD hex2bcd min else if function count 3 if hour 0 hour 24 hour 精品 感谢下载载 write byte WRITE HOUR ADD hex2bcd hour else if function count 4 if clk min 0 clk min 60 clk min else if function count 5 if clk hour 0 clk hour 24 clk hour else if function count 6 if year 0 year 100 year write byte WRITE YEAR ADD hex2bcd year else if function count 7 if month 1 month 13 month write byte WRITE MONTH ADD hex2bcd month else if function count 8 if date 0 date 31 精品 感谢下载载 date write byte WRITE DATE ADD hex2bcd date break case ALARM alarm flag alarm flag break case Ente Snooze Time true 确认键 if alarm flag true default break void key task key scan if key 0 x29 wait time wait time 1 if wait time 3 wait time 0 key enable false else wait time 0 精品 感谢下载载 if function count 0 flash count if flash count20 process key if Calendar 0 如果 K7 按下 显示日期 dis Calendar else if WDZ 0 如果 K6 按下 显示温度 void dis WD if Time true 如果按下确认键 直接显示时间 disp time key 0 4 1 2 数字钟原理图 如附录所示为数字钟的原理图 4 2 软件实现与流程 精品 感谢下载载 4 2 1 定时和串口程序 定时和串口都是中断响应程序 它们的调用都是系统执行过程中采用中断事 件触发产生 中断部分处理如图 3 所示 定时中断是周期性发生的 而串口中断 则须串口有数据传输才发生中断 定时程序是整个系统的核心代码 这段代码不 光涉及到显示 还涉及到系统计时 这段代码的优劣关系到整个系统的可靠性 为初步减小系统误差 置定时初值一定要在程序开始就设置 图 4 5 中断程序流程图 精品 感谢下载载 4 2 2 键盘响应程序 键盘处理程序流程相对简单 只是简单的判键与处理 这里不再给出流程图 所谓键盘消抖就是一次按建的多次响应问题 当然 一般一次按建只须响应一次 但有的时候需要多次响应 如系统进入修改模式 数字的增减 当出现这种问题 时 用户的一次击键是作为一次还是多次处理 必须有一个标准 程序中我用到 了一个标志位 相当于中断系统的中断标志 当用户按下键时 标志清零 松开 键时 标志恢复 键按下超过一定时间 靠一扫描计数器判定 后 恢复标志 则经过一定的时间延迟 也靠一扫描计数器判定 可以响应一次按键 即一次按 键的多次响应 而事实上 键盘响应程序就是一个事件触发器 键盘的每一个 状态 按下 松开 点击 都可能引发一段响应程序 如 重新设定键按下 准备复位 松开 系统复位 这里的时间延迟靠的是指令计数 由于受硬件 中断等不确定因素影响 这个延迟一般不准确 但通过实践测试 可以找到一些 合适的值 精品 感谢下载载 第 5 章 系统调试 调试工作分硬件调试和软件调试两部分 首先 硬件调试主要是先搭建硬件平台 然后利用万用表等工具对电路检查 最后应用程序进行功能调试 硬件调试比较费时 需要细心和耐心 也需要熟练 掌握电路原理 精品 感谢下载载 然后 可以直接应用一些编辑或仿真软件进行软件调试 比如单片机 C51 编 辑软件 Keil 该软件提供了一个集成开发环境 uVision 它包括 C 编辑器 宏编 辑器 连接器 库管理和一个功能强大的仿真调试器 通过编译 运行 可以检 查程序错误 但应用此方法 仍需要十分了解所使用元器件的工作方式和管脚连 接方式 在软件调试过程中要仔细耐心 即便是多写或少些一两个字符 都无法 编译成功 而有时往往在 Keil 中编译 运行无错 但烧录到单片机中运行起来就 会出错 很可能是编程时管脚或时序编辑得不对 还有一种方式 即应用仿真软件搭建电路的软件平台 再导入程序进行仿真 调试 如果电路出错 可以在计算机上方便的修改电路 程序出错可以重新编辑 程序 这种方法节时 省力 经济 方便 总之 调试过程是一个软硬件相结合调试的过程 硬件电路是基础 软件是 检测硬件电路和实现其功能的关键 13 在调试过程中 首先必须明确调试顺序 例如 本设计是在单片机系统基础 上建立起来的 所以必须先确定单片机基础电路能否正常工作 为了正确显示时 间 接下来还要确定显示电路能否正常工作 硬件调试的过程 也是软件调试的 过程 然后 要准备好调试的工具 硬件调试需要万用表 示波器等 软件调试一 般需要诸如 Keil 等仿真编辑器 5 1 硬件调试 单片机基础电路包括电源 单片机 外部时钟震荡电路 复位电路和外部接 精品 感谢下载载 口电路 1 检查电源是否完好 2 单片机电源要连接正确 并且保证 AT89C51 的 31 号引脚接高电平 AT89C51 的 31 号引脚是外部程序存储器选择信号端 当该引脚为高电平时 单 片机会一直从片内程序存储器内取指令 3 如果使用 P0 口做 I O 口 要接上拉电阻 4 使用万用表排查电路中是否存在断路或者短路情况 5 编辑一个使一组发光二极管循环点亮的程序并烧录到单片机内 上电运行 检查单片机是否正常工作 复位电路是否正确 5 2 软件调试 在硬件调试完毕的基础上 需要进一步完善程序 也就是进入软件调试 阶段 精品 感谢下载载 第 6 章结束语 在开展毕业设计时 如何选择合适的设计任务 是毕业设计的内容既有基本 任务 又有发挥任务 既有一定的难度 又有一定的深度 基于单片机实现电子时 钟 仅仅是众多方法之一 并且市场上的实时时钟日历芯片品类繁多 IC 化的传 感器各种各样 显示方式也愈趋于人性化 所以多功能电子时钟有多种实现方案 能够实现的功能也很多 已经通过仿真和调试 实现了时间日历显示和校对 闹 铃等功能 本文采用 51 单片机 C 语言进行编程 当然也可以应用汇编语言编程 经过两个月的设计 自己的毕业设计能够完成 那种喜悦真的是无法形容的 我本人非常喜欢并且对此次的设计表现出极高的热情和兴趣 精品 感谢下载载 答谢辞 经过两个来来月的忙碌和学习 本次毕业设计已经接近尾声 作为一个大专 生的毕业设计 由于经验的匮乏 难免有许多考虑不周全的地方 如果没有导师 的督促指导 以及一起工作的同学们的支持 想要完成这个设计是难以想象的 精品 感谢下载载 在这里首先要感谢我的导师王迅老师 王迅老师平日里工作繁多 但在我做 毕业设计的每个阶段 从查阅资料 设计草案的确定和修改 中期检查 后期详 细设计 装配草图等整个过程中都给予了我悉心的指导 我的设计较为复杂烦琐 但是王迅老师仍然细心地纠正我设计中的错误 除了敬佩王迅老师的专业水平外 他的治学严谨和科学研究的精神也是我永远学习的榜样 并将积极影响我今后的 学习和工作 然后还要感谢大学几年来所有的老师 为我们打下电子专业知识的基础 同 时还要感谢所有的同学们 正是因为有了你们的支持和鼓励 此次毕业设计才会 顺利完成 谢谢你们 精品 感谢下载载 附录 VCC 1 1 X1 2 X2 3 GND 4 RST 5 I O 6 SCLK 7 VCC 2 8 U1 AT89S51 P1 0 1 P3 2 12 P1 1 2 VCC 40 P1 2 3 P0 0 39 P1 3 4 P0 1 38 P1 4 5 P0 2 37 P1 5 6 P0 3 36 P1 6 7 P0 4 35 P1 7 8 P0 5 34 RST 9 P0 6 33 P3 0 10 P0 7 32 P3 1 11 EA VPP 31 ALE 30 P3 3 13 PSEN 29 P3 4 14 P2 7 28 P3 5 15 P2 6 27 P3 6 16 P2 5 26 P3 7 17 P2 4 25 XTAL2 18 P2 3 24 XTAL1 19 P2 2 23 GND 20 P2 1 22 P2 0 21 U1 AT89C51 Y1 32 768KHZ 5 K2 K3 K4 K5 K6 K7 K1 1234 5 67 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS DPY 7 SEG DP 1234567 C31 30pF C32 30pF Y1 12M GND 1 DQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房长助理职位招聘模拟题及答案解析
- 2025注册验船师资格考试(B级船舶检验法律法规)全真冲刺试题及答案一
- 2025年劳动法考试题库(附答案)
- 2025年行政事业单位内部控制能力提升考试题集及解答指南
- 2025年导游证考试高级模拟题及答案详解与攻略
- 公务员四川面试题及答案
- 公务员面试题型及答案
- 2025年建筑装饰工程师招聘面试题与经验
- 安徽省淮南市第二中学2026届化学高二第一学期期中质量跟踪监视模拟试题含解析
- 公务员励志面试题及答案
- DB43-T 2629-2023回转窑挥发富集次氧化锌技术规范地方标准
- 中铝矿业有限公司巩义市张家沟大发铝土矿矿山土地复垦与地质环境保护治理方案
- 班级管理常规优质课件
- IT运维服务方案信息运维服务方案
- ZSL1000、ZSL750塔吊外挂架施工方案
- 文化自信作文800字议论文
- GB/T 28287-2012足部防护鞋防滑性测试方法
- GB/T 27677-2017铝中间合金
- 芜湖宜盛置业发展有限公司招聘3名编外工作人员(必考题)模拟卷
- 混凝土结构设计原理教学教案
- 齿轨卡轨车课件
评论
0/150
提交评论