时钟与温度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:本次设计以AT89S52芯片为核心,辅以必要的外围电路,设计了多功能电子时钟,它由5V USB直流电源供电。在硬件方面,除了CPU外,使用一LCD1602来进行显示,使用DS1302精确计时,用DS18B20作为温度信号传感器;与传统的数字时钟相比,该时钟能与PC时间同步,便于使用者在PC上就完成对时钟的快速设置。软件系统开发使用C语言。通过LCD1602能够准确显示年、月、日、星期、时、分、秒以及温度。四个简单的按键实现对时间的调整,闹钟设置等。整个电子钟系统能完成时间的显示,调时,定时闹钟,报警等功能。
关键词:单片机、LCD、PC同步
目录
一. 设计目的 (01)
二. 设计任务及要求 (01)
三. 功能描述 (01)
四. 系统图 (02)
五. 系统器件简介 (02)
六. 原理图 (04)
七. 元件清单 (04)
八. I/O 分配 (05)
九. 程序流程图 (05)
十. 源程序 (06)
十一. 项目调试说明 (24)
十二. 总结 (24)
十三. 参考资料 (24)
一. 设计目的
1.通过设计,掌握单片机C语言的编程方法及思想;
2.了解时钟芯片DS1302、单线数字温度传感器DS18B20、液晶显示器LCD1602的使用方法;
3.通过设计,掌握独立式键盘的编程控制并认识独立式键盘在实际中运用;
4.通过PC同步设计,了解PC与单片机数据交换的方式;
5.通过设计,初步了解单片机系统开发的基本方法和调试手段。
二. 设计任务及要求
任务:设计一个可同步PC调时的数字电子时钟
要求:
1.用DS1302来实现对时间的计算;
2.用LCD1602来显示时间;
3.用独立式键盘来进行调时;
4.用DS18B20获取温度参数;
5.用CH341T与PC进行数据同步。
三. 功能描述
1.设置按键进行时间、闹铃以及PC同步设置,调整内容切换。
2.进入设置界面后,在按设置键可以将设置焦点移到下一个设置项中。
3.在设置界面按+键后被设置的选项增加1;按-键后被设置的选项减少1。
4.在设置状态按下退出键立即返回时间显示界面。
5.在时间显示界面按退出键,进入秒表模式。
6.在秒表模式按设置键可暂停秒表,在按设置键恢复秒表。
7.在时间显示界面按下+键可进行摄氏度和华氏度之间的转换(C/F)。
四. 系统图
五. 系统器件简介
(1) AT89S52
AT89S52 (图1)是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash ,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k 字节Flash ,256字节RAM , 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
(2) DS1302
DS1302 (图2)是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V ~5.5V 。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM 寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,
同时提供了对后背电源进行涓细电流充电的能力。
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM 相关的寄存器分为两类:一类是单个RAM 单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H ~FDH ,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM 寄存器,此方式下可一次性读写所有的RAM 的31个字节,命令控制字为FEH(写)、FFH(读)。
(3) DS18B20
DS18B20(图3)DALLAS 最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传
图1
图2
图3
感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 “一线总线”数字化温度传感器 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C 范围内,精度为±0.5°C。DS1822的精度较差为± 2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V 的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。 DS18B20、 DS1822 的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM ,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
(4) LCD1602
LCD1602是字符型液晶显示器(图4)
①液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA 移动通信工具等众多领域。
②液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static )、
单纯矩阵驱动(Simple
Matrix )和主动矩阵驱动(Active Matrix )三种。 (图4)
③液晶显示器各种图形的显示原理: 线段的显示
点阵图形式液晶由M×N 个显示单元组成,假设LCD 显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM 区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM 区的000H ——00FH 的16字节的内容决定,当(000H )=FFH 时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH )=FFH 时,则屏幕的右下角显示一条短亮线;当(000H )=FFH ,(001H )=00H ,(002H )=00H ,……(00EH )=00H ,(00FH )=00H 时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是
LCD 显示的基本原理。
字符的显示
用LCD 显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM 区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示RAM 对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每
图5