基于单片机的数字时钟设计毕业论文.doc_第1页
基于单片机的数字时钟设计毕业论文.doc_第2页
基于单片机的数字时钟设计毕业论文.doc_第3页
基于单片机的数字时钟设计毕业论文.doc_第4页
基于单片机的数字时钟设计毕业论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

摘摘 要要 本设计基于单片机技术原理 以单片机芯片 AT89C51 作为核心控制器 通过硬件 电路的制作以及软件程序的编制 设计了多功能数字时钟系统 该时钟系统主要由时 钟模块 环境温度检测模块 液晶显示模块以及键盘控制模块组成 系统具有简单清 晰的操作界面 能在 4V 7V 直流电源下正常工作 能够准确显示时间 显示格式为 时时 分分 秒秒 24 小时制 可随时进行时间调整 具有闹钟时间设置 闹钟开 关 止闹功能 能够对时钟所在的环境温度进行测量并显示 设计以硬件软件化为指 导思想 充分发挥单片机功能 大部分功能通过软件编程来实现 电路简单明了 系 统稳定性高 同时 该时钟系统还具有功耗小 成本低的特点 具有很强的实用性 由于系统所用元器件较少 单片机所被占用的 I O 口不多 因此系统具有一定的可扩 展性 关键词 LCD 显示 单片机 时钟芯片 DS1302 温度传感器 DS18B20 A Ab bs st tr ra ac ct t This design principle based on SCM technology to a central controller AT89C51 Microcontroller through hardware design and preparation software program designed to produce a multi functional digital clock system The clock system is composed of clock module alarm module the ambient temperature detection module liquid crystal display module keyboard control module and the signal prompt module System is simple and clear interface can 4V 7V DC power supply to work Able to accurately display time display format is hh mm seconds seconds 24 hour clock the time may be adjusted at any time with the alarm time set alarm on off alarm function only can the clock where the ambient temperature measurement and displayed Into hardware and software design guidelines and give full play MCU functions most of the functionality through software programming to implement simple circuit high stability of the system Meanwhile the clock system also has low power consumption and low cost and highly practical As the system uses fewer components single chip occupied by the I O port small so the system has some scalability Key words LCD display SCM DS1302 DS18B20 目目 录录 1 绪论 1 1 1 课题的提出及研究意义 1 1 2 数字时钟的发展现状 2 1 3 课题研究目的和研究内容 5 2 多功能数字时钟硬件设计 5 2 1 主控制模块 6 2 2 显示模块 9 2 3 时钟模块 11 2 4 温度模块 15 2 5 电源转换模块 17 2 6 本章小结 18 3 电路仿真与制作 18 3 1 电路仿真 18 3 2 电路板制作 19 3 3 本章小结 19 4 软件设计部分 20 4 1 时钟程序的设计 20 4 2 DS18B20 芯片程序设计 20 4 3 本章小结 21 5 总结 21 参考文献 23 致 谢 24 附录 25 1 1 绪论绪论 人类的生活和工作均离不开时钟 从古代的滴漏更鼓到近代的机械钟 从电子 表到目前的数字时钟 为了准确的测量和记录时间 人们一直在努力改进着计时工 具 钟表的数字化 大力推动了计时的精确性和可靠性 1 11 1 课题的提出及研究意义课题的提出及研究意义 1 1 11 1 1 课题的提出课题的提出 近些年 随着科技的发展和社会的进步 人们对数字钟的要求也越来越高 传 统的时钟已不能满足人们的要求 多功能数字钟不管在性能还是在样式上都发生了 质的变化 有电子闹钟 数字闹钟等等 数字钟成为人们日常生活中不可少的必 1 需品 由于数字集成电路的发展和石英晶体振荡器的广泛应用 使得数字钟的精度 远远超过老式钟表 钟表的数字化给人们生产生活带来了极大的方便 在日常生活和工作中 我们常常用到定时控制 如扩印过程中的曝光定时等 早期常用的一些时间控制单元都使用模拟电路设计制作的 其定时准确性和重复精 度都不是很理想 现在基本上都是基于数字技术的新一代产品 随着单片机性能价 格比的不断提高 新一代产品的应用也越来越广泛 大可构成复杂的工业过程控制 系统 完成复杂的控制功能 小则可以用于家电控制 甚至可以用于儿童电子玩具 它功能强大 体积小 质量轻 灵活好用 配以适当的接口芯片 可以构造各种各 样 功能各异的微电子产品 2 随着电子技术的飞速发展 家用电器和办公电子设备逐渐增多 不同的设备都 有自己的控制器 使用起来很不方便 根据这种实际情况 设计了一个单片机多功 能数字时钟 它可以避免多种控制器的混淆 利用一个控制器对多路电器进行控制 同时又可以进行时钟校准和定点打铃 它可以执行不同的时间表 考试时间和日 3 常作息时间 的打铃 可以任意设置时间 这种具有人们所需要的智能化特性的产 品减轻了人的劳动 扩大了数字化的范围 为家庭数字化提供了可能 电子钟是一种利用数字电路来显示秒 分 时的计时装置 与传统的机械钟相 比 它具有走时准确 显示直观 无机械传动装置等优点 因而得到广泛应用 随 着人们生活环境的不断改善和美化 在许多场合可以看到数字电子钟 在城市的主 要营业场所 车站 码头等公共场所使用 LCD 数字电子钟已经成为一种时尚 但目 前市场上各式各样的 LCD 数字电子钟大多数用全硬件电路实现 电路结构复杂 功 率损耗大等缺点 因此有必要对数字电子钟进行改进 1 1 21 1 2 课题研究的意义课题研究的意义 多功能数字时钟的用途十分广泛 只要有计时的存在 便要用到数字时钟的原 理及结构 同时在日期中 它以其小巧 价格低廉 走时精度高 使用方便 功能 多 便于集成化而受广大消费者的喜爱 随着人类科技文明的发展 人们对于时钟 的要求在不断提高 时钟已不仅仅被看出一种用来显示时间的工具 在很多实际 4 应用中它还需要能够实现更多其它的功能 高精度 多功能 小体积 低功耗 是 现代时钟发展的趋势 在这种趋势下 时钟的数字化 多功能化已经成为现在时钟 生产研究的主导设计方向 1 21 2 数字时钟的发展现状数字时钟的发展现状 几种常用数字时钟设计方案 一 基于微机系统的数字时钟设计 计时单元由定时 计数器 8253 的通道 0 来实现 定时采用硬件计数和软件技术 相结合的方式 即通过 8253 产生一定的定时时间 然后再利用软件进行计数 从而 实现 24 小时制定时 8253 定时时间到了之后产生中断信号 8253 在中断服务程序 中实现时 分 秒的累加 时间显示采用实验平台上的 6 个 LED 数码管分别显示时 分 秒 采用动态扫 描方式实现 校时和闹铃定时通过键盘电路和单脉冲产生单元来输入 按键包括校时键 闹 钟定时键 加 1 键和减 1 键等 报警声响用蜂鸣器产生 将蜂鸣器接到 8255 的一个端口 通过输出电平的高低 来控制蜂鸣器的发声 系统硬件设计主要利用微机实验平台上的电路模块 硬件电路主要由键盘电路 单脉冲产生单元 8253 定时计数器 8255 并行接口单元 8259 中断控制器 LED 显示电路和蜂鸣器电路等等 系统的硬件电路设计框图如图 1 所示 图 1 1 基于微机系统的数字时钟设计框图 二 基于 VHDL 的数字时钟设计 基于 VHDL 语言 用 Top Down 的思想进行设计 用 CN6 无进位六进制计数器选择数码管的亮灭以及对应的数 循环扫描显示 用 SEL61 六选一选择器选择给定的信号输出对应的数送到七段码译码器 K4 模块 进行复位 设置小时和分 输出整点报时信号和时 分 秒信号 单元模块设计部分 对应的数模 块 CN6 信号选择模 块 SEL61 七段码译码 器模块 DISP 图 1 2 基于 VHDL 数字时钟的设计模块 单元模块设计部分分三个部分 介绍数字钟选择显示数码管和对应的数模块 CN6 信号选择模块 SEL61 七段码译码器模块 DISP 和复位 秒 分 时显示 设置 模块 三 基于单片机数字时钟设计 基于单片机的数字时钟设计是模块化设计 以单片机做主控制模块 控制时钟 芯片 温度传感器芯片等 又将数据控制输出到显示模块 基于 MCS 51 单片机的数字时钟系统具有显示准确 直观 易于调整等特点 单 片机自诞生以来给全世界人类的生活和工作起到了剧烈的变化 而MCS 51 单片机 是我国使用最早 最易掌握和应用的一款单片机 通过该系统的设计 对单片机的 原理和功能有个比较系统和全面的掌握 初步学习到有关工程设计的方法和思路 这样以后的就业面会更加宽广 也可以满足当今社会对单片机开发人才的大量需求 5 目前单片机渗透到我们生活的各个领域 几乎很难找到哪个领域没有单片机的 踪迹 导弹的导航装置 飞机上各种仪表的控制 计算机的网络通讯与数据传输 工业自动化过程的实时控制和数据处理 广泛使用的各种智能 IC 卡 录象机 摄 象机 以及程控玩具 电子宠物等等 这些都离不开单片机 更不用说自动控制领 域的机器人 智能仪表 医疗器械了 因此 单片机的学习 开发与应用将造就一 批计算机应用与智能化控制的科学家 工程师 单片机在多功能数字钟中的应用已 是非常普遍的 人们对数字钟的功能及工作顺序都非常熟悉 但是却很少知道它的 内部结构以及工作原理 由单片机作为数字钟的核心控制器 可以通过它的时钟信 号进行时实现计时功能 将其时间数据经单片机输出 利用显示器显示出来 通过 键盘可以进行定时 校时功能 输出设备显示器可以用液晶显示技术和数码管显示 技术 1 31 3 课题研究目的和研究内容课题研究目的和研究内容 1 3 11 3 1 课题研究目的课题研究目的 日常生活中人们离不开时钟 本文介绍是基于单片机的多功能数字时钟 在传统 的时钟基础上它具有走时准确 显示直观 无机械传动装置等优点 随着电子产业的 发展 时钟的数字化 多功能化已经成为现在时钟生产研究的主导设计方向 1 3 21 3 2 课题研究内容课题研究内容 采用模块设计法完成多功能数字时钟的设计 基本功能是时钟显示 能准确显示 时 分 秒 并具有快速校准时 分 秒的功能 时钟显示同时具有实时温度 显示 扩展功能有具整点报时功能以及闹钟功能 2 2 多功能数字时钟硬件设计多功能数字时钟硬件设计 基于单片机的多功能数字时钟的设计 单片机芯片作为控制系统的核心部件 它除了具备微机 CPU 的数值计算功能外 还具有灵活强大的控制功能 以便实时检 测系统的输入量 控制系统的输出量 实现自动控制 在本次设计中采用单片机技 术来实现数字钟的功能 方案的设计可以从以下几个方面来确定 微处理器的选择 AT89S51 是 2003 年 ATMEL 推出的新型品种 除了完全兼容 8051 外 还多了 ISP 编 程和看门狗功能 显示电路的设计 随着科技的发展 液晶显示的使用越来越方便 已被普遍的使用 由于液晶显示与驱动都集成在一个芯片上 因此使用起来很方便 在这里采用液晶显示 校时和定时电路的设计 实时控制电路是时钟电路的一个重 要组成部分 采用的是一个时钟芯片 单片机从中读取数据送到显示器上显示 从 而实现数字钟的功能 还有一些其他控制电路如复位电路 时钟电路等 通过这些 控制电路的连接构成了完整的电路 按照系统设计功能的要求 初步确定设计系统由电源转换模块 主控制模块 时钟及温度模块 显示模块 键盘接口模块共 5 个模块组成 电路系统构成框图如 图 2 1 所示 电源模块 DS1302 89C51 主控制模块 键扫描电路 显示电路 DS18B20 图 2 1电路系统构成框图 2 12 1 主控制模块主控制模块 在本次设计中采用单片机技术来实现数字钟的功能 方案的设计可以从以下几 个方面来确定 微处理器的选择 AT89S51 是 2003 年 ATMEL 推出的新型品种 除了 完全兼容 8051 外 还多了 ISP 编程和看门狗功能 89C51 是一种带 4K 字节闪烁可 编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS8 位微处理器 俗称单片机 89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机 单片机的可擦除只读存储器可以反复 擦除 100 次 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存储器组合在单个 芯片中 ATMEL 的 89C51 是一种高效微控制器 89C51 是它的一种精简版本 89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 2 1 12 1 1 AT89C51AT89C51 单片机的单片机的特性概述特性概述 主要特性 与 MCS 51 兼容 4K 字节可编程闪烁存储器 寿命 1000 写 擦循环 数据保留时间 10 年 全静态工作 0Hz 24Hz 三级程序存储器锁定 128 8 位内部 RAM 32 可编程 I O 线 两个 16 位定时器 计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 图 2 2 AT89C51 引脚图 2 1 22 1 2 AT89C51AT89C51 管脚说明管脚说明 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收 输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外 部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在FLASH 编程和校验 时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输 出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输 入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部上拉 的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地 址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编 程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下表所示 管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平 时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地 位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的 频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出 的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一 个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执 行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外 部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器 周期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不 出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 8 2 22 2 显示模块显示模块 随着科技的发展 液晶显示的使用越来越方便 已被普遍的使用 所以本次设计 采用液晶显示 液晶显示的原理是利用液晶的物理特性 通过电压对其显示区域进行 控制 有电就有显示 这样即可以显示出图形 液晶显示器具有厚度薄 适用于大规 模集成电路直接驱动 易于实现全彩色显示的特点 目前已经被广泛应用在便携式电 脑 数字摄像机 PDA 移动通信工具等众多领域 由于液晶显示与驱动都集成在一个芯片上 因此使用起来很方便 数字钟要显示 现在的日历时间包括年 月 日 星期 时 分 秒 在这里采用 1602LCD 液晶显示 2 2 12 2 1 1602LCD1602LCD 显示器的结构显示器的结构 1 1602LCD 主要技术参数 显示容量为 16 2 个字符 芯片工作电压为 4 5 5 5V 工作电流为 2 0mA 5 0V 字符尺寸为 2 95 4 35 W H mm 2 接口 信号说明 1602LCD 采用标准的 16 引脚 带背光 接口 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2Date I O 2VDD 电源正极 10D3Date I O 3VL 液晶显示偏压信号 11D4Date I O 4RS 数据 命令选择端 V L 12D5Date I O 5R W 读 写选择端 H L 13D6Date I O 6E 使能信号 14D7Date I O 7D0Date I O15BLA 背光源正极 8D1Date I O16BLK 背光源负极 图 2 3 1602 液晶接口引脚定义 1 2 组电源 一组是模块的电源 一组是背光板的电源 均为 5V 供电 2 VL 是调节对比度的引脚调节此脚上的电压可以改变黑白对比度 3 RS 是很多液晶上都有的引脚 是命令 数据选择引脚 该脚电平为高时表示 将进行数据操作 为低时表示进行命令操作 4 RW 也是很多液晶上都有的引脚 是读写选择端 该脚电平为高是表示要对液 晶进行读操作 为低时表示要进行写操作 5 E 同样很多液晶模块有此引脚 通常在总线上信号稳定后给一正脉冲通知把 数据读走 在此脚为高电平的时候总线不允许变化 6 D0 D7 8 位双向并行总线 用来传送命令和数据 7 BLA 是背光源正极 BLK 是背光源负极 9 2 2 22 2 2 1602LCD1602LCD 数据原理数据原理 读状态输入RS L R W H E H输出D0 D7 状态字 写指令输入RS L R W L D0 D7 指令码 E 高 脉冲 输出无 读数据输入RS H R W H E H输出D0 D7 数据 写数据输入RS H R W L D0 D7 数据 E 高脉 冲 输出无 图 2 4 1602LCD 基本操作时序 1602LCD 的指令码 命令码 此液晶上电的时候需要初始化典型的指令码是 38H 也就是上电的时候需要 调用 void write cmd unsigned char command 这个函数写指令码 用法是 write cmd 0 x38 执行完这个函数可以把液晶初始化成 16x2 显示 5x7 的点阵 8 位总线接口 以下指令码用法相同 此液晶支持的指令码有 指令码功能 00111000 设置 16 2 显示 5 7 点陈 8 位数据接口 第一行指令主要能完成的功能是 控制液晶显示否 光标显示否 光标闪烁否 共有以下 8 种指令 0000100008H 关液晶显示 光标不闪烁 不显示光标位置 0000100109H 关液晶显示 光标不闪烁 显示光标位置 000010100AH 关液晶显示 光标不闪烁 不显示光标位置 000010110BH 关液晶显示 光标不闪烁 显示光标位置 000011000CH 开液晶显示 光标不闪烁 不显示光标位置 000011010DH 开液晶显示 光标不闪烁 显示光标位置 000011100EH 开液晶显示 光标不闪烁 不显示光标位置 000011110FH 开液晶显示 光标不闪烁 显示光标位置 第二行指令主要能完成的功能是写完字符 光标或屏幕移动方向 指令码功能 80H 地址码 0 27H 40H 67H 设置数据地址指针 2 2 2 2 3 3 显显示示模模块块的的数数据据连连接接 1602LCD 的 D0 D7 的八位数据线分别接单片机 89C51 的 P0 0 P0 7 RS 复位端接 P2 0 EN 使能端接 P2 2 读 写信号端接 P2 1 图 2 5 显示模块的数据连接图 2 32 3 时钟模块时钟模块 单片机控制时钟模块 定时时间 它通常有两种实现方法 一是用软件实现 即用单片机内部的可编程定时 计数器来实现 但误差很大 主要用在对时间精度要 求不高的场合 二是用专门的时钟芯片实现 在对时间精度要求很高的情况下 通 常采用这种方法 典型的时钟芯片有 DS1302 DS12887 X1203 等都可以满足高精 度的要求 本次设计采用 DS1302 芯片 2 3 12 3 1 DS1302DS1302 的性能特性的性能特性 1 实时时钟 可对秒 分 时 日 周 月以及带闰年补偿的年进行计数 2 用于高速数据暂存的 31 8 位 RAM 3 最少引脚的串行 I O 4 2 5 5 5V 电压工作范围 5 用于时钟或 RAM 数据读 写的单字节或多字节 脉冲方式 数据传送方式 6 简单的 3 线接口 7 可选的慢速充电 至 Vcc1 的能力 DS1302 时钟芯片包括实时时钟 日历和 31 字节的静态 RAM 它经过一个简单的 串行接口与微处理器通信 实时时钟 日历提供秒 分 时 日 周 月和年等信息 对于小于 31 天的月和月末的日期自动进行调整 还包括闰年校正的功能 时钟的运 行可以采用 24h 或带 AM 上午 PM 下午 的 12h 格式 采用三线接口与 CPU 进 行同步通信 并可采用突发方式一次传送多个字节的时钟信号或RAM 数据 DS1302 有主电源 后备电源双电源引脚 Vcc1 在单电源与电池供电的系统中提供电源 并 提供低功率的电池备份 Vcc2 在双电源系统中提供主电源 在这种运用方式中 Vcc1 连接到备份电 以便在没有主电源的情况下能保存时间信息以及数据 DS1302 由 Vcc1 或 Vcc2 中较大者供电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 10 2 3 22 3 2 DS1302DS1302 数据操作原理数据操作原理 DS1302 在任何数据传送时必须先初始化 把 RST 脚置为高电平 然后把 8 位 地址和命令字装入移位寄存器 数据在 SCLK 的上升沿被输出 无论是读周期还是 写周期 开始 8 位指定 40 存器中哪个将被访问到 在开始 8 个时钟周期 把命令 字节装入移位寄存器之后 另外的始终周期在读操作时输出数据 在写操作时写入 数据 时钟脉冲的个数在单字节方式下为 8 加 8 在多字节方式下为 8 加字节数 最大可达 248 字数 如果在传送过程中置 RST 脚为低电平 则会中止本次数据传送 并且 I O 引 脚变为高阻态 上电运行时 在 Vcc 2 5V 之前 RST 脚必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 DS1302 的引脚和控制字如图 2 6 所示 图 2 6 DS1302 的控制字 DS1302 的控制字如图 2 6 所示 控制字节的最高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把数据写入到 DS1302 中 位 6 如果为 0 则表示存取日历 时钟数据 为 1 表示存取 RAM 数据 位 5 1 A4 A0 指示操作单元的地址 最低 有效位 位 0 如为 0 表示要进行写操作 为 1 表示进行读操作 控制字节总是 从最低位开始输入 输出 为了提高对 32 个地址的寻址能力 地址 命令位 1 5 逻辑 1 可以把时钟 日历或 RAM 寄存器规定为多字节 burst 方式 位 6 规定时钟或 RAM 而位 0 规 定读或写 在时钟 日历寄存器中的地址 9 31 或 RAM 寄存器中的地址 31 不能存储 数据 在多字节方式中 读或写从地址 0 的位 0 开始 必须按数据传送的次序写最 先的 8 个寄存器 但是 当以多字节方式写 RAM 时 为了传送数据不必写所有 31 字节 不管是否写了全部 31 字节 所写的每一字都将传送至 RAM DS1302 的引脚功能图 引脚号引脚名称功能 1Vcc2 主电源 2 3X1 X2震荡源 外接 32 768kHz 晶振 4GND 地线 5RST 复位 片选线 6I O 串行数据输入 输出端 双向 7SCLK 串行数据输入端 8Vcc1 后备电源 图 2 7 DS1302 引脚功能 DS1302 共有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数据 位为 BCD 码形式 其日历 时间寄存器及其控制字见 图 2 8 其中奇数为读操作 偶数为写操作 时钟暂停 秒寄存器的位 7 定义位时钟暂停位 当它为 1 时 DS1302 停止振荡 进入低功耗的备份方式 通常在对 DS1302 进行写操作时 如进入时钟调整程序 停止振荡 当它为 0 时 时钟将开始启动 AM PM 12 24 小 时方式 小 时寄存器的位 7 定义为 12 或 24 小 时方式选择 位 它为高电平时 选择 12 小 时方式 在此方式下 位 5 是 AM PM 位 此位是高 电平时表示 PM 低电平表示 AM 在 24 小 时方式下 位 5 为第二个 10 小 时位 20 23h 命令字节寄存器内容 寄存器名 写读 取值范围 76543 2 1 0 秒寄存器 80H81H 00 59 CH10sSEC 分寄存器 82H83H 00 59 010minMIN 小 时寄存 器 84H85H 00 23 或 01 12 12 24010A PHRHR 日期寄存器 86H87H 01 28 29 30 31 0010DATEDATE 月份寄存器 88H89H 01 12 00010 M MONTH 周寄存器 8AH8BH 01 07 00000DAY 年寄存器 8CH8DH 00 99 10YEARYEAR 图 2 8 内部寄存器地址和内容 DS1302 的晶振选用 32 768kHz 电容推荐值为 6pF 因为振荡频率较低 也可 以不接电容 对记时精度影响不大 2 2 3 33 3 时钟模块的数据连接时钟模块的数据连接 设计中时钟模块 DS1302 的 X1 X2 间接晶振起时钟振荡作用 复位端 RST 接 89C51 的 P1 5 串行数据输入端 SCLK 接 P1 6 数据双向输入 输出端 I O 接 P1 7 图 2 9 时钟模块的数据连接 2 42 4 温度模块温度模块 多功能数字时钟拥有实时温度显示功能 由单片机将温度传感器数据控制输出 由液晶显示 本次设计采用温度传感器是 DS18B20 2 4 12 4 1 DS18B20DS18B20 的性能特性的性能特性 1 1 独特的单线接口方式 DS18B20 在与微处理器连接时仅需要一条口线即可实 现微处理器与 DS18B20 的双向通讯 1 2 测温范围 55 125 固有测温分辨率 0 5 1 3 支持多点组网功能 多个 DS18B20 可以并联在唯一的三线上 最多只能并联 8 个 如果数量过多 会使供电电源电压过低 从而造成信号传输的不稳定 实现多 点测温 1 4 工作电源 3 5V DC 1 5 在使用中不需要任何外围元件 1 6 测量结果以 9 12 位数字量方式串行传送 1 7 不锈钢保护管直径 6 1 8 适用于 DN15 25 DN40 DN250 各种介质工业管道和狭小空间设备测温 1 9 标准安装螺纹 M10X1 M12X1 5 G1 2 任选 1 10 PVC 电缆直接出线或德式球型接线盒出线 便于与其它电器设备连接 2 应用范围 2 1 该产品适用于冷冻库 粮仓 储罐 电讯机房 电力机房 电缆线槽等测温 和控制领域 2 2 轴瓦 缸体 纺机 空调 等狭小空间工业设备测温和控制 2 3 汽车空调 冰箱 冷柜 以及中低温干燥箱等 2 5 供热 制冷管道热量计量 中央空调分户热能计量和工业领域测温和控制 3 产品型号与规格 型 号 测温范围 安装螺纹 电缆长度 适用管道 TS 18B20 55 125 无 1 5 m TS 18B20A 55 125 M10X1 1 5m DN15 25 TS 18B20B 55 125 1 2 G 接线盒 DN40 60 11 2 4 22 4 2DS18B20DS18B20 数据操作原理数据操作原理 DS18B20 的引脚功能图 引脚引脚符号说明 51GND 地 42DQ 单线应用的输入 输出引脚 33VDD 电源 图 2 8 DS18B20 的引脚功能 独特的一线接口 只需要一条口线通信 多点能力 简化了分布式温度传感应用 无需外部元件 可用数据总线供电 电压范围为 3 0 V 至 5 5 V 无需备用电源 测量温 度范围为 55 至 125 温度传感器可编程的分辨率为 9 12 位 温度转换为 12 位数字格式最大值为 750 毫 秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制 工业系统 消费电 子产品温度计 或任何热敏感系统 描述该 DS18B20 的数字温度计提供 9 至 12 位 可编程设备温度读数 信息被发送 到 从 DS18B20 通过 1 线接口 所以中央微处理器与 DS18B20 只有一个一条口线连接 为读写以及温度转换可以从数据线本身获得能量 不需要外接电源 因为每一个 DS18B20 的包含一个独特的序号 多个 ds18b20s 可以同时存在于一条总线 这使得温 度传感器放置在许多不同的地方 它的用途很多 包括空调环境控制 感测建筑物内 温设备或机器 并进行过程监测和控制 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 非挥发的温 度报警触发器 TH 和 TL 配置寄存器 该装置信号线高的时候 内部电容器 储存能量 通由 1 线通信线路给片子供电 而且在低电平期间为片子供电直至下一个高电平的到 来重新充电 DS18B20 的电源也可以从外部 3V 5 5V 的电压得到 DS18B20 采用一线通信接口 因为一线通信接口 必须在先完成 ROM 设定 否则 记忆和控制功能将无法使用 主要首先提供以下功能命令之一 1 读 ROM 2 ROM 匹配 3 搜索 ROM 4 跳过 ROM 5 报警检查 这些指令操作作用在没 有一个器件的 64 位光刻 ROM 序列号 可以在挂在一线上多个器件选定某一个器件 同 时 总线也可以知道总线上挂有有多少 什么样的设备 若指令成功地使 DS18B20 完成温度测量 数据存储在 DS18B20 的存储器 一个控 制功能指挥指示 DS18B20 的演出测温 测量结果将被放置在 DS18B20 内存中 并可以 让阅读发出记忆功能的指挥 阅读内容的片上存储器 温度报警触发器 TH 和 TL 都有 一字节 EEPROM 的数据 如果 DS18B20 不使用报警检查指令 这些寄存器可作为一般 的用户记忆用途 在片上还载有配置字节以理想的解决温度数字转换 写 TH TL 指令 以及配置字节利用一个记忆功能的指令完成 通过缓存器读寄存器 所有数据的读 写都是从最低位开始 DS18B20 有 4 个主要的数据部件 1 光刻 ROM 中的 64 位序列号是出厂前被光刻好的 它可以看作是该 DS18B20 的地址序列码 64 位光刻 ROM 的排列是 开始 8 位 28H 是产品类型标号 接着的 48 位是该 DS18B20 自身的序列号 最后 8 位是前面 56 位的循环冗余校验码 CRC X8 X5 X4 1 光刻 ROM 的作用是使每一个 DS18B20 都各不相同 这样就可以实 现一根总线上挂接多个 DS18B20 的目的 2 DS18B20 中的温度传感器可完成对温度的测量 以 12 位转化为例 用 16 位符号扩展的二进制补码读数形式提供 以 0 0625 LSB 形式表达 其中 S 为符号 2 4 32 4 3 温度模块的数据连接温度模块的数据连接 在设计中 温度传感器 DS18B20 的数据端口 DQ 与单片机 89C51 的 P3 0 单片机 读取数据送入显示模块进行温度显示 图 2 10 温度模块及键盘接口模块连接图 2 52 5 电源转换模块电源转换模块 日常用到的都是 220V 的交流电源 所以 需要用变压器将其转换为线路设计中 所用到的直流电源 此转换后的直流电源为 12V 而线路设计中许多芯片所用到的 电压为 5V 因此 还需有 12V 到 5V 的转换电路 此转换采用 7805 三端稳压器 来 完成 转换图如下 图 2 11 7805 电压转换电路 当 Vin 5V 时 Vout端可得到稳定的 5V 电压 2 62 6 本章小结本章小结 本章通过对设计思想的介绍 分别对主控制模块 显示模块 时钟模块 温度 模块以及电源转换模块 的设计原理进行分析阐述 对 各模块所需的芯片 元器件进 行介绍 3 3 电路仿真与制作电路仿真与制作 3 13 1电路仿真电路仿真 电路图的绘制通过 Proteus7 4 完成 Proteus 的 ISIS 是一款 Labcenter 出品 的电路分析实物仿真系统 可仿真各种电路和 IC 并支持单片机 元件库齐全 使 用方便 是不可多得的专业的单片机软件仿真系统 该软件的特点 全部满足我们提出的单片机软件仿真系统的标准 并在同类产品中具有明显 的优势 具有模拟电路仿真 数字电路仿真 单片机及其外围电路组成的系统的仿真 RS 232 动态仿真 C 调试器 SPI 调试器 键盘和 LCD 系统仿真的功能 有各种虚 拟仪器 如示波器 逻辑分析仪 信号发生器等 目前支持的单片机类型有 68000 系列 8051 系列 AVR 系列 PIC12 系列 PIC16 系列 PIC18 系列 Z80 系列 HC11 系列以及各种外围芯片 支持大量的存储器和外围芯片 总之该软件是一款集单片机和 SPICE 分析 于一身的仿真软件 功能极其强大 可仿真 51 AVR PIC 根据本设计模块化思想 绘制电路图如图 3 1 图 3 1 多功能数字时钟电路图 3 23 2电路板制作电路板制作 Proteus 组合了高级原理布图 混合模式 SPICE 仿真 PCB 设计以及自动布线来实 现一个完整的电子设计系统 因此用 Proteus 制作 PCB 板 完成后将芯片焊接到对应 的位置上 检查线路 看是否焊接出现短路情况 3 33 3本章小结本章小结 本章主要介绍本次设计中在 Proteus 软件中进行的电路图的绘制 软件的仿真 PCB 板的制作 4 4 软件设计部分软件设计部分 本次设计用 Keil 编程软件进行软件设计 Keil 软件是目前最流行的开发 MCS 51 系列单片机软件 近年来各仿真机厂商纷纷宣布全面支持 Keil Keil 提供了包括 C 编 译器 宏汇编 连接器 库管理和仿真调试器在内的完整开发方案 通过集成开发环 境将这些部分组合在一起 Keil 支持汇编语言和 C 语言的程序设计 易学易用 4 14 1 时钟程序的设计时钟程序的设计 因为使用了时钟芯片 DS1302 阳历程序只需要从 DS1302 各寄存器中读出年 周 月 日 小时 分 秒等数据 再处理既可 对 其进行初始化 然后从 DS1302 中读出数据 再经过处理后 送给显示缓存单元 时钟程序流程图见图 4 1 所示 开始 初始化 1302 1302 开始振荡 从 1302 中读出年 周 月 日 小时 分 秒 读出的数据都为 BCD 码 送显示模 块 图 4 1 时钟程序流程图 4 24 2 DS18B20DS18B20 芯片程序设计芯片程序设计 系统程序的设计主要包括 C 程序主函数 DS18B20 复位函数 DS18B20 写字节 函数 DS18B20 读字节函数 温度计算转换函数和显示函数等 系统主程序设计流程图 如图 4 2 所示 开始 初始显示 读取温度值 发 温度转换命令 读出温度值计算 处理 送显示模 块 图 4 2 DS18B20 芯片程序流程图 4 34 3 液晶程序模块液晶程序模块 时钟需显示时间 温度 以上两个模块都需将数值送显示模块 液晶的一般初始化过程 延时 15mS 写指令 38H 不检测忙信号 延时 5mS 写指令 38H 不检测忙信号 延时 5mS 写指令 38H 不检测忙信号 以后每次写指令 读 写数据操作均需要检测忙信号 写指令 38H 显示模式设置 写指令 08H 显示关闭 写指令 01H 显示清屏 写指令 06H 显示光标移动设置 写指令 0CH 显示开及光标设置 void en toggle en 0 nop delay en 1 delay nop en 0 液晶延时 4 44 4 本章小结本章小结 本章介绍了本次设计的软件部分的设计思想 即时钟程序与温度转换显示程序 5 5 总总结结 本设计能够准确显示时间 显示格式为时时 分分 秒秒 24 小时制 可随 时进行时间调整 具有闹钟时间设置 闹钟开 关 止闹功能 能够对时钟所在的 环境温度进行测量并显示 设计以硬件软件化为指导思想 充分发挥单片机功能 大部分功能通过软件编程来实现 电路简单明了 系统稳定性高 基于单片机的数字时钟系统具有显示准确 直观 易于调整等特点 单片机所 被占用的 I O 口不多 因此系统具有一定的可扩展性 电子时代已经到来 做为新 时代的我们 更应该提高自身能力 适应新时代的发展 知识来自实践 多去生活 中探询所需要的 对于上述所提到的研究课题 我们应尽量考虑到人的因素 增强 时钟的实用性和操作性 为使用者提供切实的方便 营造一种舒适的生活氛围 所 以 在设计的时候 应该从多方面 多角度去考虑问题 而且应该进一步提高时钟 的质量 参考文献 1 刘建英 基于单片机的时钟设计 J 内蒙古石油化工 2005 1 2 余永权 ATMEL89 系列单片机应用技术 北京航空航天大学出版社 2002 3 李广弟等 单片机基础 北京航空航天大学出版社 2001 4 郁有文 常健 程继红 传感器原理及工程应用 M 西安 西安电子科技大学出版 社 2008 7 5 张韵华 符号计算系统 Mathematica 教程 M 北京 科学出版社 2001 6 张国营 陈缔缨 传感器实验指导书 M 徐州 中国矿业大学物理实验中心 2008 7 张晔 王玉民 单片机应用技术 M 高等教育出版社 2006 8 AT89C51 Datasheet ATMEL 2004 9 LCD1602 Datasheet www 21IC com 10 DS1302 Datasheet DALLAS Semiconductor 2004 11 DS18B20 Datasheet DALLAS Semiconductor 2004 12 李光飞 单片机 C 程序设计实例指导 M 北京 航空航天大学业出版社 2005 13 楼燃苗 李光飞 51 系列单片机设计实例 M 北京 航空航天大学业出版社 2003 14 马忠梅等 单片机的 C 语言应用程序设计 M 北京 航空航天大学业出版社 1999 15 赖麒文 8051单片机C语言彻底应用 M 北京 科学业出版社 2002 致 谢 首先 感谢学校四年来对我的培养 本课题的前期准备以及整个研究过程是在 孙艳菱老师的耐心指导下完成的 她严谨的治学态度 扎实的理论基础 全身心投 入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励 使我受益匪浅 在此谨对他表示崇高的敬意和衷心的感谢 还要衷心感谢其他所有对本课题的研究和论文撰写有过帮助的同学 附附录录 多多功功能能数数字字时时钟钟设设计计程程序序 include include include define uchar unsigned char define uint unsigned int sbit rs P2 0 sbit rw P2 1 sbit en P2 2 sbit reset P1 5 sbit sclk P1 6 sbit io P1 7 sbit DQ P3 0 uint tvalue 温度值 uchar tflag 温度正负标志 unsigned int disdata 4 unsigned char led seg 10 0 xC0 0 xF9 0 xA4 0 xB0 0 x99 0 x92 0 x82 0 xF8 0 x80 0 x90 显示段码 uchar str1 date uchar str2 time uchar init

温馨提示

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

评论

0/150

提交评论