1、1 基于 AVR 单片机万年日历的设计 作者姓名:刘红 专业班级: 2010050102 指导老师:葛良全 摘 要 本设计 采用 ATMEGA16 单片机作为控制核心, DS1302 芯片提供实时时钟数据和断电运行, DS18B20 提供温度数据, ATMEGA16 的片内 EEPROM 提供闹铃 功能,实时时钟数据和温度数据由 LCD1602 显示, 4*4 矩阵按键修改时间和设置闹铃时间,形成可以单独显示时间,温度, 调整 时间,设置闹铃的万年日历。 此万年 日 历 比传统的电子时钟具有显示直观,功能多样等优点,同时提供断电运行,温度显示,闹铃等功能,更加适合日常应用,具有广阔的前景。 关
2、键词 : ATMEGA16, DS1302, DS18B02, LCD1602, 万年日历 2 Design of Permanent Calendar Based AVR Single Chip Microcomputer Abstract: This design using ATMEGA16 microcontroller as the core for the control. DS1302 real time clock chip provides data and power to run, DS18B20 provide temperature information. This
3、 ATMEGA16 chip EEPROM provides alarm function. Real time clock data and temperature data from the LCD1602 display. 4 * 4 matrix keys are used to modify the time and set the alarm time. This permanent calendar can separately display the time and temperature, adjust the time and set the alarm clock. C
4、omparing with traditional electronic clock, the permanent calendar is more intuitively and multifunctional. While providing power to run, temperature display, and alarm function. It is more suitable for everyday use and has broad prospects. Key words: ATMEGA16, DS1302, DS18B02, LCD1602, Permanent Ca
5、lendar 成都理工大学 2014 届学士学位论文 (设计) I 目录 第 1 章 前 言 . 1 1.1 选题研究的意义 . 1 1.2 国内外的研究现状 . 1 1.3 拟解决主要问题 . 1 1.4 主要研究内容 . 1 第 2 章 方案选择和论证 . 2 2.1 单片机的选择与论证 . 2 2.2 显示模块的选择与论证 . 2 2.3 时钟模块的选择与论证 . 3 2.4 温度传感器的选择 . 3 2.5 键盘操作方案的选择 . 3 2.6 总体方案的决定 . 4 第 3 章 系统硬件设计 . 5 3.1 系统主控模块 . 5 3.1.1 ATMEGA16 简介 . 5 3.1.2
6、ATMEGA16 的主要特性 . 5 3.1.3 ATMEGA16 的引脚 . 5 3.2 DS1302 时钟模块 . 6 3.2.1 DS1302 简介 . 6 3.2.2 DS1302 主要特性 . 6 3.2.3 DS1302 引脚 . 6 3.2.4 DS1302 的应用 . 6 3.3 DS18B20 测温模块 . 7 3.3.1 DS18B20 简介 . 7 3.3.2 DS18B20 主要特性 . 7 3.3.3 DS18B20 引脚 . 7 3.3.4 DS18B20 的应用 . 8 3.4 LCD1602 显示模块 . 8 3.4.1 LCD1602 简介 . 8 3.4.2
7、 LCD1602 的主要特性 . 8 3.4.3 LCD1602 引脚 . 8 3.5 键盘接口模块 . 8 3.5.1 矩阵键盘简介 . 9 3.5.2 矩阵键盘的应用 . 9 3.6 闹铃模块 . 9 3.7 系统主电路 . 10 第 4 章 系统软件设计 . 11 4.1 时钟函数 . 12 4.1.1 时钟显示函数 . 12 成都理工大学 2014 届学士学位论文 (设计) II 4.1.2 时钟调整函数 . 12 4.2 温度显示 . 13 4.2.1 温度读取函数 . 13 4.2.2 温度显示函数 . 14 4.3 闹铃函数 . 15 第 5 章 软件调试 . 17 第 6 章
8、硬件调试 . 18 结论 . 22 致谢 . 23 参考文献 . 24 成都理工大学 2014 届学士学位论文 (设计) 1 第 1 章 前 言 1.1 选题研究的意义 万年历从 古 时候 就有,那时被称为 宪书或通书, 人们可以通过查看万年历知晓年,月,日,节气等信息。 近些年来, 单片机的应 用已经深入到工业控制、仪器仪表、汽车电子、家用电器等众多领域,并促进了各个领域的技术进步和发展 1。 所以,将单片机技术应用在时钟系统上,能使时钟系统更加精准,便携,符合日常和专业应用需求 。 1.2 国内外的研究现状 近些年来,多功能电子 时 钟 发生了很大 的变化。 单片机技术在电子时钟中 运用
9、广泛,对 于 电子 时钟 ,人们 非常熟悉。基于单片机的 电子 时钟设计,采用了灵活的编程语言,可以轻松完成 多 数 电子 时钟功能的扩展 2。早期 的 电子 时 钟由单个数码管显示,随着电子科技的发展,数码管渐渐被液晶显示屏 取 代 3。在满足人们的 不同的 需求的同时,其功能更是得到了 极大 地扩展。 电子 时钟的发展进入了一个新的阶段,更直观,功能 多样化 ,更实用的电子 时 钟 更加适合 人们的日常生活。 1.3 拟解决主要问题 近些年来,单片机的发展 非常迅速 , 由于 它集成度高,通用性好,稳定性强,功能多样 的特点 ,已经在工业控制,家用电器,通信设备,信息处理等方面得到了广泛应
10、用4。所以,将单片机技术应用在时钟系统上,能使时钟系统更加精准,便携,符合日常和专业应用需求。 1.4 主要研究内容 采用 ATMEGA16 单片机作为控制核心, DS1302 芯片提供实时时钟数据和断电运行,DS18B20 提供温度数据, ATMEGA16 的片内 EEPROM 提供闹铃功能,实时时钟数据和温度数据由 LCD1602 显示, 4*4 矩阵按键修改时间和设置闹铃时间 。 成都理工大学 2014 届学士学位论文 (设计) 2 第 2 章 方案选择和论证 按照本设计 的功能 ,初步确定系统由主控模块 ,时钟模块,显示模块,测温模块,键盘接口模块,闹铃模块六个模块构 成,系统 组成
11、框图如图 2-1 所示。 图 2-1 系统模块结构 2.1 单片机的选择 与论证 方案一:采用 AT89C51。 AT89C51 是一种带 4K 字节 FLASH 存储器, 128 字节内部 RAM的低电压 ,高性能 CMOS 8 位微处理器。运算速度较高,接口丰富,操作简单 ,技术成熟,成本低廉, 普遍应用在 各个领域 5。 方案二: 采用 ATMEGA16。 ATMEGA16 是 一种 拥有 16K 字节可编程 Flash, 512 字节片内 EEPROM, 及 1K 字节 SRAM 的 低功耗 8 位 CMOS 微控制器 6。 本 设计功能较多,需要较多的 临时 运行 空间 ,程序储存空
12、间, 对 CPU 运算速度要求较高, ATMEGA16 更 加 符合设计要求。 2.2 显示模块的选择 与论证 方案一 :采用 LED 数码管。 LED 数码管价格 便宜 , 容易 操作,功耗低。 方案二 :采用 LCD 液晶显示屏。液晶显示屏的功能强大,像素密度高,能显示大量文字,图形,且无辐射,硬件连接简单 7。 本 设计 功能较多, 显示的内容也 较多,一个 7 段 LED 数码管只能显示一个数字,显 示 的内容较多时 需要 较多的数码管,需要的成本较高 , 制作 硬件电路 时 很难 控制, LCD 液晶显示 屏 更加符合设计 要求 。 主控模块 ATMEGA16 时钟模块 DS1302
13、 显示模块 LCD1602 测温模块 DS18B02 闹铃模块 键盘接口模块 成都理工大学 2014 届学士学位论文 (设计) 3 2.3 时钟 模块 的选择 与论证 方案一:直 接采用单片机内部时钟提供 的 秒 信号。 方案二:采用 DS1302 芯片提供时钟,由单片机读取 DS1302 存储 的时钟数据。 直接 采 用单片机内部时钟 提供的秒信号,能够 简化硬件电路设计, 减少 成本, 但是单片机被复位 或断电 后 时钟 数据会丢失,不 太 适 合 日常生活 实际应用,而 DS1302 芯片可以使用后备电池涓流充电功能 , 为掉电保护电源提供可编程的充电 ,主电源关闭的情况下 时可以 运行
14、, 采用 DS1302 芯片更加符合设计要求。 2.4 温度传感器的选择 方案一: 采用 AD590。 AD590 通过 不同的电流 反应 不同的 温度。能测量 各种 具体的电路,广泛应用于不同的温度控制。 方案二: 采用 DS18B20。 DS18B20 可以通过寄生电源供电,能实现单线多设备的连接,且具 有内部 RAM 进行内部温度转换 , 简化线路设计与控制端的计算需求。 AD590 的电流和温度 的线性相关性容易受到硬件电路的影响,且 将 电流 转换为温度的程序设计复杂, 采用 DS18B20 更加符合设计要求。 2.5 键盘操作方案的选择 方案一: 采 用独立键盘。独立键盘电路配置灵
15、活,操作结构简单。 方案二:采 用矩阵键盘。矩阵键盘 利用行线和列线组成,按键处 于行,列的交叉点上。使用较少的单片机 I/O 口 可以 操作较多的按键,简化电路设计,节约单片机 I/O口。 本 设计功能较多,需要的操作多, 采用 矩阵键盘更 加 符合设计 要求 。 成都理工大学 2014 届学士学位论文 (设计) 4 2.6 总体方案的决定 按照 以上各模块方案, 采用 ATMEGA16 单片机作为控制核心, DS1302 芯片提供实时时钟数据和断电运行, DS18B20 提供温度数据, ATMEGA16 的片内 EEPROM 提供闹铃功能,实时时钟数据和温度数据由 LCD1602 显示,
16、4*4 矩阵按键修改时间和设置闹铃时间。 成都理工大学 2014 届学士学位论文 (设计) 5 第 3 章 系统硬件设计 3.1 系统主控模块 3.1.1 ATMEGA16 简介 ATMEGA16 是 一种 拥有 16K 字节可编程 Flash, 512 字节片内 EEPROM, 及 1K 字节SRAM 的 低功耗 8 位 CMOS 微控制器 8。 3.1.2 ATMEGA16 的主要特性 增强的 AVR RISC 结构 。 32 个 8 位通用工作寄存器 。 单周期指令执行时间 。 1K 字节 的片内 SRAM。 3.1.3 ATMEGA16 的引脚 图 3-1 ATMEGA16 引脚定义
17、成都理工大学 2014 届学士学位论文 (设计) 6 3.2 DS1302 时钟模块 3.2.1 DS1302 简介 DS1302 时钟芯片内含有一个实时时钟和 31 字节静态 RAM, 采用 串行数据传输 , 与单片机之间进行通信仅需用到三个口线 。 DS1302 芯片 可以使用后备电池涓流充电功能 ,主电源关闭的情况下 时可以 运行 9。 3.2.2 DS1302 主要特性 实时时钟 记录秒分小时月星期和年 信息, 具有 闰年补偿 。 宽范围工作电压 : 2.0至 5.5V。 简 单 3 线接口 。 适应工业温度范围: -40至 +85 。 3.2.3 DS1302 引脚 图 3-2 DS1302 引脚定义 3.2.4 DS1302 的应用 DS1302 实时时钟芯片采用串行数据传输,芯片必须外接 32.768KHZ 晶振,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能 10。基于 DS1302 的时钟电路如图3-3 所示 。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。