温度感应毕业论文.doc

上传人:仙人指路1688 文档编号:3987519 上传时间:2023-03-30 格式:DOC 页数:37 大小:756KB
返回 下载 相关 举报
温度感应毕业论文.doc_第1页
第1页 / 共37页
温度感应毕业论文.doc_第2页
第2页 / 共37页
温度感应毕业论文.doc_第3页
第3页 / 共37页
温度感应毕业论文.doc_第4页
第4页 / 共37页
温度感应毕业论文.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《温度感应毕业论文.doc》由会员分享,可在线阅读,更多相关《温度感应毕业论文.doc(37页珍藏版)》请在三一办公上搜索。

1、目录摘要31 总体设计方案51.1GSM远程温度采集系统设计方案51.2温度检测的发展历史51.3 课题来源及意义52 硬件电路设计72.1 单片机的选用72.1.1 51单片机的认识72.1.2 STC89S52RC单片机结构82.1.3 STC89S52RC单片机引脚功能92.2 单片机最小系统102.2.1 单片机电源电路102.2.2 单片机的振荡电路设计122.2.3 单片机的振荡电路设计122.3 LCD1602电路设计122.3.1 LCD1602介绍及参数122.3.2 LCD1602的电路连接132.3.3 LCD1602模块使用时注意事项142.4 串口通信电路设计152.

2、4.1 MAX232芯片152.4.2 串口硬件电路设计162.5 DS18B20传感器电路设计162.5.1技术性能描述172.5.2应用范围172.5.3接线说明172.6 GSM模块简介183 软件程序设计193.1 LCD1602程序设计193.1.1 LCD1602说明193.1.2 LCD1602读写时序193.1.3 LCD1602液晶显示屏流程图203.2 DS18B20温度传感器程序设计213.2.1初始化DS18B20223.2.2 DS18B20的写操作233.2.3 DS18B20的读操作253.2.4 DS18B20读取温度263.2.5 DS18B20的注意事项27

3、3.3串口通信程序设计283.4 串口与GSM模块通信程序控制304 系统搭建与测试324.1 硬件的焊接324.2 系统的测试335 结 论35参考文献36摘要通常温度检测以热敏电阻为温度敏感元件。虽然电阻的成本低,但需后续信号处理电路,一般使用的是数模转换芯片等,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,DS18B20数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。该芯片使用方便,线路连接简单,直接输出数字信号,容易读取。本设计选用STC89C52RC单片机作为主控制器件,控制DS18B20温度传感器采集环境温度数据。在规定的时

4、间将采集到的温度数据通过GSM模块以短信形式发送到远程的手机端,也可以通过按键,实时控制单片机发送温度信息到远程手端。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在O100最大线性偏差小于01。关键字:单片机、温度控制、DS18B20、GSM、短信AbstractUsually the temperature detected by thermistor for temperature-sensitive components. Although the resistance of low cost, but need follow-up sign

5、al processing circuit, general Using a digital-analog conversion chips, and the relatively poor reliability, low temperature measurement accuracy of the detection system also has some error. Compared with the traditional thermometer, DS18B20 digital thermometer with easy reading, a wide range of tem

6、perature measurement, temperature measurement accuracy, digital display, Wide scope and so on. The chip is easy to use connections simple, direct output digital signal, easy to read. The design uses STC89C52RC microcontroller as the main control device to control the temperature sensor to collect th

7、e ambient temperature DS18B20 Data. In the time of the temperature data collected through the GSM module to send messages to the remote mobile terminal can also be Through the button, real-time control to send temperature information to the remote microcontroller hand side. Read directly measured by

8、 DSl8B20 temperature, the Data conversion, physical and chemical properties of the device stability, good linearity, at O 100 maximum linearity deviation is less than 0.1 .Keywords: microcontroller, temperature control, DS18B201 总体设计方案1.1GSM远程温度采集系统设计方案单片机控制温度传感器测量环境温度,在LCD1602显示实时温度值。并且在规定的时间段内,通过G

9、SM模块以短信形式发送温度数值到远程的手机端。该系统实现了远程温度值采集功能,由于GSM模块是通过成熟的移动网络技术传送数据,因此传输质量不受传输距离的影响。在考虑到多方面因数后,设计选用DS18B02温度传感器。该款温度传感器具有硬件电路设计简单,价格适中,体积小及方便易用的特点。DS18B02外形为一般的TO-92封装的三极管,电源线占两条,另外一条为数据控制线。依靠单总线技术,使用单数据线就能实线与微处理器的数据传输。考虑到设计的显示直观性以及经济效益,选用LCD1602液晶屏为本地实时温度的显示模块。LCD1602液晶屏具备16*2个ASCII字符的显示能力,满足设计对温度显示功能。1

10、.2温度检测的发展历史测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般是电压值,再使用模数转换成对应的温度,需要比较多的外围硬件支持,其硬件电路复杂、软件调试复杂、制作成本高。使用单片机与数字传感器对温度进行控制,不仅具有控制方便、简单、读书直观、精度高和灵活性强等优点,而且可以大幅度提高温度控制的技术指标。1.3 课题来源及意义目前的智能温度传感器是在20世纪90年代中期问世的,它是基于微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出数字形式

11、温度数据及相关的温度控制量,适配各种微控制器(MCU)。随着社会的发展,使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟形式向数字形式转变,从集成化向智能化、网络化的方向飞速发展,并朝着多功能、总线标准化、高可靠性、高精度及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍数字温度传感器的结构特征及控制方法,并对以此传感器,STC89C52RC单片机为主控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,DS18B20数字温度传感器其具有读数方便,测温范围广、测温准确、输出温度采用数字显示,主要用于

12、对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用STC公司的STC89C52RC单片机,数字温度感器使用DALLS公司DS18B20,并通过LCD1602液晶屏对温度读数进行显示。GSM模块使用西门子公司生产的TC35i工业级模块,有效保证短信数据的传输。设计框架如下图所示:STC89C52RC主控制器LCD1602液晶DS18B20温度传感器GSM模块2 硬件电路设计本设计的控制板硬件电路包括单片机最小系统电路、LCD液晶屏的驱动电路、温度传感器电路和串口通信电路。控制板通过串口与GSM模块连接,实现控制板与GSM模块之间的数据传输与控制。控制板硬件电路模块之间的联系图可以表示为

13、:单片机最小系统LCD液晶屏串口通信温感2.1 单片机的选用设计中使用51系列单片机为核心控制器,51型单片机是指由美国Intel公司生产的一系列单片机的总称,这一系列单片机包括了很多种类,如8031、8051、8751、8951、8032、8052和8952等,其中8051是最早,最典型的产品。目前所采用的8051并不限于Inter公司所生产的芯片,各大芯片生产厂商所推出的兼容芯片为主,如Amtel公司的89C51,STC公司的89S51等。2.1.1 51单片机的认识51单片机的CPU实现了冯诺依曼所设想的计算机中的运算器和控制器的功能,是单片机最核心的部件。CPU包含:算术逻辑单元(AL

14、U)、定时控制器、专用寄存器组。单片机的存储器特点之一就是将程序存储器和数据存储器分开,并有各自的寻址方式和寻址单元,这种结构叫做哈佛结构。与通用微机的存储结构不同,一般微机只有一个地址空间,可以随意安排ROM和RAM,访问数据段和代码段时采用同样的指令,这种传统的是存储器结构称之为普林顿斯结构。存储器主要包括:60KB外部ROM4KB内部EA=14KB外部EA=0特殊功能寄存器内部RAM64KB外部RAMFFFFH1000H0FFFH0000HFFH80H7FH00H程序存储器内部数据存储器外部数据存储器2.1.2 STC89S52RC单片机结构本设计使用的是STC89S52RC单片机,原因

15、是此款单片机具有众多优点。l 加密性强,难解密l 超强抗干扰l 超低功耗 掉电模式:0.1Al 空闲模式:2mAl 正常工作模式:4mA7mAl 提供STC-ISP在线编辑系统,无需编辑器,无需仿真器,可省去购买编辑器、仿真器的昂贵资金,适合大众使用l 内置看门狗STC89S52RC的基本结构与8051相同,但是比传统的8051单片机拥有更多的内部Flash,最高可达64KB。片内SRAM容量同样是非常吸引的数字,最高可拥有1280Byte的SRAM。而且还内置EEPROM存储器、AD转换等功能。2.1.3 STC89S52RC单片机引脚功能l VCC:接电源正极,一般输入电压为5V。l GN

16、D:接电源地端。l P0口:P0口为一个8位漏级开路双向I/O口,每个脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。l P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。l P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的

17、管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。l P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1

18、)P3.4 T0(计数器0外部输入)P3.5 T1(计数器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)l RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。l ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此

19、时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。l /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。l /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。l XTAL1:反向振荡放

20、大器的输入及内部时钟工作电路的输入。l XTAL2:来自反向振荡器的输出。2.2 单片机最小系统何谓单片机最小系统?实际上是以最小的外围电路就能让单片机正常工作,这样的电路支持成为单片机最小系统电路。一般情况下,单片机的最小系统由电源供电、晶振电路及复位电路组成。2.2.1 单片机电源电路电源电路不单单是为单片机运行提供工作电压,还需要对单片机的外围电路提供工作电源。这里提供2种电源供电方案:1) USB接口供电具有USB接口的设备一般工作电压都为5V。计算机上的USB接口可以输出稳定的+5V电压,最大额定电流为500mA,足以满足本设计的要求。在设计的时候,需要注意电路不能出现短路,以免损坏

21、电脑的USB接口。要注意,接口上的电源为四只引脚的最旁边的两个,而中间的两个引脚是USB的差分数据线,在本设计中不需要使用。2) 7805稳压管电路电源电路的设计也可使用7805的稳压三极管IC,该IC只有三条引脚输出,分别是输入端、接地端和输出端。电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。具体链接电路如下图:点需要注意:l 输入到7805的电压范围应在18V9V的直流电压。l 7805输入输出端需加上滤波电容,确保系统运行的稳定性。l 系统功率较大时,7805需加装散热片,以免稳压管温度过高时,稳压性能将变差,甚至损坏。为了简化硬件电

22、路,本设计采用方案1的电源设计方式。2.2.2 单片机的振荡电路设计单片机的运行需要一个时钟频率,类似我们的计算机的CPU主频的高低,现在计算机的CPU一般用GHz来左单位。而我们的51单片机常用到的时钟频率有12MHz,11.0592MHz,这些时钟频率都是依靠外部晶振产生的。晶振连接到单片机的XTAL1、XTAL2引脚处。电路上的晶振旁有两个无极性电容,容量为33P。这两个电容称晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发,它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,

23、Cic(集成电路内部电容)+C(PCB上电容)经验值为3至5pf。设计需要考虑到串行通信的使用,为了减少误码率提高通信质量,因此选用11.059MHz晶振。2.2.3 单片机的振荡电路设计当单片机上电后,通过复位电路使得单片机的PC指针复位到0000H。这时,单片机就从0000H地址开始执行代码。理论上51单片机的复位需要12个时钟周期的高电平,系统中使用一个10Uf极性电容和10K电阻组成的复位电路。系统通电后,电容开始充电,此时单片机复位引脚输入的是高电平。当电容充满电后,复位引脚输入变为低电平,单片机完成复位,开始从0000H执行代码。复位电路延时时间计算公式如下:T = C*RT =

24、10*(10-6) * (103) = 100 ms2.3 LCD1602电路设计2.3.1 LCD1602介绍及参数远程电机控制部分中使用LCD1602显示实时的电机转速及电机转向情况,有助于将实时数据与PC端接收的数据进行对比。LCD2602的技术参数如下:l 工作电压:4.5V 5.5V DCl 工作温度: -4085l 分辨率:162l 背光灯:绿色LEDl 液晶功率:0.021W(Vcc=5V 时测算)l 背光功率:0.7W(25时测算)l 液晶驱动:需要内置液晶负压l 液晶屏类型:STN单色图型液晶显示屏2.3.2 LCD1602的电路连接液晶显示模块具有体积小、功耗低、显示内容丰

25、富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。这里向大家介绍一款LCD1602液晶显示模块,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。液晶模块与单片机的接口方法分为直接访问方式和间接控制方式。直接访问方式是把液晶模块作为存储器或I/O设备直接接在单片机的总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。间接控制方式则不使用单片机的数据系统,而是利用它的I0口来实现与显示模块的联系。即将液晶显示模块的数据线与单片机的P0口连接作为数据总线,另外三根时序控

26、制信号线通常利用单片机的P1口中未被使用的IO口来控制。这种访问方式不占用存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。引脚功能说明1VSS地电源2VDD5V正电源3V0为液晶显示器对比度调整端接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度4RS为寄存器选择高电平时选择数据寄存器、低电平时选择指令寄存器5R/W为读写信号线高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据6E端为使能端E端

27、由高电平跳变成低电平时,液晶模块执行命令714D0D7 数据线8位双向数据线15A背光灯正极16K背光灯负极将LCD1602的第2、15连接到系统的+5V电源,第2、16引脚接地;第4、5、6引脚分别与单片机的P20、P21和P22,由于单片机的P0口没有上拉电阻,需要外加10K的上拉电阻,以免影响LCD1602的工作;第714引脚共8条和单片机P0口相接。2.3.3 LCD1602模块使用时注意事项 (1)请保持在规定的温度范围内使用或存储。 (2)不要用比HB硬的物品触摸、挤按(玻璃,镊子,等等)。 (3)丙酮,甲苯醇和异丙醇物质这化学剂会造成屏幕腐蚀。 (4)当显示器表面粘有尘埃,可用脱

28、脂棉轻轻擦拭,不要用水擦洗以避免破坏显示器表面。 (5)当有表面有水滴时应立即擦拭,与水接触的时间多长的时间可能会导致变形或褪色。 (6)避免接触油和油脂。 2.4 串口通信电路设计设计要求计算机与单片机能实现互相通信,而串口通信是单片机设计开发中最常用的通信接口。单片机内置Uart串口通信控制器,因此可以通过串口方便地与计算机进行数据的交换。2.4.1 MAX232芯片MAX232芯片是一款由美信(MAXIM)公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。常用于单片机的串口通信的点评转换。内部结构基本可分三个部分:1) 电荷泵电路。由1、2、3、4、5、6脚和4只

29、电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。2) 数据转换通道。由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数据后从R1OUT、R2OUT输出。3) 电源输入。15脚

30、GND、16脚VCC(+5v)。2.4.2 串口硬件电路设计MAX232的基本电路需要的4个电容为升压作用,将单片机输入的点评信号转换为12V的传输电平,以达到RS-232通信标准。将无极性104电容连接到MAX232的第1、3引脚,第4、5引脚,第6引脚经过104后连接电源地,第2引脚经过104后连接电源正极。引脚9与单片机的Rx(第10引脚)相连接,引脚10与单片机的Tx(第11引脚)相连接。经过电平转换后的信号,MAX232上的第7引脚连接到串行通信接口的第2针,第8引脚连接到串行通信接口的第3针。还需要将串行通信接口的第5引脚与MAX232电源共地连接。硬件连接电路如下:2.5 DS1

31、8B20传感器电路设计美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。2.5.1技术性能描述DS18B20温度传感器 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现处理器与DS18B20的双向通讯 测温范围 55125,固有测温分辨率0.5 支持多点检测功能,多个DS18B20可以并联在相同的三线上,实现多点测温 工作电源: 35V/DC 在使用中不需要任何外围元件2.5.2应用范围 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和

32、控制领域 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制 汽车空调、冰箱、冷柜、以及中低温干燥箱等 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制2.5.3接线说明DQ为数字信号输入/输出端(引脚2)GND为电源地(引脚1)VDD为外接供电电源输入端(在寄生电源接线方式时接地)(引脚3)由于DS18B20使用单总线通信技术,因此该芯片的接线电路非常简单,不需要其他外围器件,极大地简化电路的设计。2.6 GSM模块简介TC35i新版西门子工业GSM模块是一个支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.34.8V ,电流消

33、耗休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;可传输语音和数据信号, 功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W ,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。TC35i由供电模块(ASIC)、闪存、ZIF连接器、天线接口等6部分组成。作为TC35i的核心基带处理器主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。3 软件程序设计单片机的程序按照模块设计思想又可以细分为:LCD1602驱动、温度传感驱动、串口与GSM模块通信和用户键盘输入。所谓“模块”,其实就是能完成一定功能,相互独

34、立的程序段,这种程序设计方法叫做模块程序设计法。模块设计法的主要优点是: 单个模块相对于一个完整的程序易编写与调试; 模块可以共存,一个模块可以同时被多个任务在不同条件下调用; 模块程序允许设计者分割任务和利用已有程序,给设计者提供方便。而现在应用更广泛的是单片机C语言,因其简单明了,故此次课程设计采用单片机C语言编程。3.1 LCD1602程序设计3.1.1 LCD1602说明LCD1602用于显示当前的电机转速及电机转向,作为与用户进行信息的交流,因此其工作意义相当重要。要让LCD1602显示字符或者是字符串,需用通过一系列的控制命令完成操作。LCD1602 有11个控制指令:指令功能清屏

35、清DDRAM和AC值归位AC=0,光标、画面回HOME位输入方式设置设置光标、画面移动方式显示开关控制设置显示、光标及闪烁开、关光标、画面位移光标、画面移动,不影响DDRAM功能设置工作方式设置(初始化指令)CGRAM地址设置设置CGRAM地址。A5A0=03FHDDRAM地址设置DDRAM地址设置读BF及AC值读忙标志BF值和地址计数器AC值写数据数据写入DDRAM或CGRAM内液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。3.1.2 LCD1602读写时序LCD1

36、602液晶显示屏指令表图要单片机向LCD读写数据或指令,弄清LCD的读写时序非常重要。3.1.3 LCD1602液晶显示屏流程图LCD1602在显示字符之前,还需要经过初始化过程:开始设置显示模式屏幕清除数据指针指向第一行显示光标移动位置显示以及光标位置结束4.2 LCD1602液晶显示屏初始化流程图实现程序如下:/初始化void Init1602()WriteCommand(0x0c);/开显示,无光标显示WriteCommand(0x06);/文字不动,光标自动右移WriteCommand(0x38);/设置显示模式:8位2行5x7点阵3.2 DS18B20温度传感器程序设计对DS18B2

37、0的操作可以分为三大部分:初始化,写命令和读取数据。3.2.1初始化DS18B20 先将数据线置高电平“1”。 延时(该时间要求的不是很严格,但是尽可能的短一点) 数据线拉到低电平“0”。 延时750微秒(该时间的时间范围可以从480到960微秒)。 数据线拉到高电平“1”。 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微

38、秒。 将数据线再次拉高到高电平“1”后结束。初始化DS18B20时序图/芯片初始化void Initialization()DQ = 0;Delay480us(); /延时480usDQ = 1;Delay60us();/延时60usDelay60us();/延时60usif(!DQ) /收到ds18b20的应答信号DQ = 1;Delay240us();/延时240usDelay60us();/延时60us3.2.2 DS18B20的写操作数据线先置低电平“0”。延时确定的时间为15微秒。按从低位到高位的顺序发送字节(一次只发送一位)。延时时间为45微秒。将数据线拉到高电平。重复发送八位数据

39、。最后将数据线拉高。DS18B20写时序图/写一个字节(从低位开始写)void WriteByte(unsigned char btData)unsigned char i, btBuffer;for (i = 0; i i;if (btBuffer & 1)DQ = 0;_nop_();_nop_();DQ = 1;Delay60us();elseDQ = 0;Delay60us();DQ = 1;3.2.3 DS18B20的读操作待添加的隐藏文字内容3将数据线拉高“1”。延时2微秒。将数据线拉低“0”。延时15微秒。将数据线拉高“1”延时15微秒。读数据线的状态得到1个状态位,并进行数据处

40、理。延时30微秒。重复发送八位数据。最后将数据线拉高。DS18B20读时序图/读一个字节(从低位开始读)unsigned char ReadByte()unsigned char i, btDest;for (i = 0; i = 1;DQ = 0;_nop_();_nop_();DQ = 1;Delay16us();if (DQ) btDest |= 0x80; Delay60us();return btDest;3.2.4 DS18B20读取温度DS18B20在一般读取温度的时候经过几个过程: 初始化DS18B20 当总线上挂接多个DS18B20时,单片机需要发送搜索ROM命令(0F0H)

41、,来选择总线上与64位ROM地址匹配的DS18B20。 发送启动DS18B20的温度转换命令(0x44),控制芯片开始转换当前温度。 再次重启DS18B20。 再次跳过发送跳过读DS18B20序列号的命令(0xCC)。 现在就可以发送读取温度寄存器(0xBE)(共可读9个寄存器) 前两个就是温度。 读取温度数值的第八位,之后就是温度的高八位。 通过运算转换计算出温度数值。温度计算公式:temperature = (HigtByte+LowByte)* 0.0625LowByte:DS18B02里面EEROM的第一字节HigtByte:DS18B02里面EEROM的第二字节数码管显示是不分整数和

42、小数的,为了能实现0.1精度的检测以及方便液晶屏的显示,将计算得到的温度放大十倍。3.2.5 DS18B20的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等众多优点,但在实际应用中也应注意以下几方面的问题: 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。特别在延时问题上需要经过比较精确的计算,以求能按照DS18B20使用手册上的时序要求。 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任

43、意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 在DS18B20测温程序设计中,向DS18B20

44、发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。 在焊接DS18B20的时候还需注意要迅速,试过过长会引起管脚内热,到时DS18B20损坏。使用引线连接DS18B20与设计板,以免板上的发热量较大的元器件影响芯片的测量准确度。3.3串口通信程序设计首先对串行通信作简单的介绍,串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。 l 同步通信 l 异步通信 以工作方式划分,又可以分为方式0、方式1、方式2及方式3,本设计主要使串行通信口工作在方式1。方式1为8位数据异步通信方式,一帧数据包含10位,即8未数据位、1个起始位和一个停止位。串口通信的工作方式通过SCON寄存器的第6、7位设置:位数76543210SCONSM0SM1SM2RENTB8RB8TIRI工作方式SM1 SM0方式0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号