




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字钟带秒表程序毕业论文数字钟带秒表程序毕业论文 目目 录录 摘要 错误 未定义书签 错误 未定义书签 ABSTRACT 错误 未定义书签 错误 未定义书签 目 次 I 1 引言 错误 未定义书签 错误 未定义书签 1 1 研究现状 错误 未定义书签 错误 未定义书签 1 1 1 研究方向 错误 未定义书签 错误 未定义书签 1 1 2 国内外研究现状 错误 未定义书签 错误 未定义书签 1 1 3 发展趋势 错误 未定义书签 错误 未定义书签 1 1 4 研究意义 1 1 2 研究思路 2 1 2 1 理论基础和分析 2 1 2 2 研究设想 2 1 2 3 设计流程和预期成果 2 2 单片机的应用及发展现状 4 3 系统硬件设计 5 3 1 系统功能描述 5 3 2 器件选型 5 3 3 系统模块组成电路 9 3 3 1 单片机最小系统电路 10 3 3 2 液晶显示电路 11 3 3 3 DS18B20 测温电路 11 3 3 4 键盘电路模块 12 3 3 5 系统硬件实物图 12 4 系统软件设计 14 4 1 C51 语言及其特点 14 4 2 整体程序框图 14 4 3 系统程序流程图 14 5 系统调试 21 5 1 调试过程 21 5 2 调试结果 21 6 总结 25 7 参考文献 26 I 附录 A 电路原理图 27 附录 B PCB 图 28 附录 C 实物图 29 附录 D 源代码 30 学位论文数据集 62 中国计量学院现代科技学院本科毕业设计 论文 0 1 1 4 研究意义 数字电子时钟是采用数字电路实现对时 分 秒数字显示的即使装置 广泛用 于个人家庭 车站 码头办公室等公共场所 成为人们日常生活中不可少的必需品 由于数字集成电路的发展和石英晶体振荡器的广泛应用 是的数字时钟的精度远远 超过老式钟表 钟表的数字化给人们生产生活带来了极大的方便 而且大大地扩展 了钟表原先的报时功能 诸如定时自动报警 按时自动打铃 时间程序自动控制 定时广播 自动启闭路灯 定时开关烘箱 通断动力设备 甚至各种定时电器的自 动启用等 所有这些 都是以钟表数字化为基础的 因此 研究数字时钟及扩大其 应用 有着非常现实的意义 4 随着现代信息技术的飞速发展和传统工业改造的逐步实现 能够独立工作的温 度检测和显示系统应用于诸多领域 传统的温度检测以热敏电阻为温度敏感元件 热敏电阻的成本低 但需后续信号处理电路 而且可靠性相对较差 测温准确度低 检测系统也有一定的误差 与传统的温度计相比 这里设计的数字温度计具有读数方 便 测温范围广 测温精确 数字显示 适用范围宽等特点 然而温度检测方面 DALLAS 公司生产的 DS18B20 当仁不让 超小的体积 超低的硬件开销 抗干扰 能力强 精度高 DS18B20 的优势更是我们学习单片机技术和开发温度相关的小产 品的选择 一般在使用 DS18B20 时往往采用微处理器的 I O 端口实现与该器件的通 信 在实际应用中可以取得良好的测温效果 11 选用 AT89C51 型单片机作为主控制 器件 DS18B20 作为测温传感器通过 4 位共阳极 LED 数码管串口传送数据 实现 温度显示 通过 DS18B20 直接读取被测温度值 进行数据转换 该器件的物理化 学性能稳定 线性度较好 在 0 100 最大线性偏差小于 0 1 该器件可直接 向单片机传输数字信号 便于单片机处理及控制 另外 该温度计还能直接采用测 温器件测量温度 从而简化数据传输与处理过程 15 DS18B20 特性为一个端口即可实现通信 每个 DS18B20 都有一个独一无二的序 列号 实际应用中不需要外部任何元器件即可实现测温 测温范围在 55 C 125 C 精度误差为 0 5 C 现场温度直接以 一线总线 的数字式传输 支持 3 5 5V 的电压范围 16 在日常生活和自动控制系统中 经常遇到对时间和温度实时监控的需求 这就 给具有多种功能的时钟提供了市场 本文就给出了一种基于单片机实现带温度检测 的电子时钟的设计方法和实现过程 单片机正朝着速度更快 运算能力更强 功能 更强大的方向快速发展 在不久的将来 单片机讲以更强大的功能和灵活的性能 快速的走进我们的生活 扮演着越来越重要的角色 13 中国计量学院现代科技学院本科毕业设计 论文 1 1 2 研究思路 1 2 1 理论基础和分析 电子时钟的设计方法有多种 可用中小规模集成电路组成电子钟 也可以利用 专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟 还可以利用对 单片机定时中断编程来实现电子钟等 其中 利用专用的电子时钟芯片 DS1302 来 进行对时钟数据的读和写 用时钟芯片可以降低单片机中断的使用从而让单片机系 统运行更快 效率更高 而且使用时钟芯片可以大大加大时钟的精度 体温计的设计方法也有多种 我国一般电子体温计使用 NTC 温度传感器 因为 它的测量精度 反应速度和电阻年漂移率技术都很好 而另外一种方法是使用 DS18B20 数字温度传感器 该传感器广泛用于工业测量环境 虽然精度不如 NTC 温度传感器的高 但是凭着它输出信号为数字信号 简单的电路设计原理和低廉的 价格 综合考虑本系统使用 DS18B20 传感器 1 2 2 研究设想 本次设计通过对硬件和软件设计熟悉掌握 通过程序编写完成电子时钟年 月 日 时 分 秒 星期显示及有时间设置等基本功能的基础上还完成了控制液晶屏 亮屏时间的节能功能 在硬件电路中设计出多个扩展功能 包括环境温度测量 稳 压去耦功能和闹铃功能等 硬件电路包括单片机最小系统电路 DS1302 时钟芯片电路模块 LCD1602 液 晶显示模块 按键模块 DS18B20 温度传感器模块 蜂鸣器电路模块 稳压去耦电 路 软件部分主要通过 c 程序的编程实现对时钟芯片进行时间数据的读和写然后通 过液晶显示程序将时间显示出来 也通过键盘扫描程序实现功能的转换和屏幕的切 换 还可以通过对 DS18B20 检测结果进行编程从而达到分辨率为 0 1 的效果 利用 对 DS1302 时间设置来实现背光灯的延时和秒表功能 结合硬件 软件的分步调试 达到要求的控制效果 1 2 3 设计流程和预期成果 设计分为硬件和软件两大部分完成 首先在 Protel 99SE 上进行原理图和 PCB 板 的绘制和修改并制作出印制电路板 在电气检查无误的情况下 购买所需要的元器 件 接着把元器件焊接到各个功能电路的模块上 并结合程序进行调试 最后将各 个功能的电路程序组合起来 然后再进行总程序的调试直到调试成功 预期能达到以下结果 中国计量学院现代科技学院本科毕业设计 论文 2 1 实现年 月 日 时 分 秒 星期显示且有时间 日期和星期的设置 2 实现闹钟设置功能和秒表功能 3 实现液晶背光灯延时控制从而达到节能效果 按键声效果和屏幕切换功能 4 实现环境温度检测和显示功能 2 单片机单片机的应用及发展现状的应用及发展现状 单片机的应用具有面大量广的特点 国际上从 70 年代开始 国内自 80 年代以 中国计量学院现代科技学院本科毕业设计 论文 3 来 单片机已广泛地应用于国民经济的各个领域 对各个行业的技术改造和产品智 能化的更新换代起着重要的推动作用 它的应用遍及各个领域 主要表现在以下几 个方面 1 单片机在智能仪表中的应用 单片机广泛地用于各种仪器仪表 使仪器仪表智能化 并可以提高测量的自动化程 度和精度 简化仪器仪表的硬件结构 提高其性能价格比 2 单片机在机电一体化中的应用 机电一体化是械工业发展的方向 机电一体化产品是指集成机械技术 微电子技术 计算机技术于一体 具有智能化特征的机电产品 例如微机控制的车床 钻床等 单片机作为产品中的控制器 能充分发挥它的体积小 可靠性高 功能强等优点 可大大提高机器的自动化 智能化程度 3 单片机在实时控制中的应用 单片机广泛地用于各种实时控制系统中 例如 在工业测控 航空航天 尖端武器 机器人等各种实时控制系统中 都可以用单片机作为控制器 单片机的实时数据处 理能力和控制功能 可使系统保持在最佳工作状态 提高系统的工作效率和产品质 量 4 单片机在分布式多机系统中的应用 在比较复杂的系统中 常采用分布式多机系统 多机系统一般由若干台功能各异的 单片机组成 各自完成特定的任务 它们通过串行通信相互联系 协调工作 单片 机在这种系统中往往作为一个终端机 安装在系统的某些节点上 对现场信息进行 实时的测量和控制 单片机的高可靠性和强抗干扰能力 使它可以置于恶劣环境的 前端工作 5 单片机在人类生活中的应用 自从单片机诞生以后 它就步入了人类生活 如洗衣机 电冰箱 电子玩具 收录 机等家用电器配上单片机后 提高了智能化程度 增加了功能 倍受人们喜爱 单 片机将使人类生活更加方便 舒适 丰富多彩 单片机已成为计算机发展和应用的一个重要方面 另一方面 单片机应用的重 要意义还在于 它从根本上改变了传统的控制系统设计思想和设计方法 从前必须 由模拟电路或数字电路实现的大部分功能 现在已能用单片机通过软件方法来实现 了 这种软件代替硬件的控制技术也称为微控制技术 是传统控制技术的一次革命 中国计量学院现代科技学院本科毕业设计 论文 4 3 3 系统硬件设计系统硬件设计 3 1 系统功能描述 基于单片机的定时和控制装置在许多行业中有着广泛的应用 而电子时钟是其 中最基本最具有代表性的控制系统 而温度检测广泛用于工业环境 在基于单片机 控制系统的电子电路中 除了基本的单片机系统和外围电路外 还需要外部的控制 和显示装置 硬件电路包括 STC89C52 单片机 LCD1602 液晶显示电路 按键电路 蜂鸣器电路 DS1302 时钟芯片电路模块 DS18B20 温度传感器几部分电路模块 该系统设计可以完成如下功能 1 实现年 月 日 时 分 秒 星期显示且有时间 日期和星期的设置 2 实现闹钟设置功能和秒表功能 3 实现液晶背光灯延时控制从而达到节能效果 按键声效果和屏幕切换功能 4 实现环境温度检测和显示功能 3 2 器件选型 本系统设计用到的器件包括单片机 STC89C52 芯片一块 DS1302 时钟芯片一块 温度传感器 DS18B20 一个 LCD1602 液晶显示屏一块 一个蜂鸣器 3V 电池一块 12HZ 的晶振一个 排针排线若干组 电容电阻若干 导线若干 二级管若干 自己 设计的 PCB 板一块 按钮 5 个 下面对其它器件的一些重要方面进行相关说明 1 系统控制核心 STC 系列单片机以其优良的性能 高可靠性 低价格 低功耗 抗静电 抗干 扰 成为取代 MCS51 单片机的主流机型之一 有着十分广阔的应用前景 本次设计 系统控制核心采用 STC89C52 芯片 STC89C51RC RD 系列单片机是宏晶科技推出的新一代超强抗干扰 高速 低功 耗的单片机 内部已扩展了 RAM 指令代码完全兼容传统 8051 而 STC89C52 最 具典型性 具有 8K FLASH 存储器 512 字节 RAM 数据存储器 可在线重复编程 擦写次数不少于 1000 次 或使用通用的非易失性存储器编程器 通用的 8 位 CPU 与在线可编程 Flash 集成在一块芯片上 从而使 STC89C52 功能更加完善 应用更 加灵活 与只拥有 128 字节的片内 RAM 的 AT89C52 系列单片机相比 STC89C52 单片机片内 RAM 有 512 字节 3 个定时器 8 个中断源 片内程序存储器有 8KB 具有较高的性价比 使其在嵌入式控制系统中有着广泛的应用前景 图 3 1 为 AT89S52 的管脚图 中国计量学院现代科技学院本科毕业设计 论文 5 图 3 1 STC89C52 管脚图 VCC 电源 GND 地 P0口是一个8位漏极开路的双向I O口 作为输出口 每位能驱动8个TTL逻辑 电平 对P0端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储器时 P0口也被作为低8位地址 数据复用 在这种模式 下 P0具有内部上拉电阻 在flash编程时 P0口也用来接收指令字节 在程序校验 时 输出指令字节 程序校验时 需要外部上拉电阻 P1 口是一个具有内部上拉电阻的8 位双向I O 口 p1 输出缓冲器能驱动4 个 TTL 逻辑电平 对P1 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 IIL 此外 P1 0和P1 2分别作定时器 计数器2的外部计数输入 P1 0 T2 和时 器 计数器2的触发输入 P1 1 T2EX 在flash编程和校验时 P1口接收低8位地址 字节 P2 口是一个具有内部上拉电阻的8 位双向I O 口 P2 输出缓冲器能驱动4 个 TTL 逻辑电平 对P2 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 IIL 在访问外部程序存储器或用16位地址读取外部数据存储器 例如执行 MOVX DPTR 时 P2 口送出高八位地址 在这种应用中 P2 口使用很强的内 部上拉发送1 在使用8位地址 如MOVX RI 访问外部数据存储器时 P2口输出 P2锁存器的内容 在flash编程和校验时 P2口也接收高8位地址字节和一些控制信号 P3 口是一个具有内部上拉电阻的8 位双向I O 口 p2 输出缓冲器能驱动4 个 TTL 逻辑电平 对P3 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 中国计量学院现代科技学院本科毕业设计 论文 6 IIL P3口亦作为AT89S52特殊功能 第二功能 使用 在flash编程和校验时 P3口也接收一些控制信号 2 DS1302 DS1302 是一种常用的时钟芯片 它有时钟计数功能 可以对秒 分钟 小时 月 星期 年的计数 年计数可达到 2100 年 其管脚排列如图 3 2 所示 图 3 2 DS1302 芯片管脚图 DS1302 包括时钟 日历寄存器和 31 字节 8 位 的数据暂存寄存器 数据通信 仅通过一条串行输入输出口 实时时钟 日历提供包括秒 分 时 日期 月份和年 份信息 闰年可自行调整 可选择 12 小时制和 24 小时制 可设置 AM PM 通过三个管脚端口进行数据的控制和传递 RESET I O SCLK 通过备用电 源可以让芯片在小于 1MW 的功率下运作 数据传输如图 3 3 所示 注意两种模式 图 3 3 DS1302 数据传输时序图 4B 3 温度传感器 中国计量学院现代科技学院本科毕业设计 论文 7 DS18B20集成了温度传感器 信号调整电路 A D 采样和转换电路 存储器等 部件 集成电路的测温元件采用测半导体载流子随温度变化的特性原理制成 即测 温元件为正电阻温度系数的热敏电阻 它可以直接以数字量的形式输出被测环境的 温度而不需要配加其它外围电路 另外 多个DS18B20 可以共用一条数据总线与 CPU 进行通信 与传统的温度传感器 AD590 LM35 一个器件需要一条数据线 相比 具有十分突出的优越性 测温范围 55 125 在 10 85 时精 度为 0 5 可编程的分辨率为9 12 位 对应的可编程温度分别为0 5 0 25 0 125 0 0625 转换时间为750ms 关于DS18B20 的应用 主要是与不同型号的单片机进行对接 从而设计了不同 形式的温度监测系统 例如 对汽车轮胎的温度监测与报警 还有的利用DS18B20 设计了多点分布式温度监测系统 实现了对多点温度的同步监测等 本系统除具有 温度测量与报警功能之外 还通过一定的控制电路实现了对加热系统的自动控制 DS18B20 的引脚及指令系统DS18B20 的引脚如图3 4所示 其中VDD 和GND 分别接电源和地 DQ 为数据输出 突 3 4 DS18B20 芯片管脚吐 4 液晶显示屏 图 3 5 LCD1602 外观图 中国计量学院现代科技学院本科毕业设计 论文 8 表 3 1 1602 型 LCD 的接口信号说明 编号编号符号符号引脚说明引脚说明编号编号符号符号引脚说明引脚说明 1VSS 电源地 9D2Data I O 2VDD 电源正极 10D3Data I O 3VL 液晶显示偏压信号 11D4Data I O 4RS 数据 命令选择端 H L 12D5Data I O 5R W 读写选择端 H L 13D6Data I O 6E 使能信号 14D7Data I O 7D0Data I O15BLA 背光源正极 8D1Data I O16BLK 背光源负极 基本操作程序 读状态 输入 RS L RW H E H输出 D0 D7 状态字 读数据 输入 RS H RW H E H输出 无 写指令 输入 RS L RW L D0 D7 指令码 E 高脉冲 输出 D0 D7 数据 写数据 输入 RS H RW L D0 D7 数据 E 高脉冲 输出 无 3 3 系统模块组成电路 本设计系统以 STC89C52 单片机为核心 通过 DS1302 来实现年 月 日 星 期 时 分 秒显示和设置功能和闹钟功能 同时还有秒表功能 液晶背光灯延时控 制实现节能功能和温度检测功能 硬件电路包括 STC89C52 单片机系统模块 LCD1602 液晶显示模块 按键模块 DS1302 电路模块 DS18B20 温度传感器测温 模块和蜂鸣器模块组成 基于单片机系统的电子时钟基本结构框图如图 3 6 所示 中国计量学院现代科技学院本科毕业设计 论文 9 单片机 电源 DS1302 时钟芯片 液晶显示模块 温度传感器 DS18B20 按键模块 晶振 复位电路 蜂鸣器声响模块 图3 6 系统的基本结构框图 3 3 1 单片机最小系统电路 单片机小系统电路包括晶振电路和复位电路 复位电路包括自动复位和开关复 位两种方式 其作用是在单片机在上电时或按下复位按钮时 瞬间电容两端电压不 能突变 使 RST 管脚保持两个周期以上高电平状态 使单片机复位 只要该正脉冲 能够保持约 10ms 以上 单片机就能有效复位了 晶振电路采用内时钟方式 通常用 12MHZ 晶体和电容组成的并联谐振电路作 定时元件 它由两个 30pf 电容 一个 12M 石英晶振组成 电容一般选择 30Pf 左右 其大小对振荡频率有微小影响 可起频率微调作用 在设计时 注意晶体和电容应 尽可能与单片机靠近 减少寄生电容 保证震荡器可靠工作 电路如图 3 7 示 中国计量学院现代科技学院本科毕业设计 论文 10 图 3 7 单片机小系统电路 复位电路中所选择的电容必须在 10uf 左右以上 否则 电容的充电时间不够长 将影响单片机正常工作 10k 的电阻是为了在手动复位时 防止电源正负端短路 起到保护和限制电流作用 3 3 2 液晶显示电路 图 3 8 液晶显示电路 通过一个 10K 的电位器调整对比度 从而达到合适的背光灯对比度 16 管脚接三 极管然后 B 端接 P2 6 C 端接地 当 P2 6 端接入为低电平此时三极管导通使背光 灯亮 反之则灭 从而通过定时实现了背光灯节能功能 3 3 3 DS18B20 测温电路 图 3 9 DS18B20 测温电路 DS18B20 测温原理 DS18B20 通过一种片上温度测量技术来测量温度 DS18B20 内部有两个不同温度系数的振荡器 低温度系数的振荡器输出的脉冲始终 在高温度系数振荡器产生的门周期内计数 即用一个高温度系数的振荡器确定一个 门周期 内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来 得到温度值 计数器被预置到对应于 55 的一个值 如果计数器在门周期结束前到 达 0 则温度寄存器 同样被预置到 55 的值增加 表明所测温度大于 55 同 中国计量学院现代科技学院本科毕业设计 论文 11 时 计数器被复位到一个值 这个值由斜坡式累加器电路确定 斜坡式累加器电路 用来补偿感温振荡器的抛物线特性 然后计数器又开始计数直到 0 如果门周期仍 未结束 将重复这一过程 斜坡式累加器用来补偿感温振荡器的非线性 以在测温 时获得比较高的分辨率 这是通过改变计数器对温度每增加一度所需计数的的值来 实现的 因此 要想获得所需的分辨率 必须同时知道在给定温度下计数器的值和 每一度的计数值 图 3 10 温度测量电路的方框图 3 3 4 键盘电路模块 本系统的按键电路如图 3 13 所示 当按键按下则 I O 口接入低电平来驱动单片 机实现功能 设计按键的功能 屏幕切换功能 模式选择功能 时间设置功能 闹 钟设置功能 秒表控制功能 背光灯设置功能 图 3 11 按键电路 中国计量学院现代科技学院本科毕业设计 论文 12 3 3 5 系统硬件实物图 硬件电路板利用 Protel se99 进行对原理图的设计然后制成 PCB 板如图 3 12 图 3 12 系统实物图 中国计量学院现代科技学院本科毕业设计 论文 13 4 4 系统软件设计系统软件设计 4 1 C51 语言及其特点 C51 语言有比较好的性能 它具有较好的可读性 结构简单 控制方便 用它开发 可以减小开放的周期 提高开放的效率和代码的可读性 本系统采用 C 语言编写 4 2 整体程序框图 系统程序实现六部分功能 时钟部分实现年 月 日 时 分 秒 星期显示 和设置 闹钟功能 秒表功能 液晶背光灯延时节能功能 温度测量部分实现环境 温度测量及显示 键盘部分主要为模式选择功能 功能整体程序流程框图如图5 1所 示 中国计量学院现代科技学院本科毕业设计 论文 14 图 4 1 整体程序框图 4 3 系统程序流程图 整个系统程序主要包括 1 模式切换程序 2 时钟设置程序 3 闹钟程序 4 液晶背光灯延时设置程序 5 温度测量子程序 6 秒表程序 7 数据显示程序 1 模式切换程序主要实现各功能模式的选择从而实现各功能 流程图如图 4 2 开始 变量 中断 液晶 时钟和 函数声明初始化 按键扫描 S3按下 背光灯打开 进入功能模 式选择界面 S4按下 键盘扫描 S2按下 模式选择左 移 模式选择右 移 S3按下 S4是否按下 否 时间设 置 日期设 置 闹钟设 置 秒表功 能 温度测 试 背光灯 设置 退回主 界面 是 Modle1 Modle1 Modle1 Modle1 Modle1 Modle1 Modle1 时间 日期 闹钟 背光灯时间设置显示 温度显示 秒表功能显示 中国计量学院现代科技学院本科毕业设计 论文 15 图 4 2 模式切换程序流程图 2 时间设置程序可以实现时钟的年 月 日 时 分 秒 星期的设置和写入 DS1302 芯片 程序流程图如图 4 3 时间的设置 和图 4 4 日期设置 判断是否S4按下 MODLE1 判断id大小 Id 时调整位分调整位 Id 7 秒调整位 Id 6Id 8 键盘扫描 写入DS1302 时 分 秒的显示 图 4 3 时间设置程序流程图 中国计量学院现代科技学院本科毕业设计 论文 16 图 4 4 日期设置程序流程图 中国计量学院现代科技学院本科毕业设计 论文 17 3 闹钟设置程序实现对闹钟的开和关设置 闹钟设定功能 程序流程图如图 4 5 图 4 5 闹钟设置程序流程图 中国计量学院现代科技学院本科毕业设计 论文 18 4 液晶背光灯延时程序实现控制液晶背光灯打开的时间从而实现节能效果 程序 流程图如图 4 6 图 4 6 背光灯延时程序流程图 5 秒表程序主要实现秒表的开 暂停和清零效果 程序流程图如图 4 7 图 4 7 秒表程序流程图 6 温度测量子程序流程 中国计量学院现代科技学院本科毕业设计 论文 19 温度传感器程序主要包括读出温度子程序 温度转换命令子程序 读出温度子 程序 程序主要功能是读出 RAM 中的 9 字节 在读出时需进行 CRC 校验 校验有 错时不进行温度数据的改写 温度转换命令子程序 主要是发温度转换开始命令 当采用 12 位分辨率 流程图如图 4 8 图 4 9 发DS18B20复位命令 发跳过ROM命令 发温度转换开始命令 结束 图 4 8 读出温度子程序图 图 4 9 温度转换命令子程序 7 液晶显示程序流程 本系统采用的 LCD1602 实现数据的显示 输出稳定 控制简单 程序包括这几 部分 1 定义存储输出数据的全局变量数组 2 初始化 3 判忙 4 写指令 5 写数据 程序流程图如图 4 10 Init LCD 初始化 Read Busy 读忙 Write Comm unsigned char lcdcomm 写指令函数 结束 Write Data unsigned char lcddata 写数据函数 图 4 10 显示程序流程图 中国计量学院现代科技学院本科毕业设计 论文 20 5 5 系统调试系统调试 5 1 调试过程 1 时钟显示调试问题 现象 在长时间没有使用硬件的情况下 开启系统时年 月 日 时 分 秒 和星期上的数字大多数是 复位后还是同种情况 故障原因分析 在长时间没有使用硬件情况下如果一直把 3V 电池装在系统硬 件上会导致 DS1302 芯片接触不灵 解决方法 解决方案是在不使用系统情况下卸掉 3V 的备用电池然后通过 5V 的 电池作为系统的供电电源 2 现象 在使用秒表功能时候 往往会出现较大的误差 故障原因分析 显示程序或其他程序运行需要消耗时间 在原先秒表最低位定 时 0 01 秒情况下总消耗时间超过了 0 01 秒导致秒表精度出现严重偏差 另外因为 hex 文件生成的时候 KIEL 软件输出设置为 11 0592HZ 晶振 而实际系统使用 12HZ 晶振 也导致出现误差 解决方法 首先对 KIEL 软件输出设置修改为 12hz 晶振 再者 通过多次验 改变定时器的初始化值 从而对其他程序运行消耗的时间进行补偿 3 调试结论 如果在系统中出现问题 一般应考虑硬件故障和软件故障 对于硬件故障 可 能是接触不良 采用非交叉线 通讯线路的芯片或者电缆损坏 此时可编制简短的 程序进行测试 在通讯的一方发送 另一方接收 并采用示波器观察对方发来的信 号波形 如果接收不到 则是硬件已经损坏 如果信号与期望差别较大 可能是由 于系统的抗干扰性较差 这可以在发送和接收的两端加入光电隔离 对于软件故障 主要考虑软件的容错性 为了保证数据通信的可靠性 在需要 等待对方应答的地方 可加适当延时 同时为防止程序出现异常 可适当增大存放 缓冲区字符的数组的大小 此次设计中 花时间最多的是硬件电路 PCB 板的制作和软件程序编写及调试过 程 其中 秒表功能调试遇到精度不高问题 调试过程发现硬件有虚焊的状况 调 试过程中学到了软件编程和硬件搭建的很多技巧 最后该系统设计的要求全部实现 了 5 2 调试结果 1 图 5 1 为实时的年 月 日 时 分 秒 星期的显示 其中 ON 或 OFF 代表 中国计量学院现代科技学院本科毕业设计 论文 21 闹钟开或关的状态 图 5 1 实时时间和日期的显示 2 图 5 2 和图 5 3 为模式选择模块 模式可以向左或向右移动 按 S2 或 S3 按键 其中从左到右的模式有 时间设置模式 日期设置模式 闹钟设置模式 背光灯开 关设置模式 温度检测模式 秒表模式 图 5 2 模式选择界面一 图 5 3 模式选择界面二 3 图 5 4 为进入时间设置模式后的界面 其中按 S4 是进行时 分 秒设置的选 择 S2 和 S3 为时间减和加的选择按键 Exit 为退出设置界面请求 中国计量学院现代科技学院本科毕业设计 论文 22 图 5 4 时间设置界面 4 图 5 5 为进入日期设置模式后的界面 按 S4 是对年 月 日 星期设置位的 选择 S2 和 S3 为日期减 加的选择按键 Exit 为退出界面请求 图 5 5 日期设置界面 5 图 5 6 和图 5 7 为进入闹钟设置模式后进行闹钟的开关设置和闹钟时间的定时 设置 其中 S4 为定时设置的选位按键 S2 和 S3 为时间减和加的设置按键 图 5 6 闹钟开关设置界面 图 5 7 闹钟定时设置界面 6 图 5 8 为进入背光灯延时设置界面 其中可以通过 S2 和 S3 对延时时间进行 减或加设置 中国计量学院现代科技学院本科毕业设计 论文 23 图 5 8 背光灯延时设置界面 7 图 5 9 为温度检测和显示的界面 实现了对环境温度的检测和显示效果 图 5 9 环境温度显示界面 8 图 5 10 为秒表功能界面 其中 S2 为秒表打开按键 S3 为暂停按键 S1 为 清零按键 S4 为退出界面按键 图 5 10 秒表功能界面 中国计量学院现代科技学院本科毕业设计 论文 24 6 6 总结总结 本系统的硬件电路主要由单片机最小系统电路及键盘输入电路 温度测量电路 时钟芯片电路 LCD1602 液晶显示电路等模块组成 通过 C 语言对系统进行编程 体现了本设计的实时性和灵活性 系统实现了一下多种功能 1 实现年 月 日 时 分 秒 星期显示且有时间 日期和星期的设置 2 实现闹钟设置功能和秒表功能 3 实现液晶背光灯延时控制从而达到节能效果 按键声效果和屏幕切换功能 4 实现环境温度检测和显示功能 本次设计还有一些地方可以改进 1 供电电源改成 5V 电池 在生活中 不可能使用 5V 电源箱来作为硬件的供电电源 所以电源应该作出 改变使系统具备安全 简单 容易携带等优点 2 应该在本设计上实现整点报时功能 本次设计在基本功能实现的基础上 能实现时钟整点报时功能 这样可以使时 钟功能体现的更全面 3 可以增加一个无线操控闹钟开关控制 本设计可以加一个功能 通过无线模块实现对系统实现非接触止闹功能 这样 可以给设计增加一个新颖性和实用性 中国计量学院现代科技学院本科毕业设计 论文 25 7 7 参考文献参考文献 1 王云涛 王楠 浅谈多功能数字钟的设计 J 山东电力高等专科学报 2005 4 8 71 72 2 刘长勇 叶希梅 基于 DS18B20 的温度测量装置的设计 鲁东大学学报 自然科学版 2009 25 3 225 228 3 林军 谢晓斌 用 8031 单片机控制的数字钟 J 湖北商业高等专科学报 2002 27 2 40 44 4 刑小杰 单片机电子时钟设计 沈阳职业技术学院电器工程系 2006 9 64 66 5 王振中 现代单片机技术的进展 今日科技 2004 9 6 邹显圣 基于 AT89C51 单片机数字时钟的研究 2009 年 9 月 第 22 卷第 5 期 7 王红军 谢玉芬 方便实用的电子日历钟程序 J 电脑编程技巧与维护 1997 4 20 25 8 赵琳 王璐 闵莉 2 基于单片机的时钟校时系统设计 科技广场 2009 1 9 易丽华 黄 俊 基于 AT89C51 单片机与 DS18B20 的温度测量系统 2009 5 第 5 期 第 9 卷 10 毕维峰 单片机技术应用及其发展方向 吉林省经济管理干部学院 吉林长春 130012 1009 2773 2006 04 0067 02 11 沙占友 智能温度传感器的发展趋势 电子技术应用 Application of Electronic Technique 2002 年 05 期 12 严芸 浅谈温度传感器的现状与发展 大众科技 Popular Science nop nop nop nop sbit rw P2 1 sbit rs P2 0 sbit e P2 2 define busy 0 x80 用于检测 LCM 状态字中的 busy 标识 define uchar unsigned char define uint unsigned int sbit tclk P1 0 sbit tio P1 1 sbit trst P3 2 sbit ACC0 ACC 0 sbit ACC7 ACC 7 sbit light P2 6 背光灯输出 sbit DQ P2 5 sbit am P1 2 sbit AD CLOCK P1 0 sbit AD ADDR P3 5 sbit AD SDO P3 6 sbit AD CS P1 3 uchar id msec model lightTime d time chan1 vol AD col col2 fr count precount t1 oc ta mm miao fen uint fref fn flagb 1 gg bit a b 闪烁标志位 uchar inittime 7 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 sbit system P1 7 模式 对应实验板 K1 按键 sbit timeup P1 5 时间减 对应实验板 K2 按键 sbit timedown P1 6 时间加 对应实验板 K3 按键 sbit nao P1 4 sbit wr P3 1 sbit rd P3 2 sbit cs P2 2 sbit A0 P2 4 中国计量学院现代科技学院本科毕业设计 论文 30 sbit A1 P2 5 void delay uint q void com8253 uchar com void data8253 uint date sbit Beep P3 7 蜂鸣器 void Set uchar uchar 根据选择调整相应项目 void RTInputByte uchar 输入 1Byte uchar RTOutputByte void 输出 1Byte void w1302 uchar uchar 向 DS1302 写入一个字节 uchar r1302 uchar 从 DS1302 读出一个字节 void set1302 uchar 设置时间 void keysound 按键音 void clocksound 闹铃蜂鸣声 void Out LCM void 显示屏幕 void model0 void 显示输出 void model1 void void model2 void void model3 void void model4 void void model5 void void model6 void void model7 void void model8 void void id case1 key 项目调整 void Modset 模式键处理 void data1602 uchar WDLCM void com1602 uchar WCLCM BuysC uchar ReadStatusLCM void void lcdinit void void OutputInformation uchar X uchar Y uchar DData void DisplayListChar uchar X uchar Y uchar code DData void dissqw void Delay5Ms void void Delay400Ms void void systemsetup void 进入系统设置 unsigned char code digit 10 0123456789 定义字符数组显示数字 unsigned char code Str Temperature 说明显示的是温度 unsigned char code Temp Temp 说明显示的是温度 unsigned char code Cent C 中国计量学院现代科技学院本科毕业设计 论文 31 uchar code systemp System setup 字符串输出 系统设定 uchar code TIMER Time 字符串输出 时间 uchar code DATE Date 字符串输出 日期 uchar code alarmclock Clock 字符串输出 闹铃 uchar code lamp Lamp 字符串输出 背光灯 uchar code tem Temp 字符串输出 时间归零 uchar code exit Exit 字符串输出 退出 uchar code set Set 字符串输出 设置 uchar code sec sec 字符串输出 秒 uchar code ClockSet ClockSet 字符串输出 闹铃设置 uchar code ClockOn ON 字符串输出 ON uchar code ClockOff OFF 字符串输出 OFF uchar code Watch StopWatch uchar code secx Sec void timesetup void 时间设置 void datesetup void 日期设置 void alarmclockset void 闹铃设置 void lampsetup void 背光灯设置 void timetem void 时间清零 void distem void void stopwatch void void delay uint q uint x y for x q x 0 x for y 110 y 0 y void delay1 int ms unsigned char y while ms for y 0 y 250 y nop nop nop nop 中国计量学院现代科技学院本科毕业设计 论文 32 延时子程序 void delay11 uchar x uchar j while x 0 for j 0 j 125 j void delay0 uchar x x 0 14MS unsigned char i while x for i 0 i 13 i void beep 蜂鸣器响一声函数 unsigned char i for i 0 imax item min if item min item max w1302 0 x8e 0 x00 允许写操作 w1302 address item 10 16 item 10 写入 DS1302 转成 BCD 码 w1302 0 x8e 0 x80 写保护 禁止写操作 屏幕显示 void Out LCM void switch model case 0 model0 break case 1 model1 break case 2 model2 break 在不同的条件下显示不同的字符 case 3 model3 break case 4 model4 break case 5 model5 break case 6 model6 break case 7 model7 break model 为零时第一行显示时间 不为零时显示 system setup void model0 DisplayListChar 0 0 TIMER 显示固定字符串 Time OutputInformation 13 0 0 x20 不显示 if flagb 1 DisplayListChar 14 0 ClockOn else DisplayListChar 13 0 ClockOff OutputInformation 4 0 0 x20 不显示 OutputInformation 4 1 0 x20 不显示 中国计量学院现代科技学院本科毕业设计 论文 39 OutputInformation 15 1 0 x20 不显示 OutputInformation 7 1 0 x2f 显示固定字符 OutputInformation 10 1 0 x2f 显示固定字符 OutputInformation 13 1 0 x2f 显示固定字符 DisplayListChar 0 1 DATE 显示固定字符串 Date 日期 if a 1 冒号闪烁 OutputInformation 7 0 0 x3a OutputInformation 10 0 0 x3a else OutputInformation 7 0 0 x20 OutputInformation 10 0 0 x20 model 为零时第二行显示日期 不为零显示设置项目 OutputInformation 5 1 r1302 0 x8d 16 0 x30 显示年 OutputInformation 6 1 r1302 0 x8d 16 0 x30 OutputInformation 8 1 r1302 0 x89 16 0 x30 显示月 OutputInformation 9 1 r1302 0 x89 16 0 x30 OutputInformation 11 1 r1302 0 x87 16 0 x30 显示日 OutputInformation 12 1 r1302 0 x87 16 0 x30 OutputInformation 14 1 r1302 0 x8b 16 0 x30 显示星期 OutputInformation 5 0 r1302 0 x85 16 0 x30 显示小时 OutputInformation 6 0 r1302 0 x85 16 0 x30 OutputInformation 8 0 r1302 0 x83 16 0 x30 显示分钟 OutputInformation 9 0 r1302 0 x83 16 0 x30 OutputInformation 11 0 r1302 0 x81 16 0 x30 显示秒 OutputInformation 12 0 r1302 0 x81 16 0 x30 model 不为零时显示系统设置 model 为 1 时 time 闪烁 按下模式键后进入时间调整 void model1 判断 ID 的值来显示项目 OutputInformation 0 0 0 x20 OutputInformation 14 0 0 x20 不显示 OutputInformation 15 0 0 x20 OutputInformation 1 0 0 x20 DisplayListChar 2 0 systemp 第一行显示 system setup if id 0 为 0 时显示 TIME date lalcak 中国计量学院现代科技学院本科毕业设计 论文 40 OutputInformation 9 1 0 x20 不显示 OutputInformation 4 1 0 x20 不显示 OutputInformation 15 1 0 x20 不显示 DisplayListChar 5 1 DATE 显示 date DisplayListChar 10 1 alarmclock 显示 lalcak if a 1 OutputInformation 0 1 0 x20 不显示 OutputInformation 1 1 0 x20 不显示 OutputInformation 2 1 0 x20 不显示 OutputInformation 3 1 0 x20 不显示 else DisplayListChar 0 1 TIMER 显示 time else id 不为零进入时间 调整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金融行业数据分析师面试模拟题及策略分析
- 2025年心理咨询师资格认证模拟题及参考答案
- 2025年电子商务师高级考试试题及解析与答案
- 2025年交通安全问答试题及答案
- 2025年轨道交通调度员(技师)职业技能鉴定考试题库及答案(浓缩50题)
- 2025注册验船师资格考试(B级船舶检验法律法规)模拟试题及答案一
- 2025年能源资源管理与可持续发展考题及答案
- 桃花源记课件深圳
- 陕西省四校联考2026届化学高一第一学期期中调研试题含解析
- 桃源消防知识培训讲座课件
- 生物化学英文版课件:Chapter 7 Carbohydrates Glycobiology
- 走进奇妙的几何世界
- 飞虎队精神将永远留在这里
- 湘教版九年级美术教学计划(三篇)
- 紧急宫颈环扎术的手术指征及术后管理-课件
- “三重一大”决策 标准化流程图 20131017
- Cpk 计算标准模板
- 信息科技课程标准新课标学习心得分享
- 环保与物业公司合作协议
- FZ/T 01057.2-2007纺织纤维鉴别试验方法 第2部分:燃烧法
- 面条制品-课件
评论
0/150
提交评论