温度计课程设计.docx
- 文档编号:9742860
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:40
- 大小:1.90MB
温度计课程设计.docx
《温度计课程设计.docx》由会员分享,可在线阅读,更多相关《温度计课程设计.docx(40页珍藏版)》请在冰豆网上搜索。
温度计课程设计
《单片机技术》课程设计说明书
数字温度计
院、部:
电气与信息工程学院
学生姓名:
陈某
指导教师:
sb职称:
讲师
专业:
自动化
班级:
自本1002班
完成时间:
2012.12.12
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、
各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于AT89S52
单片机的测温系统,描述了利用数字温度传感器DS18B20开发测温系统的过程,
重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽
分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集
和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精
度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、
农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主
系统的辅助扩展。
DS18B20与AT89S52结合实现最简温度检测系统,系统结构
简单,抗干扰能力强,有广泛的应用前景。
关键词:
单片机;温度传感器;数码管;程序
ABSTRACT
WiththeprogressofTheTimesanddevelopment,microcontroller.technologyhasspreadtoourlife,work,scientificresearch,Eachdomain,hasbecomeamorematuretechnology,thispapermainlyintroducesabasedonAT89S52devices.Thesinglechipmicrocomputertemperaturemeasurementsystem,describestheuseofdigitaltemperaturesensorDS18B20temperaturemeasurementsystemdevelopmentprocess,Focusonsensorsinthesinglechipmicrocomputerhardwareconnection,softwareprogrammingandthesystemflowmoduleindetail.Analysisofeachpartofthecircuitareintroducedonebyone,thesystemcanrealizerealizetemperatureacquisition.Anddisplay,andcanaccordingtoneedanysetupperlimitalarmtemperature,itUSESupquiteconvenientisfine.Degreeishigh,widerange,highsensitivity,smallvolume,lowpowerconsumption,suitableforourdailylifeandwork,Agriculturalproductionoftemperaturemeasurement,alsocanbeusedastemperatureprocessingmoduleembeddedothersystem,astheothermain.Systemofauxiliaryextension.DS18B20andrealizetheAT89S52combinedwithJanetemperaturedetectionsystem,thissystemstructure.Simple,stronganti-jammingability,suitableforbadenvironmentfieldtemperaturemeasurement,abroadprospectofapplication.
Keywordssinglechip;temperaturetransmitter;nixietube;program
1设计课题任务、功能要求说明及总体方案介绍
1.1设计课题任务
(1)了解数字温度计的构成,制作简单的数字温度计。
(2)巩固和运用在《单片机技术》中所学的理论知识和实验技能。
(3)掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力。
(4)掌握单片机的编程与调试,能独立完成各项工作。
1.2功能要求说明
(1)设计一个具有特定功能的数字温度计。
(2)数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
(3)测量温度范围0℃~99℃,测量精度小数点后两位。
(4)可以通过开始和结束键控制数字温度计的工作状态。
1.3总体设计方案介绍
1.3.1系统设计方案
提及到温度的检测,我们首先会考虑传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。
因此,本数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55°C至+125°C,最大分辨率可达0.0625°C。
DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由三个模块组成:
主控制器AT89S52,温度传感器DS18B20,驱动显示电路。
总体电路框图如图所示:
主控制器AT89S52
DS18B20
驱动显示电路
图1系统总体框图
1.3.2方案论证
方案一:
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
所以,他的设计理论不符合本次设计的方案要求,应继续考虑另一可行方案。
方案二:
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
因此,从以上两种方案很容易看出,方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
1.3.3所选方案的总体设计
图2总体设计框图
(1)设计思路:
温度只要在所设定的上下温度界限内,就会在显示设备中精确的显示出来,如果温度超过了所设定的温度界限,就发出报警声。
能够及时向温度监控人员发出温度超限信息。
便于温控人员及时的调整与控制。
另外此温度控制器操作简单,体积小,灵敏度高,精度高。
(2)工作原理:
当该电路上电工作以后,首先刷新显示(LED),然后,温度传感器采集温度送单片机检查温度的高低,由单片机送出信号经过驱动电路送往显示电路或报警电路。
(3)设计说明:
温度计电路设计总体设计方框图如图2所示,主控制器采用单片机AT89S52,温度传感器采用DS18B20,用8位LED数码管以串口传送数据实现温度显示。
DS18B20采用3脚PR-35封装。
2设计课题硬件系统的设计
2.1总电路(原理图见附录)
2.1.1主控制器
主控制器模块使用AT89S52,它是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了Flash程序存储器,既可在线编程(ISP),也可用传统方法进行编程,因此,低价位AT89S52单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。
单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
主要特性如下:
(1)与MCS-51兼容;
(2)4K字节可编程闪烁存储器;
(3)寿命:
1000写/擦循环;
(4)数据保留时间:
10年;
(5)全静态工作:
0Hz-24Hz;
(6)三级程序存储器锁定;
(7)128*8位内部RAM;
(8)32根可编程I/O线;
(9)两个16位定时器/计数器;
(10)5个中断源;
(11)可编程串行通道;
(12)低功耗的闲置和掉电模式;
(13)片内振荡器和时钟电路。
2.1.2AT89S52引脚图及内部结构图
芯片AT89S52的引脚排列和内部结构如下图所示:
图3AT89S52单片机引脚图
图4AT89S52内部结构图
2.1.3AT89S52引脚功能介绍
单片机芯片AT89S52为40引脚双列直插式封装。
其各引脚功能介绍如下:
(1)VCC:
供电电压;
(2)GND:
接地;
(3)P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写”1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
(4)P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入”1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
(5)P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(6)P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入”1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。
其具体功能如表1所示。
表1P3口的特殊功能
端口定义
符号表示
功能描述
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INT0
外部中断0
P3.3
INT1
外部中断1
P3.4
T0
定时器0外部输入
P3.5
T1
定时器1外部输入
P3.6
WR
外部数据存储器写选通
P3.7
RD
外部数据存储器读选通
(7)RST:
复位输入端。
当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
(8)ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(9)PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
(10)EA/VPP:
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(11)XTAL1/XTAL2:
反向振荡放大器的输入及内部时钟工作电路的输入、输出。
2.2温度传感器模块
2.2.1电路图及DS18B20简介
图5温度传感器电路
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件",其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的性能特点如下:
(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(4)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)零待机功耗。
(7)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(8)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(9)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(10)负电压特性,电源极性接反时温度计不会因发热而烧毁,但不能正常工作。
2.2.2DS18B20引脚图及内部结构图
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列封装形式如图6所示,I/O为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的UDD引脚。
当工作于寄生电源时,此引脚必须接地。
图6DS18B20引脚图
64
图7DS18B20内部机构图
2.2.3DS18B20引脚功能介绍
(1)UDD:
可选电源脚,电源电压范围3~5.5V。
当工作于寄生电源时,此引脚必须接地。
(2)I/O:
数据输入/输出脚。
漏极开路,常态下高电平。
(3)GND:
为电源地
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例说明温度高低字节存放形式及计算:
12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。
如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。
表2温度精度配置
R1
R0
转换精度(16进制)
转换精度(十进制)
转换时间
0
0
9bit
0.5
93.75ms
0
1
10bit
0.25
187.5ms
1
0
11bit
0.125
375ms
1
1
12bit
0.0625
750ms
2.3复位电路模块
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器振荡器
振荡器是收发设备的基础电路,它的作用是产生一定频率的交流信号,是一种能量转换装置——将直流电能转换为具有一定频率的交流电能。
[全文]稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
AT89S52单片机基本复位电路共有上电复位、按键电平复位和按键脉冲复位3种。
本次课程设计的复位电路采用按键电平复位,按键电平复位是通过使复位端经电阻与VCC电源接通实现的电路图如图所示:
图8复位电路
2.4晶振电路模块
晶振是石英振荡器的简称,英文名为Crystal,晶振分为有源晶振和无源晶振两种,其作用是在电路产生震荡电流,发出时钟信号。
它是时钟电路中最重要的部件,它的作用是向IC等部件提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。
由于制造工艺不断提高,现在晶振的频率偏差、温度稳定性、老化率、密封性等重要技术指标都很好,已不容易出现故障,但在选用时仍可留意一下晶振的质量。
晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。
如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
本次课程设计使用的是12M频率的晶振。
其电路图如图所示:
图9晶振电路
2.5数码显示模块
数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点vcc,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。
下图中的8个LED分别与上面那个图中的a~dp各段相对应,通过控制各个LED的亮灭来显示数字。
其电路结构图如下页所示:
图10四位共阳数码管结构图
本次课程设计采用数码管的共阳接法,其电路图如下:
图11数码管共阳电路图
2.6PCB图、元器布局图及元件清单
在画好电路原理图后,先检查有没有错误,没有错误之后导入到PCB里面去,然后经过合理的布局连线,最后形成完整的PCB图。
此处需要对PROTEL软件比较熟练的运用。
以下是PCB图和元器件布局图。
如图所示:
图12PCB底层连线图
图13PCB顶层连线图
图14元器件布局图
元器件清单见附录B。
3设计课题软件系统的设计
3.1设计课题使用单片机资源的情况
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。
从软件的功能不同可分为两大类:
一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。
每一个执行软件也就是一个小的功能执行模块。
这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。
各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
本次课题设计使用到单片机的内部数据存储器和程序存储器,四个I/O口以及单片机的P3口的第二功能。
使用的数码管连接到单片机的P2和P0口,键盘与复位电路接P1口,晶振电路接单片机的18和19引脚,发光二级光接的是P3口。
3.2设计课题软件系统各模块功能简要介绍
系统程序主要包括主程序、读出温度子程序、温度转换命令程序、延时程序、显示程序等等。
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次。
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625℃,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。
所以先将数据提取出来,分为三个部分:
小数部分、整数部分和符号部分。
小数部分进行四舍五入处理:
大于0.5℃的话,向个位进1;小于0.5℃的时候,舍去不要。
主程序流程图如图所示:
图12主程序流程图
3.2.1读取温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图所示:
图14读取温度子程序流程图
3.2.2温度转换子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图所示:
图15温度转换子程序流程图
3.2.3显示程序
每一位都是将8个发光二极管(下面简称LED)的负极接在一块,就有8个负极,接上8个IO口,这个就是位选,相应IO口输出低电平算是选通该位。
相同字段LED的正极连在一起,也有八根线,接上8个IO口,这就是段选,相应IO口输出高电平算是选通该段。
一般情况下8个位选只有一个选通,8个段选如果是数字2,那么选通的那一位数码管就会显示2,其它位数码管都是黑的。
延迟一段再熄灭它,再选通另一位显示在那一位该显示的数字,延迟一段再熄灭,如此循环,人眼有暂留效应,只要足够快人眼看起来就是几个数字稳定地显示在8位数码管上。
显示程序首先将温度数据移入显示寄存器,然后再判断十位、百位上是否有示数,如果百位为零,即不显示百位。
由于要求是只显示两位小数,因此要把千
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度计 课程设计