简易数字式温度计的方案设计书初稿_第1页
简易数字式温度计的方案设计书初稿_第2页
简易数字式温度计的方案设计书初稿_第3页
简易数字式温度计的方案设计书初稿_第4页
简易数字式温度计的方案设计书初稿_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带 来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来 越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入 手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准 确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该 高精度数字式温度计采用了由DALLAS公司生产的单线数字温度传感器DS18B20,它具有 独特的单线总线接口方式。本毕业论文详细的介绍了单线数字温度传感器

2、DS18B20的测量 原理、特性以及在温度测量中的硬件和软件设计,该温度计具有接口简单、精度高、抗干 扰能力强、工作稳定可靠等特点。 关键词:DS18B20温度传感器 STC89C51 目录 第一章绪论3 1.1课题背景及研究意义3 1.2国内外的现状3 1.3设计的目的4 1.4设计实现的目标4 1.5数字温度计简介4 第一章 绪论 1.1 课题背景及研究意义 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机 应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶 金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费 时费力,而且精度差,单片机的

3、出现使得温度的采集和数据处理问题能够得到 很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元 件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。本系统 所使用的加热器件是电炉丝,功率为三千瓦,要求温度在 4001000C。静态控 制精度为2.43 C。 本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好, 功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方 便等独特优点,在数字、智能化方面有广泛的用途。 1.2 国内外的现状 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的 温度控制器来讲,总体发展水平仍然不高,同日本

4、、美国、德国等先进国家相 比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的 PID 控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能 化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制 仪表较少。随着我国经济的发展及加入 WTO ,我国政府及企业对此都非常重 视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开 展创新性研究,使我国仪表工业得到了迅速的发展。 单片机也被称为微控制器( Microcontroller ),是因为它最早被用在工业控 制领域。单片机由芯片内仅有CPU勺专用处理器发展而来。最早的设计理念是通 过将大量

5、外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成 进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想 设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 1.3 设计的目的 1. 巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识 解决工业控制的能力。 2. 培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能 力,提高组成系统、编程、调试的动手能力。 3. 通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研 制的过程,软硬件设计的方法、内容及步骤。 1.4 设计实现的目标 本课题的研究重点是设计一种基于单片机

6、的数字温度计控制系统。利用数 字温度传感器DS18B20此传感器可读取被测量温度值,进行转换。 主要工作如下: 1. 温度测试基本范围-55 C 125C。 2. 精度误差等于1C。 3.0.56 寸的三位共阳极数码管显示。 4. 可以设定温度的上下限报警功能。 5. 实现超温报警提示。 1.5 数字温度计简介 数字温度计采用进口芯片组装精度高、高稳定性,误差w 0.5%,内电源、 微功耗、不锈钢外壳,防护坚固,美观精致。数字温度计采用进口高精度、低 温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作5年 无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显 示仪

7、。是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企 业,大专院校,科研院所。 数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半 导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变 化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系 等,这个电信号可以使用模数转换的电路即 AD专换电路将模拟信号转换为数字 信号,数字信号再送给处理单元,如单片机或者PO等,处理单元经过内部的 软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如 25.0摄氏度,然后通过显示单元,如LED,LC或者电脑屏幕等显示出来给人观 察。这样就完

8、成了数字温度计的基本测温功能。数字温度计根据使用的传感器 的不同,AD专换电路,及处理单元的不同,它的精度,稳定性,测温范围等都 有区别,这就要根据实际情况选择符合规格的数字温度计。 二、总体方案设计 1、数字温度计设计方案论证 2.1.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将 随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进 行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用 到A/D转换电路,感温电路比较麻烦。 2.1.2方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以 这是非常容易想

9、到的,所以可以采用一只温度传感器DS18B20此传感器,可 以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较 简单,故采用了方案二。 2.2方案二的总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机 AT89S51温 度传感器采用DS18B20用3位LED数码管以串口传送数据实现温度显示。 ffll总体设计方框gb 2、硬件设计 1.1工作原理及硬件框图 基于DS18B20的温度测量装置电路图如图1所示,包括单片机最小 系统、温度传感器、和显示电路。温度传感器DS18B20将被测环境 温度转化成

10、带符号的数字信号(以十六位补码形式,占两个字 节),单片机对接收到的数字信号进行标度变换,转换成实际的温 度值并送数码管显示。DS18B20传感器可置于离装置150M以内的 任何地方。STC89C51是整个电路装置的控制核心, STC89C51内带 4K字节的FlashROM,用户程序存放在此。 图2系统硬件框图 E2DS18B20内部结构( 3、系统分析: 本设计主要的任务是单片机软件的设计,而软件中的核心在于单 片机与集成温度传感器 DS18B20接口程序的设计,另外一点便是对数 码管扫描显示的理解与运用。由于DS18B20集成了温度数据采集、模 数转换于一体,因此外围电路非常简单。在进行

11、软件设计前,须对该 芯片反复研究,掌握其核心内容,其实程序在厂家提供的应用资料中 也可以找到,关键是要对其工作过程的理解。对数码管扫描显示的程 序设计,只要理解了其显示的工作原理,也不是可以掌握的 3.1、制作重点: 读取DS18B20的时序 由于对DS18B20专感器数据的读取有一定的时序要求,因此在编写软 件时要特别注意,先反复读懂该器件的读、写时序,然后根据所选用 的晶振计算出机器周期的时间,为了使计算简单,在设计时将晶振选 用12M因为51系列单片机一个机器周期正好是12个时钟周期,因此 选用12M晶振时,一个机器周期正好是 1微秒,这样计算时间比较方 便。 对读取数据的处理 从DS1

12、8B20芯片的资料中可以看出,其数据存储器的分配为: 表1 DS1820暂存奇存君分芾 空存器内容 与节地力卜 监度歎低数字包 0 狙空晟高数宇位 1 烏温限值 2 低温限給 3 保rVl 4 保留 5 H数翔余值 6 毎哦计數值 7 CRC校一险 存储数据与温度的对应关系见下表: HMPERAH RI DKriiAi(H iprr Hlinu ry) DIGITAL OlTPl 1 (Ikxl + 125 C UfHII III 1 Hl 1.SCtH - OTDOh 4 85 C* 00000101 0101 0000 055 Oh + 25.0625 C 00000001 1001 00

13、01 0191h + IG 125 匚 :MII IIIUK- I.J011. 00A2M *0,5 C l:.l .1 :i I.I ()rC oooo 0000 0000 0000 -0.5 C 1 H 1 Illi INI 10011 msh -10 125 C E 1 IE Illi Old! H 山 ll-5Eh -25.0C25(. HIE 1 1 Hi (H H H FE6Fh -5? F*he lemperafure 匸函联er is 从以上的分析可以看出,温度值存储于两个字节单元中,温度与存储 器的对应关系为:整个温度值由16位二进制数表示,最高的5位为符 号为,为零时代表正

14、的温度值,为“ T时,代表的是负温度值,真正 表示温度的是后11位数据,最低的四位表示小数位,其中 0单元的高 四位和1单元的低四位组合正好形成测得的温度整数值,这样我们在 对读取的数据在进行处理时,只需将 0单元的高四位和1单元的低四 位通过重新组合,形成一个新的 8位数据,这个数据便是测得的温度 数值,但这是个16进制的数据,要输出10进制数进行显示,要进行 相应的转换操作,至于将16进制数转换成10进制数据的汇编程序。 数码扫描输出的处理 为了节省单片机端口,输出显示采用扫描的方式进行。利用人眼对光 的停留效应,通过电子开关的控制,节合显示数据的配合,完成三位 数码管的扫描显示。 7S0

15、J 电源部分电路原理图 V 7 J _J 4 J MplplIlFlplpl Hl/TCT XllkU XIAL1. MJjINIEi PJ.4/T0 EL1AIW- PJJ/I1 PHAJK+ 一个可编程串行口; 有片内精密模拟比较器; 2KB的FLASH存储; 128B的数据存储器; 15根输入/输出线; 2个16位定时/计数器; 5个中断源,2个优先级。 STC89C51 的 FLASH存储器编程: STC89C51单片机提供了 2KB的片内FLASH程序存储器,它允许在 系统改写或用非易失性存储器编程器编程。 FLASH存储器加密位: STC89C51单片机有2个加密位。可以编程(P)

16、或不编程(U)以 获得不同的加密功能。 432最小系统 图4单片机最小系统 时钟复位电路如图4所示,采用12MHz的晶振。复位电路采用了微 分型复位电路。复位电路的基本功能是:系统上电时提供复位信号 直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一 定的延时才撤销复位信号以防电源开关或电源插头分 -合过程中引起 的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现 象,如无规律可循的 死机” 程序走飞”等。 4.4显示电路 主要采用四位一体共阳极LED数码管组成,采用动态法显示,直接 显示当前环境温度。P0 口接数码管的段码,P1.0-P1.3接数码管的 位线。按钮开关可选择小

17、数点后显示一位或两位。 4.5电源电路 市电220V经过变压器T1降压,得到一个交流的16v电压,再经过 四个整流二极管整流、C5滤波得到直流电压,最后经过三端集成稳 压管稳压,得到一个稳定的5V直流电压。 2软件设计 在此系统中,主要包括温度测量、显示、键盘。最主要的程序是温 度测量部分。 2.1系统主流程图 系统上电后,首先对DS18B20进行初始化设置,接着对 DS18B20发 出SKIP ROM指令(即跳过ROM存储器)延时5ms后,对DS18B20 发出启动温度转换命令,然后,从 DS18B2 0的暂存储器中读出温度 数据,接着对该数据进行转换,转换成当前环境温度。最后将实际 温度与

18、设置温度比较,超过限制则发出报警。 2.2温度测量设计 通过STC89C51芯片的一个通用I/O 口就可以实现对智能温度测量 模块DS18B20的控制。读取DS18B20测量的温度主要是通过初始化 命令、ROM功能命令、存储器功能命令、温度转换命令、读存储器 命令等组成。冷端温度补偿 三、系统软件算法分析 程序命令时序 总线命令序列如下: 第一步:初始化 第二步:ROM命令(跟随需要交换的数据) 第三步:功能命令(跟随需要交换的数据) 每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列 混乱,则一线器件不会响应单片机。 基于一线上的所有传输过程都时以初始化开始的,初始化过程由单片 机发

19、出的复位脉冲和DS18B2 0的响应的应答脉冲组成。应答脉冲使 单片机知道,总线上有1-WIRE设备,且准备就绪。系统中CPU采用 12MHz 晶振,DQ 端接 P2.6。 RESET子程序 RESETQLR P2.6。拉低总线至少480us,否则在温度较高时会无法 完成复位。 MOV R2,#130。在调试过程中发现延时520uS,测温值可到 110C,达到 D1: DJNZ R2,D1。DS18B20的技术参数。 SETB P2.6。释放总线 MOV R2,#20 D4: DJNZ R2,D4 JB P2.6Q0。总线若为低,则复位成功。否则复位失败,返回。 MOV R2,#110 D2:

20、 DJNZ R2,D2。延时等待复位过程结束 RET 在单片机检测到应答(presenee)脉冲后,就可以发ROM命令,命令长 度为8位。该命令字要通过1-WIRE通信协议规定的严格的写时隙 (Write time slots),逐位写到一线上,DS18B20会自动接收到这些命 令,并准备响应相应的操作。本系统是单点使用,故只须用到SKIM ROM COMMAND(OCCH这样单片机可以同时访问总线上的所有设备 , 而无须发出任何ROM代码信息。例如,单片机在发出SKIP ROM命令 后跟随CONVENT T功能COMMAND)即启动温度转换命令(44H),值 得注意的是:若SKIP ROM命

21、令后跟的是 READ SCRATCHPAD(OBEH) 命令(包含其他读操作命令),则该系统只能用于单点系统,否则将由于 多个节点都响应该命令而引起数据冲突。 在单片机发出ROM命令后,接着就可以发送功能命令,然后DS18B20 就开始执行命令,本单点应用系统中主要用到CONVENT T和 READ SCRATCHPAD在执行READ SCRATCHPA命令时,单片机可以通过发 送RESET脉冲在任何时候中断数据传输。 读、写时序 在对DS18B20进行ROM或功能命令字的写入及对其进行读出操作 时,都要求按照严格的1-WIRE通信协议(时序),以保证数据的完 整性。其中有写0、写1、读0和读

22、1时序。在这些时序中,都由单 片机发出同步信号,并且所有的命令字和数据在传输的过程中都是 字节的LSb在前,这一点于基于其他总线协议的串行通信格式(比 如SPI、等)不同,它们通常是字节的 MSb在前。 读时序 DS18B20仅在单片机发送读时隙(READ SLOT时才发送数据,所 以单片机在发送READ SCRATCHPA命令后必须立即产生读时隙。 所有的读时隙都要至少保持60us,并且在两个读时隙间至少要有 1us的恢复时间。 单片机通过把总线拉低至少1us来做为一个读时隙的开始, DS18B20的输出数据在读时序下降沿过后15us内有效,所以在此期 间单片机应释放总线,进入读数据状态以便

23、读取数据, 15us后一线 总线被上拉电阻拉为高电平,程序延时等待读时隙结束。 读一字节子程序 出口条件:读出字节数据在 A中 RE1W:M0V R6,#8。从1-Wire总线读出1字节数据的子程序 RE1:CLR P2.6。拉低总线,发出读时序 NOP SETB P2.6。释放总线,等待输入 MOV R4,#02H RE2:DJNZ R4,RE2 MOV C,P2.6。通过RRC A指令,从低位开始依次读入数据 RRC A MOV R5,#20 RE3:DJNZ R5,RE3。延时,等待读时隙结束 SETB P2.6。恢复时间 DJNZ R6,RE1 SETB P2.6 RET 写时隙 写时隙也有两种,写0和写1。主要用于单片机通过1-WIRE总线向 DS18B20 写入命令字。所有的写时隙也至少要保持 60us,且在两个写周期之 间至少要有1us的恢复时间。 单片机通过拉低一线总线至少1us来产生写时隙。当写1时,单片 机拉低总线,然后必须在

温馨提示

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

评论

0/150

提交评论