ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:400.50KB ,
资源ID:4572232      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4572232.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(课程设计报告基于--单片机温度监测系统.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

课程设计报告基于--单片机温度监测系统.doc

1、 . 目录 一.前言1 二.根本功能与参数2 2.1系统根本功能2 2.2 参数2 三.系统总体设计2 四.硬件设计3 4.1 单片机最小系统设计3 4.1.1 电源电路3 4.1.2 振荡电路与复位电路3

2、4.2 DS18B20与单片机的接口电路4 4.3独立式键盘电路4 4.4报警模块5 4.5 数码管显示模块5 4.6 PROTEUS仿真图6 4.7 DS18B20简单介绍6 五.软件设计7 5.1 主程序流程图8 5.2读出温度子程序8 5.3温度转换命令子程序9 5.4计算温度子程序10 5.5按键扫描处理子程序11 六.心得及体会:11 参考文献:12 附录Ⅰ元件清单12 附录Ⅱ总体电路图13 附录Ⅲ源程序14 基于单片机的温度检测系统设计 孟祥柱 航空航天大学自动化学院 摘要:随着时代的进步

3、和开展,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比拟成熟的技术。本文主要设计了一个基于AT89C51单片机的温度监测系统,详细描述了利用数字传感器DS18B120完成监测温度的过程,重点对系统的硬件连接,软件编程,各模块系统流程以及各局部的电路进展了分析介绍。本设计是以AT89C51为核心,通过温度传感器DS18B20将温度值转换为电量输出,可以利用小键盘设定温度的最大值和最小值,对于超过最大值或者最小值的温度数据通过红黄灯进展报警,所以这个系统使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合我们日常生活和工、农业生产中的温度测量,具有广泛的应

4、用前景。 关键词:单片机AT89C51;温度采集;温度传感器DS18B20;报警功能 一.前言 传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的本钱低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。这里设计的数字温度计具有读数方便,测温围广,测温准确,数字显示,适用围宽等特点。本设计选用STC89C52型单片机作为主控制器件,DS18B20作为测温传感器,通过LED数码管实现温度显示。通过DS18B20直接读取被测温度值,进展数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。该器件可直接向单片机传输数字信号,便

5、于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。 二. 根本功能与参数 2.1系统根本功能 a.实现温度的实时测量与显示。 b.可手动设置监测温度围的上限和下限。 c.超出温度监测围,可进展声光报警或执行预定操作。 2.2 参数 a. DS18B20 的温度测量围为-55°C~+125°C,在-20°C~+60°C 围,精度为±0.5°C b.显示温度值准确到0.1°C,监测温度准确到1°C c.精度误差小于0.5℃ 三.系统总体设计 本设计的温度测量报警系统以STC89C52 单片机为核心部件,外加温度采集电路、

6、键盘及显示电路、越限报警等电路。采用数字温度芯片DS18B20 测量温度,输出信号全数字化。由数字温度计DS18B20和STC89C52单片机构成的温度测量装置,它直接输出温度的数字信号。利用STC89S52芯片控制温度传感器DS18B20进展实时温度检测并显示,快速测量环境温度,并可以根据需要设定上下限温度。系统框图如图1所示。 时钟振荡电路 STC89C52 复位电路 电源电路 LED报警显示 LED数码管显示 蜂鸣器报警 键盘调整控制模块 DS18B20 温度传感器 图1 DS18B20温度测温系统框图 四.硬件设计 4.1 单片

7、机最小系统设计 4.1.1 电源电路 图2 电源电路 4.1.2 振荡电路与复位电路 晶振采用12MHZ。复位电路采用上电加按钮复位。 图3 振荡电路图4 复位电路 4.2 DS18B20与单片机的接口电路 图5 DS18B20与单片机的接口电路 4.3独立式键盘电路 图6 独立式键盘电路 4.4报警模块 图7 报警电路 4.5 数码管显示模块 显示电路采用4位共阴极LED数码管,P0口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2口的低四位作为数码管的位选端。采用动态扫描的方

8、式显示。 图8 数码管显示电路 4.6 proteus仿真图 图9 proteus仿真图 4.7 DS18B20简单介绍 DS18B20 的性能特点如下 ●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 ●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 ●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路 ●适应电压围更宽,电压围:3.0~5.5V,在寄生电源方式下可由数据线供电 ●温围-55℃~+125℃

9、在-10~+85℃时精度为±0.5℃ ●零待机功耗 ●可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温 ●在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快 ●用户可定义报警设置 ●报警搜索命令识别并标志超过程序限定温度〔温度报警条件〕的器件 ●测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 DS18B20部构造

10、主要由四局部组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置存放器。DS18B20的管脚排列、各种封装形式如图11所示,DQ 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。 图10外部封装形式 五. 软件设计 系统程序主要包括主程序、读取温度子程序、温度转换命令子程序、计算温度子程序、按键扫描处理子程序、显示数据子程序等。 5.1 主程序流程图 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每

11、1s进展一次。这样可以在一秒之测量一次被测温度,其程序流程见图11所示。 初始化 读取温度 SET键是否按下 读出温度值温度计算处理显示数据刷新 发温度转换开场命令 N Y 调用显示子程序 设置报警温度 图11 主程序流程图 5.2读出温度子程序 读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进展CRC校验,校验有错时不进展温度数据的改写。其程序流程图如图12所示。 5.3温度转换命令子程序 温度转换命令子程序主要是发温度转换开场命令,当采用12位分辨

12、率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图13所示。 Y 发DS18B20复位命令 发跳过ROM命令 发读取温度命令 读取操作,CRC校验 9字节完? CRC校验正?确? 移入温度暂存器 完毕  N N Y 发DS18B20复位命令 发跳过ROM命令 发温度转换开场命令 完毕 图12 读温度流程图 图13 温度转换流

13、程图 5.4计算温度子程序 计算温度子程序将RAM中读取值进展BCD码的转换运算,并进展温度值正负的判定,其程序流程图如图14所示。 开场 温度零下? 温度值取补码置“1〞标志 计算小数位温度BCD值 计算整数位温度BCD值 完毕 置“0〞标志 N Y 图14 计算温度流程图 5.5按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否那么显示当前温度。 如下列图15示。 SET键按下 ADD键按下 DEC键按下

14、 显示切换标志位是否为“0〞 调用显示子程序 报警温度加1 报警温度减1 Y N Y N Y N 图15 按键扫描处理子程序 六.心得及体会: 此次实习我用单片机做一个完整的系统,在完成的过程中走了很多弯路,比方由于对硬件方面的东西尚不熟,查阅资料以及准备材料时都没有考虑到实践的可行性,在这里要特别感实验室的教师给予了我们耐心的指导,并给我们提出了建立性的意见。在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,,虽然以前写过几次程序,但我觉的写好一个程序并不简单。正是通过这些

15、弯路我们才真正学到了不少东西。在做系统的同时,和同学们之间的相互探讨也使我获益匪浅。我们必须学会独立思考,用自己的能力去完成一件作品。有好多的东西,只有我们去试着做了,才能真正的掌握。 参考文献: [1]鑫. 单片机原理与应用 电子工业 2021.1 [2]马忠梅,凯,等. 单片机的C语言应用程序设计(第四版) 航空航天大学 [3]包建华,兴奎等.单片机原理实验与实训教程 东南大学 2021.9 [4] 文涛.单片机语言C51典型应用设计. :人民邮电,1998 [5] 勇,宇.μVision2单片机应用程序开发指南. :科学,1998 [6] 蔡朝洋.单片机控制

16、实习与专题制作. :航天航空大学出社,2000 [7] 复华. 单片机及其应用系统. :清华大学,1992 [8] 为. 单片机典型系统设计实例精讲及其应用系统. :电子工业,2006 [9] 斌,董慧颖. 可重组机器人研究和开展现状. 工业学院学报,2000,19〔4〕:23-27 [10] 道德.单片机接口技术〔C51版〕.:水利水电,1995 附录Ⅰ 元件清单 元件名称 型号 数量 单片机 AT89C51 1 电平转换芯片 74HC573 2 数码管 7SEG-MPX4-CA 1 按键 BUTTON 4 电阻 RE

17、S 2 附录Ⅱ总体电路图 附录Ⅲ 源程序 源程序如下 #include #define uint unsigned int #define uchar unsigned char sbit ds = P2^0 ; sbit dula = P2^6 ; sbit wela = P2^7 ; sbit beep =

18、 P2^1 ; sbit SET1 = P2^2; //定义上限显示调整键 sbit DEC = P2^3; //定义增加减少键 sbit ADD = P2^4; //定义增加减少键 sbit SET2= P2^5; //定义下限显示调整键 int temp ; float f_temp ; int warn_l1 = 50 ; int warn_l2 = 0 ; int warn_h1 = 300 ; int warn_h2 = 1000 ; /************************xian shi ****************

19、/ uchar code table[] = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f, 0xbf,0x86,0xdb,0xcf, 0xe6,0xed,0xfd,0x87, 0xff,0xef, 0x40 }; void delay(int z) { int a,b ; for(a = 0;a < z ;a++) for(b = 0;b < 120; b++); } void display(u

20、char num , uchar dat) { uchar i; dula = 0; wela = 0; wela = 1; i = 0x00; i = i | (~(((0x01)<<(num)))); P0 = i; wela = 0; dula = 1; P0 = table[dat]; dula = 0; P0 = 0xff; dula = 0; delay(3); } void dis_temp(int t) { uchar i; i = t/100; display(1,i); i = t%100/1

21、0; display(2,i+10); i = t%100%10; display(3,i); delay(5); } /******************************ds18b20 **********************/ void ds_reset() { uint i; ds = 0; i = 103; while(i>0) i--; ds = 1; i = 4; while(i>0) i--; } uchar temp_readbit(void) { uint i; bit

22、dat; ds = 0; i++; ds = 1; i++;i++;i++; dat = ds; i = 8;while(i>0)i--; return(dat); } uchar temp_read(void) { uchar i,j,dat; dat = 0; for(i = 0;i < 8;i++) { j = temp_readbit(); dat = (j << 7)|(dat >> 1); } return(dat); } void temp_write(uchar dat) { uint i

23、 uchar j; bit testb; for(j = 1;j<=8;j++) { testb = dat & 0x01; dat = dat >> 1; if(testb) { ds = 0; i++;i++;i++; ds = 1; i =8;while(i>0)i--; } else { ds = 0; i = 8;while(i>0)i--; ds = 1; i++;i++; } } } void temp_change(void) { d

24、s_reset(); delay(1); temp_write(0xcc); temp_write(0x44); } uint get_temp() { uchar a,b; EA = 0; ds_reset(); delay(1); temp_write(0xcc); temp_write(0xbe); a = temp_read(); b = temp_read(); temp = b; temp <<=8; temp = temp | a; f_temp = temp * 0.0625; temp = f_temp

25、10+0.5; f_temp =f_temp + 0.05; return temp; } /****************************定时器初始化 *****************/ void init_(void) { TMOD = 0X01; PCON = 0X00; SCON = 0X50; TH0 = (65536-10000)/256; TL0 = (65536-10000)%256; EA = 1; ET0 = 1; TR0 = 1; } /****************报警***********

26、/ void warn(uint s,uchar led) { uchar i; i = s; beep = 0; P1 = ~(led); while(i--) { dis_temp(get_temp()); } beep = 1; P1 = 0xff; i = s; while(i--) { dis_temp(get_temp()); } } void deal(int t) { uchar i; if((t > warn_l2)&&(t <= war

27、n_l1)) { warn(10,0x01); } else if(t <= warn_l2) { warn(1,0x02); } else if((t <= warn_h2)&&(t >= warn_h1)) { warn(10,0x04); } else if(t >= warn_h2) { warn(1,0x08); } else { i = 40; while(i--) { dis_temp(get_temp()); } } } /****************

28、报 警 监 测 显 示 ********************/ void bjxs(int a) { int x,y,z; x=a/100; //计算得到shi位数字 display(5,x); y=a/10-x*10; //计算得到ge位数字 display(6,y+10); z=a-x*100-y*10; //计算得到xiao数 display(7,z); } /*******************************键盘 扫描*********************/ void key() {

29、 if(SET1 == 0) { delay(100); if(SET1 == 0) { while(SET1 == 0) { bjxs( warn_h1); if(ADD==0&&SET1==0) { if(ADD==0&&SET1==0) { while(ADD==0) bjxs( warn_h1); warn_h1 = warn_h1+10;

30、 if(warn_h1>1000) warn_h1 = 1000; bjxs( warn_h1); } } else if(DEC==0&&SET1==0) { if(DEC==0&&SET1==0) { while(DEC==0) bjxs( warn_h1); warn_h1 = warn_h1-10; if(warn_l1>warn_h1)

31、 warn_h1=warn_l1; bjxs( warn_h1); } } } } } if(SET2 == 0) { delay(100); if(SET2 == 0) { while(SET2 == 0) { bjxs( warn_l1); if(ADD==0&&SET2==0) { if(ADD==0&&SET2==0)

32、 { while(ADD==0) bjxs( warn_l1); warn_l1 = warn_l1+10; if(warn_l1>warn_h1) warn_l1 = warn_h1; bjxs( warn_l1); } } else if(DEC==0&&SET2==0) { if(DEC==0&&SET2==0) { while

33、DEC==0) bjxs( warn_l1); warn_l1 = warn_l1-10; if(warn_l1<0) warn_l1=0; bjxs( warn_l1); } } } } } } void scan() { int i; temp_change(); deal(temp); for(i = 0;i < 10;i++) { dis_temp(ge

34、t_temp()); } EA = 1; } void timer0(void)interrupt 1 { key(); TH0 = (65536-10000)/256; TL0 = (65536-10000)%256; } void main() { dula = 0; wela = 0; init_(); while(1) { scan(); } } . word.zl.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服