带时间日历的温度控制系统.docx

上传人:b****2 文档编号:2154409 上传时间:2023-05-02 格式:DOCX 页数:51 大小:171.34KB
下载 相关 举报
带时间日历的温度控制系统.docx_第1页
第1页 / 共51页
带时间日历的温度控制系统.docx_第2页
第2页 / 共51页
带时间日历的温度控制系统.docx_第3页
第3页 / 共51页
带时间日历的温度控制系统.docx_第4页
第4页 / 共51页
带时间日历的温度控制系统.docx_第5页
第5页 / 共51页
带时间日历的温度控制系统.docx_第6页
第6页 / 共51页
带时间日历的温度控制系统.docx_第7页
第7页 / 共51页
带时间日历的温度控制系统.docx_第8页
第8页 / 共51页
带时间日历的温度控制系统.docx_第9页
第9页 / 共51页
带时间日历的温度控制系统.docx_第10页
第10页 / 共51页
带时间日历的温度控制系统.docx_第11页
第11页 / 共51页
带时间日历的温度控制系统.docx_第12页
第12页 / 共51页
带时间日历的温度控制系统.docx_第13页
第13页 / 共51页
带时间日历的温度控制系统.docx_第14页
第14页 / 共51页
带时间日历的温度控制系统.docx_第15页
第15页 / 共51页
带时间日历的温度控制系统.docx_第16页
第16页 / 共51页
带时间日历的温度控制系统.docx_第17页
第17页 / 共51页
带时间日历的温度控制系统.docx_第18页
第18页 / 共51页
带时间日历的温度控制系统.docx_第19页
第19页 / 共51页
带时间日历的温度控制系统.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

带时间日历的温度控制系统.docx

《带时间日历的温度控制系统.docx》由会员分享,可在线阅读,更多相关《带时间日历的温度控制系统.docx(51页珍藏版)》请在冰点文库上搜索。

带时间日历的温度控制系统.docx

带时间日历的温度控制系统

目录

摘要3

Abstract4

第一章概述5

1.1设计目标5

1.2组成模块及实现原理5

第二章硬件描述6

2.1电源电路6

2.2复位电路6

2.3键盘电路7

2.4告警电路7

2.5实时时钟电路7

2.5.1DS1302的结构及工作原理8

2.5.2DS1302的引脚功能8

2.5.3DS1302的控制字节9

2.5.4DS1302的寄存器9

2.5.5DS1302实时显示时间的软硬件9

2.6单片机电路10

2.7DS18B20温度传感器单元11

2.7.1DS18B20的工作原理11

2.7.2DS1820的特性11

2.7.3DS18B20的特性内部结构及管脚排列12

2.8液晶显示屏12

2.8.1液晶显示屏1602LCD的参数12

2.8.21602LCD管脚介绍12

2.9指示灯电路13

2.10JTAG电路14

第三章软件设计16

3.1主程序17

3.2键盘电路18

3.3实时时间程序20

3.4LCD显示程序26

3.5指示灯电路程序30

3.6温度传感器程序31

第四章测试现象及结果35

4.1调试步骤35

4.2显示现象35

第五章总结35

参考文献35

致  谢35

摘要

MSP430F149单片机是TI推出的一种具有超低功耗的16位Flash单片机。

特别适合应用在对功耗敏感的场所。

MSP430Fl47共有五种低功耗模式,即低功耗模式O(LPMO)一低功耗模式4(LPM4)。

利用MSP430FlX系列单片机,可以简便快捷地构建一个低电压平台,通过各功能模块的智能运行管理和MCU功耗模式相结合,可以解决运行速度与低功耗设计之间的矛盾,将各功能模块的电流消耗降至最低状态。

概括来说,MSP430F1X系列单片机其有超低功耗、强大的处理能力。

丰富的片上外围模块。

方便高效的开发方式、多种存储器形式的特点。

DS18B20温度传感器对现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量本文介绍MSP430F149芯片的应用,采用MSP430F149设计一个温度控制系统,简要介绍了该温度控制器的功能,硬件设计与软件设计。

关键词:

MSP430F149,温度采集,温度控制,温度显示,实时时钟

 

Abstract

TIMSP430F149microcontrollerisakindofintroductionofultralow-power16-bitFlashmicrocontroller.Particularlysuitableforpower-sensitiveapplicationsinplace.MSP430Fl47Therearefivelow-powermode,thelow-powermodeO(LPMO)alow-powermode4(LPM4).UsingMSP430FlXMCUcanbeeasilyandquicklybuildalowvoltageplatform,throughtheintelligentfunctionmoduleMCUpowermodeoperationandmanagementandthecombinationofspeedandcansolvethecontradictionbetweenthelow-powerdesignforeachofthefunctionalmodulelowestcurrentconsumptionstate.

Generallyspeaking,MSP430F1XhehasultralowpowerMCUandpowerfulprocessingcapability.Richon-chipperipheralmodules.Convenientandefficientdevelopmentmethods,avarietyofmemoryintheformoffeatures.DS18B20temperaturesensordirectlyonthesite"busline"ofthedigitallytransmitted,greatlyimprovingthesysteminterference.ThesiteissuitableforharshenvironmentsThisarticledescribestheMSP430F149chiptemperaturemeasurementapplications,usingMSP430F149designatemperaturecontrolsystem,briefdescriptionofthefunctionofthetemperaturecontroller,hardwaredesignandsoftwaredesign.

Keywords:

MSP430F149,temperatureacquisition,temperaturecontrol,temperaturedisplay,realtimeclock

 

第一章概述

1.1设计目标

本设计采用TI公司的MSP430F149作为一个中央控制器,当传感器测量的温度不在所测量的范围之内时,会自动发出报警。

此时的现象是LED发光二极管亮暗闪动,蜂鸣器(扬声器)发出单音报警声。

具体的设计思路见系统框图1-1。

1-1系统框图

1.2组成模块及实现原理

本设计由硬件和软件两部分共同实现系统功能。

硬件部分主要包括电源电路、复位电路、键盘电路、告警电路、实时时间电路、单片机电路、DS18B20温度传感器单元、液晶显示屏、指示灯电路、JTAG电路等基本单元。

其中DS18B20温度传感器电路用于采集实时温度,实时时钟DS1302部分则用来显示实时时间,实时时间、实时温度及上下限温度最终按系统设定依次显示在液晶显示屏上。

软件使用C语言编写,主函数main先对各功能部件进行定义,然后各分支程序通过函数调用,最终实现程序控制的功能。

软件部分调试成功以后,通过JTAG电路即可对系统进行仿真测试。

第二章硬件描述

2.1电源电路

由于MSP430系列单片机的工作电压一般是1.8V~3.6V,并且功耗极低,因此选用TI公司的TPS70633作为电源芯片。

该电源芯片输出为3.3V,电流为50mA,完全能满足大多数低功耗应用场合的要求,也能满足本系统功耗要求,图2-1为具体电路,由图可以看出:

该电路非常的简单,只需要简单的外围器件。

为了使输出电源的纹波小,在输出部分用了一个2.2uF和0.1uF的电容,另外在芯片的输入端也放置一个0.1uF的滤波电容,减小输入端受到的干扰。

图2-1电源电电路

2.2复位电路

复位电路是微处理器开始工作的起点,因此了解复位过程和复位结束时微处理器的状态对正确使用微处理器是至关重要的。

MSP430的复位信号有两种:

上电复位信号和上电清除信号。

不管是哪种方式的复位,都会使MSP430在地址OxFFFE处读取复位中断向量,程序从中断向量所指的地址处开始执行,作出相应的处理。

图2-2复位电路

这种复位电路的工作原理是:

通电时,电容E1两端相当于短路,RST引脚上为高电平,然后电源通过电阻R1对电容E1充电,RST端电压慢慢下降,降到一定电压值以下,即为低电平,于是芯片复位,接近vcc时芯片复位脚近高电平,于是芯片停止复位,复位完成。

单片机开始正常工作。

2.3键盘电路

单片机的P1.0、P1.1、P1.2、P1.3分别接按键电路,具体的按键电路如图2-3所示,在该按键电路中,单片机的一般I/O端口对应一个按键输入,这样的按键电路实现比较简单,只需分别从不同的管脚值就可以获得相应的输入值,程序实现起来也非常简单。

图2-3键盘电路

2.4告警电路

告警电路主要通过单片机发出单音信号,如图2-4所示为具体的告警电路图。

DS18B20作为温度传感器,可以直接采集温度并且转换为数字信号发送到单片机P6.7口,然后判断高低电平,在本系统中,如果检测到电压低于下限温度或高于上限温度时发出告警信号。

由图可以看出,单片机产生的单音信号通过PNP进行放大,放大后的单音信号由扬声器发出告警声音。

图2-4告警电路

2.5实时时钟电路

图2-5为实时时间电路,用于显示年、月、日、周日、时、分、秒等实时时间数据。

下面简单介绍一下实时时钟DS1302的结构及工作模式。

图2-5实时时间电路

2.5.1DS1302的结构及工作原理

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。

采用普通32.768kHz晶振,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

2.5.2DS1302的引脚功能

图2-5示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),SCLK始终是输入端。

2.5.3DS1302的控制字节

DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

2.5.4DS1302的寄存器

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

2.5.5DS1302实时显示时间的软硬件

DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。

图3示出DS1302与89C2051的连接图,其中,时钟的显示用LCD。

在上面的电路中加入DS18B20,同时显示实时温度。

只要占用CPU一个口线即可。

DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。

若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。

虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。

可以用老式电脑主板上的3.6V充电电池。

如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。

100μF就可以保证1小时的正常走时。

DS1302在第一次加电后,必须进行初始化操作。

初始化后就可以按正常方法调整时间。

2.6单片机电路

本系统采用MSP430F1491单片机。

下图主要实现与串行存储器的接口,并在低于某个设定的值是发出告警信号,同时通过LED来实现状态显示。

由图可以看出,单片机的P2.0,P2.1作为一般I/O接口管脚实现LED的状态显示。

P4脚作为数据输出端口接LCD显示器。

图2-6单片机电路

MSP430是德州公司新开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASHEMULATIONTOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化。

2.7DS18B20温度传感器单元

温度传感器电路,用于现场温度的测量。

传感器DS18B20具有体积更小、精度更高、适用电压更宽。

一线总线、可组网等优点,在实际应用中取得了良好的测温效果。

下面简单介绍一下DS18B20的结构及工作模式。

2.7.1DS18B20的工作原理

DS1820是美国Dallas半导体公司生产的世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

2.7.2DS1820的特性

(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)负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

2.7.3DS18B20的特性内部结构及管脚排列

64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。

不同的器件地址序列号不同。

DS18B20内部结构主要由四部分组成:

64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。

图2-7电路中DS18B20的引脚定义:

(1)DQ为数字信号输入/输出端

(2)GND为电源地

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

2.8液晶显示屏

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的等多优点,在袖珍式仪表和低功耗应用系统中被广泛的应用。

本设计采用Yj-162A的液晶屏.屏幕显示数字日历、理论值的上下限温度和实际温度.屏幕上行显示的是日期和上下限温度,可通过按键进行设定。

上限温度设定范围为20---49度,下限温度设定范围为0--19度,设定时上限温度不能低于下限温度。

当实时温度高于设定温度上限时,温度上限指示灯亮(P2.0),当实时温度低于设定温度下限时,温度下限指示灯亮(P2.1)亮。

上下限温度均是两位数,无小数位。

下行显示的是时钟时间和实际温度,实际温度整数部分有两位,小数部分四位,精度为0.0125。

2.8.1液晶显示屏1602LCD的参数

外形尺寸(LxWxH)80.0mm*36mm*12.0mm 

视域尺寸(WxHxT)64.5mm*13.8

驱动电压(V)5.0Vor3.3V     

工作温度:

(oC)0~50or-20~70  

存储温度:

(oC)-10~60or-30~80

显示类型:

STNorFSTN          

颜色:

黄色(带背光/不带背光) 

生产工艺:

SMT

2.8.21602LCD管脚介绍

第1脚:

VSS为地电源

第2脚:

VDD接5V正电源

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,

使用时可以通过一个10K的电位器调整对比度

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,

当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光电源接5V正电压

第16脚:

背光电源接地

图2-8液晶显示电路

2.9指示灯电路

芯片由P3.6口输出,通过串入并出移位寄存器传到74HC573寄存器中,当P3.6口输出低电平时

控制端导通,本设计中指示灯电路用到D1、D2两个指示灯。

根据P2.0、P2.1口输出信号,指示灯显示电路根据不同的输入信号显示不同的现象。

当实时温度高于设定温度上限时,温度上限指示灯亮(P2.0);当实时温度低于设定温度下限时,温度下限指示灯亮(P2.1)。

图2-9-1移位寄存器电路

图2-9-2指示灯显示电路

2.10JTAG电路

JTAG是英文“JointTestActionGroup(联合测试行为组织)”的词头字母的简写,JTAG也是一种国际标准测试协议图2-10JTAG电路

(IEEE1149.1兼容)主要应用于:

电路的边界扫描测试和可编程芯片的在系统编程。

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。

标准的JTAG接口是4线:

TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

相关JTAG引脚的定义为:

TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效,GND接地。

在程序完成之后,通过JTAG电路将程序烧入相应的芯片,即可进行仿真测试。

 

第三章软件设计

 

图3-1主程序流程图

图3-1为主程序流程图,由图可以看出先对系统进行初始化,接着通过DS1302获取时间数据进而处理并显示,再由DS18B20获取实时温度,进行相应的处理并显示。

在此期间对按键扫描信息进行判断。

如果有按键按下,根据相应的按键进入对应的处理程序。

按K1键进入设置模式并可以选择更改参数的位置;按K2键单方向增加数值;按K3键放弃当前修改回到工作模式;按K4键保存当前数值回到工作模式。

最后进入温度比较子程序当实时温度高于设定温度上限时,温度上限指示灯亮(P2.0);当实时温度低于设定温度下限时,温度下限指示灯亮(P2.1)。

温度超过上下限温度时告警电路报警。

没有按键按下时,直接进入温度比较子程序。

再次从获取时间数据开始处理。

本章将详细介绍各模块软件的实现。

3.1主程序

主程序通过对各部分进行定义,使得最终可以实现整体功能。

#include

#include"BoardConfig.h"

#include"cry1602.h"

#include"DS1302.h"

#include"DS18B20.h"

#defineBuzzerBIT7//蜂鸣器

#defineBuzzer_PortP6OUT

#defineBuzzer_DIRP6DIR

#defineLED_H_LARMBIT0//温度上下限指示灯

#defineLED_L_LARMBIT1

uchardN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2