基于温度传感器的温度计设计_第1页
基于温度传感器的温度计设计_第2页
基于温度传感器的温度计设计_第3页
基于温度传感器的温度计设计_第4页
基于温度传感器的温度计设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成绩评定表学生姓名班级学号专业课程设计题目基于温度传感器的温度计设计评语组长签字:成绩日期2023年1月9日课程设计任务书学院专业学生姓名班级学号课程设计题目基于温度传感器的温度计设计实践教学要求与任务:1、熟悉所确定的题目,从问题需求、程序结构、难点及关键技术等方面进行分析,形成系统的设计方案;2、根据方案设计硬件电路;3、软件编程并调试;4、完成课程设计报告,打印程序,给出运行结果。工作方案与进度安排:第20周〔1月6日-1月12日〕:布置设计任务,查资料,完成总体设计框架,完善设计内容,系统调试,验收辩论。指导教师:专业负责人:学院教学副院长:摘要单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比拟成熟的技术,本文将介绍一种基于单片机控制的数字温度器,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。随着现代工农业技术的开展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用蜂鸣器作为电声元件的温度报警器的设计,说明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。工作时,温度测量范围为5—38ºC。当前环境温度假设超过设定的高温临界温度,由单片机发出报警信号,从而防止带来的不必要的损失。造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向开展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比拟准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用四位一体共阳极LED数码管以串口传送数据,实现温度显示,能准确到达要求。目录设计要求与方案…………11.1设计要求…………………..11.2系统根本方案选择和论证………………..11.2.1单片机芯片的选择案………………11.2.2温度传感器设计方案论证…………..11.3电路设计最终方案决定…….3主要元件介绍……………3AT89C51介绍………………32.1.1AT89C51主要功能…………………32.1.2AT89C51引脚介绍…………………3DS18B20传感器介绍………3数码管介绍…………………4程序流程图………………10主程序……………………11仿真原理图………………18仿真调试图………………19结论………19参考文献…………………201设计要求与方案论证首先明确设计要求,再讨论方案,一一攻破设计的难点。1.1设计要求根本范围0℃-99℃;精度误差小于0.1℃;数码管直读显示;扩展功能:可以任意设定温度的上下限报警功能。1.2系统根本方案选择和论证1.2.1单片机芯片的选择方案和论证由于单片机具有以下的很多优点,被我们选定为制作该作品的首选芯片单片机特点:〔1〕高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。〔2〕控制功能强为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。〔3〕低电压,低功耗,便于生产便携式产品为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。〔4〕易扩展片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。〔5〕优异的性能价格比单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可到达1MB和16MB,片内的ROM容量可达62MB,RAM容量那么可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。方案一:采用AT89C51芯片作为硬件核心。AT89C51内部具有8KBROM存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,AT89C51可以通过串口下载。方案二:采用AT89S51。AT89S51片内具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。两种单片机都完全能够满足设计需要,AT89C51相对ATS89C52价格廉价,且抗干扰能力强。考虑到本钱因素,因此选用AT89C51。1.2.2温度传感器设计方案论证现代信息技术的三大根底是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度传感器的开展大致经历了以下三个阶段;(1)传统的分立式温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向开展。在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能到达1°C。国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°C。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125°C,测温精度为±0.2°C。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。目前,智能温度传感器的总线技术也实现了标准化、标准化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。温度传感器作为从机可通过专用总线接口与主机进行通信。方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比拟麻烦。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路比拟简单,软件设计也比拟简单,故采用了方案二。1.3电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89C51单片机作为主控制系统;采用DS18B20为传感器;采用数码管作为显示器件。2主要元件介绍2.1AT89C51介绍AT89C51是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。2.1.1AT89C51主要功能AT89C51主要功能如表1所示表1AT89C51主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2.1.2AT89C51引脚介绍①主电源引脚〔2根〕VCC:电源输入,接+5V电源GND:接地线②外接晶振引脚〔2根〕XTAL1:片内振荡电路的输入端XTAL2:片内振荡电路的输出端③控制引脚〔4根〕RST/VPP:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG:地址锁存允许信号PSEN:外部存储器读选通信号EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平那么从内部程序存储器读指令。④可编程输入/输出引脚〔32根〕AT89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位〔8根引脚〕,共32根。P0口:8位双向I/O口线,名称为P0.0~P0.7P1口:8位准双向I/O口线,名称为P1.0~P1.7P2口:8位准双向I/O口线,名称为P2.0~P2.7P3口:8位准双向I/O口线,名称为P3.0~P3.7图1AT89C51封装图2.1.3单片机最小系统:当在AT89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。最小系统如图2所示。图2最小系统电路以AT89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入局部采用三个独立式按键S1、S2、S3。数码管显示局部。2.2DS18B20传感器介绍2.2.1DS18B20概述在现代检测技术中,传感器占据着不可动摇的重要位置。主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。如果没有各种精确可靠的传感器对非电量和模拟信号进行检测并提供可靠的数据,那计算机也无法发挥他应有的作用。传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进行分析处理。从而传感器技术与计算机技术结合起来,对自动化和信息化起重要作用。采用各种传感器和微处理技术可以对各种工业参数及工业产品进行测控及检验,准确测量产品性能,及时发现隐患。为提高产品质量、改良产品性能,防止事故发生提供必要的信息和更可靠的数据。由于系统的工作环境比拟恶劣,且对测量要求比拟高,所以选择适宜的传感器很重要。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速开展。智能温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速开展。因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中。美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。有独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯;其测温范围-55℃~+125℃,固有测温分辨率0.5℃;支持多点组网功能;多个DS1820可以并联在唯一的三线上,实现多点测温;工作电源为3~5V/DC;在使用中不需要任何外围元件。DS18B20的性能特点如下:〔1〕采用DALLAS公司独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;〔2〕在使用中不需要任何外围元件;〔3〕可用数据线供电,供电电压范围:+3.0V~+5.5V;〔4〕测温范围:-55~+125℃。固有测温分辨率为0.5℃。当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃;〔5〕通过编程可实现9~12位的数字读数方式;〔6〕用户可自设定非易失性的报警上下限值;〔7〕支持多点的组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温〔8〕负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护DS18B20不会因发热而烧毁,但此时芯片无法正常工作;〔9〕DS18B20的转换速率比拟高,进行9位的温度值转换只需93.75ms;〔10〕适配各种单片机或系统;〔11〕内含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验码(CRC)之后,产品序号占48位。出厂前产品序号存入其ROM中。在构成大型温控系统时,允许在单线总线上挂接多片DS18B20。2.2.2DS18B20引脚介绍各引脚功能为:I/O为数据输入/输出端〔即单线总线〕,它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。2.2.3DS18B20的内部结构DS18B20的内部结构主要包括7局部:寄生电源、温度传感器、64位激光〔loser〕ROM与单线接口、高速暂存器〔即便筏式RAM,用于存放中间数据〕、TH触发存放器和TL触发存放器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码〔CRC〕发生器。图3DS18B20内部结构2.2.4DS18B20的程序流程图否否是发出温度转换命令写入18B20读温度前复位显示测温点位置18B20复位开始18B20存在?延时发出读温度命令写入18B20读入温度值数据返回延时图4程序流程图2.3数码管介绍数码管是一种半导体发光器件,其根本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元〔多一个小数点显示〕;按能显示多少个“8〞可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。2.3.1数码管概述数码显示器是一种由LED发光二极管组合显示字符的显示器件,它使用了8个Led发光二极管,其中七个用于显示字符,一个显示小数点,所以通称为七段发光二极管数码显示器。4位一体数码管,其内部段已连接好,引脚如下图〔数码管的正面朝自己,小数点在下方〕。a、b、c、d、e、f、g、dp为段引脚,S1、S2、S3、S4分别表示四个数码管的位。3程序流程图图5程序流程图4主程序#include<reg52.h>#defineuiunsignedint#defineucunsignedchar //宏定义sbitDQ=P3^7; //定义DS18B20总线I/Obitbdatafuhao;ucqian,bai,shi,ge;uccodeled[] = {0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7};uccodeled_dian[] = {0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf7};//============================================================================================//====================================DS18B20=================================================//============================================================================================/*****延时子程序*****/voidDelay(intnum){ while(num--);}/*****初始化DS18B20*****/voidInit_DS18B20(){ DQ=1;//DQ复位 Delay(8);//稍做延时 DQ=0;//单片机将DQ拉低 Delay(80);//精确延时,大于480us DQ=1;//拉高总线 Delay(40);}/*****读一个字节*****/ucReadOneChar(){ uci=0; ucdat=0; for(i=8;i>0;i--) { DQ=0;//给脉冲信号 dat>>=1; DQ=1;//给脉冲信号 if(DQ) dat|=0x80; Delay(4); } return(dat);}/*****写一个字节*****/voidWriteOneChar(ucdat){ uci=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; Delay(5); DQ=1; dat>>=1; }}/*****读取温度*****/uiReadTemperature(){uia=0,b=0,t=0;floattt=0;Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0x44);//启动温度转换Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0xBE);//读取温度存放器a=ReadOneChar();//读低8位b=ReadOneChar();//读高8位t=b;t<<=8;t=t|a;if(t&0xf800){ t=~t+1; fuhao=1;}elsefuhao=0;tt=t*0.0625;t=tt*10+0.5;//放大10倍输出并四舍五入return(t);}/*****读取温度*****/voidcheck_wendu(){ uif; f=ReadTemperature(); //获取温度值并减去DS18B20的温漂误差 qian=f/1000; bai=(f%1000)/100; //计算得到十位数字 shi=((f%1000)%100)/10; //计算得到个位数字 ge=((f%1000)%100)%10; //计算得到小数位}/*****显示开机初始化等待画面*****/voidDisp_init(){ P0=0x7f;//显示---- P2=0x7f; Delay(100); P2=0xdf; Delay(100); P2=0xf7; Delay(100); P2=0xfd; Delay(100); P2=0xff;//关闭显示}/*****显示温度子程序*****/voidDisp_Temperature()//显示温度{ if(qian==0) { if(fuhao==1) P0=0x7f;//10111111 else P0=0xff; P2=0xfd; Delay(10); P2=0xff; } elseif(qian!=0) { P0=~led[qian]; P2=0xfd; Delay(10); P2=0xff; } if((bai==0)&&(qian==0)) { P0=0xff;// P2=0xf7; Delay(10); P2=0xff; } elseif((bai==0)&&(qian!=0)) { P0=~led[bai]; P2=0xf7; Delay(10); P2=0xff; } elseif(bai!=0) { P0=~led[bai];// P2=0xf7; Delay(10); P2=0xff; } P0=~led_dian[shi];// P2=0xdf; Delay(10);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论