1、 1 基于 AVR 单片机的数码万年历 Based on single-chip digital calendar of AVR 指导老师 韩丽英 分院:电子工程分院 专 业 通信工程 作者名称 杨文飞 学 号 0632116 2 摘 要 随着科技的快速发展,时间的流逝 ,至从观太阳、摆钟到现在电子钟, 人类不断研究,不断创新纪录。美国 DALLAS 公司推出的具有涓细电流充电能的低功耗实时时钟电路 DS130 。它可以对年、月、日、周日、时、分、秒进行计时,还 具有闰年补偿等多种功能 ,而且 DS1302 的 使用寿命长,误差小。 对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日
2、、周日、时、分、秒和温度等信息,还具有时间 校准 等 功能 。该电路采用 AVR 单片机作为核心,功耗小,能在 3V 的低压工作,电压可选用 35V 电压供电。 综上所述 此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景 。 关键词 : DS1302 DS18B20 AVR 3 Abstract Along with the rapid development of science and technology, the passage of time, from the view of the sun, until now
3、, human electric clock pendulum clocks, constant innovation unceasingly study. American DALLAS company has Juan fine current charge of low-power real-time clock DS1302 circuit. It can be for year, month, day, Sunday, when, minutes and seconds on time, also has a variety of functions such as compensa
4、tion, leap DS1302 and the service life is long, small error. For digital electronic calendar using visual digital display, can also shows that year, month, day, Sunday, when, minutes and seconds and temperature information, but also has time etc. Function. This circuit AVR SCM adopted as the core, l
5、ow consumption, can work in the low voltage 3V, can choose 3 5V voltage power supply. To sum up the calendar is convenient, intuitive and read that various functions, simple circuit, low cost, and many other advantages, accord with the development trend of electronic instruments, and has a broad mar
6、ket prospect. Keywords:DS1302 DS18B20 AVR 4 目录 Abstract. 3 第一章 设计要求与论证方案 . 5 1.1 设计要求 . 5 1.2 系统基本方案选择和论证 . 5 1.2.1 单片机芯片的选择方案和论证 . 5 1.2.2 显示模块选择方案和论证: . 5 1.2.3 时钟芯片的选择方案和论证 . 6 1.2.4 温度传感器的选择方案与论证 . 6 1.3 电路设计最终方案决定 . 6 第二章 系统的硬件设计与实现 . 7 2.1 电路设计框图 . 7 2.2 系统硬件概述 . 7 2.3 主要单元电路的设计 . 7 2.3.1 单片机主
7、控制模块的设计 . 7 2.3.2 时钟电路模块的设计 . 9 2.3.3 温度 采集模块设计 . 9 2.3.4 电路原理及说明 . 10 2.3.5 显示模块的设计 . 12 第三章 系统的软件设计 . 13 3.1 程序流程框图 . 13 第四章 指标测量 . 16 4. 硬件测试 . 16 4. 软件测试 . 16 4.4 测试结果分析与结论 . 17 4.4.1 测试结果分析 . 17 4.4.2 测试结论 . 17 第五章 作品总结 . 18 致谢词 . 19 参考文献 . 20 附录一 程序 . 21 5 第一章 设计要求与论证方案 1.1 设计要求 () 基本要求 具有年、月、
8、日、星期、时、分、秒等功能; 时间与阴、阳历能够自动关联; 具有温度计功能 ; 具备年、月、日、星期、时、分、秒校准功能; ( 2 ) 创 新要求 具有上、下课响铃功能; 具有防御报警功能; 1.2 系统基本方案选择和论证 1.2.1 单片机 芯片的选择 方案和论证 方案一 : 采用 AVR 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间 ,能于 3V的超低压工作 ,而且与 MCS-51系列单片机完全兼容 ,但是运用于电路设计中时由于不具备 ISP 在线编程技术 , 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯
9、片造成一定的损坏。 方案二 : 采用 AVR,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与MCS-51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空 间,同样具有 AVR的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用 AVR 作为主控制系统 . 1.2.2 显示模块选择方案和论证: 方案一: 采用 LED 显示屏 ,液晶显示屏的显示功能强大 ,可显示大量文字 ,图形 ,显示多样 ,清晰可见 ,但是价格昂贵 ,需要的接口线多 ,所
10、以在此设计中不采用 LED 显 6 方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较 适合 ,如采用在显示数字显得太浪费 ,且价格也相对较高 ,所以也不用此种作为显示 . 方案三: 采用 LED 数码管动态扫描 ,LED 数码管价格适中 ,对于显示数字最合适 ,而且采用动态扫描法与单片机连接时 ,占用的单片机口线少。 所以采用了 LED 数码管作为显示。 1.2.3 时钟芯片的 选择方案和论证 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现 的时间误差较大
11、。所以不采用此方案。 方案二: 采用 DS1302 时钟芯片实 现时钟, DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高 ,位的 RAM做为数据暂存区,工作电压 2.5V 5.5V范围内, 2.5V时耗电小于 300nA. 1.2.4 温度传感器的选择方案与论证 方案一: 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生 较大的测
12、量误差。 方案二: 采用数字式温度传感器 DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除 A/D 模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点 。 1.3 电路设计最终方案决定 综上各方案所述 ,对此次作品的方案选定 : 采用 AVR 作为主控制系统 ; DS1302 提供时钟 ;数字式温度传感器 ;LED 数码管动态扫描作为显示 7 第二章 系统的硬件设计与实现 2.1 电路设计框图 图 2.1 电路设计 框图 2.2 系统硬件概述 本电路是 由 AVR 单片机为控制核心 ,具有在线编程功能,
13、低功耗,能在 3V超低压工作;时钟电路由 DS1302 提供, 它是一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302 内部有一个 31*8 的用于临时性存放数据的 RAM 寄存器。 可产生 年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时 具有掉电自动保存功能; 温度的采集由 DS18B20 构成 ; 显示部份由个数码管, 74ls138、 74ls47 译码器构成
14、。使用动态扫描显示方式对数字的显示。 2.3 主要单元电路的设计 2.3.1 单片机主控制模块的设计 高性能、低功耗的 8 位 AVR 微处理器 : 先进的 RISC 结构 131 条指令 大多数指令执行时间为单个时钟周期 AVR 主控制模 块 DS1302 时钟模块 LED 数码管动态扫描显示模块 温度采集模块 键盘模块 8 32个 8 位通用工作寄存器 全静态工作 工作于 16 MHz 时性能高达 16 MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K 字节的系统内可编程 Flash 擦写寿命 : 10,000 次 具有独立锁定位的可选 Boot 代码区 通过片上
15、Boot 程序实现系统内编程 真正的同时读写操作 512 字节的 EEPROM 擦写寿命 : 100,000 次 1K字节的片内 SRAM 可以对锁定位进行编程以实现用户程序的加密 JTAG 接口 ( 与 IEEE 1149.1 标准兼容 ) 符合 JTAG 标准的边界扫描功能 支持扩展的片内调试功能 通过 JTAG 接口实现对 Flash、 EEPROM、熔丝位和锁定位的编程 如图 -1 所示 PB0 (XCK/T0)1PB1 (T1)2PB2 (AIN0/INT2)3PB3 (AIN1/OC0)4PB4 (SS)5PB5 (MOSI)6PB6 (MISO)7PB7 (SCK)8RESET9
16、PD0 (RXD)14PD1 (TXD)15PD2 (INT0)16PD3 (INT1)17PD4 (OC1B)18PD5 (OC1A)19PD6 (ICP)20PD7 (OC2)21XTAL212XTAL113GND11PC0 (SCL)22PC1 (SDA)23PC2 (TCK)24PC3 (TMS)25PC4 (TDO)26PC5 (TDI)27PC6 (TOSC1)28PC7 (TOSC2)29AREF32AVCC30GND31PA7 (ADC7)33PA6 (ADC6)34PA5 (ADC5)35PA4 (ADC4)36PA3 (ADC3)37PA2 (ADC2)38PA1 (ADC
17、1)39PA0 (ADC0)40VCC10U1ATmega16L-8PC图 2.2 主 控制系统 9 2.3.2 时钟电路模块的设计 X12X23VCC21GND4RST5I/O6SCLK7VCC18U3DS13021232768Y2XTALVCC3VPD3PD2PD4图 2.3 DS1302 的引脚图 图 -2 示出 DS1302 的引脚排列,其中 Vcc1 为后备电源, Vcc2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1+0.2V 时, Vcc2 给 DS1302 供电。当 Vcc2
18、小于 Vcc1 时, DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 32. KHz晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数 据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RSTS 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。上电动行时,在 Vcc 大于等于 2.5V 之前, RST 必须保持低电平。中有在 SCLK
19、 为低电平时,才能将 RST 置为高电平, I/O 为串行数据输入端(双向)。 SCLK 始终是输入端。 2.3.3 温度采集模块设计 如图 -3 所示 。采用 数字式温度传感器 DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用 0.7 与 DS18B20 的 I/O 口连接加一个上拉电阻 ,Vcc 接电源 ,Vss 接地。 10 图 2.4 DS18B20 温度采集 2.3.4 电路原理及说明 (1) 时钟芯片 DS1302 的工作原理: DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK 端置 “ 0”,接着
20、把 RST 端置“ 1”,最后才给予 SCLK 脉冲;读 /写时序如下图 4 所示。图 5 为DS1302 的控制字,此控制字的位 7 必须置 1,若为 0 则不能把对 DS1302 进行读写数据。对于位 6,若对程序进行读 /写时 RAM=1,对时间进行读 /写时, CK=0。位 1 至位 5 指操作单元的地址。位 0是读 /写操作位,进行读操作时,该位为 1;该位为 0 则表示进行的是写操作。控制字节总是从最低位开始输入 /输出的。表6为 DS1302 的日历、时间寄存器内容:“ CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0时,时钟
21、开始运行。“ WP” 是写保护位, 在任何的对时钟和 RAM 的写操作之前, WP必须为 0。当“ WP”为 1时,写保护位防止对任一寄存器的写操作。 (2) DS1302 的控制字节 DS1302 的控制字如 表 -1 所示。控制字节的高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出 RAM RD 1 A4 A3 A2 A1 A0 表 -1 DS1302 的控制字格式 (3) 数据输入输出( I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。