欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机水温检测控制系统设计.docx

    • 资源ID:7521954       资源大小:526.64KB        全文页数:28页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机水温检测控制系统设计.docx

    1、基于单片机水温检测控制系统设计基于单片机的水温检测控制系统设计学生姓名王培同院系名称机电学院专业名称机械电子工程班 级机电132学 号201300384228指导教师完成时间2016.5.101 引言 32 设计要求 32.1 基本要求 32.2 扩展功能 33 总体方案设计 33.1 方案论证 33.1.1 方案一 33.1.2 方案二 44 硬件设计 44.1 单片机系统 44.2 数字温度传感器模块 54.2.1 DS18B20性能 54.2.2 DS18B20防水型外形及引脚说明 54.2.3 DS18B20接线原理图 64.2.4 DS18B20时序图 64.2.5 数据处理 74.

    2、3 显示电路 84.4 报警电路 94.5 键盘输入电路 105 软件设计 115.1 主程序模块 115.2 读温度值模块 115.3 中断模块 115.4 温度设定、报警模块 126 源程序 127 总结 24参考文献: 251 引言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温度计就是一个典型的例子。 数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,

    3、或科研实验室使用,该设计使用STC89C52RC单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用 LCD实现温度值显示。2 设计要求2.1 基本要求 实现实时温度显示,测温范围01200C,误差50C以内。2.2 扩展功能 温度报警,能任意设定温度范围实现温度的报警。温度控制,利用继电器控制热得快,当设置好温度上下限后,当没有超过温度上限时,继电器吸合,热得快通电,加热水温。当超过设置的温度上限时,继电器断开,热得快断开。3 总体方案设计3.1 方案论证3.1.1 方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进

    4、行A/D转换后就可以用单片机进行数据处理,实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。3.1.2 方案二 考虑到在单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,起体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温范围为-55+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度都能符合设计要求。 以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度

    5、、范围等方面都能很好地达到要求,故本设计采用方案二。4 硬件设计4.1 单片机系统1.本设计采用STC89C52RC单片机作为控制器,完成所有功能的控制,包括:DS18B20数字温度传感器的初始化和读取温度值LED数码管显示驱动与控制按键识别和响应控制温度设置和报警温度值的存储和读取2.单片机系统电路原理图:图2 单片机系统原理图4.2 数字温度传感器模块4.2.1 DS18B20性能独特的单线接口仅需一个端口引脚进行通信简单的多点分布应用无需外部器件可通过数据线供电零待机功耗测温范围-55+125,以0.5递增可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.

    6、0625温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换为数字应用包括温度控制、工业系统、消费品、温度计和任何热感测系统负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作4.2.2 DS18B20防水型外形及引脚说明图3 防水型DS18B20外形及引脚黑色GND:电源负极黄色DQ:单线运用的数据输入/输出引脚红色VCC:电源正极4.2.3 DS18B20接线原理图单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。图4 DS18B20接线原理图4.2.4 DS18B20时序图 主机使用时间隙来读写DS18B20的数据位和写命令

    7、字的位。1.初始化时序如下图:图5 DS18B20初始化时序2.DS18B20读写时序:图6 DS18B20读写时序4.2.5 数据处理 高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。图7 字节分配下表为12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘

    8、于0.0625即可得到实际 温度。 例如+125的数字输出为07D0H,实际温度=07D0H*0.0625=2000*0.0625=125。例如-55的数字输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作运算), 实际温度=370H*0.0625=880*0.0625=55。可见其中低四位为小数位。 图8 DS18B20温度数据表4.3 显示电路1602液晶也叫做1602字符型液晶,它是一种被用来显示数字、字母、符号等等的点阵型液晶字符模块。每一个点阵字符位都能显示出一个字符,且每位之间有一个点的间隔距离,每一行之间也有一定的间隔距离,具有间隔文字、规范条理有序的作

    9、用。这样一来他也具有一个弊端,就是不能很好的显示图片。 LCD1602引脚结构如图3-6。LCD1602的意思是显屏可以显示两行字符,每一行具有十六个字符液晶。图9 LCD1602显示电路4.4 报警电路 当温度超过设定温度值时,实现声光报警,蜂鸣器鸣叫。蜂鸣器由单片机P17口控制,用三极管驱动。图10 报警电路4.5 键盘输入电路 四个键分别连接单片机P32、P33、P34、P35构成独立式键盘,分别实现加、减、报警温度设定功能键。图11 键盘输入电路5 软件设计5.1 主程序模块 主程序需要调用3个子程序,分别为:实时温度显示子程序温度设定、报警子程序LCD显示子程序5.2 读温度值模块

    10、读温度值模块需要调用4个子程序,分别为:DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作DS18B20写字节子程序:对DS18B20发出命令DS18B20读字节子程序:读取DS18B20存储器的数据延时子程序:对DS18B20操作时的时序控制5.3 中断模块 中断采用T0方式1,初始值定时为50ms。中断模块需调用两个子程序:读温度值子程序:定时读取温度值,实时更新温度值记录温度值子程序:定时记录温度值,供查询使用把这两个子程序放在中断的原因是,不会因为调整报警温度或查询历史温度值而停止更新温度值和记录温度值。中断模块流程图:5.4 温度设定、报警模块 此模块跟温度

    11、查询模块类似,需要接受按键输入,进入模块界面后,按加减键分别上调和下调设定报警温度值,当实时温度值超过设定值时驱动蜂鸣器发声,报警。6 源程序#include#include LCD_drive.h #include DS18B20_drive.h sbit BEEP=P17; sbit RELAY=P36; sbit K1=P32; sbit K2=P33; sbit K3=P34; sbit K4=P35; bit temp_flag ; bit K1_flag=0 ; unsigned char count_50ms=0; bit key_up; unsigned char disp_b

    12、uf8=0; unsigned char TH_buf=0;unsigned char TL_buf=0; unsigned char temp_comp; unsigned char temp_data2 = 0x00,0x00; unsigned char temp_TH=30; unsigned char temp_TL=15; unsigned char code line1_data = DS18B20 OK ; unsigned char code line2_data = TEMP: ; unsigned char code menu1_error = DS18B20 ERR ;

    13、 unsigned char code menu2_error = TEMP:- ; unsigned char code menu1_set =High Tem: ; unsigned char code menu2_set =Low Tem: ; unsigned char code menu2_H = Gao; unsigned char code menu2_L =4)|(temp_data1&0x0f)120)| (temp_TH120)| (temp_TL=temp_TH) beep(); beep(); beep(); beep(); RELAY=0; lcdwrite_cmd(

    14、0x4c|0x80); i = 0; while(menu2_Hi != 0) lcdwrite_dat(menu2_Hi); i+; else if(temp_comp =temp_TL&temp_comp =temp_TH) RELAY=1; lcdwrite_cmd(0x4d|0x80); i = 0; while(menu2_Ji != 0) lcdwrite_dat(menu2_Ji); i+; else lcdwrite_cmd(0x0f|0x80); lcdwrite_cmd(0x4e|0x80); lcdwrite_dat(0x20); lcdwrite_dat(0x20); /*以下是定时器T0初始化函数*/void timer0_init() TMOD=0x01; TH0=0x4c; TL0=0x00; EA=0; ET0=1; TR0=1; /*以下


    注意事项

    本文(基于单片机水温检测控制系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开