当前位置:文档之家› 单片机温度采集与显示

单片机温度采集与显示

单片机温度采集与显示
单片机温度采集与显示

1、课程设计目的

(1)利用单片机及相应温度传感器设计单检测节点或多检测节点数字温度计

(2)精度误差:0.5摄氏度以内;测温范围:10-50摄氏度

(3)LED数码管或LCD直接显示

(4)完成对设计系统测试

2、数字温度计正文

摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,使用起来相当方便,适合于我们日常生活和嵌入其它系统中,作为其AT89C52结合最简温度检测系统,该系统恶劣环境下进行现场温度测量,有广泛的应用前景。本文将介绍一种基于单片机往制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。

关键词:单片机,数字控制,温度计,DSIBB20, AT89C52

2.1引言

随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技构中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。

测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段

①传统的分立式温度传感器

②模拟集成温度传感器

③智能温度传感器

目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89C52单片机为控制器构成的数字温度测量装置的工作

原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMBL公司的AT89C52单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。

2.2系统方案论证

该系统主要由温度测量和数据采集两部分电路组成,实现的方法有很多种,下面将列出一种在日常生活中和工农业生产中经常用到的实现方案:

2.2.1系统设计方案

数字温度芯片DS18B20测量温度,输出信号全数字化.便于单片控制,省去传统的测温方法的很多外围电路。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单体积也不大。采用51单片机控制,软件编程的自由度大,可通过控制工作,还可以与PC机通信上传数据,另外AT89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。

该系统利用AT89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。

2.2.1.1 数字温度计设计方案论证

由于本设计是测温电路,可以使用温度传感器利用其感温效应,在将随被测温度变化的电压或电流采集过来,在其内部进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,将被测温度显示出来,这种设计不需要用到A/D转换电路,感温电路比较容易,所以采用了温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

2.2.2 方案的总体设计框图

温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89C52,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。

图l 总体设计方框图 2.3系统器件的选择和性能介绍 2.3.1单片机的性能介绍

AT89C52单片机为40引脚双列直插式封装。 引脚排列和逻辑符号如图2所示: 各引脚功能简单介绍 ●VCC:供电电压 ●GND:接地

●P0口:P0口为一个8位漏级开路双向1/O 口,每个管脚可吸收8TTL 门电流。当P1口的管脚写“1”时,被定义为高阻态输入。PO 能够用于外部程序数据存储器,它可以被定义为数据地址的第八位. 在FLASH 编程时,PO 口作为原码输入口,当FLASH 进行校验时,PO 输出原码,此时PO 外部电位必须被拉高

●P1口:P1口是一个内部提供上拉电阻的8位双向1/0口,P1口缓冲器能接收输出4TTL 门电流.P1口管脚写入“1"后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1

口作为第八位地址接收。

图2 AT89C52单片机引脚图

温度传感器

L E D 显示温度

时钟震荡

温度报警

单片机复位

●P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

●P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入,“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故,P3口也可作为AT89C52的一些特殊功能口:

P3.0 RDX(串行输入口)

P3.1 RDX(串行输出口)

P3.2 INTO(外部中断0)

P3.3 INTO(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 Tl(记时器1外部输入)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号。

●RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

●ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,Al王端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部偷出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFRBEH地址上置0。此时,ALE只有在执行MOVX或MOVC指令时ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

●PSEN: 外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现.

●EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

●XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入

●XTAL2:来自反向振荡器的输出。

2.3.2温度传感器的选择和性能介绍

这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件

2.3.2.1DS18B20性能介绍

DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出:其工作电源既可以在远端引入,也可以采用寄生

电源方式产生:多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18B20的性能特点如下:

●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

●适应电压范围更宽,电压范围:3.0-5.5V,在寄生电源方式下可由数据线供电

●测温范围-55℃~+125℃,在-10~+85℃时精度为+/-0.5℃

●零待机功耗

●可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温

●在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快

●用户可定义报警设置

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件

●测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作

以上特点使DSISB20非常适用与多点、远距离温度检测系统。

DSISB20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图4.2所示,DQ为数据输刀输出引脚.开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GDN为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其电路图3所示:

图 3外部封装形式和传感器电路图

2.3.2.2 DS18B20使用中的注意事项

DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

①DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。

②在实际使用中发现,应使电源电压保持在5V左右,若电源电压过低,会使所测得的温度精度降低。

较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

③在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

④在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点接和软件设计时也要给予一定的重视。

2.3.2.3 DS18B20内部结构

图4为DS18B20的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据

的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。

DS18B20采用3脚PR-35封装或8脚SOIL封装,其内部结构框图如图4所示:

图4 DS18B20内部结构

64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18320可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入报警上下限。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图5所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和RO决定温度转换的精度位数,来设置分辨率。

图5 DS18B20字节定义表1 DS18B20温度转换时问表由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7, 8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据读数据时低位在先,高位在后,数据格式以0.0625℃/ LSB形式表示。

表2 LSB和MSB的位定义

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3是一部分温度值对应的二进制温度数据。

DS18B20完成温度转换后,就把测得的温度值与RAN中的TH, T L字节内容作比较。若T >TH或T

在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,井和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。

DS18020的测温原理是这样的器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振的振荡频率随温度变化明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度侧量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55'C所对应的一个基数分别置入减法计数器1I温度寄存器中,计数器1和温度寄存器被预置在-55'C所对应的一个基数值。

减法计数器1对低温度系数晶振所产生的脉冲信号进行减法计数,当减法计数器1的数值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振所产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存

器值大致被测温度值。

表3 一部分温度对应值表

DS18B20有六条控制命令,如表所示:

指令约定代码操作说明

温度转换44H 启动DS18B20进行温度转换

读暂存器BEH 读暂存器9个字节内容

写暂存器4EH 将数据写入暂存器的TH, TL字节

复制暂存器48H 把暂存器的TH, TL字节写到E2RAh1中

重新调E2RAM B8H 把E2RAh1中的TH, TL字节写到暂存器TH, TL字节

读电源供电方式B4H 启动DS18B20发送电源供电方式的信号给主CPU

2.3.2.4DS18B20的通信协议

DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。

a)复位和应答脉冲时隙

每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。

b)写时隙

当主机将单总线DQ从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。

c)0读时隙

DS18B20器件仅在主机发出读时隙时,才向主机传输数据。在主机发出读数据命令后,必须马上产生时隙,以便DS18B20能够传输数据。每个读时隙都由主机发起,至少拉低总线1us。在主机发起读时隙之后,DS18B20

器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。若发送为0,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至高电平状态DS18B20发出的数据,在起始时隙之后保持有效时间为15us。

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要,系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲) 发ROM劝能命令发存储器操作命令处理数据。

2.3.3 DS18B20温度传感器与单片机的接口电路

DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图5所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。

当S18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时问最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的.

图5 DS18B20与单片机连接

2.4 系统整体硬件电路

2.4.1 主板电路

系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,见附录。其中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示。

2.4.2 显示电路

显示电路是使用74HC373锁存器和74LS138译码器分别控制段选和位选,利用动态显示。好处是LED数码管数量大时,电路简单。

2.4.3 温度报警电路

本设计的发挥部分,是加入了报警,如果我们所设计的系统是监控某一设备,当设备的温度超过我们所设定的温度值时,系统会产生报警.

报警时由单片机产生一定频率的脉冲,由P2.7引脚输出,P2.7外接一只PNP的三极管来驱动杨声器发出声音,以便操作员来维护,从而达到报警的目的。如下图.

图6 温度报警电路

2.5 系统软件

2.5.1 程序分析

主机发送(Tx)一复位脉冲(最短为480 us)的低电平信号。接着主机使释放此线并进入接收方式(Rx)总线经过4.7K的上拉电阻被拉至高电平状态。在检测到I/O引脚上的上升沿之后,DS18B20等待15~60us并且接着发送脉冲(60~240us的低电平信号)。然后以存在复位脉冲表示DSI8B20已经推备好发送或接收,然后给出正确的ROM命令和存储操作命令的数据。DS1SB20通过使用时间片来读出和写入数据时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种:

①写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片,有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有60微秒的持续期,在各写周期之间必须有最短为l微秒的恢复时间。

②读时间片:从DSI8B20读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1微秒来自DS18B20的输出数据在时间下降沿之后的15微秒内有效。为了读出从读时间片开始算起15ms的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平.所有读时向片的最短持续期为60微秒,包括两个读周期间至少lus 的恢复时间。

一旦主机检测到DSI8B20的存在,它便可以发送一个ROM操作命令,所有ROM操作命令均为8位长。

所有的串行通讯,读写每一位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化,其次执行ROM命令;最后是执行功能命令(ROM命令和功能命令后面以表格形式给出)。如果出现序序混乱,则单总线器件不会响应主机。当然,搜索ROM命令和报警搜索命令、在执行两者中任何一条命令后,要返回初始化。

2.5.2 各程序设计与实现

2.5.2.1 主程序

主程序需要调用5个子程序,各模块程序功能如下:

①DS18B20复位程序:每次重新从DS18B20读数据时需要系统复位

②DS18B20写命令程序:DS18B20有六条控制命令,通过此程序来进行控制DS18B20

③DS18B20读1字节程序:从引脚接收数据并保存数据

④读出温度程序:对DS18B20进行读数据,并进行处理

⑤温度数据处理程序:向5个LED送数,控制系统的显示部分

其中因为DS18B20有两个,所以前4个子程序分别有两个,对应相应的DS18B20。主流程图见图7。

其中主程序的源程序为:

void main()

{

DP=1;

while(1)

{

for(w1=0;w1<5;w1++)

{

for(w2=0;w2<50;w2++)

{

init1();

P2=3;

P0=0x06;

temp=read_temperature1();

display1();

}

}

for(w3=0;w3<5;w3++)

{

for(w4=0;w4<50;w4++)

{

init2();

P2=3;

P0=0x5b;

temp=read_temperature2();

display2();

}

}

}

}

2.5.2.2 DS18B20复位程序

每次重新从DS18B20读数据时都需要系统复位,这是为了防止原来的操作影响新的数据的正确性。且因为AT89C52工作在12M晶振下,机器周期大约为600us。

复位时序:复位要求主CPU数据线下拉500us,然后释放。DS18B20收到信号后等待16~60us左右,后发出60~240us的存在低脉冲,主CPU收到此信号表示复位成功。

复位流程图见图8.

源程序:

void init1()

{

DQ1=1;

delay(8);

DQ1=0;

delay(80);

DQ1=1;

delay(15);

}

图7 主流程图图8 复位流程图

2.5.2.3 DS18B20写命令程序

写时序均起始于主机拉低总线,产生写1时序的方式:主机在拉低总线后,接着必须在15us之内释放总线。产生写0时序的方式:在主机拉低总线后,只需在整个时序期间保特低电平即可(至少60us)。在写字节程序中的写一位的时候,没有按照通常的分别写0时序和写1时序,而是把两者结合起来,当主机拉低总线后在15us之内将要写的位c给DQ。如果c是高电平,满足15us内释放总线的要求;如果c是低电平,则DQ=0这条语句仍然是把总线拉在低电平,最后都通过延时58us,完成一个写时序(写时序O或写时序1)过程.

写时间时序:当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始,有两种写时间隙,写1时间隙和写0时间隙。所有写时间隙必须最少持续60us,包招两个写周期至少1us的恢复时间。I/O线电平变低后,DS18B20在一个15us到60us的窗口内对I/O线采样。如果线上是高电平,就写1.如果是低电平,就写0.主机要生成一个写0时间隙,必须把数据缓拉到低电平然后释放,在写时间隙开始后的15us内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保存60us。

每个读时隙部由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0或1。所有读时序至少需要60us。

写命令流程图见图9。

源程序:假设要写1B的数据,且数据放在dat中

//向1-WIRE 总线上写1个字节

void write_byte1(int dat) //写一个字节

{

for(i=0;i<8;i++)

{

DQ1=0;

DQ1=dat&0x01; //此条语句可延时1u秒

delay(4);

DQ1=1;

dat>>=1;

}

delay(4);

}

2.5.2.4 DS18B20读1字节程序

读时间时序:当从DS18B20读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,写时间隙开始,数据线必领保持至少1us;从DS18B20输出的数据在读时间隙的下降沿出现后15us内有效.

因此,主机在读时间隙开始后必须把I/O脚驱动拉为的电平保持l5us,以读取I/O脚状态。在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60us,包括两个读周期至少1us的恢复时间。

读数据流程图见图10。

源程序:从总线上取1个字节

int read_byte1() //读一个字节

{

for(k=0;k<8;k++)

{

DQ1=0;

value>>=1;

DQ1=1; //释放总线

if(DQ1)

value=value|0x80;

delay(4);

}

return value;

}

图10 读数据流程图图9 写命令流程图

2.5.2.5读温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。把读到的数据分别转化成整数部分和小数部分。当符号位为1,即温度为零下时,进行报警程序。其程序流程图如图11所示.

源程序:

int read_temperature1() //读温度函数

{

init1();

write_byte1(0xcc); //跳过ROM命令

write_byte1(0x44); //写转换指令

delay(300);

init1();

write_byte1(0xcc);

write_byte1(0xbe); //写读温度指令LSB=read_byte1();

MSB=read_byte1();

ss=MSB&0x0f8;

if(ss==0x00)

{

MSB<<=4;

MSB=MSB|(LSB&0xf0)>>4; //整数部分}

else

{

DP=0;delay(50);DP=1;

P2=7;P0=table[0];

MSB=0x00;

}

return MSB;

}

图11 读温度程序流程图

2.5.2.6 温度数据处理程序

温度数据处理部分在硬件上使用74HC373锁存器和74LS138译码器分别控制段选和位选,利用动态显示。好处是LED数码管数量大时,电路简单。而软件部分则通过向74LS138译码器发送信号选中某个LED后再将相应的数据发给74HC373锁存器进行显示。

本设计运用了5个LED,其中第1个为两个DS18B20的序号,第2个显示“—”,后三个为温度,其中最后一位为小数部分。如当前1号DS18B20所测得的温度为30.5,则显示“1—30.5”。

而且,当温度不在10~50℃之间时,蜂鸣器响且灯亮。

源程序:

void display1() //显示函数

{

while(MSB<10||MSB>50)

{

DP=0;delay(50);DP=1;

P2=7;P0=table[0];

read_temperature1();

}

P2=4;

P0=0x40;

delay_50us(5);

P2=5;

P0=table[temp/10+1];

delay_50us(5);

P2=6; //整数部分显示

P0=table[temp%10+1]|0x80;

delay_50us(5);

LSB=LSB&0x0f;

P2=7;

P0=table[LSB%10+1]; //小数部分显示

delay_50us(5);

}

2.5.3 整体源程序

#include

sbit DQ1=P1^3;

sbit DQ2=P1^4;//温度输入口

sbit DP=P1^2;

int table[]={0xff,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}, i,k,value,MSB,LSB,temp,ss,w1,w2,w3,w4;

void delay_50us(int m)

{

int j;

for(;m>0;m--)

for(j=5;j>0;j--);

}

void delay(int t)

{

while(t--);

}

/****************DS18B20复位函数************************/ void init1()

{

DQ1=1;

delay(8);

DQ1=0;

delay(80); //大约600u秒,在12M晶振下

DQ1=1;

delay(15);

}

/****************DS18B20写命令函数************************/

//向1-WIRE 总线上写1个字节

void write_byte1(int dat) //写一个字节

{

for(i=0;i<8;i++)

{

DQ1=0;

DQ1=dat&0x01; //此条语句可延时1u秒

delay(4);

DQ1=1;

dat>>=1;

}

delay(4);

}

/***************DS18B20读1字节函数************************/ //从总线上取1个字节

int read_byte1() //读一个字节

{

for(k=0;k<8;k++)

{

DQ1=0;

value>>=1;

DQ1=1; //释放总线

if(DQ1)

value=value|0x80;

delay(4);

}

return value;

}

/****************读出温度函数************************/

int read_temperature1() //读温度函数

{

init1();

write_byte1(0xcc); //跳过ROM命令

write_byte1(0x44); //写转换指令

delay(300);

init1();

write_byte1(0xcc);

write_byte1(0xbe); //写读温度指令

LSB=read_byte1();

MSB=read_byte1();

ss=MSB&0x0f8;

if(ss==0x00)

{

MSB<<=4;

MSB=MSB|(LSB&0xf0)>>4; //整数部分?

基于单片机的多路温度采集系统毕业设计(论文)外文翻译

华南理工大学学院 本科毕业设计(论文)外文翻译 外文原文名Structure and function of the MCS-51 series 中文译名MCS-51系列的功能和结构 学院电子信息工程学院 专业班级自动化一班 学生黎杰明 学生学号 3 指导教师吴实 填写日期2016年3月10日 页脚.

外文原文版出处:《association for computing machinery journal》1990, V ol.33 (12), pp.16-ff 译文成绩:指导教师(导师组长)签名: 译文: MCS-51系列的功能和结构 MSC-51系列单片机具有一个单芯片电脑的结构和功能,它是英特尔公司的系列产品的名称。这家公司在1976年推出后,引进8位单芯片的MCS-48系列计算机后于1980年推出的8位的MCS-51系列单芯片计算机。诸如此类的单芯片电脑有很多种,如8051,8031,8751,80C51BH,80C31BH等,其基本组成、基本性能和指令系统都是相同的。8051是51系列单芯片电脑的代表。 一个单芯片的计算机是由以下几个部分组成:(1)一个8位的微处理器(CPU)。(2)片数据存储器RAM(128B/256B),它只读/写数据,如结果不在操作过程中,最终结果要显示数据(3)程序存储器ROM/EPROM(4KB/8KB).是用来保存程序一些初步的数据和切片的形式。但一些单芯片电脑没有考虑ROM/EPROM,如8031,8032,80C51等等。(4)4个8路运行的I/O接口,P0,P1,P2,P3,每个接口可以用作入口,也可以用作出口。(5)两个定时/计数器,每个定时方式也可以根据计算结果或定时控制实现计算机。(6)5个中断(7)一个全双工串行的I/UART(通用异步接收器I口/发送器(UART)),它是实现单芯片电脑或单芯片计算机和计算机的串行通信使用。(8)振荡器和时钟产生电路,需要考虑石英晶体微调能力。允许振荡频率为12MHz,每个上述的部分都是通过部数据总线连接。其中CPU是一个芯片计算机的核心,它是计算机的指挥中心,是由算术单元和控制器等部分组成。算术单元可以进行8位算术运算和逻辑运算,ALU单元是其中一种运算器,18个存储设备,暂存设备的积累设备进行协调,程序状态寄存器PSW积累了2个输入端的计数等检查暂时作为一个操作往往由人来操作,谁储存1输入的是它使操作去上暂时计数,另有一个操作的结果,回环协调。此外,协调往往是作为对8051的数据传输转运站考虑。作为一般的微处理器,解码的顺序。振荡器和定时电路等的程序计数器是一个由8个计数器为2,总计16位。这是一个字节的地址,其实程序计数器,是将在个人电脑进行。从而改变它的容可以改变它的程序进行。在8051的单芯片电脑的电路,

单片机课程设计说明书 多点温度采集电路设计

单片机课程设计说明书题目:多点温度采集电路设计

课程设计(论文)任务书 I、课程设计(论文)题目: 多点温度采集电路设计 II、课程设计(论文)使用的原始资料(数据)及设计技术要求: 1.设计一个基于单片机的多点温度采集电路,至少可采集8个点。 2.测温范围:0℃-800℃。 3.采用LED数码直读显示检测点、温度。 4.温度分辨率:1℃。 5.应用protel画出原理图,给出硬件清单。 II、课程设计(论文)工作内容及完成时间: 5月21日至5月23日:查找资料,方案论证; 5月24日至5月25日:总体设计; 5月25日至5月30日:软、硬件详细设计与调试; 5月31日至6月1日:整理数据,撰写报告。 Ⅳ主要参考资料: 1.曹天汉.单片机原理与接口技术.北京:电子工业出版社,2006. 2.求是科技.单片机典型模块设计实例导航.北京:人民邮电出版社,2004. 3.李广弟,朱月秀,王秀山.单片机基础(修订本).北京:北京航空航天大学出版社,2001. 4.传感器电路分析与设计李道华、李玲、朱艳.武汉大学出版社,2000. 专业类班 学生:

日期:自2012年5月21日至2011年6月1日指导教师: 助理指导教师(并指出所负责的部分): 教研室主任: 附注:任务书应该附在已完成的课程设计说明书首页。 目录 △、设计摘要 (1) 一、设计背景 (2) 1.1 课题背景 (2) 1.2 课题的目标及意义 (2) 1.3 主要研究内容 (3) 二、设计准备 (4) 2.1设计时间安排 (4) 2.2设计需求 (4)

2.2.1 所需元件 (4) 2.2.2 部分元件解析 (4) 三、设计分析 (11) 3.1 总图展示 (11) 3.2 线口说明 (11) 四、设计总结 (16) 参考文献 (17)

单片机温度采集显示系统

考试序列号____ 单片机课程设计论文 论文题目:温度采集显示系统 课程名称:单片机课程设计 学院物理与光电工程学院 专业班级 08电子3班 学号 3108009223 姓名梁辉浩 联系方式 任课教师 20 年月日

温度采集显示系统 一、功能和要求: (1)温度测量范围 0 - 99℃。 (2)温度分辨率±1℃。 (3)选择合适的温度传感器。 (4)使用键盘输入温度的最高点和最低点,温度超出范围时候报警。(报警温度不需要保存) 二、系统方案: 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。 三、核心元件的功能 1、AT89C51 AT89S51美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K BytesISP(In-system programmable)的可反 复擦写1000次的Flash只读程序存储器,器 件采用ATMEL公司的高密度、非易失性存储技 术制造,兼容标准MCS-51指令系统及AT89C51 引脚结构,芯片内集成了通用8位中央处理器 和ISP Flash存储单元。单片机AT89S51强大 的功能可为许多嵌入式控制应用系统提供高 性价比的解决方案。 AT89C51芯片的引脚结构如图1所示: 1.1功能特性概括: AT89S51提供以下标准功能:40个引脚、 4K Bytes Flash片内程序存储器、128 Bytes 的随机存取数据存储器(RAM)、32个外部双

基于51单片机的温度控制系统

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王*

毕业论文设计 基于51单片机的温度控制系统

摘要 在日常生活中温度在我们身边无时不在,温度的控制和应用在各个领域都有重要的作用。很多行业中都有大量的用电加热设备,和温度控制设备,如用于报警的温度自动报警系统,热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,这些都采用单片机技术,利用单片机语言程序对它们进行控制。而单片机技术具有控制和操作使用方便、结构简单便于修改和维护、灵活性大且具有一定的智能性等特 点,可以精确的控 制技术标准,提高了温控指标,也大大的提高了产品的质量和性能。 由于单片机技术的优点突出,智能化温度控制技术正被广泛地采用。本文介绍了基于单片机AT89C51 的温度控制系统的设计方案与软硬件实现。采用温度传感器DS18B20 采集温度数据,7段数码管显示温度数据,按键设置温度上下限,当温度低于设定的下限时,点亮绿色发光二极管,当温度高于设定的上限时,点亮红色发光二极管。给出了系统总体框架、程序流程图和Protel 原理图,并在硬件平台上实现了所设计功能。 关键词:单片机温度控制系统温度传感器

Abstract In daily life, the temperature in our side the ever-present, the control of the temperature and the application in various fields all have important role. Many industry there are a large number of electric heating equipment, and the temperature control equipment, such as used for alarm automatic temperature alarm systems, heat treatment furnace, used to melt metal crucible resistance furnace, and all kinds of different USES of temperature box and so on, these using single chip microcomputer, using single chip computer language program to control them. And single-chip microcomputer technology has control and convenient in operation, easy to modify and maintenance of simple structure, flexibility is large and has some of the intelligence and other characteristics, we can accurately control technology standard to improve the temperature control index, also greatly improve the quality of the products and performance. Because of the advantages of the single chip microcomputer intelligent temperature control technology outstanding, is being widely adopted. This paper introduces the temperature control based on single chip microcomputer AT89C51 design scheme of the system and the hardware and software implementation. The temperature sensor DS18B20 collection temperature data, 7 period of digital pipe display, the upper and lower limits of temperature button when temperature below the setting of the lower limit, light green leds, when the temperature is higher than the set on the limit, light red leds. Given the system framework and program flow chart and principle chart, and in Protel hardware platform to realize the function of the design. Keywords:SCM Temperature control system Temperature sensors

(完整版)基于单片机的多点温度检测系统毕业设计论文

集成电路课程设计 课题:基于AT89C51单片机的多点温度测量系统设 计 姓名:韩颖 班级:测控12-1 学号:

指导老师:汪玉坤 日期: 目录 一、绪论 二、总体方案设计 三、硬件系统设计 1主控制器 2 显示模块 3温度采集模块 (1)DS18B20的内部结构 (2)高速暂存存储器 (3)DS18B20的测温功能及原理 (4)DS18B20温度传感器与单片机的连接

(5)单片机最小系统总体电路图 四、系统软件设计 五、系统仿真 六、设计总结 七、参考文献 八、附源程序代码 一、绪论 在现代工业控制中和智能化仪表中,对于温度的控制,恒温等有较高的要求,如对食品的管理,冰箱的恒温控制,而且现在越来越多的地方用到多点温度测量,比如冰箱的保鲜层和冷冻层是不同的温度这就需要多点的测量和显示可以让用户直观的看到温度值,并根据需要调节冰箱的温。它还在其他领域有着广泛的应用,如:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测。。。。。。温度检测系统应用十分广阔。 本设计采用DALLAS最新单线数字温度传感器DS18B20 简介新的"一线器件"体积更小、适用电压更宽、更经济DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持"一线总线",测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°二、设计过程及工艺要求 1、基本功能 (1)检测两点温度 (2)两秒间隔循环显示温度 2、主要技术参数 测温范围:-30℃到+99℃

测量精度:0.0625℃ 显示精度:0.1℃ 显示方法:LCD循环显示 3、系统设计 系统使用AT89C51单片机对两个DS18B20进行数据采集,并通过1602LCD液晶显示器显示所采集的温度。 DS18B20以单总线协议工作,51单片机首先分别发送复位脉冲,使信号上所有的DS18B20芯片都被复位,程序先跳过ROM,启动DS18B20进行温度变换,再读取存储器的第一位和第二位读取温度,通过IO口传到1602LCD显示。 1 2 3 图(1)DS18B20引脚图 引脚定义如图(1): (1) GND为电源地; (2) DQ为数字信号输入输出端; (3) Vcc为外接供电电源输入端(在寄生电源接线方式时接地)。 4、设计原理框图 图(2)原理框图 三、硬件设计 1、主控制器(单片机) 基于设计的要求要使用AT89C51单片机作为本系统设计的核心器件。由于 AT89C51 单片机是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能cMOS8 位微处理器。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性

基于液晶显示的单片机温度控制设计

. ... . 《基于液晶显示的单片机温度控制设计》 实习报告 专业班级:电子信息科学与技术11级 组长:彪组别:一 组员:邢路飞王晓东李梁刚蔡云云李德龙宋文杰指导教师:谢艳新王海波 学期:2013-2014学年第1学期 实习地点:组成原理及单片机实验室 《基于液晶显示的单片机温度控制设计》实习报告

一、实验目的 随着现代科技的不段发展,对温度测量的工具越来越多并且精度也是越来高,但随着生活水平的不段提高,越来越多的人健康的关注倍加重视,特别是对暖空气的变化更加注意,在此我们特设计有关温度控制的系统,通过它可以设置度的上下限,当温度低于所设的温度的下限或是高于所设的温度的上限时就会发生报警,因此可以提醒您要注意温度变化。本制作轻巧灵便适合在私人家庭中运用,使用时可以通过四个按键的作用来设置系统初值,即可达到准确提醒您的作用。 二、设计题目:基于液晶显示的单片机温度控制设计 三、功能描述 本次设本系统主要研究的是利用MCS-51系列单片机中的AT89C51单片机来实现温度检测及控制,通过对89C51的P1口的高4位设置上限值、下限值、,因考虑到在设置温度TH和TL,所以本次设计采用四个按键来控制,通过按键之间的协调作用来完成温度设置值,由于温度的不同我们采取不同的信息来作为信号处理,所以在硬件电路中用蜂鸣器来报警做为提醒实现温度从IN0输入89C51的P1口低4位设置报警系统。ADC0809实现模拟输入到数字量的转换,通过1602数码管显示数据。 四、系统硬件设计 4.1时钟振荡电路 时钟振荡电路如图1所示。 图1 时钟振荡电路图

4.2测温电路 测温电路如图2所示。 图2 测温电路图4.3复位电路 复位电路如图3所示。 图3 复位电路图4.4 报警电路 报警电路如图4所示。 图4 报警电路图4.5显示电路 显示电路如图5所示。

基于单片机的温控器

天津理工大学 课程设计报告 题目:基于单片机的温控器设计 学生姓名李天辉学号 20101009 届 2013 班级电气4班 指导教师专业电气工程及其自动化

说明 1. 课程设计文本材料包括设计报告、任务书、指导书三部分,其中 任务书、指导书由教师完成。按设计报告、任务书、指导书顺序装订成册。 2. 学生根据指导教师下达的任务书、指导书完成课程设计工作。 3. 设计报告内容建议主要包括:概述、系统工作原理、系统组成、设计内容、小结和参考资料。 4. 设计报告字数应在3000-4000字,采用电子绘图、采用小四号宋 体、1.25倍行距。 5.课程设计成绩由平时表现(30%)、设计报告(30%)和提问成绩(40%) 组成。

课程设计任务书、指导书 课程设计题目: Ⅰ.课程设计任务书 一、课程设计的内容和要求(包括原始数据、技术要求、工作量) 当今社会,温控器已经广泛应用于电冰箱、空调和电热毯等领域中。其优点是控制精度高,稳定性好,速度快自动化程度高,温度和风速全自动控制,操作简单可靠,对执行器要求低,故障率低,效果好。目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。 本课程设计要求设计温度控制系统,主要由温度数据采集、温度控制、按键和显示、通讯等部分组成。温度采集采用NTC或PTC热敏电阻(或由电位器模拟)或集成温度传感器、集成运算放大器构成的信号调理电路、AD转换器组成。温控部分采用交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的。 温度控制算法采用PID控制,可以采用普通PID或模糊PID。对控制PID参数进行整定,进行MATLAB仿真,说明控制效果。进行程序编制。 设计通讯协议,并能够通过RS485总线将数据传回上位机。2.课程设计的要求 1、选择相应元器件设计温度控制系统原理图并绘制PCB版图。 2、进行PID控制算法仿真,设计PID参数,或模糊PID规则。 3、系统功能要求:a要能够显示实时温度;b能够进行温度设置;c 能够进行PID参数设定;d能够把数据传回上位机;e可以设定本机地址。F温度控制范围0~99.9度。 4、编制程序并调试通过,并有程序流程图。

基于单片机的温度采集系统设计

摘要 单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统。 第一章单片机概述 单片机是单片微型计算机的简称,有时称为微控制器,是将计算机的主要功能单元集成在一个芯片中而构成的器件。由于单片机在一个芯片上集成诸多功能,因此就单项功能而言,通常都没有普通计算机强大,如计算机速度不够快、字长较短、外部可扩展接口的数量少且规模小等。但是,单片机具有体积小、价格便宜和技术成熟等优点,是各种电子产品的重要组成部分,在国民经济的各个领域发挥着重要作用。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、

单片机温度采集程序

单片机温度采集程序 用一片DS18B20 构成测温系统,测量的温度精度达到0.1 度,测量的温度的范围在-20 度到+100 度之间,用8 位数码管显示出来。 由于DS18B20 是在一根I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20 的读时序 对于DS18B20 的读时序分为读0 时序和读1 时序两个过程。 对于DS18B20 的读时隙是从主机把单总线拉低之后,在15 秒之内就得释放单总线,以让DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需要60us 才能完成。 对于DS18B20 的写时序仍然分为写0 时序和写 1 时序两个过程。 对于DS18B20 写0 时序和写1 时序的要求不同,当要写0 时序时,单总线要被拉低至少60us ,保证DS18B20 能够在15us 到45us 之间能够正确地采样IO 总线上的“0 ”电平,当要写1 时

序时,单总线被拉低之后,在15us 之内就得释放单总线。 本程序实现温度的采集并且实时在数码管上显示出来。 具体程序如下: /*----------------------------------------------- 名称:18B20温度传感器 日期:2009.5 修改:无 内容:18B20单线温度检测的应用样例程序,请将18b20插紧, 然后在数码管可以显示XX.XC,C表示摄氏度,如显示25.3C表示当前温度25.3度 ------------------------------------------------*/ #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include #include #define uchar unsigned char #define uint unsigned int; /******************************************************************/ /* 定义端口*/ /******************************************************************/ sbit seg1=P2^0; sbit seg2=P2^1; sbit seg3=P2^2; sbit DQ=P1^3;//ds18b20 端口 sfr dataled=0x80;//显示数据端口 /******************************************************************/ /* 全局变量*/ /******************************************************************/ uint temp; uchar flag_get,count,num,minute,second; uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //7段数码管段码表共阳 uchar str[6]; /******************************************************************/ /* 函数声明*/ /******************************************************************/ void delay1(uchar MS); unsigned int ReadTemperature(void); void Init_DS18B20(void); unsigned char ReadOneChar(void);

单片机温度采集与显示

1、课程设计目的 (1)利用单片机及相应温度传感器设计单检测节点或多检测节点数字温度计 (2)精度误差:0.5摄氏度以内;测温范围:10-50摄氏度 (3)LED数码管或LCD直接显示 (4)完成对设计系统测试 2、数字温度计正文 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,使用起来相当方便,适合于我们日常生活和嵌入其它系统中,作为其AT89C52结合最简温度检测系统,该系统恶劣环境下进行现场温度测量,有广泛的应用前景。本文将介绍一种基于单片机往制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 关键词:单片机,数字控制,温度计,DSIBB20, AT89C52 2.1引言 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技构中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段 ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能温度传感器 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89C52单片机为控制器构成的数字温度测量装置的工作

基于51单片机的温度警报器的设计

西安文理学院物理与机械电子工程学院课程设计任务书

目录 摘要 (3) 1 引言 (3) 1.1课题背景 (3) 1.2研究内容和意义 (5) 2 芯片介绍 (5) 2.1 DS18B20概述 (5) 2.1.1 DS18B20封装形式及引脚功能 (6) 2.1.2 DS18B20内部结构 (6) 2.1.3 DS18B20供电方式 (9) 2.1.4 DS18B20的测温原理 (10) 2.1.5 DS18B20的ROM命令 (11) 2.2 AT89C52概述 (13) 2.2.1单片机AT89C52介绍 (13) 2.2.2功能特性概述 (13) 3 系统硬件设计 (13) 3.1 单片机最小系统的设计 (13) 3.2 温度采集电路的设计 (14) 3.3 LED显示报警电路的设计 (15) 4 系统软件设计...................................................15 4.1 流程图........................................................15 4.2 温度报警器程序.................................................16 4.3 总电路图..................................................... 19 5总结 (20)

摘要 随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。 本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。DS18B20与AT89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;温度检测;AT89C52;DS18B20; 1 引言 1.1课题背景 温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。 基于AT89C51单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。 温度对于工业生产如此重要,由此推进了温度传感器的发展。温度传感器主要经过了三个发展阶段[1]: (1)模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、

《基于单片机的温度控制系统的设计》

序号(学号):040930727 长春大学光华学院 毕业设计(论文) 姓名魏明岩 系别 专业 班级0409307 指导教师马春龙 年月日

目录 摘要 (1) 第一章前言 (3) 1.1课题背景和意义 (3) 1.2温度控制系统的使用 (3) 1.3毕业设计任务 (4) 第二章系统方案 (5) 2.1水温控制系统设计任务和要求 (5) 2.2水温控制系统部分 (5) 2.3控制方式 (7) 第三章系统硬件设计 (8) 3.1总体设计框图及说明 (8) 3.2外部电路设计 (8) 3.3单片机系统电路设计 (9) 第四章系统软件设计和调试 (13) 4.1 程序框架结构 (13) 4.2程序流程图及部分程序 (13) 4.3 系统安装调试和测试 (17) 第五章结论 (18) 致谢 (19) 参考文献 (20) 附件1(程序代码) (20) 附件2(电路原理图) (27)

基于单片机的水温控制系统 【摘要】温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。为了实现高精度的水温测量和控制,本文介绍了一种以Atmel公司的低功耗高性能CMOS单片机为核心,以PID算法控制以及PID参数整定相结合的控制方法来实现的水温控制系统,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及RS232接口等电路。该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。 【关键词】单片机AT89C51;温度控制;温度传感器PT1000;PID 调节算法 The summary: Temperature is the main control of industrial control of parameters,In temperature control, due to temperature controlled object properties (such as inertia big, big, lagging effect of nonlinear, etc.), to improve performance, some process temperature control of its direct impact on the quality of the product, and designed a kind of ideal temperature control system is a very valuable.In order to realize high precision temperature measurement and control, this paper introduces a meter taking Atmel company low-power high-performance CMOS chip as the core, and the PID control algorithm with PID parameters combination of control method to realize the temperature control system, the hardware circuit including temperature, temperature

基于采用AT89S51单片机和LM35温度传感器的温度采集显示系统设计

基于采用AT89S51单片机和LM35温度传感器的温度采集显示系统设计随着电子和传感技术的快速发展,温度的测量和控制在民用、工业以及航空航天技术等领域,等到了广泛应用。小型的、低功耗的、廉价的、可靠性高的温度传感器引起了人们的广泛关注。在实际生产、生活等领域中,温度是环境因素不可或缺的一部分,对温度进行及时精确的控制和检测显得尤为重要。本文基于AT89S51单片机,采用 LM35温度传感器,设计了一种灵敏度较高,抗干扰能力强,工作稳定可靠的温度采集显示系统。 1、系统结构及工作原理温度采集显示系统电路由温度采集模块、A/D转换模块、单片机控制模块、数码管显示模块和下载模块组成。电路工作原理是:首先由LM35温度传感器采集外界环境的温度,经LM358放大10倍后以电压形式输入到A/D采样电路,由A/D 转换器TLC549将温度的数字量值传送给单片机系统,再有单片机系统驱动数码管显示温度。本文设计的基于LM35的单片机温度采集显示系统的温度测量范围为25℃~80℃温度采集显示系统电路是一个开环控制系统系统原理框图如图1示: 2、系统核心硬件电路设计系统核心硬件电路设计主要包含温度采集模块的设计、A/D转换模块的设计、单片机控制模块的设计、数码管显示模块的设计和下载模块的设计。 2.1、采集模块的设计 传感器是信号输入的第一个环节,也是整个测试系统性能的关键环节之一,因此对传感器的正确选用显得尤为重要。在本系统中,温度采集模块的核心硬件采用LM35温度传感器,该器件有很高的工作精度和较宽的线性工作范围,其输出电压与摄氏温度线性成比例,温度每上升1℃,电压上升10ms。LM35无需外部校准,可以提供±1/4℃的常用室温精度。从经济适用等多方面考虑,系统采用LM35温度传感器和LM358放大电路进行温度采集模块的设计,设计原理图如图2 所示。图2中,经过LM35传感器采集后的微弱电压通过LM358 放大电路放大10倍后送入单片机。 2.2、/D 转换模块的设计

CAN总线多点温度采集节点硬件设计

CAN总线多点温度采集节点硬件设计 【摘要】随着科学技术的发展,温度监控系统的应用越来越广泛,本文阐述了一种基于CAN总线的多点温度采集系统,可以实现温度实时监测,该系统能应用于工农业生产的诸多场合。系统以AT89C52单片机为微处理器,外接数字式温度传感器DS18B20获得现场环境的温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上,从而实现对温度的采集。 【关键词】CAN总线;节点;温度采集 0 概述 现场总线是安装在生产制造过程中的装置与控制室内的控制装置之间的一种数字式、串行、多点通信的数据线。应用现场总线技术不仅可以降低系统的布线成本,还具有设计简单、调试方便等优点。同时,由于现场总线本身还提供了灵活且功能强大的协议,这就使得用户对系统配置,设备选型具有强大的自主权,可以任意的将多种功能模块组合起来扩充系统的功能。在众多的现场工业总线中。随着温度控制技术在各个领域得到广泛地推广和应用,相关行业对温度控制技术的要求与日俱增。目前市场上也有一些温度控制系统,但是这些系统在传送数据时实时性能实现的不是很好,而CAN总线的实时性强、成本低,而且还具备可靠性高、抗干扰强等特点。综合多方面因素考虑,我们能够利用CAN总线的特点和优势设计温度控制系统。 1 设计方案 1.1 系统功能要求 系统能够接受数字式温度传感器DS18B20的温度信号,将温度信号传给单片机,完成单片机最小系统设计,并把此系统作为CAN的节点,节点的硬件包括AT89C52单片机、CAN总线驱动器PCA82C250、CAN总线控制器SJA1000、单片机的时钟和复位电路。主要研究基于AT89C52单片机与DS18B20数字温度传感器的多点温度测量系统。完成数字式温度传感器与CAN总线节点的接口设计及电路设计,实现具有数字式串行温度采集功能的CAN总线节点的硬件设计。应用CAN总线控制器SJA1000及其总线收发器的工作原理,完成数字式温度传感器与CAN总线节点的接口设计。 1.2 硬件功能模块 该系统主要由现场数据采集模块和总线发送模块构成。现场数据的采集是以AT89C52单片机为核心控制单元,外接数字传感器DS18B20,从而获得现场环境的温度信号。通过CAN总线控制器SJA1000和CAN总线驱动器PCA82C250将数据发送到CAN总线上。CAN节点由微处理器、CAN控制器SJA1000、CAN

基于51单片机的的温度报警器设计

1引言 (1) 1.1 单片机的应用背景 (1) 2 总体设计方案 (2) 2.1 功能简介 (2) 2.2 设计思路 (2) 2.3 芯片器材 (3) 3 硬件设计 (3) 3.1 AT89C51 (3) 3.1.1 AT98C51引脚图 (3) 3.1.2 AT89C51结构特点 (5) 3.2 温度获取 (5) (7) 3.3 时钟电路 (8) 3.4 温度显示电路 (8) 3.5报警电路 (10) (10) 4 程序设计 (10) 4.1 程序流程图 (11) 4.2 初始化子程序 (11) 4.3 读子程序 (12) 4.4 写子程序 (13) 4.5 数据处理子程序 (13) 4.6 显示子程序 (15) 4.7报警子程序 (17) 5 实验仿真 (18) (18) 6 总结 (19) 参考文献 (20) 附录 (21) 1引言 1.1 单片机的应用背景 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗机械了。

世面上主要的单片机类型有Motorola 单片机、Microchip 单片机、东芝单片机、8051单片机、Atmel 单片机等。此次课设中用到的是ATMEL公司,下面着重介绍一下ATMEL公司的单片机。 ATMEL 公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。ATMEL 公司最令人注目的是它的EEPROM 电可擦除技术闪速存储器技术和质量高可靠性的生产技术。在CMOS 器件生产领域中,ATMEL 的先进设计水平优秀的生产工艺及封装技术一直处于世界的领先地位。这些技术用于单片机生产,使单片机也具有优秀的品质在结构性能和功能等方面都有明显的优势,ATMEL 公司的单片机是目前世界上一种独具特色。 而性能卓越的单片机它在计算机外部设备通讯设备自动化工业控制宇航设备仪器仪表和各种消费类产品中都有着广泛的应用前景。其生产的AT90系列是增强型RISC内载FLASH单片机,通常称为A VR系列。AT91M系列是基于ARM7TDMI 嵌入式处理器的ATMEL 16/32 微处理器系列中的一个新成员,该处理器用高密度的16 位指令集实现了高效的32 位RISC 结构且功耗很低。另外ATMAL的增强型51系列单片机目前在市场上仍然十分流行,其中AT89S51十分活跃。 当今社会,人们在追求高质量的生活,所以生活中离不开单片机,根据国家权威统计显示,目前我国的单片机容量达3亿片,且每年以大约20%的速度增长,但在世界市场我国的占有率还不到1%。沿海地区尤其像电子产品高度发达的深圳大部分单片机应用更是广泛,这种发展趋势也不断向内地辐射,因此,学好单片机有很重要的意义。 2 总体设计方案 2.1 功能简介 8位LED数码管直接显示DS18B20所测量的温度,超出-50~110℃范围时喇叭报警,并且对应的发光二极管开始闪烁,在温度范围内时喇叭停止报警并且数码管显示其温度,测量精度为0.5℃。 2.2 设计思路

相关主题
文本预览
相关文档 最新文档