基于STC89C52单片机的数字温度计成员姓名:邹远淳徐冰孙顺新唐高峰专业班级:自动化2班指导教师:杨伟新目录摘要··················································P11绪论·················································P22系统组成及工作原理···································P32.1总体设计方案········································P32.2系统模块组成········································P33系统电路设计·········································P43.1STC89C52单片机主控制器······························P43.2LED数码管显示模块···································P53.3温度检测模块·········································P74系统软件设计·········································P85系统测试·············································P95.1主要指标测试·········································P95.2测试结果分析·········································P9参考文献·················································P10附录··················································P111基于STC89C52单片机的数字温度专业:自动化成员姓名:邹远淳徐冰孙顺新唐高峰指导教师:杨伟新摘要温度的检测是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型数字温度传感器实现对温度的测试与控制得到更快的开发。本文设计了一种基于STC89C52单片机的温度检测系统,该系统将温度传感器DS18B20接在控制器的端口上,对温度进行采集,将采集到的温度值显示在LED数码管上。经实验测试表明,该系统设计和布线简单,结构紧凑,有可读性高,反应速度快,测量准确,抗干扰能力强,性价比高,扩展方便等优点,具有关阔的应用前景。关键词STC89C52,数字温度计,DS18B20ABSTRACTTemperaturedetectionisoneoftypicalapplicationinindustrialproduction.Asthesensorismorewidelyusedintheproductionandlife,Usingnewdigitaltemperaturesensorfortemperaturetestandtemperaturecontrolgetfasterdeveloped.ThispaperdesignsatemperaturedetectionbasedonSTC89C52single-chipmicrocomputersystem.ThesystemwillbethetemperaturesensorDS18B20connecttoaportonthecontroller,collecttemperature,collectedtemperaturevaluewillbedisplayedontheLEDdigitaltube.Throughexperimentaltests,thesystemdesignandwiringissimple,compact-sized,therearereadable,quickresponse,accuratemeasurement,highEFT,highcostperformance,convenientextensionandotherbenefits,ithasasprawlingapplicationprospect.KeyWords:STC89C52,Digitalthermometer,DS18B2021绪论随着人民生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,其中数字温度计就是一个典型的例子。单片机控制温度检测系统的温感系统主要是DS18B20芯片,该芯片由一根总线控制,电压范围为3.0v--5.5v。DS18B20具有测温方便、测温范围广、测温精度高等特点。出于对此类问题的探索,我们设计并制作了此温度检测系统。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确。其输出温度采用数字显示,主要用于对测温比较准确的场所,该设计控制器模块主要使用STC89C52单片机,测温传感模块使用DS18B20;显示模块使用LED数码管,可以只管、准确的显示所测温度值。32系统组成及工作原理1总体设计方案经分析,将系统分为两个部分,一个是由温度传感器DS18B20组成的检测部分,另一个是由单片机和LED数码管组成的主控与显示部分。如图所示DS18B20将检测到的数据送到单片机,单片机对接收到的数据进行处理并送到1602显示,6V电源给各个部分供电。图2-1系统总设计图2系统模块组成本系统由单片机主控电路、DS18B20温度检测模块、LED数码管显示模块3部分组成。43系统电路设计1STC89C52单片机主控制器STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。STC89C52引脚图如下所示:图3-1STC89C52引脚图STC89C52单片机主控电路原理图如下:5图3-2STC89C52单片机主控电路原理图单片机主控模块包括了振荡电路、复位电路,同时接入了各个模块的接口,保证了整个系统的灵活性。单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。控制电路的核心器件是由STC公司生产的STC89C52单片机,属于MCS-51系列。STC89C52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。3.2LED数码管显示模块LED数码管原理图如下所示:6图3-3LED数码管原理图下面左图为实验板其中一只数码管,而右图为数码管的内部接法,也就是前面所说的共阳极。当要其显示“1”时,只需置B与C为低电平,而其它的为高电平;当要显示“2”时,只需置A﹑B﹑G﹑E﹑D为低电平,而其它的为高电平;当要显示“8”时,就除了小数点以外全部为低电平;如此类推。图3-4数码管图3-5数码管的内部接法下面我们来系统地介绍一下在单片机应用电路中最为实用的LED数码管显示方法——“动态扫描”。什么是动态扫描?就是所要工作的若干个数码管轮流显示,只要轮流显示的速度足够快,每秒约50次以上,由于人眼的“视觉暂留”特性,看起来就像是连续显示,这样称为动态扫描。这种显示方式在数码管应用系统中应用得最为广泛。图3-6动态扫描电路图3-7动态扫描的工作时序左图为共阳极的动态扫电路,而右图则为电路的工作时序。下面我们来分析一下动态扫描的工作原理。在电路中T1﹑T2﹑T3为用作开关作用,当B极7dig1﹑dig2﹑dig3为低电平时导通,为高电平时截止,三个电阻为限流电阻。下面我们从图5-15来理解一下动态扫描的工作原理。第一:首先显示个位,在单片机中将dig1置低电平,而dig2与dig3置高电平,所以只有T1导通,而T2与T3则截止,同时在段码a~g中输出相应段码的低电平,那么在数码管中只有个位显示,而相应的十位与百位则没有显示。第二:显示十位,在单片机中将dig2置低电平,而dig1与dig3置高电平,所以只有T2导通,而T1与T3则截止,同时在段码a~g中输出相应段码的低电平,那么在数码管中只有十位显示,而相应的个位与百位则没有显示。第三:显示百位,在单片机中将dig3置低电平,而dig1与dig2置高电平,所以只有T3导通,而T1与T2则截止,同时在段码a~g中输出相应段码的低电平,那么在数码管中只有百位显示,而相应的个位与十位则没有显示。3.3温度检测模块DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;●无须外部器件;●可通过数据线供电,电压范围为3.0~5.5V;●零待机功耗;●温度以9或12位数字;●用户可定义报警设置;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20接线图如下所示:图3-8DS18B20接线图84系统软件设计设计中使用德国Keil公司出品的KeiluVision编程软件,它是业内对51系列单片机编程的常用工具。下载器为STC公司的专用程序下载器,与使用的STC89C52RC单片机兼容。95系统测试5.1主要指标测试本系统测量范围为-55.0℃-99.9℃,报警温度值设定范围为0℃-99℃,温度误差为0.1℃。5.2测试结果分析通过测试,与标准仪器所测得的温度相比较,可得系统的误差为信号传输过程中可能存在误码,及误判。10参考文献【1】康华光《电子技术基础》,高等教育出版社,第二版,数字部分【2】康华光《电子技术基础》,高等教育出版社,第五版,模拟部分【3】谭浩强《C程序设计教程》,清华大学出版社,第一版【4】张毅刚《单片机原理及应用》,高等教育出版社【5】郭天祥《新概念51单片机C语言教程:入门、提高、开发、拓展全攻略》,电子工业出版社11附录附录1系统图图10系统完整原理图12图11LED数码管显示模块原理图图12DS18B20温度检测模块原理图附录2、程序源代码#includereg52.hunsignedcharm,n,p;sbitDQ=P2^3;//定义DS18b20的管脚sbitL1=P2^7;//定义控制数码管的管脚sbitL2=P2^6;sbitL3=P2^5;sbitL4=P2^4;unsignedchartable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0