基于单片机的数字温度计设计课程论文_第1页
基于单片机的数字温度计设计课程论文_第2页
基于单片机的数字温度计设计课程论文_第3页
基于单片机的数字温度计设计课程论文_第4页
基于单片机的数字温度计设计课程论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、信息工程学院单片机原理与外围电路课程论文题目:基于单片机的数字温度计设计 姓名: 金鑫 学号: 50112113 班级: 计算机15-3 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本 文主要介绍了一个基于89s51单片机的测温系统,详细描述了利用数字温度传感器ds18b20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积

2、小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。ds18b20与at89c51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;温度检测;at89s51;ds18b20;abstract: along with the progress and development of the ages, single slice the machine technique has already make widely available the l

3、ife is to us,work,research,each realm, have already become the technique of a kind of comparison maturity. this paper mainly describes a temperature measurement system based on 89s51 singlechip, detailedly describing the development process use digital temperature sensor, the paper introduces the ha

4、rdware connectivity and software programming of the ds18b20 based on the single-chip, and give the software flow chart of each module,as well as introduced each circuit of the system.system can easily to collect and display the temperature, it can also arbitrary set alarm temperature according to th

5、e actual need, it is used convenience, it has high precision,wide range ,high sensitivity, small size,and low power dissipation, the device is especially applied to measure temperature in peoples daily lives ,industrial and agricultural production,and also easily as a temperature processing module e

6、mbed in the other system, turn into as a complementary expansion. key word : singlechip temperature measurement;at89s51; ds18b20目录1绪论41.1设计背景41.2国内外现状41.3 课题的设计目的51.4课题的主要工作52系统方案设计62.1 方案选择62.1 系统的总体设计方案63硬件设计83.1 stc89c52rc芯片功能简介83.1.1 stc89c52rc芯片简介83.1.2 引脚功能83.2 ds18b20芯片简介123.2.1 芯片简介123.2.2 d

7、s18b20的外形和内部结构133.2.3 ds18b20的工作时序153.2.4 ds18b20与单片机的典型接口设计173.2.5 ds18b20的各个rom命令173.3 max232简介193.4 rs232接口简介203.4.1 rs232接口的电平转换213.4.2 rs232总线接口标准213.5系统总体电路图234 系统软件设计234.1 各模块的程序设计234.1.1主程序流程图234.1.2 读出温度子程序254.1.3 温度转换命令子程序254.1.4 计算温度子程序264.1.5 显示数据刷新子程序274.1.6 报警子程序274.1.7 按键扫描处理子程序284.2

8、protues仿真285结论30参考文献32附录33附录1 元器件清单33附录2 全部程序清单34附录3 系统总设计图43附录4 pcb仿真线路及3d图441绪论1.1设计背景随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用

9、的控制方法也不相同。传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大。由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:pid控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能

10、化方面有广泛的用途。1.2国内外现状温度计在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度计来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。温度计测温技术的关键在于温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。随着我国四个现代化和经济发展,我国在科技和生产各领域都取得了飞速的发展和进步,发展以温度传感器为载体的温度测量技术具有重大意义。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感

11、器之首。温度传感器的发展大致经历了以下三个阶段:传统的分立式温度传感器(含敏感元件);模拟集成温度传感器/控制器;数字温度传感器。温度传感器的发展现状:温度传感器使用范围广,数量多,居各种传感器之首,其发展大致经历了以下3个阶段: 传统的分立式温度传感器(含敏感元件)热电偶传感器,主要是能够进行非电量和电量之间转换。 模拟集成温度传感器/控制器。集成传感器是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。 智能温度传感器。它是微电子技术、计算机技术和自动测试技术(ate_)的结晶。智能温度传感器内部包含温度传感器、a/d传感器、信号处理器、存储器(或寄存器)和接口电路。从国内

12、外来看工业生产控制中用数字温度计可清晰显示温度来防止元气件失效或损坏等不必要的非人为损失,对做好车间机器维修与保养起很重要的作用。温度是一般工业领域最容易碰到的检测参数,如环境温度的检测,工业工艺温度参数的检测,设备的温度保护检测等,而市场上专用的、通用的各类温控仪产品也比较丰富。国内外的温度检测仪器的发展水平主要体现在仪器的智能化水平、测量的文的范围、测量的精度以及仪器的功耗等技术指标上,目前国内的温度测量,在精度上很少有高于0.1的。近年来温度计正处在传统型向新型温度计转型的发展阶段,新型温度计的特点是微型化、数字化、智能化、多功能化、系统化,他不仅促进了传统产业的改造。而且可导致建立新型

13、工业,是21世纪新的经济增长的。1.3 课题的设计目的1. 巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。2. 培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。3. 通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。1.4课题的主要工作本课题的研究重点是设计一种基于单片机的数字温度计控制系统。能够显示温度的测量值主要工作如下:1. 温度测试基本范围0100。2. 精度为0.5。3. led液晶显示。4. 可以设定温度的上下限报警功能。5. 实现报警提示。2

14、系统方案设计2.1 方案选择方案一:使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行a/d转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到a/d转换电路。此方案数据处理比较麻烦,且容易产生信号失真。方案二:使用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的。所以可以采用一只温度传感器ds18b20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。而且此方案电路比较简单,软件设计也比较容易实现。从以上两种方案很容易看出方案二电路比较简单,软件设计容易实现,故实本设计中

15、采用方案二。方案二可以只用一根线实现信号的双向传输,具有接口简单容易扩展等优点,ds18b20可以直接温度转换为串行数字信号,供单片机进行处理,具有低功耗、商性能、抗干扰能力强等优点。2.1 系统的总体设计方案本设计采用stc89c52rc单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多ds18b20控制工作,还可以与pc机通信。另外stc89c52rc在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。单总线数字温度计ds1820采用基板专利技术来测量温度 ,温度传感器及各种数字转换电路都

16、集成在一起 ,由总线串行输出测量值(9 位二进制编码) 。测温范围从 - 55 + 125 , 还可以读内部计数器 ,获得较高的分辨率。同时还可以进行上、 下限温度的设定和报警等。本课题主要研究如何利用ds18b20智能温度传感器实时显示温度,并将其与led显示键盘合并使用,制成一个能实时显示温度的数字温度计。本设计将利用ds18b20智能温度传感器和单片小系统,设计一个数字温度采集系统。并设计一个人机接口电路:键盘采用独立按键(功能自定义),显示器采用共阴极4位led显示。系统的总体设计方案框图如图2.1所示图2.1 系统总体设计方案框图图2.2系统总体结构框图按照系统设计功能的要求,系统主

17、要由单片机、温度传感器ds18b20、led数码显示管和pc机组成。系统的硬件电路主要由复位电路、测温电路、显示电路、晶振电路和报警电路组成,系统总体结构方框图如图2.2所示。3硬件设计3.1 stc89c52rc芯片功能简介3.1.1 stc89c52rc芯片简介stc89c52rc是一种带8k字节闪烁可编程可檫除只读存储器(fperom-flash programable and erasable read only memory )的低电、高性能comos8的微处理器,俗称单片机。该器件采用atmel搞密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。3.1.

18、2 引脚功能stc89c52rc芯片的引脚图如图3.1所示:图3.1 stc89c52引脚图stc89c52rc的引脚功能如下: 主电源引脚(2根)vcc(pin40):电源输入,接5v电源gnd(pin20):接地线外接晶振引脚(2根)xtal1(pin19):片内振荡电路的输入端xtal2(pin20):片内振荡电路的输出端控制引脚(4根)rst/vpp(pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ale/prog(pin30):地址锁存允许信号psen(pin29):外部存储器读选通信号ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读

19、指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)stc89c52单片机有4组8位的可编程i/o口,分别位p0、p1、p2、p3口,每个口有8位(8根引脚),共32根。po口(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.7stc89c52主要功能如表3-1所示。表3-1 stc89c52主要功能主要功能特性兼容mcs51指令系

20、统8k可反复擦写flash rom32个双向i/o口256x8bit内部ram3个16位可编程定时/计数器中断时钟频率0-24mhz2个串行中断可编程uart串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能1.时钟电路stc89c52内部有一个用于构成振荡器的高增益反相放大器,引脚rxd和txd分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.2(a) 所示,在rxd和txd引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.21

21、2mhz之间选择,电容值在530pf之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图3.2(b)所示,rxd接地,txd接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12mhz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟p1和p2,供单片机使用。rxd接地,txd接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12mhz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟p1和p2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图3.2时钟电路2.复位及复位电路(1)复位操作复位是

22、单片机的初始化操作。其主要功能是把pc初始化为0000h,使单片机从0000h单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除pc之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3-2所示。表3-2 一些寄存器的复位状态寄存器复位状态寄存器复位状态pc0000htcon00hacc00htl000hpsw00hth000hsp07htl100hdptr0000hth100hp0-p3ffhscon00hip0x000000bsbuf不定ie0x000000bpcon0x000000btmod00h(

23、2)复位信号及其产生rst引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6mhz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.3所示:图3.3复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(rst)送至施密特触发器,再由片内复位电路在每个机器周期的s5p2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.4(a)所示。这佯,只要电源

24、vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与vcc电源接通而实现的,其电路如图3.4(b)所示;而按键脉冲复位则是利用rc微分电路产生的正脉冲来实现的,其电路如图3.4(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图3.4复位电路上述电路图中的电阻、电容参数适用于6mhz晶振,能保证复位信号高电平持续时间大于2个机器周期。3.2 ds18b20芯片简介3.2.1 芯片简介(1) 适应电压范围更宽,电压范围:3.0 v5.5v,在寄生电源方式下可由数据线供

25、电。(2) 独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。(3) ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(4) 测温范围55125,在-10+85时精度为0.5。(5) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(6) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(7) 测量结果直接输出数字温度信号,以“一线总线”串行传送给cpu,同

26、时可传送crc校验码,具有极强的抗干扰纠错能力。(8) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作5。3.2.2 ds18b20的外形和内部结构ds18b20内部结构如图3.7所示,主要由4部分组成:64位rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20外形及管脚排列如图3.8和表3-3所示。 64位rom和单线接 口 高速缓存 存储器 存储器和控制器8位crc生成器温度传感器 低温触发器tl高温触发器th配置寄存器电源检测i/o cvdd图3.7 ds18b20的内部结构图3.8 ds18b20的管脚排列表3-3 ds18b20引脚定义:序

27、号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。(1)64位rom rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码,每个ds18b20的64位序列号均不相同。64位rom的循环冗余校验码(crc=x8x5x41)。rom的作用是使每一个ds18b20都各不相同, ds18b20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。ds18b20温度值格式表

28、4-4如下所示。rom中的64位序列号是出厂前被光刻好的,他可以看作是该ds18b20的地址序列码,每个ds18b20的64位序列号均不相同。64位rom的循环冗余校验码(crc=x8x5x41)。rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。ds18b20中温度传感器完成对温度的侧量,用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。ds18b20温度值格式表3-4如下所示。这是12位转化后得到的12位数据,存储在ds18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于

29、0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如25.0625的数字输出为0191h,25.0625的数字输出为ff6fh。 表3-4 ds18b20温度值格式表 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0ls byte22222222 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ms bytesssss222 (2)高低温报警触发器th和tlds18b20温度传感器的内部存储器包括一个高速暂存ram和一

30、个非易失性的可电擦除的eepram,后者存放高温度和低温度触发器th、tl和结构寄存器。 (3)配置寄存器 该字节各位的意义如下表3-5所示。表3-5 配置寄存器结构tmr1r011111低五位一直都是“1”,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如下表3-6所示(ds18b20出厂时被设置为12位)。表3-6 温度分辨率设置表r1r0分辨率温度最大转换时间009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms (4)高速暂存器高速暂存器是一个9字节

31、的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是th、tl、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的crc码,可用来保证通信正确。高速暂存器ram结构图如下表3-7所示。表3-7 ds18b20暂存寄存器分布寄存器内容 字节地址温度值低位 (ls byte)0温度值高位 (ms byte)1高温限值(th)2低温限值(tl)3配置寄存器4保留5保留6保留7crc校验值83.2.3 ds18b20的工作时序ds18b20的一线工作协议流程是:初始化rom操作指令存储器操作指令数据传输。其工作时序包

32、括初始化时序、写时序和读时序,如图3.9 (a)(b)(c)所示。 ds18b20等待 ds18b20tx产生 15us16us 脉冲60-240 主机复位脉冲 vcc 480ustx960us 主机rx min480us 1-wire bus gnd图3.9 (a)初始化时序 主机写“0”时隙 主机写“1”时隙 vcc 60ustx120us 1ustxcc1us ds18b20采样 15us min typ max min typ max 15us 30us 15us 15us 30us图3.9(b)写时序vcc 主机读“0”时隙 主机读“1”时隙1-wire bus gnd 主机采样 1

33、us15us 15us 30us 主机采样 15us图3.9(c)读时序主机控制ds18b20完成任何操作之前必须先初始化,即主机发一复位脉冲(最短为480us的低电平),接着主机释放总线进入接收状态,ds18b20在检测到i/o引脚上的上升沿之后,等待15-60us然后发出存在脉冲(60-240us的低电平)。 写时间片:将数据从高电平拉至低电平,产生写起始信号。在15us之内将所需写的位送到数据线上,在15us到60us之间对数据线进行采样,如果采样为高电平,就写1,如果为低电平,写0就发生。在开始另一个写周期前必须有1us以上的高电平恢复期。读时间片:主机将数据线从高电平拉至低电平1us

34、以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后15us内完成读位。每个读周期最短的持续期为60us,各个读周期之间也必须有1us以上的高电平恢复期。3.2.4 ds18b20与单片机的典型接口设计图3.10以mcs51系列单片机为例,画出了ds18b20与微处理器的典型连接。图3.10(a)中ds18b20采用寄生电源方式,其vdd和gnd端均接地,图3.10(b)中ds18b20采用外接电源方式,其vdd端用3v5.5v电源供电6。(a) 寄生电源工作方式 (b) 外接电源工作方式图3.10电源工作方式图3.2.5 ds18b20的各个rom命令(1) read r

35、om 33h这个命令允许总线控制器读到ds18b20的8位系列编码,惟一的序列号的8位crc码。只有在总线上存在单只ds18b20的时候才能用这个命令。如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起形成“与”的效果)。(2)match rom 55h这是个匹配rom命令,后跟64位rom序列,让总线控制器在多点总线上定位一只特定的ds18b20。只有和64位rom序列完全匹配的ds18b20才能响应随后的存储器操作。所有和64位rom序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。(3) skip rom 0cch 这个

36、命令允许总线控制器不用提供64位rom编码就使用存储器操作命令,在单点总线情况下,可以节省时间。如果总线上不止一个从机,在命令之后紧跟着发一条读命令,由于多个从机同时传信号。总线上发生数据冲突(漏极开路连在一起形成“与”的效果)。(4) search rom 0f0h当一个系统初次启动时,总线控制器并不知道单线总线上有多少个器件或它们的64位rom编码。搜索rom命令允许总线控制器用排除法识别总线上的所有从机的64位编码。(5) alarm search 0ech 这条命令的流程和search rom相同。然而,只有在最近一次测温后遇到符合报警条件的情况,ds18b20才会响应这条命令。报警条

37、件定义为温度高于th或低于tl。只要ds18b20不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。(6) write scratchpad4eh这个命令向ds18b20的暂存器th和tl中写入数据。可以在任何时刻发出复位命令来中止写入。(7) read scratchpad0beh 这个命令读取暂存器的内容。读取将从第1字节开始,一直进行下去,直到第9(crc)字节读完。如果不想读完所有字节,控制器可以在任何时刻发出复位命令来中止读取。(8) copy scratchpad48h这个命令把暂存器的内容拷贝到ds18b20的erom存储器里,即把温度报警触发器字节存入非易失性存

38、储器里。如果控制器在这条命令之后跟着发出读时间隙,而ds18b20又忙于把暂存器拷贝到e存储器,ds18b20就会输出一个0,如果拷贝结束的话,ds18b20输出1。如果使用寄生电源,总线控制器必须在这条命令后立即启动强上拉,并最少保持10ms。(9) convert t44h 这个命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后ds18b20保持等待状态。如果控制器在这条命令之后跟着发出时间隙,而ds18b20有忙于做时间转换的话,ds18b20将在总线上输出一个0,若温度转换完,则输出1。如果使用寄生电源,总线控制器必须在发出这条命令后立即启动强上拉,并最少保持500ms以上时

39、间。(10) read e0b8h这条命令把 触发器里的值拷贝回暂存器。这种拷贝操作在ds18b20上电时自动执行,这样一上电暂存器里马上存在有效的数据了。若在这条命令之后发出读数据隙,器件会输出温度转换忙的标识:0为忙,1为完成。(11) read power supply0b4h若把这条命令发给ds18b20后发出读时间隙,器件会返回它的电源模式:0为寄生电源,1为外部电源。3.3 max232简介max232芯片是美信公司专门为电脑的rs-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。max232的引脚图如图3.15所示:图3.15 max232引脚图引脚介绍:第一部分是

40、电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给rs-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(r1in)、12脚(r1out)、11脚(t1in)、14脚(t1out)为第一数据通道。 8脚(r2in)、9脚(r2out)、10脚(t2in)、7脚(t2out)为第二数据通道。 ttl/cmos数据从t1in、t2in输入转换成rs-232数据从t1out、t2out送到电脑db9插头;db9插头的rs-232数据从r1in、r2in输入转换成ttl/cmos数

41、据后从r1out、r2out输出。 第三部分是供电。15脚gnd、16脚vcc(+5v)。 max232的原理电路图如图3.16所示:图3.16 max电路原理图max232的主要特点:1、符合所有的rs-232c技术标准 2、只需要单一 +5v电源供电 3、片载电荷泵具有升压、电压极性反转能力,能够产生+10v和-10v电压v+、v- 4、功耗低,典型供电电流5ma 5、内部集成2个rs-232c驱动器 6、内部集成两个rs-232c接收器3.4 rs232接口简介rs-232c是使用最早、 应用最多的一种异步串行通信总线标准, 它是美国电子工业协会eia(electronic indust

42、ry association)于1962年公布、 1969年最后修订而成的。 rs表示 recommended standard, 232是该标准的标识, c表示最后一次修订。 rs-232c主要用于定义计算机系统的一些数据终端设备(dte)和数据通信设备(dce)之间接口的电气特性。 crt、 打印机与cpu的通信大都采用rs-232c总线8。 3.4.1 rs232接口的电平转换rs-232c标准是在ttl电路之前研制的, 它的电平不是+5 v和地, 而是采用负逻辑, 其逻辑电平为: 逻辑“0”:+3 v+15 v逻辑“1”: -3 v-15 v因此, rs-232c不能和计算机的ttl电

43、平直接相连, 使用时必须加上适当的电平转换电路芯片, 否则将使ttl电路烧坏。常用的电平转换接口芯片是传输驱动器mc1488和传输接收器mc1489, 它们是用于计算机(终端)与rs 232c总线间进行电平转换的接口芯片。另一种常用的电平转换芯片是max232, 该芯片有两个传输驱动器和两个传输接收器。3.4.2 rs232总线接口标准rs-232c标准规定的数据传输率为50 b/s、 75 b/s、 100 b/s、 150 b/s、 300 b/s、 600 b/s、 1200 b/s、 2400 b/s、 4800 b/s、 9600 b/s、 19 200 b/s。 驱动器允许有250

44、0 pf的电容负载, 通信距离将受此电容限制。 例如, 采用150 pf/m的通信电缆时, 最大通信距离为 15 m, 若每米电缆的电容量减小, 则通信距离可以增加。 传输距离短的另一原因是rs-232c 属单端信号传送, 存在共地噪声和不能抑制共模干扰等问题。 因此, 它一般用于 20 m 以内的通信。rs -232c总线标准规定了21个信号, 有25条引脚线, 常采用25芯d型插头座, 提供一个主信道和一个辅助信道, 在多数情况下主要使用主信道。 对于一般异步双工通信, 仅需几条信号线就可实现, 如一条发送线、 一条接收线及一条地线。 rs-232c也有9芯标准d型插头座,rs232c9芯

45、排列引脚如图3.7所示,个引脚功能如表3-8所示。表3-8 9芯rs232c的引脚功能rs-232c定义了计算机系统的一些数据终端设备(dte)和数据通信设备(dce)之间接口的电气特性。rs-232c提供的两个信道中, 辅助串行信道提供数据控制和第二信道, 但其传输速率比主信道要低得多。 除了速率低之外两信道无异, 但辅助信道通常很少使用。信号分为两类: 一类是dte与dce交换的信息txd和rxd; 另一类是为了正确无误地传输上述信息而设计的联络信号。 3.5系统总体电路图系统的总体电路图如图3.19所示:图3.19 总体电路图4 系统软件设计4.1 各模块的程序设计系统程序主要包括主程序

46、,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序和按键扫描处理子程序等。4.1.1主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理ds18b20 的测量的当前温度值,温度测量每1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1 所示。图4.1 主程序流程图4.1.2 读出温度子程序读出温度子程序的主要功能是读出ram 中的9 字节,在读出时需进行crc 校验,校验有错时不进行温度数据的改写。其程序流程图如图4.2示:图4.2 读出温度子程序流程图4.1.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨

47、率时转换时间约为750ms,在本程序设计中采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4.3 所示: 图4.3 温度转换命令子程序流程图4.1.4 计算温度子程序计算温度子程序将ram 中读取值进行bcd 码的转换运算,并进行温度值正负的判定,其程序流程图如图4.4 所示。图4.4 计算温度子程序流程图4.1.5 显示数据刷新子程序显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图4.5所示。图4.5 显示数据刷新子程序流程图4.1.6 报警子程序设置报警标志位位beep,当温度大于设置的高限报警值或低于设

48、置的低限报警值是,beep=1报警;当温度值在正常范围内时,beep=0.报警流程图如图4.6所示:图4.6 报警流程图4.1.7 按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,否则显示当前温度。如下图4.7所示。图4.7 按键扫描子程序流程图4.2 protues仿真通过仿真软件验证该原理图的可行性。采用protues软件对电路仿真,可以得到预期效果。仿真图如图4.8示。温度传感器的仿真效果图如图4.9所示,此图验证了传感器的温度与数码管显示的数字一致。stc89c52与at89c52都属于51系列的单片机,他们是兼容的,所以protues中没有stc8

49、9c52芯片,就由at89c52芯片代替。图4.8 protues仿真图图4.9 ds18b20仿真图当按下k1 键一次时,进入温度报警上线调节,此时显示软件设置的温度报警上线,按k2或k3分别对报警温度进行加一或减一。当再次按下k1 键时,进入温度报警下线调节,此时显示软件设置的温度报警下线,按k2或k3分别对报警温度进行加一或减一。当第三次按下k1 键时,退出温度报警线设置。显示当前温度。如图4.10是第一次按下k1键显示的上限温度报警值,此时按k2或k3键分别对上限温度报警值进行加一或减一;图4.11是第二次按下k1键显示的下限温度报警值,此时按k2或k3键分别对下限温度报警值进行加一或

50、减一。图4.10上限温度报警值图4.11 下限温度报警值5结论本次设计主要是通过stc89c52单片机为核心设计的一款数字温度计,该温度计不仅能够实时测量温度值显示出来还能够设定温度上下限进行监控,若温度高于设定上限值或低于下限值,则报警电路将进行报警。硬件方面:本设计采用的是stc89c52单片机为核心的数字温度计,包含了利用温度传感器ds18b20的测温电路、外接键盘、显示电路、继报警电路、复位电路和晶振电路。以ds18b20为主要测温元件进行实时监控温度值。以4位数码管为显示器件,利用单片机的p0口和上拉电阻来驱动4位数码管的显示;利用单片机的p1.7来驱动温度传感器ds18b20测温;报警电路利用三极管放大作用驱动报警器报警;按键是利用单片机的p1口和上拉电阻来驱动工作软件方面:本次设计利用protues软件对系统进行仿真,利用keil c51 软件对系统进行编程。c语言设计了温度的读

温馨提示

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

评论

0/150

提交评论