《智能仪器原理及设计》报告专业:学号:姓名:2目录1.1设计要求.................................................................................................................31.2设计过程.................................................................................................................31.2.1设计总体方案..................................................................................................31.2.2器件的选择......................................................................................................41.2.3电路设计..........................................................................................................71.2.4软件设计..........................................................................................................91.3总结.......................................................................................................................123基于单片机的温度传感器设计1.1设计要求实现室温测量,并使用液晶屏显示实时温度。1.2设计过程1.2.1设计总体方案根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C52为测控系统的核心来完成数据采集、处理、显示、报警等功能。采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0~100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C52构成的温度装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的工艺兼容性高,只需将软件作修改即可,可操作性强,也易于读数。该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C52单片机上,经过单片机处理,将把温度在显示电路上显示,本系统显示器液晶屏显示实现。检测范围-55摄氏度到125摄氏度。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图如图1所示图1数字温度计总体电路结构框图AT89C52主控制器显示电路温度传感器DS18B2041.2.2器件的选择1.数字温度传感器DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DSl8B20数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl8B20或从DSl8B20送出因此从主机CPU到DSl8B20仅需一条线(和地线)DSl8B20的电源可以由数据线本身提供而不需要外部电源因为每一个DSl8B20在出厂时已经给定了唯一的序号因此任意多个DSl8B20可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件DSl8B20的测量范围从-55到+125增量值为0.5可在ls(典型值)内把温度变换成数字。每一个DSl8B20包括一个唯一的64位长的序号该序号值存放在DSl8B20内部的ROM(只读存贮器)中开始8位是产品类型编码(DSl8B20编码均为10H)接着的48位是每个器件唯一的序号最后8位是前面56位的CRC(循环冗余校验)码DSl8B20中还有用于贮存测得的温度值的两个8位存贮器RAM,编号为0号和1号。1号存贮器存放温度值的符号如果温度为负(℃),则1号存贮器8位全为1,否则全为0。0号存贮器用于存放温度值的补码LSB(最低位)的1表示0.5。将存贮器中的二进制数求补,再转换成十进制数并除以2,就得到被测温度值(-55℃125℃),每只DS18B20都可以设置成两种供电方式即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长;采取外部供电方式则多用一根导线,但测量速度较快。DS18B20的性能特点如下:(1)独特的单线接口方式仅需要一个端口引脚进行通信;(2)多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(3)无需外部器件;(4)可通过数据线供电,电压范围:3.0~5.5V;(5)测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)零待机功耗;(7)温度以9或12位数字量读出;(8)用户可定义的非易失性温度报警设置;(9)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(10)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2所示,其测温原理如图3所示。5图2DS18B20内部结构框图图3DS18B20测温原理图DS18B20的外部电源供电方式:如下面图4所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用3V~5.5V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。6图4外部电源供电方式2.单片机的选择AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。PDIP封装的AT89C52单片机管脚图如图5。7图5PDIP封装的AT89C52单片机管脚图3.显示器的选择由于设计中要求同时显示测试温度、温度上限、温度下限和开机时间,因此显示屏首先要能够一次性容纳这些字符。工作电压不能太高,与单片机的连接方式需要简单,显示准确。本设计中采用的是1602型LCD液晶屏能够很好的满足这些要求。此液晶属于工业字符型液晶,能够同时显示16x02即32个字符。LCD液晶显示器是一种低压、微功耗的显示器件,只要2~3V就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线,比传统的数码LED显示器显示的界面有了质的提高。在仪表和低功耗应用系统中得到了广泛的应用。1602有很多优点:(1)显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒定发光,因此液晶显示器的画质高而且不会闪烁;(2)数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便;(3)功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动IC上,因而耗电量比其他器件要小很多;1.2.3电路设计1.系统电路设计单片机最小系统如图6所示8图6单片机最小系统这部分为单片机复位电路和时钟电路。单片机复位后,程序计数器PC=0000H,即指向程序存储器0000H单元,使CPU从首地址重新开始执行程序。产生单片机复位的条件是:在RST引脚端出现满足复位时间要求的高电平状态,该时间等于系统时钟震荡周期建立时间再加2个机器周期时间(一般不小于10ms)。时钟电路通过单片机的XTAL1和XTAL2引脚外接定时元件12M的晶振,电容C1和C2一般去30pF左右,主要作用是帮助振荡器起震。晶体振荡频率高,则系统的时钟频率也越高,单片机运行速度也就越快。2.显示电路设计LCD1602显示电路原理图如图7所示9图7LCD1602显示电路此部分为LCD1602显示电路,通过10K可调电阻可以调节1602背光显示亮度。P0口接一个10K的上拉排阻。三个DS18B20接线如图8所示,每个传感器接一个I/O口。图8DS18B20接口电路单总线型DS18B20温度传感器采用一个DS18B20接一个I/O口的形式,大大简化了程序编写难度,通过排针可外接电源供电。1.2.4软件设计1.初始化子程序DS18B20初始化程序严格按照DS18B20的时序来编写,微处理器开始发送一个复位脉冲(在480us~960us之间),接着数据线释放拉到高电平1,如图9所示。10图9初始化子程序流程图2.温度转换由三片DS18B20是串接在不同的I/O,读取温度的子是程序独立分开,但工作原理一样。以单个为例,首先调用DS18B20初始化子程序对它进行初始化,然后发跳过匹配ROM命令,接着发温度转换命令完成温度转换,该命令主要是完成温度的A/D转换,读取温度程序是在转换结束后才能读取当前温度值。其它两片工作原理一样。工作流程图如图10。图10温度转换流程图3.DS18B20写子程序11当主机把数据线从高逻辑电平拉低至逻辑电平时产生写时间片,有两种类型的写时间片,写1时间片和写0时间片,所有时间片必须有最短为60微秒的持续期。在各写周期之间必须有最短为1us的恢复时间。在I/O口线高电平变为低电平后DS18B20在15us到60us之间对I/O采样,如果是高电平则写1,低电平写0。流程图如图11所示。图11写子程序流程图4.DS18B20读子程序从DS18B20读数据时单片机产生读时间片,当主机把数据线从逻辑高电平拉到低电平时产生读时间片,数据线必须保持在逻辑电平至少1微秒,来自DS18B20的输出数据在读时间段下降沿之后15微秒有效,因此为了读出从读时间段开始算起15微秒的状态单片