基于DSB的温度检测系统课程设计_第1页
基于DSB的温度检测系统课程设计_第2页
基于DSB的温度检测系统课程设计_第3页
基于DSB的温度检测系统课程设计_第4页
基于DSB的温度检测系统课程设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

《测控系统原理与设计》课程设计报告课课题:温度检测系统班级物理系电三学号0941732509417322学生姓名罗柱、李亚成 指导教师朱高峰 1课题要求本设计要求系统测量的温度的点数为4个,测量精度为℃,测温范围为-20℃~+80℃。采用液晶显示温度值和路数,显示格式为:温度的符号位,整数部分,小数部分,最后一位显示℃。显示数据每一秒刷新一次。基于DS18B20的温度控制系统设计罗柱、李亚成方案介绍本该方案使用了AT89C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用多个温度传感器对各点温度进行检测,通过4×4键盘模块对正常温度进行设置显示电路采用128×64LCD模块,如图为系统总体框图。温度传感器温温度传感器温度传感器温度传感器温度传感器LCD显示电路单片机图基于数字温度传感器测量系统框图本课题采用数字温度传感器DS18B20作为测为测温元件,它具有如下特点:(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在-55C到+125C之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。三、硬件电路设计测温电路基于DS18B20的温度控制系统设计罗柱、李亚成DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出北侧温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方①独特的单线接口仅需要一个端口引脚进行通信;DSB实现多点组网功能;④可通过数据线供电,电压范围为~;⑦用户可定义的非易失性温度报警设置;⑧报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;⑨负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常;所示。基于DS18B20的温度控制系统设计罗柱、李亚成这也是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警器触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数辨率,定义方法见表1。基于DS18B20的温度控制系统设计罗柱、李亚成图配置寄存器由表1可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度转换时间越长。因此,在实际应用中要将分辨率和转换时间所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可以通过单线接口读出数据,读数据时低位在先,高位在后,数据格式以C/LSB形式表示。温度值格式如图所示。基于DS18B20的温度控制系统设计罗柱、李亚成图温度数据值格式当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码转换为原码,再计算十进制。表2是一部分温度值对应的二进制温度数据。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根DS18B20的测温原理如图所示。图中第温度系数晶振的震荡频率受温度的影响很小,用于产生固定频率的脉冲送给减法计数器1;高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入.图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数震荡器产生的时钟脉冲计数,进而完成温度测量。计数门的开启时间由高温度系数震荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1,温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1所对低温度系数晶振产生的脉冲信号进行减法计数,当预置值将被重新装入,减法计数器1重新开始对低温度系数晶振产生的脉基于DS18B20的温度控制系统设计罗柱、李亚成累加,此时温度寄存器中的数值就是所测温度值。图中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被预测值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要,系统对DS18B20的各种操作必须按协议进行。操作协议DS18B20与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时方式,如图所示.单片机端口接单线总线,为为保证有效DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。基于DS18B20的温度控制系统设计罗柱、李亚成图DS18B20采用寄生电源的电路图当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有端均接地。由于单线制只有一根线,因此发送接口必须是三态的。键盘电路设计行列式键盘与单片机接口电路根据本设计需要,本系统采用了4×4键盘实现对温度值和功能键的行列式键盘与单片机的接口电路如图所示,H0-H3为行线,接单片机行线为高电平,列线为低电平。键盘面板在系统启动时,先按“设置”键,然后按相应的数字键,按“左移”或者“右移”键改变其他温度的值。按“确认”键之后系统正式启动。系统在运行过程之中可以通过按“重新设置”键,对温度重新进行设置。基于DS18B20的温度控制系统设计罗柱、李亚成226设置重新设置048左移159右移37确认键盘面板显示电路设计VSVSSVDDVORWEDB0DB1DB2DB3DB4DB5DB6DB7CS1CS2/RSTVEEA123456789161764液晶显示模块引脚分布单片机与图形液晶的接口电路作为报警器的功率放大器,LM386是一种功功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点。LM386的输入端接单片机的引脚,输出端接扬声器。当实际温度超过设置的温度值时,单片机引脚输出一定频率的信号,信号经过音频功放放大后,发出报警声。基于DS18B20的温度控制系统设计罗柱、李亚成报警电路设计放,具有自身基于DS18B20的温度控制系统设计罗柱、李亚成四、软件设计主程序主程序先对系统资源进行初始化,调用LCD显示子程序,显示启动画面。然后进入键盘设置界面。当设置键按下后,开始设置各点的温度,设置完之后,如果确认键按下,则系统开始工作。首先调用DS18B20初始化子程序,再发送ROM命令,读取DS18B20转换的温度值。当读取的温度大于设置的温度值时,报警器开始报警,LCD显示温度的实际值、设置值、路数、状态。接下来对第二、三、四路温度进行采集,处理,显示。基于DS18B20的温度控制系统设计罗柱、李亚成开始开始初始化N设置键按下?Y设置各点温度确认键按下?初始化命令发送ROM命令匹配第一路读取温度值初始化命令发送ROM命令匹配第三路读取温度值N温度值高于设置值温度值高于设置值YY报警报警调用LCD显示调用LCD显示初始化命令初始化命令发送ROM命令发送ROM命令匹配第二路匹配第四路读取温度值读取温度值N温度值高于设置值N温度值高于设置值YY报警报警调用LCD显示调用LCD显示Nii基于DS18B20的温度控制系统设计罗柱、李亚成主程序流程图子程序DSB设计DQ=DAT&0X01NY图写命令子程序流程图程序流程图DQDQ置1DQ置0DQ置1,等待DS18B20响应N初始化不成功返回DQ初始化成功Y图DS18B20复位子i=8DAT右移一位DQ置0DQ置1NYDAT=DAT|0X80NY返回DAT基于DS18B20的温度控制系统设计罗柱、李亚成DSB0读温度子程序流程图显示程序流程显示是实现人机对话的重要部分,在这里选用12864LCD显示器可实现对汉字、字符和图片的显示,LCD的引脚功能在上面已经做了说明,下面是其相关指令的介绍。根据上面指令结合系统要实行的功能,其显示子程序流程如图所示。ii0写入起始页地址写入起始列地址调用写数据子程序Ni=16?Ya符子程序流程图j=0写入页地址页地址加1写页地址加1调用写数据子程序Ni=16?Yj=j+1Nj=2?结束b)写16*16汉字子程序流程图j=0写入页地址页地址加1写页地址加1调用写数据子程序Ni=128?YNj=8?结束c)写图片子程序流程图读读P2口高四位数据到ROWP2口低四位置1读P2口低四位数据到LINEROW与LINE相与为KEY基于DS18B20的温度控制系统设计罗柱、李亚成图显示子程序流程图键盘程序流程键盘中断程序是用来设在系统起动时各环境温度的极值,其程序流程图如图所示:KEYKEY=0XEE?NKEY=0XED?NKEY=0XEB?NKEY=0XE7?NKEY=0XDE?NKEY=0XDD?NKEY=0XDB?NKEY=0XD7?NKEY=0XBE?NKEY=0XBD?NKEY=0XBB?NKEY=0XB7?NKEY=0X7E?NKEY=0X7D?NKEY=0X7B?NYKEY=0X77?NP2口高四位置1RETI数字键0数字键1数字键2数字键3数字键4数字键5数字键6数字键7数字键8数字键9设置功能键确认功能键左移功能键右移功能键重新设置功能键YYYYYYYYYYYYYYY基于DS18B20的温度控制系统设计罗柱、李亚成图键盘程序流程五、系统仿真调试程序加载程序编译(1)启动KEIL,选择Project->NewProject,在弹出的对话框中输入工程的名字,点击保存;选择ATMEL公司的AT89C51单片机。图系统电路原图Windows中提示“0Error”时,则程序编译成功,生成可执行文件。程序加载在编辑环境中双击AT89C51,在弹出的对话框中将编译生成可执行文件加载进芯片中,设单片机的时钟工作频率为12MHZ。系统仿真图(1)系统仿真图如下:系统仿真图(2)温度值的设定设置温度时,先点“设置”键,然后点击键盘上的按键输入温度;如果温度设置完毕,点击“确认键”,则系统启动成功并开始对各个环境的温度进行测量。在设置过程之中可以通过“左移”或者“右移”按键对图设置温度基于DS18B20的温度控制系统设计罗柱、李亚成图设置各个环境的温度(3)系统运行系统运行之后,DS18B20开始对环境进行测量,将环境的实际的温度显示在液晶屏上,同时液晶显示屏还显示环境温度的路数、事先设置的温度值和状态。当实际温度值低于或者等于设置温度值时,将显示“正常”,否则将显示“报警”,同时报警器开始报警。在系统运行过程之中,如果需要重新对温度值进行设定,则点击“重新设置”按键,重新设置各个环境温度的正常值的极值。在PROTEUS仿真过程之中,可以通过调节DS18B20的面板上的“↑”或者“↓”。基于DS18B20的温度控制系统设计罗柱、李亚成图第1路仿真结果图第3路仿真结果下所示:(1)LCD图片显示子程序voidDisp_Img(unsignedcharcode*img){unsignedcharj,k;for(k=0;k<8;k++)基于DS18B20的温度控制系统设计罗柱、李亚成Delay(10);write_com(Page_Add+k);write_com(Col_Add+0);for(j=0;j<64;j++){write_data(img[k*128+j]);}right()write_com(Page_Add+k);write_com(Col_Add+0);for(j=0;j<64;j++){write_data(img[k*128+64+j]);}}}(2)LCD写16*16汉字子程序voidDisp_Chinese(unsignedcharpag,unsignedcharcol,charcode*hzk){unsignedcharj=0,i=0;for(j=0;j<2;j++){write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i<16;i+

温馨提示

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

评论

0/150

提交评论