《项目14温度控制器课件》由会员分享,可在线阅读,更多相关《项目14温度控制器课件(57页珍藏版)》请在金锄头文库上搜索。
1、项目14 温度控制器 信息工程系项目14温度控制器课件项目14 温度控制器v主要内容模数与数模转换温度传感器用C51编写控制程序的基本方法用Proteus实现单片机控制温度控制器的仿真 用Keil软件进行单片机控制程序的调试项目14温度控制器课件项目14 温度控制器v学习目标了解单片机应用系统设计方法及开发工具。掌握用C51编写控制程序的基本方法。 掌握用单片机实现温度控制的方法。项目14温度控制器课件项目14 温度控制器v主要操作实例温度控制器项目14温度控制器课件项目14 温度控制器v教学重点和难点温度传感器及应用ADC与DAC的应用v教学方法讲授法、演示法v教学学时6课时项目14温度控制
2、器课件应用系统设计v14.1 ADC与DACv14.2 温度传感器AD590及应用v14.3 空调机温度控制系统v14.4 仿真实验 v本章小结v习题 项目14温度控制器课件v模拟信号:一种连续性信号。例如:温度、速度、电压、电流、压力等v数字信号:一种非0即1的离散性信号,通常有TTL和CMOS两种电平。v单片机系统中凡是遇到有模拟量的地方,就要进行模拟量向数字量、数字量向模拟量的转换,也就要涉及到单片机的数/模(D/A)和模/数(A/D)转换的接口技术。14.1 ADC与DAC项目14温度控制器课件14.1.1 ADCv模数转换是将模拟信号转换成数字信号。v转换方式有:并行式模拟数字转换逐
3、次逼近式模数转换连续计数式模数转换双斜率式模数转换vAD转换的IC有很多,我们教学常用的有ADC0808(在前面直流电机的PWM控制中已经介绍过)项目14温度控制器课件14.1.2 DACv数模转换是将数字信号转换成模拟信号。v数/模转换主要用于将单片机的数字量输出转化为实际的模拟量控制外接设备。 v一般DAC是由电阻网络所构成的,常见的数模转换电路有:加权电阻网络R-2R电阻网络vDA转换的IC有很多:按输入的二进制数的位数分类,有按输入的二进制数的位数分类,有八位八位、十位十位、十二位十二位和和十六位十六位等。等。按输出是电流还是电压分类,分为按输出是电流还是电压分类,分为电压输出器件电压
4、输出器件和和电流输出器件电流输出器件。 l我们教学常用的有DAC0832项目14温度控制器课件1. D/A1. D/A转换器的技术指标转换器的技术指标 有关有关D/AD/A转换器的技术性能指标很多,例如转换器的技术性能指标很多,例如绝对精度绝对精度、相对相对精度精度、线性度线性度、输出电压范围输出电压范围、温度系数温度系数、输入数字代码输入数字代码种类种类( (二进制或二进制或BCDBCD码码) )等。等。D/AD/A转换器与接口有关的技术性能指标:转换器与接口有关的技术性能指标:l分辩率分辩率。数。数/ /模转换的分辩率是指最小输出电压模转换的分辩率是指最小输出电压( (对应的输对应的输入二
5、进制数为入二进制数为1)1)与最大输出电压与最大输出电压( (对应的输入二进制数的所对应的输入二进制数的所有位全为有位全为1)1)之比。例如之比。例如8 8位数的分辨率为位数的分辨率为1/2560.0041/2560.004,1010位数分辨率为位数分辨率为1/10241/1024,约等于,约等于0.0010.001。由此可见数字量位数。由此可见数字量位数越多,分辨率也就越高。分辨率通常用数字输入信号的位越多,分辨率也就越高。分辨率通常用数字输入信号的位数表示,有数表示,有8 8位、位、1010位、位、1212位等。位等。14.1.2 DAC项目14温度控制器课件14.1.2 DAC1. D/
6、A1. D/A转换器的技术指标转换器的技术指标l建立时间建立时间。也称稳定时间,它是指从数字量输入到建立稳。也称稳定时间,它是指从数字量输入到建立稳定的输出电流的时间,是描述定的输出电流的时间,是描述D/AD/A转换速率的一个重要参数。转换速率的一个重要参数。l转换精度转换精度。由于转换器内部的误差等原因,当送一个确定。由于转换器内部的误差等原因,当送一个确定的数字量给的数字量给DACDAC后,它的实际输出值与该数值应产生的理想后,它的实际输出值与该数值应产生的理想输出值之间会有一定的误差,它就是输出值之间会有一定的误差,它就是D/AD/A转换器的精度。转换器的精度。 项目14温度控制器课件1
7、4.1.2 DAC2. D/A2. D/A转换芯片转换芯片DAC0832DAC0832 DAC0832 DAC0832是一个是一个8 8位位D/AD/A转换转换器器。单电源供电,从。单电源供电,从+5V+5V+15V+15V均可正常工作。基准电均可正常工作。基准电压的范围为压的范围为-10V-10V+10V+10V;电;电流建立时间为流建立时间为1s1s;采用;采用CMOSCMOS工艺,低功耗工艺,低功耗20mW20mW。 DAC0832 DAC0832转换器芯片为转换器芯片为2020引引脚,双列直插式封装。脚,双列直插式封装。 其引脚排列如右图所示。其引脚排列如右图所示。DAC0832引脚图
8、项目14温度控制器课件14.1.2 DACDAC0832DAC0832引脚的功能定义如下:引脚的功能定义如下:lDI7DI7DI0 DI0 :8 8位的数据输入端,位的数据输入端,DI7DI7为最高位。为最高位。lI IOUT1OUT1 :模拟电流输出端:模拟电流输出端1 1,当,当DACDAC寄存器中数据全为寄存器中数据全为1 1时,输出电流最大,时,输出电流最大,当当 DACDAC寄存器中数据全为寄存器中数据全为0 0时,输出电流为时,输出电流为0 0。lI IOUT2OUT2 :模拟电流输出端:模拟电流输出端2 2,I IOUT2OUT2与与I IOUT1OUT1的和为一个常数,的和为一
9、个常数,l 即即I IOUT1OUT1+I+IOUT2OUT2= =常数。常数。lR RFBFB:反馈电阻引出端,:反馈电阻引出端,DAC0832DAC0832是电流输出,为了取得电压输出,需在是电流输出,为了取得电压输出,需在电压输出端接运算放大器。电压输出端接运算放大器。DAC0832DAC0832内部已经有反馈电阻,所以内部已经有反馈电阻,所以 R RFBFB端端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。在运算放大器的输出端和输入端之间。 lV VREFREF :参考电压输
10、入端,此端可接一个正电压,也可接一个负电压,它:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定决定0 0至至255255的数字量转化出来的模拟量电压值的幅度,的数字量转化出来的模拟量电压值的幅度,V VREFREF范围为范围为(+10(+10-10)V-10)V。V VREFREF端与端与D/AD/A内部内部T T形电阻网络相连。形电阻网络相连。lV VCCCC:芯片供电电压,范围为:芯片供电电压,范围为(+5(+515)V15)V。lAGNDAGND:模拟量地,即模拟电路接地端。:模拟量地,即模拟电路接地端。lDGNDDGND:数字量地。:数字量地。 项目14温度控制器课件14
11、.1.3 DAC应用实例 DAC0832 DAC0832有三种不同的工作方式:有三种不同的工作方式:直通方式直通方式、单缓冲方式单缓冲方式、双缓冲方式双缓冲方式。直通方式的接口与应用直通方式的接口与应用l当当ILEILE接高电平,接高电平,CSCS、WR1WR1、WR2WR2和和XFERXFER都接数字地时,都接数字地时,DACDAC处于直通方式,处于直通方式,8 8位数字量一旦到达位数字量一旦到达DI7DI7DI0DI0输入端,就立输入端,就立即加到即加到8 8位位D/AD/A转换器,被转换成模拟量。转换器,被转换成模拟量。lDAC0832DAC0832直通方式输出连接图如下图所示。直通方式
12、输出连接图如下图所示。l运放运放U3U3输出电压为输出电压为 U UOUTOUT=-(D/256)*V=-(D/256)*VREFREF,图中如果向,图中如果向DAC0832DAC0832传送的传送的8 8位数据量为位数据量为40H(01000000B)40H(01000000B),则输出电压,则输出电压U UOUTOUT=-(64/256)*5V=-1.25V=-(64/256)*5V=-1.25V( (反相反相) ),其输出过程可用,其输出过程可用“MOV “MOV P0P0,#40H”#40H”一条指令完成。一条指令完成。 项目14温度控制器课件14.1.3 DAC应用实例【例】【例】
13、直通方式产生锯齿波电压信号直通方式产生锯齿波电压信号( (波形如下图所示波形如下图所示) )。解:电路如下图所示。解:电路如下图所示。 集成运放在电路中的作用是把集成运放在电路中的作用是把DAC0832DAC0832输出电流转换为电压。输出电流转换为电压。即实现电流电压转换。即实现电流电压转换。 锯齿波电压信号随时间变化而上升,达到最大值后,又从锯齿波电压信号随时间变化而上升,达到最大值后,又从0 0开始上升,再到最大值如此循环下去。因此,只要让开始上升,再到最大值如此循环下去。因此,只要让DAC0832DAC0832输入的数字量也如此变化就可使输出端输出锯齿波。输入的数字量也如此变化就可使输
14、出端输出锯齿波。项目14温度控制器课件14.1.3 DAC应用实例单片机和DAC0832直通方式输出连接图 项目14温度控制器课件14.1.3 DAC应用实例对锯齿波的产生作如下说明:对锯齿波的产生作如下说明: 程序每循环一次,程序每循环一次,(R0)(R0)加加1 1,因此实际上锯齿波的上升沿是由,因此实际上锯齿波的上升沿是由256256个小阶个小阶梯构成的。但由于阶梯很小,所以看上去就如上图所表示的线性增长梯构成的。但由于阶梯很小,所以看上去就如上图所表示的线性增长锯齿波。锯齿波。 延迟时间不同,波形周期不同,锯齿波的斜率就不同。延迟时间不同,波形周期不同,锯齿波的斜率就不同。 参考程序如
15、下:参考程序如下: ORG 0000HORG 0000H MOV R0,#0 ; MOV R0,#0 ;置转换初值置转换初值 DAC: MOV P0,R0 ; DAC: MOV P0,R0 ;送数据到送数据到P0P0口口,DAC0832,DAC0832同时进行转换同时进行转换 INC R0 ; INC R0 ;转换数字量加转换数字量加1,1,当加到最大值当加到最大值0FFH0FFH时时, ,再加再加1,R01,R0变为变为0 0 ACALL DELAY ACALL DELAY ; ;延时量决定锯齿波周期延时量决定锯齿波周期 AJMP DAC AJMP DACDELAY: (DELAY: (略略
16、) ) END END项目14温度控制器课件14.2 温度传感器AD590及应用vAD590体积小、使用方便的温度传感器。vAD590有三只引脚,通常只使用其中的两只引脚,其特性为:它有非常好的线性输出性能,输出的电流与开氏温度成正比。温度每增加1,其电流增加1uA。 开氏温度0时输出0A,开氏温度每上升1度电流增加1uA。开氏温度等于摄氏温度加273.有效温度感测范围为-55150摄氏度。可采用的电源范围为430V。v最简单的AD590接口是串接一个10K欧的电阻再接地,即可产生10*(273.2+T摄氏度)mV,这个电压先经一个运算放大器所组成的缓冲器,以避免负载效应。项目14温度控制器课
17、件vAD590温度与电流的关系如下表所示:摄摄氏温度氏温度AD590AD590电电流流经经10K10K电压电压00273.2 uA273.2 uA2.732V2.732V1010283.2 uA283.2 uA2.832 V2.832 V2020293.2 uA293.2 uA2.932 V2.932 V3030303.2 uA303.2 uA3.032 V3.032 V4040313.2 uA313.2 uA3.132 V3.132 V5050323.2 uA323.2 uA3.232 V3.232 V6060333.2 uA333.2 uA3.332 V3.332 V100100373.2
18、 uA373.2 uA3.732 V3.732 V项目14温度控制器课件下图是:下图是:利用利用AD590温度传感器完成温度的测量,把转换的温度值的温度传感器完成温度的测量,把转换的温度值的模拟量送入模拟量送入ADC0809的其中一个通道进行的其中一个通道进行A/D转换,将转换的结果进转换,将转换的结果进行温度值变换之后送入四位数码管显示。行温度值变换之后送入四位数码管显示。项目14温度控制器课件14.3 空调机温度控制系统1. 1. 设计要求设计要求 用用MCS-51MCS-51单片机设计一个空调机的温控系统。具体要求如下:单片机设计一个空调机的温控系统。具体要求如下:l实时测量环境温度,并
19、显示当前温度值。实时测量环境温度,并显示当前温度值。当室温度高于设定温度,压缩机运转,使室温降低。当室温度高于设定温度,压缩机运转,使室温降低。当室温低于设定温度,压缩机停止运转。当室温低于设定温度,压缩机停止运转。l温度设定功能,通过按键输入压缩机启停的温度设定值。温度设定功能,通过按键输入压缩机启停的温度设定值。设定温度过程中显示设定温度值,以便于操作。设定完毕设定温度过程中显示设定温度值,以便于操作。设定完毕后,改为显示当前测定温度值。后,改为显示当前测定温度值。项目14温度控制器课件14.3 空调机温度控制系统2. 2. 总体方案总体方案(1) (1) 系统设计系统设计l根据设计要求,
20、设计出温度控制系统的基本结构框图如下根据设计要求,设计出温度控制系统的基本结构框图如下图所示。图所示。l系统由四个主要功能模块组成:温度测量、按键输入,数系统由四个主要功能模块组成:温度测量、按键输入,数码显示以及控制压缩机启停模块。码显示以及控制压缩机启停模块。温度测量模块温度测量模块的主要功能是将环境温度转化为电参数的主要功能是将环境温度转化为电参数( (电压电压) ),并通过,并通过A/DA/D转换得到数字量送入单片机。转换得到数字量送入单片机。按键输入模块按键输入模块主要功能是实现设定温度值的输入。主要功能是实现设定温度值的输入。LEDLED显示模块显示模块主要功能是显示当前环境温度值
21、。因空调对温度精度要求主要功能是显示当前环境温度值。因空调对温度精度要求不高,本例只要求显示两位整数的温度值。不高,本例只要求显示两位整数的温度值。压缩机控制模块压缩机控制模块主要功能是单片机根据环境温度与设定温度的比较结果主要功能是单片机根据环境温度与设定温度的比较结果送出开关信号、控制压缩机的启停。送出开关信号、控制压缩机的启停。项目14温度控制器课件14.3 空调机温度控制系统2. 2. 总体方案总体方案(1) (1) 系统设计系统设计 温度控制系统的基本结构框图项目14温度控制器课件14.3 空调机温度控制系统2. 2. 总体方案总体方案(2) (2) 关键技术关键技术l本系统中的关键
22、技术是如何本系统中的关键技术是如何实时测量室内温度实时测量室内温度。在对外界。在对外界物理量如温度、湿度、压力等进行测量时,首先要解决的物理量如温度、湿度、压力等进行测量时,首先要解决的问题是如何将这些非电量转换为电参数问题是如何将这些非电量转换为电参数( (电阻、电压、电流电阻、电压、电流) ),其次,是如何将模拟量,其次,是如何将模拟量( (电压电压) )转换为数字量。转换为数字量。l显然对温度的测量,温度传感器是必不可少的。温度传感显然对温度的测量,温度传感器是必不可少的。温度传感器的种类、型号很多。在本例中选用的是器的种类、型号很多。在本例中选用的是AD590AD590温度传感器。温度
23、传感器。 项目14温度控制器课件14.3 空调机温度控制系统3. 3. 硬件设计硬件设计 系统的硬件电路包括主机、温度控制、压缩机的控制、按系统的硬件电路包括主机、温度控制、压缩机的控制、按键及显示键及显示5 5个部分,系统硬件电路原理图如下图所示。个部分,系统硬件电路原理图如下图所示。 温度控制系统电路原理图项目14温度控制器课件14.3 空调机温度控制系统4. 4. 软件设计软件设计(1) (1) 系统资源分配系统资源分配 内部内部RAMRAM分配情况。分配情况。(2) (2) 软件设计流程软件设计流程 主要包括主要包括5 5个模块:个模块:l主程序主程序l按键设定温度模块按键设定温度模块
24、l十进制调整和数据转换模块十进制调整和数据转换模块l控制模块控制模块l显示模块显示模块 主程序流程图项目14温度控制器课件14.3 空调机温度控制系统5. 5. 系统调试与脱机运行系统调试与脱机运行l完成了硬件设计、制作和软件编程之后,要使系统能够按完成了硬件设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。设计意图正常运行,必须进行系统调试。l系统调试包括系统调试包括硬件调试硬件调试和和软件调试软件调试两个部分,软硬件的调两个部分,软硬件的调试是不可能绝对分开的,硬件的调试常常需要利用调试软试是不可能绝对分开的,硬件的调试常常需要利用调试软件,软件的调试也可能需要通
25、过对硬件的测试和控制来进件,软件的调试也可能需要通过对硬件的测试和控制来进行。行。 项目14温度控制器课件14.3 空调机温度控制系统5. 5. 系统调试与脱机运行系统调试与脱机运行(1) (1) 硬件调试硬件调试 硬件的调试主要是把电路各种参数调整到符合设计要求,硬件的调试主要是把电路各种参数调整到符合设计要求,排除硬件故障,其中包括设计错误和工艺性故障。排除硬件故障,其中包括设计错误和工艺性故障。(2) (2) 软件调试软件调试 软件调试的任务是利用开发工具进行在线仿真调试,发现软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。和纠正程序错误,同时也能
26、发现硬件故障。(3) (3) 脱机运行脱机运行 软件调试成功之后,可以用编程器将程序固化到软件调试成功之后,可以用编程器将程序固化到89S5189S51的的FLASH ROMFLASH ROM中,插入中,插入89S5189S51芯片,接上电源脱机运行。既然芯片,接上电源脱机运行。既然硬件都已调试成功,脱机运行一般也能成功。为了保证软硬件都已调试成功,脱机运行一般也能成功。为了保证软件运行的稳定可靠,在软件中可采取加软件陷井和看门狗件运行的稳定可靠,在软件中可采取加软件陷井和看门狗的办法,避免程序跑飞。的办法,避免程序跑飞。 项目14温度控制器课件14.4 仿真实训(一)v实验内容设计一个ADC
27、0808与单片机的接口电路,并编写相应的应用程序,以实现将一路模拟量转换成数字量,并将该数字量换算成模拟量电压值在两位LED数码管上显示出来(LED显示方案参照动态显示) 。测量精度为0.1V,晶振频率为6MHz。项目14温度控制器课件v实验电路图项目14温度控制器课件参考程序v ORG 0000Hv AJMP START v ORG 000BHv AJMP TT0v ORG 0030HvSTART: MOV SP,#50Hv MOV A,#0v MOV 30H,Av MOV 31H,Av ACALL DISPv MOV TMOD,#01HvMOV TL0,#0F0HvMOV TH0,#0D8
28、HvMOV IP,#02HvMOV IE,#82HvSETB TR0v MOV DPTR,#7FF8H ;启动AD转换v MOVX DPTR,Av LOOP:NOP ACALL DISP SJMP LOOP项目14温度控制器课件vTT0:PUSH ACCv PUSH DPHv PUSH DPLv MOV TL0,#0F0HvMOV TH0,#0D8HvMOV DPTR,#7FF8HvMOVX A,DPTRvMOV B,#51vDIV ABvMOV 31H,AvMOV A,BvMOV B,#5vDIV ABvMOV 30H,AvMOV DPTR,#7FF8H ;启动AD转换v MOVX DPTR
29、,Av POP DPLv POP DPHv POP ACCv RETIDISP: MOV DPTR,#DISPTAB MOV A,30HMOVC A,A+DPTRMOV P1,ACLR P3.4ACALL DEL1MSNOPMOV A,#0FFHMOV P1,ASETB P3.4 MOV A,31HMOVC A,A+DPTRANL A,#7FHMOV P1,ACLR P3.5ACALL DEL1MSMOV A,#0FFHMOV P1,ASETB P3.5RET项目14温度控制器课件vDEL1MS: MOV R6,#125vDEL: NOPv NOPv DJNZ R6,DELvRETvDISPT
30、AB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H ;0,1,2,3,4,5v DB 82H,0F8H,80H,90H,8CH,0FFH ;6,7,8,9,P,灭vEND项目14温度控制器课件PROTEUS软件的实验方法 1. 新建设计文件、设置图纸尺寸、设置网格、保存设计文件保存设计文件。文件名为“signal”。2. 选取元器件。AT89C51(单片机)、CRYSTAL(晶振)、CAP(电容)、CAP-ELEC(电解电容)、RES(电阻)、ADC0808,74LS373,74LS02,7SEG-MPX2-CAPOT-LIN。3. 放置元器件、编辑元器件、放置终端、连线。按图
31、4-2所示放置元器件并连线。4. 设置元器件属性并进行电气规则检测。先右击再单击各元器件,按图4-2所示设置元器件的属性值。单击 “工具”“电气规则检查”,完成电气检测。5. 添加源程序添加源程序、编辑源程序、编译源程序编译源程序。源文件名为“signal.asm”。6. 加载目标代码文件加载目标代码文件。 “Clock Frequency”栏中的频率要设为6MHz。7. 仿真。单击仿真工具栏“运行”按钮,单片机全速运行程序。 14.4.2 实训步骤实训步骤项目14温度控制器课件keil软件的实验方法 1. 新建工程文件,选择单片机型号为Atmel的89c51。2. 建立源文件,加载源文件(右
32、击工程窗口中的source group 1,在弹出的快捷菜单中选择“增中文件到组source group 1 ”),汇编源文件扩展名为.asm,C源程序文件扩展名为.C。3. 设置工程的配置参数。(在工程窗口中右击target 1,在弹出的快捷菜单中选择“设置目标target 1的属性”),设置“目标”标签页的晶振频率设置,以及“输出”标签页的“生成HEX文件“选择框选中。4. 进行编译和链接。5. 进入调试模式。6. 全速运行程序。项目14温度控制器课件14.4.3 实训分析与思考 一、实训分析1. 分析实验参考电路中ADC0808是如何与单片机实现接口的。2. 分析参考程序中是如何将数字量
33、转换成模拟量电压值并通过LED显示出来。3.分析本实验中隔多长时间对模拟量采样一次?即采样频率是多少?二、实训思考1. ADC0808的时钟频率采用的是标准时钟500KHz,是否可改用单片机ALE引脚上的脉冲,为什么?2.若不用ADC0808,改用ADC0809是否可实现相同功能?为什么? 项目14温度控制器课件14.4 仿真实训(二)v实验内容设计一个利用DS18B20与单片机构成的温度控制系统。并编写相应的应用程序,实现将利用ds18b20采集到得温度读入到单片机再通过四只数码管显示出来(LED显示方案参照动态显示) 。晶振频率为12MHz。项目14温度控制器课件温度传感器DS18B20
34、vDS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。vDS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 项目14温度控制器课件项目14温
35、度控制器课件DS18B20采用脚PR35封装或脚SOIC封装。其内部结构框图如图所示。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高 温 触 发 器TH低温触发器TL配置寄存器8位CRC发生器VddI/O项目14温度控制器课件DS18B20的测温原理v器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测
36、量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。v减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。项目14温度控制器课件芯片说明v64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序
37、号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。vDS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20
38、出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。项目14温度控制器课件表1 DS18B20温度转换时间表由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。项目14温度控制器课件v高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。v当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据
39、时低位在先,高位在后,数据格式以0.0625LSB形式表示。v当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。v在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。 项目14温度控制器课件vDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令
40、作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110
41、1111FE6FH-551111 1100 1001 0000FC90H表2是一部分温度值对应的二进制温度数据项目14温度控制器课件系统对DS18B20的操作需注意v由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。项目14温度控制器课件 DS18B20温度传感器与单片机的温度传感器与单片机的接口电路接口电路 vDS18B20可以采用两种方式供电:一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一
42、种是寄生电源供电方式,如单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。v当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。项目14温度控制器课件典型电路项目14温度控制器课件实验报告要求 1. 实验内容 2. 参考程序包括地址、机器码、源程序。3. 实验步骤写出每个步骤的名称4. 实验分析5. 实验思考项目14温度控制器课件理论作业要求v理论教材P272第5、 6题项目14温度控制器课
43、件本章小结v主要主要围绕单片机应用系统开发为核心围绕单片机应用系统开发为核心展开。首先,对单片展开。首先,对单片机应用系统开发作一简要介绍。让读者对开发过程、开发机应用系统开发作一简要介绍。让读者对开发过程、开发环境、工具有初步的了解。然后,分别介绍组成单片机应环境、工具有初步的了解。然后,分别介绍组成单片机应用系统的四大模块技术:键盘、显示、数模转换、模数转用系统的四大模块技术:键盘、显示、数模转换、模数转换。最后介绍两个实用性较强的单片机应用系统实例。换。最后介绍两个实用性较强的单片机应用系统实例。v一个按键实际上就是一个开关。多个按键组合在一起就构一个按键实际上就是一个开关。多个按键组合
44、在一起就构成键盘,键盘可分为成键盘,键盘可分为独立式键盘独立式键盘和和矩阵式矩阵式( (也叫行列式也叫行列式) )键键盘盘两种,两种,MCS-51MCS-51可方便地与这两种键盘接口。独立式键盘可方便地与这两种键盘接口。独立式键盘配置灵活,软件识别简单,但占用配置灵活,软件识别简单,但占用I/OI/O口线多,不适合较口线多,不适合较多按键的键盘。矩阵式键盘占用多按键的键盘。矩阵式键盘占用I/OI/O口线少,节省资源。口线少,节省资源。矩阵式键盘一般采用扫描方式识别按键,软件设计相对复矩阵式键盘一般采用扫描方式识别按键,软件设计相对复杂,但只要学会调用本章实例所提供的子程序,用起来就杂,但只要学
45、会调用本章实例所提供的子程序,用起来就很简单。使用机械式按键时,应注意去抖。很简单。使用机械式按键时,应注意去抖。 项目14温度控制器课件本章小结v与单片机接口的与单片机接口的常用显示器件常用显示器件分为分为LEDLED和和LCDLCD两大类。两大类。LEDLED显示器显示器可分为可分为LEDLED状态显示器状态显示器( (发光二极管发光二极管) )、LEDLED七段显示七段显示器器( (数码管数码管) )、LEDLED十六段显示器和十六段显示器和LEDLED点阵显示器点阵显示器( (大屏幕大屏幕显示显示) )。重点介绍了。重点介绍了MCS-51MCS-51单片机与单片机与LEDLED七段显示
46、器的接口七段显示器的接口技术,所列实例介绍了常用的显示技术。包括一位技术,所列实例介绍了常用的显示技术。包括一位LEDLED静静态显示、多位态显示、多位LEDLED静态显示、多位静态显示、多位LEDLED动态显示等的原理与动态显示等的原理与编程。编程。vLCDLCD显示显示可分为笔段型、字符型和点阵图形型。不含控制可分为笔段型、字符型和点阵图形型。不含控制器的器的LCDLCD还需另外选配相应的控制器和驱动器才能工作。还需另外选配相应的控制器和驱动器才能工作。本章介绍了最常用的笔段型本章介绍了最常用的笔段型LCDLCD数码显示技术。液晶显示数码显示技术。液晶显示模块是把显示控制器、驱动器用厚膜电
47、路做在显示模块印模块是把显示控制器、驱动器用厚膜电路做在显示模块印刷底板上,只需通过控制器接口外接数字信号即可;用起刷底板上,只需通过控制器接口外接数字信号即可;用起来比较容易方便。电子市场上有品种众多的液晶显示模块。来比较容易方便。电子市场上有品种众多的液晶显示模块。使用时读者可到网上查阅相关资料。使用时读者可到网上查阅相关资料。 项目14温度控制器课件本章小结vA/DA/D和和D/AD/A转换器转换器是计算机与外界联系的重要途径。本章介是计算机与外界联系的重要途径。本章介绍了绍了D/AD/A转换芯片转换芯片DAC0832DAC0832的工作原理,并详细介绍了的工作原理,并详细介绍了DAC0
48、832DAC0832直通方式、单缓冲方式和双缓冲方式的接口及应用。直通方式、单缓冲方式和双缓冲方式的接口及应用。A/DA/D转换技术主要介绍转换技术主要介绍ADC0809ADC0809与与MCS-8051MCS-8051的接口电路,叙的接口电路,叙述了述了A/DA/D转换后二者间的数据传送方式,即定时传送方式、转换后二者间的数据传送方式,即定时传送方式、查询方式和中断方式。还通过查询方式和中断方式。还通过8 8路模拟量输入巡回检测系统路模拟量输入巡回检测系统实例,详细介绍了二者间数据传送的编程方法。实例,详细介绍了二者间数据传送的编程方法。v各模块技术的学习最终是为了设计有实际用途的单片机应各
49、模块技术的学习最终是为了设计有实际用途的单片机应用系统。本章设计了两个实用性很强的单片机应用系统实用系统。本章设计了两个实用性很强的单片机应用系统实例。由此可以使读者将所学知识加以系统化并用于实践。例。由此可以使读者将所学知识加以系统化并用于实践。项目14温度控制器课件本章小结v单片机应用系统的设计单片机应用系统的设计采取软件和硬件相结合的方法。通采取软件和硬件相结合的方法。通过对系统的目标、任务、指标要求等的分析,确定功能技过对系统的目标、任务、指标要求等的分析,确定功能技术指标的软硬件分工方案是设计的第一步;分别进行软硬术指标的软硬件分工方案是设计的第一步;分别进行软硬件设计、制作、编程是
50、系统设计中最重要的内容;软件与件设计、制作、编程是系统设计中最重要的内容;软件与硬件相结合对系统进行仿真调试、修改、完善是系统设计硬件相结合对系统进行仿真调试、修改、完善是系统设计的关键,也是提高单片机应用水平的重要途径。的关键,也是提高单片机应用水平的重要途径。 项目14温度控制器课件习 题1. 机械式按键组成的键盘,应如何消除按键抖动?独立式按键和矩阵式按键分别具有什么特点?适用于什么场合?2. 分析比较LED静态显示与动态扫描显示的特点以及适用场合。3. 在用共阳极数码管显示的电路中,如果直接将共阳极数码管换成共阴极数码管,能否正常显示?为什么?应采取什么措施?4. 七段LED显示静态显
51、示和动态显示分别具有什么特点,实际设计时应如何选择使用?5. 要实现LED动态显示需不断调用动态显示程序,除采用子程序调用法外,还可采用其他什么方法?试比较其与子程序调用法的优劣。6. DAC0832与8051单片机接口时有哪些控制信号?作用分别是什么?ADC0809与8051单片机接口时有哪些控制信号?作用分别是什么?7. 使用DAC0832时,单缓冲方式如何工作?双缓冲方式如何工作?软件编程有什么区别?项目14温度控制器课件习 题8. 设计交通信号灯控制系统,能够完成正常情况下的轮流放行以及特殊情况和紧急情况下的红绿灯控制。具体要求如下。 (1) 正常情况下A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行1分钟(其中5s用于警告),B道放行30s(其中5s用于警告)。 (2) 一道有车而另一道无车时,使有车车道放行5s,无车车道然后放行。 (3) 有紧急车辆通过时,A、B道均为红灯。9. 设计并制作出具有如下功能的电脑钟。 (1) 自动计时,由6位LED显示时、分、秒。 (2) 具备校准功能,可以直接由09数字键设置当前时间。 (3) 具备定时闹钟功能。 (4) 一天时差不超过1秒钟。项目14温度控制器课件END项目14温度控制器课件