智能时钟日历温度计.docx
《智能时钟日历温度计.docx》由会员分享,可在线阅读,更多相关《智能时钟日历温度计.docx(57页珍藏版)》请在冰豆网上搜索。
智能时钟日历温度计
毕业设计说明书
题目:
智能时钟日历温度
计的设计
院(系):
专业:
学生姓名:
学号:
指导教师:
职称:
摘 要
目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。
随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。
由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温仪器。
本文设计一个智能时钟日历温度计,要求既能掌握时间又能了解天气温度的变化,方便又适用的智能时钟日历温度计是以单片机(AT89C51)为核心,使用温度采集芯片DS18B20来对当时室温进行采集,通过液晶屏TS1602-1来显示,DS12C887时钟芯片来读取时间。
时钟芯片需要初始化进行启动,设置初值后不用再反复设置,并且可以准确显示年、月、日、时、分、秒,少于31天的月份自动地调整,包括闰年补偿,还可以设置闹铃并通过蜂鸣器鸣报来提示,电路安装四个按键来控制温度及时间的修改,通过选择键分别对要修改的值进行修改,也可以修改设置闹铃等。
所选用的芯片DS12C887具有功耗低、外围接口简单、精度高、工作稳定可靠等优点,可广泛应用于各种需要较高精确度的实时时钟场合中。
芯片DS18B20测量温度范围广,能达到-55℃~+125℃,分辨率高,可实现高精度测温,因此对周围温度较敏感能准确采集温度。
关键词:
单片机AT89C51;温度采集芯片DS18B20;液晶屏TS1602-1;蜂鸣器
Abstract
Atpresentthethermometerhasdevelopedveryrapidly,fromtheoriginalglasstubethermometertothedevelopmentofthecurrentheatresistancethermometers,thermocouplethermometers,digitalthermometers,electronicthermometers,andsoon.Withthedevelopmentofscienceandtechnologyandtheneedsofmodernindustrialtechnology,temperaturemeasurementtechnologyisconstantlyimprovingandimproving.Asmoreandmorewidetemperaturerange,accordingtodifferentrequirements,andcreatedifferentneedsforthethermometer.
Inthispaper,thedesignofasmartclockcalendarthermometerforbothtrackoftimewhiletheweatherchangesintemperature,convenientandapplicationofsmartclockthermometeronthecalendarSCM(AT89C51)asthecore,theuseoftemperaturetotheacquisitionchipDS18B20wascarriedoutatroomtemperatureAcquisitionthroughTS1602-1LCDscreentodisplay,DS12C887timeclockchiptoread.ClockChipneedtoinitializeastart,setupaftertheinitialdonothavetorepeatedlysetupandcanaccuratelydisplayyear,month,day,real-timeclock,lessthan31daysofthemonthautomaticallyadjusted,includingleapyearcompensation,butalsocansetthealarmAndthroughbuzzer-mingwastosuggestthatcircuitinstallationoffourkeystocontrolthetemperatureandtimechanges,respectively,throughtheselectionkeytoamendthevalueoftherevisioncanalsomodifysettings,suchasanalarm.
DS12C887selectedchipswithlowpowerconsumption,theexternalsimpleinterface,highprecision,stableandreliableworkoftheadvantagesthatcanbewidelyappliedtotheneedsofhighaccuracyofreal-timeclockoccasions.DS18B20chipmeasuringawiderangeoftemperaturecanreach-55℃~+125℃,highresolution,high-precisiontemperaturemeasurementcanberealizedandthereforemoresensitivetotheambienttemperaturecancollectaccuratetemperature.
Keywords:
SCMAT89C51;temperatureacquisitionchipDS18B20;LCDTS1602-1;buzzer
目 录
引言1
1 时钟温度计的设计流程2
1.1设计要求2
1.2设计流程图2
1.3流程图解说2
1.4芯片的选择3
2 时钟温度计的硬件部分3
2.1时钟温度计的原理3
2.2测温模块4
2.2.1DS18B20与单片机的连接5
2.2.2DS18B20工作原理6
2.2.3单片机AT89C51构造8
2.3时钟模块16
2.3.1DS12C887的连接图16
2.3.2DS12C887的初始化设置17
2.3.3A/D转换20
2.4显示电路模块22
2.4.1液晶TS160222
3 软件设计23
3.1软件设计流程图23
3.2测温编程24
3.2.1DS18B20时序的读写25
3.2.2单片机I/O口26
3.3时钟编程28
3.3.1A/D转换器29
3.3.2时钟电路引脚30
3.4液晶显示驱动31
3.5按键及其它部分32
4电路调试33
5结 论35
谢辞36
参考文献37
附 录38
引言
在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。
单片机在生产生活中的许多方面得到广泛的应用,例如,生活中五彩变幻的霓虹灯,手机通信,温度检测,流量控制等都涉及到单片机。
当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面,时钟温度计便是其中之一,掌握天气的温度对人们有着要重的作用,可以使得人们调节自己的生活,同时时刻了解每刻的时间也是很重要的的,既能方便地掌握时间又能了解天气的温度正是设计这个课题的关键。
。
本文所设计的就是智能时钟日历温度计,通过单片机与温度采集芯片进行控制温度,带日历时钟功能的温度计是通过芯片DS18B20及DS1302采集数据显示在液晶模块TS1602-1带日历时钟上。
能显示实时的室温,同时要求显示年,月,日,实时时钟,少于31天的月份自动地调整,包括闰年补偿。
1时钟温度计的设计流程
1.1设计要求
本课题要求设计一个带日历时钟功能的温度计,既能轻松掌控时间,又能了解天气及温度的变化。
带日历时钟功能的温度计是通过芯片DS18B20及DS12C887采集数据显示在液晶模块TS1602带日历时钟上。
能显示实时的室温,同时要求显示年,月,日,实时时钟,少于31天的月份自动地调整,包括闰年补偿。
1.2设计流程图
图1-1设计流程图
1.3流程图解说
以上是采用单片机(AT89C51)系统为核心,用温度采集芯片DS18B20来采集温度、时钟芯片DS12C887,液晶屏TS1602来显示时钟及温度,并用蜂鸣器报警等来组成电路。
首先用单片机来控制及处理数据,通过初始化,设定初值,启动DS18B20和时钟芯片DS12C887进行测温同时产生时间,将采集好温度数据和时间同时传给单片机,经过单片机处理,用液晶显示温度,并且通过按键来控制,行进复位功能与时间、日期的修改,温度过高用蜂鸣器报警等。
1.4芯片的选择
采用的芯片:
(1)中央处理器电路:
采用单片机AT89S51芯片机外围电路构成最小系统。
(2)时钟信号产生电路:
时钟芯片DS12C887。
(3)温度采集芯片DS18B20。
(4)液晶显示模块TS1602。
(5)修改部分:
按键电路。
(6)执行部件电路:
包括蜂鸣器、状态指示灯。
2时钟温度计的硬件部分
2.1时钟温度计的原理
单片机AT89C51对智能时钟芯片DS12C887进行初始化,启动,并赋初值,促使DS12C887自动产生时间,并将数据传送给单片机,再通过单片机对液晶模块TS1602的读写来显示。
与此同时,单片机AT89C51对温度采集芯片DS18B20进行读写操作,启动温度转换,并传送回单片机,再通过单片机传送到液晶显示,温度每隔1秒刷新一次.温度和时间是在同一个画面显示的。
系统还有闹铃功能,温度报警功能等。
图2-1时钟温度计的原理图
图2-2时钟温度计的PCB图
2.2测温模块
温度采集芯片是DS18B20:
一共三个管脚,一个VCC,一个GND,还有一个是数据线。
采用的是单总线协议,一个数据线,即传输命令,有传输数据,所以,对时序要求很严格.当时序不对时,读不出正确的温度数据。
图2-318B20的管脚图
选用芯片DS18B20,DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
2.2.1DS18B20与单片机的连接
图4以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。
图2-4中DS18B20采用寄生电源方式,其VDD和GND端均接地,图2-4中DS18B20采用外接电源方式,其VDD端用3V~5.5V电源供电。
图2-4DS18B20与微处理器的连接
选用51单片机AT89C51为核心,设计既带时钟又带温度显示的温度计。
单片机的接口信号是数字信号,要想用单片机获取温度这类非电信号的信息,毫无疑问,必须使用温度传感器,这是需要将温度信息转换为电流或电压输出,因此采用温度传感器DS18B20。
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.2.2DS18B20工作原理
DS18B20的读写时序和测温原理与1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图2-5所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图2-5DS18B20与AT89C51的连接图
DS18B20的特性:
(1)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DSl820数字温度计提供9位温度读数,指示器件的温度。
信息经过单线接口送入DSl820或从DSl820送出,因此从中央处理器到DSl820仅需连接一条线(和地)。
读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
因为每一个DSl8B20有唯一的系列号(siliconserialnumber),因此多个DSl8B20可以存在于同一条单线总线上。
这允许在许多不同的地方放置温度灵敏器件。
此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。
·独特的单线接口,只需1个接口引脚即可通信
·多点(multidrop)能力使分布式温度检测应用得以简化
·不需要外部元件
·可用数据线供电
·不需备份电源
·以9位数字值方式读出温度
·在1秒(典型值)内把温度变换为数字
·用户可定义的,非易失性的温度告警设置
·告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况)
·应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统
图2-6DSl8B20的方框图
与DSl820的通信经过一个单线接口。
在单线接口情况下,在ROM操作未定建立之前不能使用存贮器和控制操作。
主机必须首先提供五种ROM操作命令之一:
1)ReadROM(读ROM);2)MatchROM(符合ROM);3)SearchROM(搜索ROM);4)SkipROM(跳过ROM);5)AlarmSearch(告警搜索)。
这些命令对每一器件的64位激光ROM部分进行操作。
如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。
在成功地执行了ROM操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。
一个控制操作命令指示DSl820完成温度测量。
该测量的结果将放入DSl820的高速暂存(便笺式)存贮器(Scratchpadmemory),通过发出读暂存存储器内容的存储器操作命令可以读出此结果。
每一温度告警触发器TH和孔构成一个字节的EEPROM。
如果不对DSl820施加告警搜索命令,这些寄存器可用作通用用户存储器。
使用存储器操作命令可以写TH和TL。
对这些寄存器的读访问通过便笺存储器。
所有数据均以最低有效位在前的方式被读写。
2.2.3单片机AT89C51构造
根据设计要求和计算简便的原则,我们选择12M的石英晶振、30PF的电容、+5V电源,最小系统图如下:
图2-7单片机AT89C51构造原理图
(1)单片机的组成:
1.中央处理器(CPU)
中央处理器(CPU)是单片机的核心,完成运算和控制功能,MCS-51单片机的CPU能处理8位二进制数或代码。
2、内部数据存贮器(内部RAM)
8051共有256个RAM,其中128个被占有寄存器占用,能作为寄存器供用户使用的只有128个单元,简称内部RAM。
3、内部程序存贮器(内部ROM)
8051共有4K掩膜ROM,用于存放程序,原始数据,表格。
称程序存贮器,简称内部ROM。
4、定时器/计数器
8051共有2个16位定时器/计数器,以实现定时或计数功能,并以定时或计数结果对计算机进行控制。
5、并行I/O口
8051共有8个I/O口P0P1P2P3以实现数据的并行输出,输入。
6、串行I/O口
MCS-51的一个全双工的串行口,以实现单片机与其它设备之间的串行数据传输。
该口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。
7、中断控制系统
8051共有5个中断源,外中断2个,定时器/计数中断2个,串行中断1个。
分为高级和低级两个级别。
8、时钟电路
(1)MCS-51内部有时钟,但晶振和微调电容需外接。
系统允许最高频率为12MHZ单片机最小系统由以下组成:
①、电源:
这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。
②、振蒎电路:
单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶振,电容,连上就可以了
③、复位引脚:
按图中连好,至于复位是何含义及为何需要复要复位,在下面的功能中介绍。
④、EA引脚:
EA引脚接到正电源端。
I/O(输入/输出)接口引脚。
(2)并行I/O接口的特点
MCS-51有4个8位并行I/O接口P0~P3,他们都是双向端口,可以进行输入或者输出操作,每个口都有口锁存器和口驱动器两部分组成。
此外,它还有一个全双工串行通信口。
这4个端口为MCS-51与外围器件或外围设备进行信息(数据、地址、控制信号)交换提供了多功能的输入/输出通道,也为MCS-51扩展外部功能、构成应用系统提供了必要的条件。
它们的特点如下:
a、4个并行I/O接口都是双向的。
P0口为漏极开路,P1、P2、P3口均具有内部上拉电阻,它们有时被称为准双向口。
b、4个并行口的32条I/O接口线都可以独立地用于输入或输出操作。
c、当4个并行口的I/O接口线有作输入操作时,必须对该口的锁存器进行写1操作,以保证从I/O接口线输入数据的正确性,这也是4个并行接口有时被称为“准”双向的含义。
(3)I/O接口电路功能汇总
MCS-51单片机内部属单总线结构,因此使系统在结构上增加了灵活性。
通过总线,用户可根据应用需要进行多功能的系统扩展,构成用户的实际应用系统。
MCS-51系列中的8031单片机,因其内部在结构上无程序存储器,所以它的应用系统必定为一个扩展的系统。
因此,MCS-51的4个并行I/O接口中的P0、P2、P3口基本上都具备有这两项功能。
a、P0口:
P0口的内部一位结构如图2-8所示。
P0口是一个多功能口除可以作为通用的输入/输出口外,还具备用于系统扩展的第二功能。
在MCS-51的进行系统扩展时,它作为地址/数据总线口。
通过外接地址锁存器,MCS-51的内部单总线可从P0口被扩展成8位的数据总线和16位地址总线的低8位。
在实际应用中,P0口先送出外部存储器16位地址中的低8位至地址锁存器锁存,然后再由P0口进行8位数据的输入或输出。
b、P1口:
P1口作为通用I/O接口,它的每一位都可以别编程为通用I/O接口线。
c、P2口:
P2口也是一个多功能口,与P0口相似,它除可被用作I/O接口外,在进行系统扩展时,还可以输16位地址总线中的高8位,和P0口共同构成16位的地址总线。
当然,在P0口和P2口用作地址/数据总线时,它们都不能再作为通用I/O接口。
d、P3口:
P3口也是一个多功能口,除可以作为通用I/O接口外,还具有多种控制功能,为通用I/O接口时和MCS-51其他具有控制功能的输入/输出引线在一起,共同形成MCS-51的控制总线。
P3口在作为第二功能(控制功能)使用时,它的每一位功能定义如表2-1所示
图2-8PO口内部位结构图
一个信号引脚,既是第一功能又是第二功能,在使用时也不会引起混乱和造成错误,理由如下:
a、对于各种型号的芯片,其功能的第一功能信号是相同的,所不同的只在引脚的的第二功能信号上。
b、对于9、30和31各引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。
c、P3口线的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。
因此在实际使用时,总是先按需要优先选用它的二功能,剩下不用的才作为口线使用。
表2-1P3口线的第二功能
d、引脚表现出的是单片机的外特性或硬件特性,在硬件方面用户只能使用引脚,即通过引脚组建系统。
因此熟悉引脚是我们设计数字显示温度计的重要内容。
单片机执行程序过程:
图2-9单片机执行程序过程流程图
VCC:
供电电压。
GND:
接地。
MCS-51系列单片机研制于1980年,由Intel公司所开发,其结构是8048的延伸,改进了8048的缺点,其ROM、RAM都可扩充至64KB,也增添了如乘(MUL)、除(DIV)、减(SUBB)、比较(CJNE)、栈入(PUSH)、栈出(POP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。
8