版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.1.前言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向开展。本保温箱温控系统所介绍的与传统的温度计相比,具有读数方便,测温围广,控制准确,负载广泛,有LED显示相应的工作方式,其输出温度采用数字显示,主要用于对测温比拟准确的场所,或科研实验室使用,该设计控制器使用单片机 STC89C51,测温传感器使用 DS18B20,用四位一体共阳极 LED 数码管显示数据,用继
2、电器驱动负载,用PNP三极管驱动。-. z.2.系统概述单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比拟成熟的技术,本文将介绍一种基于单片机保温箱的温控系统研究,本恒温箱属于多功能多用途,可以设置上下控制温度,当温度不在设置围时,可以驱动相应的负载工作,同时声光报警。随着现代工农业技术的开展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用继电器作为温度的主要控制元件,它可以直接驱动2500W功率的负载,可以应用于家庭、小型工厂等小电量用电设备,亦可以用继电器来控制交流接触器线圈等,就可以实现对大功率负载的控制,应用十分广泛。采用蜂鸣器作为电声元件的报警
3、,LED发光指示相应的加热或制冷工作。这种保温箱的温控系统构造简单,可操作性强,应用广泛。工作时,温度控制围为上下限之间,当前环境温度假设超过设定的临界温度,由单片机发出控制和报警信号,从而负载控制温度的变化。基于单片机保温箱的温控系统大局部使用是在实验室、工业、医药、农业中。在实验室中特别是生物实验室,我们为了得到更加准确的实验数据,对于恒温实验环境要求严格。所以针对实验室来说,恒温箱的作用显得相当重要。在工业生产过程中我们对于恒温箱的要求也相对更加严格,比方产品的热处理、冷处理等,直接影响着产品的质量。在医药方面医用恒温箱主要用于药品和试剂的储存、运输,疫苗、血液的冷藏保温,透析液的加温、
4、生理盐水的加温等。 由以上我们可以明显的看出恒温箱的重要作用。在农业温室大棚中,温控系统对于农作物的生长至关重要,对于农业方面,以至于生活中的各个方面温控系统永远处于相当重要的地位。关键词:STC89C51单片机 温度控制 恒温箱 DS18B203 设计要求与方案论证首先明确设计要求,再整体讨论和确定方案,一一攻破设计的难点。3.1 设计要求根本围0-99;精度误差小于 0.1;数码管直读显示;可以温度控制;扩展功能:可以任意设定温度的上下限控制及报警功能,可以驱动加热和制冷负载。3.2 系统根本方案选择和论证3.2.1 单片机芯片的选择方案和论证由于单片机具有以下的很多优点,被我们选定为制作
5、该作品的首选芯片单片机特点:1高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片,故可靠性高。 2控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。 3低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机的最低工作电压仅为1.8V3.6V,而工作电流仅为数百微安。 4易
6、扩展 片具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 5优异的性价比 单片机的性能极高。为了提高速度和运行效率,单片机已开场使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可到达1MB和16MB,片的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。 方案一:采用STC89C51芯片作为硬件核心。STC89C51部具有4KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM
7、存储空间,与MCS-51系列单片机完全兼容,STC89C51可以通过串口下载。方案二:采用AT89S51。AT89S51片具有4K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。两种单片机都完全能够满足设计需要,STC89C51相对ATS89C51价格廉价,且下载简单方便。考虑到方便因素,因此选用STC89C51。3.2.2 温度传感器设计方案论证利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有体。温度传感器是温度测量仪表的核心局部,品种繁多。按测量方式可分为接触式和
8、非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。现代信息技术的三大根底是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度传感器的开展大致经历了以下三个阶段;(1)传统的分立式温度传感器(含敏感元件);(2)模拟集成温度传感器/控制器;(3)智能温度传感器。国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向开展。在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能到达1C。国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0.50.06
9、25C。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125C,测温精度为0.2C。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。目前,智能温度传感器的总线技术也实现了标准化、规化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。温度传感器作为从机可通过专用总线接口与主机进展通信。方案一: 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化 的电压或电流采集过来,进展 A/D 转换后,就可以用单片机进展数据的处理,在显示
10、电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比拟麻烦。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进展转换,就可以满足设计要求。从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路比拟简单,软件设计也比拟简单,故采用了方案二。 3.2.3 显示模块方案论证方案一:1602液晶模块1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等显示模块它有假设干个5*7或者5*11等点阵字符位组成,每
11、个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形 它的优点是微功耗、体积小、显示容丰富、超薄轻巧。方案二:数码管显示 数码管是一种半导体发光器件,其根本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元多一个小数点显示;按能显示多少个8可分为1位、2位、4位等等数码管:按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极()的数码管,共阳数码管在应用时应将公共极接到+5V,当*一字段发光二极管的阴极为低电
12、平时,相应字段就点亮,当*一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管,共阴数码管在应用时应将公共极接到地线GND上,当*一字段发光二极管的阳极为高电平时,相应字段就点亮,当*一字段的阳极为低电平时,相应字段就不亮。由于它的价格廉价使用简单在电器特别是家电领域应用极为广泛。综上所诉:LCD1602虽然显示较全;但数码管以完全能显示温度值,价格也差6倍之多,数码管更适合本设计,固本设计用数码管作为显示模块。3.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用STC89C51单片机作为主控制系统;采用DS18B20为
13、传感器;采用数码管作为显示器件。4主要元件介绍4.1 STC89C51介绍STC89C51是由宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。1中央处理器CPU中央处理器是单片机的核心,完成运算和控制功能。8051的CPU能处理8位二进制数或代码。2部数据存储器部RAM8051芯片中共有256个RAM单元,但其中后128单元被专用存放器占用,能作为存放器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的部数据存储器就是指前128单元,简称部RAM。3部程序存储器部ROM8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简
14、称部ROM。4定时/计数器8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进展控制。5并行I/O口 MCS-51共有4个8位的I/O口P0、P1、P2、P3,以实现数据的并行输入/输出。6串行口8051单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7中断控制系统8051单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。(8) 时钟电路8051芯片的部有时
15、钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz。从上述容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的根本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。4.1.1 STC89C51主要功能及PDIP封装STC89C51主要功能如表1所示,其PDIP封装如图1所示主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256*8bit部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中
16、断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表1:STC89C51主要功能4.1.2 STC89C51引脚介绍 主电源引脚2根VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚2根*TAL1(Pin19):片振荡电路的输入端*TAL2(Pin20):片振荡电路的输出端控制引脚4根RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平则从
17、部程序存储器读指令。可编程输入/输出引脚32根STC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位8根引脚,共32根。P0口Pin39Pin32:8位双向I/O口线,名称为P0.0P0.7P1口Pin1Pin8:8位准双向I/O口线,名称为P1.0P1.7 P2口Pin21Pin28:8位准双向I/O口线,名称为P2.0P2.7 P3口Pin10Pin17:8位准双向I/O口线,名称为P3.0P3.7图1:STC89C51封装图4.1.3 单片机最小系统:当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机部就执行复位操作,按键
18、手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。最小系统如图2所示。图2 单片机最小系统电路1部方式时钟电路在8051芯片部有一个高增益反相放大器,其输入端为芯片引脚*TAL1,其输出端为引脚*TAL2。而在芯片的外部,*TAL1和*TAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图3-3所示。时钟电路产生的振荡脉冲经过触发器进展二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般地,电容C1和C2取30pF左右,晶体的振荡频率围是1.2
19、12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。8051在通常应用情况下,使用振荡频率为6MHz或12MHz。图 2-3时钟振荡电路2外部方式时钟电路在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。这时,外部的脉冲信号是经*TAL2引脚注入,其连接如图3-4所示。图 2-4 外部时钟源接法3 时序时序是用定时单位来说明的。8051的时序定时单位共有4个,从小到大依次是:节拍、状态、机器周期和指令周期。它们之间的关系如下:1一个振荡脉冲的周期为节拍;2一个状态就包含两个节拍;3一个机器周期的宽度为6个状态;
20、4一条指令周期由假设干个机器周期组成。 4 单片机的复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开场工作,复位后PC=0000H,使单片机从第一个单元取指令。单片机复位的条件是:必须使RST/VPD 或RST引脚加上持续两个机器周期即24个振荡周期的高电平。假设时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1。这说明单片机复位期间不会有任何取指操作。复位后,部各专用存放器状态如下:PC:0000H TMOD:00
21、HACC:00H TCON: 00HB: 00H TH0: 00HPSW: 00H TL0: 00HSP: 07H TH1: 00HDPTR: 0000H TL1: 00HP0P3:FFH SCON: 00HIP: *00000B SBUF:不定IE: 0*00000B PCON: 0*0000其中,*表示无关位。注意:1复位后PC值为0000H,说明复位后程序从0000H开场执行,这一点在实训中已介绍。2SP值为07H,说明堆栈底部在07H。一般需重新设置SP值。3P0P3口值为FFH。P0P3口用作输入口时,必须先写入1。单片机在复位后,已使P0P3口每一端线为1,为这些端线用作输入口做好
22、了准备。电路以STC89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入局部采用三个独立式按键S1、S2、S3。数码管显示局部。具体电路连接,详见附录1。4.2 DS18B20传感器介绍4.2.1 DS18B20概述在现代检测技术中,传感器占据着不可动摇的重要位置。主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。如果没有各种准确可靠的传感器对非电量和模拟信号进展检测并提供可靠的数据,那计算机也无法发挥他应有的作用。传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进展分析处理。从而传感器技术与计算机技术结合起来,对自动化和信
23、息化起重要作用。采用各种传感器和微处理技术可以对各种工业参数及工业产品进展测控及检验,准确测量产品性能,及时发现隐患。为提高产品质量、改良产品性能,防止事故发生提供必要的信息和更可靠的数据。由于系统的工作环境比拟恶劣,且对测量要求比拟高,所以选择适宜的传感器很重要。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速开展。智能温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速开展。因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中。美国D
24、ALLAS公司生产的 DS18B20可组网数字温度传感器芯片外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。有独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯;其测温围 55125,固有测温分辨率0.5;支持多点组网功能;多个DS1820可以并联在唯一的三线上,实现多点测温;工作电源为35V/DC;在使用中不需要任何外围元件。18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码DS18B20的编码是19H
25、,后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码冗余校验。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM 数据暂存器,用于部计算和数据存取,数据在掉电后丧失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM常用于温度报警值储存的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数存放器,是为了让用户得到更高的温度分辨率而设计的,同样也是部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要
26、保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。DS18B20的性能特点如下:1 采用DALLAS公司独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯; 2在使用中不需要任何外围元件;3可用数据线供电,供电电压围:+3.0V+5.5V;4测温围:-55+125。固有测温分辨率为0.5。当在-10+85围,可确保测量误差不超过0.5,在-55+125围,测量误差也不超过2;5通过编程可实现912位的数字读数方式;6用户可自设定非易失性的报警上下限值;7支持多点的组网功能,多个
27、DS18B20可以并联在唯一的三线上,实现多点测温8负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护DS18B20不会因发热而烧毁,但此时芯片无常工作;9DS18B20的转换速率比拟高,进展9位的温度值转换只需93.75ms;10适配各种单片机或系统;11含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验码(CRC)之后,产品序号占48位。出厂前产品序号存入其ROM中。在构成大型温控系统时,允许在单线总线上挂接多片DS18B20。4.2.2 DS18B20引脚介绍图3:DS18B20引脚各引脚功能为:I/O为数据输入/输出端即单线总线,它属于漏极开路输出,外
28、接上拉电阻后,常态下呈高电平。UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。4.2.3 DS18B20的部构造DS18B20的部构造主要包括7局部:寄生电源、温度传感器、64位激光loserROM与单线接口、高速暂存器即便筏式RAM,用于存放中间数据、TH触发存放器和TL触发存放器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码CRC发生器。图4:DS18B20部构造4.2.4 DS18B20的程序流程图否是发出温度转换命令写入18B20读温度前复位显示测温点位置18B20复位开场18B20存在?延时发出读温度命令写入18B20读入温度值数据返回延时图5
29、程序流程图4.3数码管介绍数码管是一种半导体发光器件,其根本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元多一个小数点显示;按能显示多少个8可分为1位、2位、4位等等数码管; 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极()的数码管,共阳数码管在应用时应将公共极接到+5V,当*一字段发光二极管的阴极为低电平时,相应字段就点亮,当*一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管,共阴数码管在应用时应将公共极接到地线
30、GND上,当*一字段发光二极管的阳极为高电平时,相应字段就点亮,当*一字段的阳极为低电平时,相应字段就不亮。图5:数码管数码显示器是一种由LED发光二极管组合显示字符的显示器件,它使用了8个Led发光二极管,其中七个用于显示字符,一个显示小数点,所以通称为七段发光二极管数码显示器。4位一体数码管,其部段已连接好,引脚如下图数码管的正面朝自己,小数点在下方。a、b、c、d、e、f、g、dp为段引脚,S1、S2、S3、S4分别表示四个数码管的位。4.4继电器介绍 电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在
31、电磁力吸引的作用下克制返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点常开触点吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点常闭触点释放。这样吸合、释放,从而到达了在电路中的导通、切断的目的。对于继电器的常开、常闭触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为常开触点;处于接通状态的静触点称为常闭触点。继电器一般有两股电路,为低压控制电路和高压工作电路。图6:继电器剖析图5程序流程图开场初始化读取当前温度显示当前温度判断SET是否按下正常*围否是否加减键是否按下当前温度与上下限位关系小于下限大于上限是下限继电器工
32、作,蜂鸣器闪响上限继电器工作,蜂鸣器闪响相应处理上下限位While循环返回图7:程序流程图6.完毕语通过对自己在大学两年时间里所学的知识的回忆,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了本设计。为了更好地完成这个设计,我和同学一起买了这个设计需要用到的零件,并且和我的同学积极参加到实践之中,在焊接过程中,由于对焊接技术掌握的不好和对电路分析的不明确,导致自己焊接出的产品无法到达预期的效果。通过这次设计,使我深深地懂得了知识必须和实践相结合,只有掌握扎实的知识和丰富的实践经历,才能学好单片机。才能将知识更好地运用于现实生活中。7参考文献 1 权昌,兴富.单片机原理及应
33、用M.:华南理工大学,2007.841022 庆亮.C语言程序设计实用教程M.:机械工业,2005.32583 志忠.数字电子技术M.:高等教育,2003.1251324 及力.Protel 99 SE原理图与PCB设计教程M.:电子工业,2007.891505 徐江海.单片机实用教程M.:机械工业,2006.1281566 胡宴如.模拟电子技术M.:高等教育,2008.601047 汪文,林.单片机原理及应用M.:华中科技大学,2007.36688 康华光.电子技术根底数字局部M.:高等教育,2008.2032099 欣电子设计从零开场M.:清华大学,2005.281028.附录1 C语言程
34、序#include #define uint unsigned int#define uchar unsigned char /宏定义sbit SET=P31; /定义调整键sbit DEC=P32; /定义减少键sbit ADD=P33; /定义增加键sbit BEEP=P36; /定义蜂鸣器sbit ALAM=P12;/定义灯光报警sbit ALAM1=P14;sbit DQ=P37; /定义DS18B20总线I/Obit shanshuo_st; /闪烁间隔标志bit beep_st; /蜂鸣器间隔标志sbit DIAN = P05; /小数点uchar *=0; /计数器signed
35、char m; /温度值全局变量uchar n; /温度值全局变量uchar set_st=0; /状态标志signed char shang*ian=38; /上限报警温度,默认值为38signed char *ia*ian=5; /下限报警温度,默认值为5/uchar code LEDData=0*C0,0*F9,0*A4,0*B0,0*99,0*92,0*82,0*F8,0*80,0*90,0*ff;uchar code LEDData=0*5F,0*44,0*9D,0*D5,0*C6,0*D3,0*DB,0*47,0*DF,0*D7,0*CF,0*DA,0*9B,0*DC,0*9B,0
36、*8B;/=/=DS18B20=/=/*延时子程序*/void Delay_DS18B20(int num) while(num-) ;/*初始化DS18B20*/void Init_DS18B20(void) unsigned char *=0; DQ = 1; /DQ复位 Delay_DS18B20(8); /稍做延时 DQ = 0; /单片机将DQ拉低 Delay_DS18B20(80); /准确延时,大于480us DQ = 1; /拉高总线 Delay_DS18B20(14); * = DQ; /稍做延时后,如果*=0则初始化成功,*=1则初始化失败 Delay_DS18B20(20
37、);/*读一个字节*/unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0*80; Delay_DS18B20(4); return(dat);/*写一个字节*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0*01; Delay_
38、DS18B20(5); DQ = 1; dat=1; /*读取温度*/unsigned int ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0*CC); /跳过读序号列号的操作 WriteOneChar(0*44); /启动温度转换 Init_DS18B20(); WriteOneChar(0*CC); /跳过读序号列号的操作 WriteOneChar(0*BE); /读取温度存放器 a=ReadOne
39、Char(); /读低8位 b=ReadOneChar(); /读高8位 t=b; t=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; /放大10倍输出并四舍五入 return(t);/=/=/=/*延时子程序*/void Delay(uint num) while( -num );/*初始化定时器0*/void InitTimer(void)TMOD=0*1;TH0=0*3c;TL0=0*b0; /50ms晶振12M/*读取温度*/void check_wendu(void)uint a,b,c;c=ReadTemperature()-5; /获取温度值并减去DS1
40、8B20的温漂误差a=c/100; /计算得到十位数字b=c/10-a*10; /计算得到个位数字m=c/10; /计算得到整数位n=c-a*100-b*10; /计算得到小数位if(m99)m=99;n=9; /设置温度显示上限 /*显示开机初始化等待画面*/void Disp_init(void) P0 = 0*80; /显示-P2 = 0*7F;Delay(200);P2 = 0*DF;Delay(200); P2 = 0*F7;Delay(200);P2 = 0*FD;Delay(200);P2 = 0*FF; /关闭显示/*显示温度子程序*/void Disp_Temperature(void) /显示温度P0 = 0*98; /显示CP2 = 0*7F;Delay(400);P0=LEDDatan; /显示个位P2 = 0*DF;Delay(400);P0 =LEDDatam%10; /显示十位DIAN = 0; /显示小数点P2 = 0*F7;Delay(400);P0 =LEDDatam/10; /显示百位P2 = 0*FD;Delay(400);P2 = 0*ff; /关闭显示/*显示报警温度子程序*/void Disp_alarm(uchar baojing)P0 =0*98; /显示CP2 = 0*7F;Delay(200);P0 =LEDDatab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年离婚快速和解合同指南版B版
- 自控课程设计0型系统
- 私教体态调整课程设计
- 2025年高中生禁毒教案二
- 2024招聘计划书(32篇)
- 2024年用电客户受理员(二级技术师)理论考试题库(B卷)
- 网上购物系统web课程设计
- 舞蹈新鞋子课程设计
- 市场行业助理职责概述
- 三年高考地理(全国乙卷21-23)真题知识点-工业及其区位因素
- 社会消防安全教育培训题库及答案
- 部编人教版语文八年级上册文言文课下注释
- 苏教版译林三年级上下册单词表
- 肿瘤病例随访调查表
- 游乐园、滑雪场、冰雪乐园建设合作协议
- 粉末涂料有限公司检维修作业安全风险分级清单
- 【苏教版】2022-2023学年六年级数学上册期末试卷(及答案)
- 2023-2024学年连云港市灌云县四年级数学第一学期期末学业水平测试模拟试题含答案
- 湖南省怀化市鹤城区2023年数学三下期末监测试题含解析
- 项目工程安全管理责任区域划分表
- 2023年学校食堂审计发现问题整改报告3篇
评论
0/150
提交评论