




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课程设计基于单片机的温度监测系统设计目录1 .前言 22 .基本功能与参数 22.1 系统基本功能 22.2 参数 23 .系统总体设计 34 .硬件设计 34.1 单片机最小系统设计 34.1.1 电源电路 34.1.2 振荡电路与复位电路 34.2 DS18B20与单片机的接口电路 44.3 独立式键盘电路 44.4 报警模块 44.5 数码管显示模块 54.6 PROTEUS仿真图 64.7 DS18B20简单介绍 65 .软件设计 75.1 主程序流程图 75.2 读出温度子程序 85.3 温度转换命令子程序 85.4 计算温度子程序 95.5 按键扫描处理子程序 10
2、6 .心得及体会: 11参考文献: 11附录I 元件清单 12附录H 总体电路图 13附录田源程序 1423基于单片机的温度检测系统设计沈阳航空航天大学自动化学院摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研等 各个领域,已经成为一种比较成熟的技术。本文主要设计了一个基于AT89C51单片机的温度监测系统,详细描述了利用数字传感器DS18B120g成监测温度的过程,重点对系统的硬件连接,软件编程,各模块系统流程以及各部分的电路进 行了分析介绍。本设计是以AT89C51为核心,通过温度传感器DS18B20等温度值 转换为电量输出,可以利用小键盘设定温度的最大值和最小值,对于
3、超过最大值或者最小值的温度数据通过红黄灯进行报警,所以这个系统使用起来相当方便, 具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合我们日常生活和 工、农业生产中的温度测量,具有广泛的应用前景。关键词:单片机AT89C51温度采集;温度传感器 DS18B20报警功能传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续 信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。 这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用 范围宽等特点。本设计选用STC89C52单片机作为主控制器件,DS18B2蚱为测 温传感器,通过LE嗷码管实现温度
4、显示。通过DS18B20接读取被测温度值,进 行数据转换,该器件的物理化学性能稳定,线性度较好,在0C100c最大线性偏差小于0.01 C o该器件可直接向单片机传输数字信号,便于单片机处理及控制。 另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。二.基本功能与参数2.1 系统基本功能a.实现温度的实时测量与显示。b.可手动设置监测温度范围的上限和下限。c.超出温度监测范围,可进行声光报警或执行预定操作。2.2 参数a.DS18B20的温度测量范围为-55 ° C+125° C,在-20 ° C+60° C范 围内,精度为
5、7; 0.5° Cb.显示温度值精确到0.1° C,监测温度精确到1° Cc.精度误差小于05c三.系统总体设计本设计的温度测量报警系统以 STC89C52单片机为核心部件,外加温度采集 电路、键盘及显示电路、越限报警等电路。采用数字温度芯片DS18B20测量温度, 输出信号全数字化。由数字温度计 DS18B20口 STC89C52片机构成的温度测量装置,它直接输出温度的数字信号。利用STC89S5芯片控制温度传感器DS18B2进行实时温度检测并显示,快速测量环境温度, 并可以根据需要设定上下限温度8 1所示。蜂鸣器报警时钟振荡电路图1 DS18B20温度测温系统
6、gg四.硬件设计4.1 单片机最小系统设计4.1.1 电源电路VCC + 12VVin+5VLM7805DNG-3 VCC+5V4.1.2+ C14 70uF C2-0.1u F+ C3二 470uF I- C20.1u FGNDLED*振荡电路与复位电路图2电源电路晶振采用12MHZ。复位电路采用上电加按钮复位VCCXTAL1VccC130pFfR1200C122uFAT89C51白晶振2MHRST AT89C51C230pFR21KVss图4复位电路XTAL2图3振荡电路4.2 DS18B20与单片机的接口电路图5 DS18B20与单片机的接口电路4.3 独立式键盘电路图6独立式键盘电路4
7、.4 报警模块图7报警电路4.5 数码管显示模块显示电路采用4位共阴极LED数码管,P0 口由上拉电阻提高驱动能力,作 为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动 态扫描的方式显示。口尸1- 口 U,口力口 30 4 匕弓- D7- L.EUlh2&L >图8数码管显示电路4.6 proteus 仿真图bll讨 4m 输E-1修iMW两*f Ft-.TMb T图9 proteus®真图4.7 DS18B20简单介绍DS18B20的性能特点如下 独特的单线接口方式,DS18B2猊与微处理器连接时仅需要一条口线即可实现微处理器与DS18B2的双
8、向通讯 DS18B2或持多点组网功能,多个DS18B20T以并联在唯一的三线上,实现 组网多点测温 DS18B2猊使用中不需要任何外围元件,全部传感元件及转换电路集成在 形如一只三极管的集成电路内 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据 线供电温范围55C+ 125C,在-10+85C时精度为± 0.5 C零待机功耗可编程的分辨率为912位,对应的可分辨温度分别为0.5 C、0.25 C、0.125 C和0.0625 C ,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750m的把温度值转换为数字,速度更快用户
9、可定义报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件测量结果直接输出数字温度信号,以“一线总线"串行传送给CPU同时可 传送CR版验码,具有极强的抗干扰纠错能力负电压特性,电源极性接反时,温度计不会因发热而烧毁, 但不能正常工DS18B20J部结构主要由四部分组成:64位光刻ROM温度传感器、非挥发的 温度报警触发器THff口TL、配置寄存器。DS18B2的管脚排列、各种封装形式如图 11所示,DQ为数据输入/输出引脚。开漏单总线接口弓I脚。当被用着在寄生电源 下,也可以向器件提供电源;GND;地信号;VD3可选择的VD朗脚。当工作于 寄生电源时,此引脚必须接地
10、。BOTTOM VIEWGZD |DQ 1=DALLASDS 1820口口3:=NDS 18B2O TO-Q2 PACKAGENCNCMlNCDS 18B2OZ 8-MIN SOIC f 1 5O-MILZZlN图10外部封装形式五.软件设计系统程序主要包括主程序、读取温度子程序、温度转换命令子程序、计算温 度子程序、按键扫描处理子程序、显示数据子程序等。5.1 主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B2的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,具程序流程见图11所示。图11主程序流程图5.2 读出温度子程序读出温度子程序的主
11、要功能是读出 RAMfr的9字节,在读出时需进行 CR侬验, 校验有错时不进行温度数据的改写。其程序流程图如图12所示。5.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms在本程序设计中采用1s显示程序延时法等待转换的完成。温度 转换命令子程序流程图如上图,图13所示。图13温度转换流程图5.4 计算温度子程序计算温度子程序将RAW读取值进行BC则的转换运算,并进行温度值正负的判 定,其程序流程图如图14所示。图14计算温度流程图5.5 按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为 1时,显示设置温度,否则显示当前
12、温度。如下图15示。图15按键扫描处理子程序六.心得及体会:此次实习我用单片机做一个完整的系统,在完成的过程中走了很多弯路, 比如由于对硬件方面的东西尚不熟,查阅资料以及准备材料时都没有考虑到实践 的可行性,在这里要特别感谢实验室的老师给予了我们耐心的指导,并给我们提出了建设性的意见。在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多, 虽然以前写过几次程序,但我觉 的写好一个程序并不简单。正是通过这些弯路我们才真正学到了不少东西。在做 系统的同时,和同学们之间的相互探讨也使我获益匪浅。 我们必须学会独立思考, 用自己的能力去完成一件作品。有好多的东西,
13、只有我们去试着做了,才能真正 的掌握。参考文献:1张鑫.单片机原理与应用电子工业出版社2010.12马忠梅,张凯,等.单片机的C语言应用程序设计(第四版)北京航空航天 大学出版社3包建华,张兴奎等.单片机原理实验与实训教程东南大学出版社2008.94刘文涛.单片机语言C51典型应用设计.北京:人民邮电出版社,19985尹勇,李宇.pVision2单片机应用程序开发指南.北京:科学出版社,19986蔡朝洋.单片机控制实习与专题制作.北京:北京航天航空大学出社,2000口 刘复华.单片机及其应用系统.北京:清华大学出版社,19928彭为.单片机典型系统设计实例精讲及其应用系统.北京:电子工业出版
14、社,20069李斌,董慧颖.可重组机器人研究和发展现状.沈阳工业学院学报,2000, 19 (4): 23-2710张道德.单片机接口技术(C51版).北京:水利水电出版社,1995附录I元件清单元件名称型号数量单片机AT89C511电平转换芯片74HC5732数码管7SEG-MPX4-CA1按键BUTTON4电阻RES2附录n 总体电路图附录田源程序源程序如下#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit sbit sbit sbitds = P2A0 ;dula = P2A6 ;
15、wela = P2A7 ; beep = P2A1; sbit SET1 = P2A2;sbit DEC = P2A3;sbit ADD = P2A4;sbit SET2= P2A5;int temp ;float f_temp ;int warn_l1 = 50 ;int warn_l2 = 0 ;int warn_h1 = 300 ;int warn_h2 = 1000 ;/定义上限显示调整键/定义增加减少键/定义增加减少键/定义下限显示调整键/*xianshi */uchar code table口 = 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,
16、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(uchar num , uchar dat)uchar i;dula = 0;wela = 0;wela = 1;i = 0x00;i = i | (0x01)<<(num);P0 = i;wela = 0;dula = 1;P0 = tabledat;dula = 0;P0
17、 = 0xff;dula = 0; delay(3);void dis_temp(int t)uchar i;i = t/100; display(1,i);i = t%100/10; 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 dat;ds = 0;i+;ds = 1;
18、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;uchar j;bit testb;for(j = 1;j<=8;j+)testb = dat & 0x01;dat = dat >>
19、 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)ds_reset();delay;temp_write(0xcc);temp_write(0x44);.uint get_temp()uchar a,b;EA = 0;ds_reset();delay;temp_write(0xcc);temp_write(0xbe);a = temp_read();b = temp_read();temp =
20、 b;temp <<=8;temp = temp | a;f_temp = temp * 0.0625;temp = f_temp*10+0.5;f_temp =f_temp + 0.05;return temp;定时器初始化*/产*void init_com(void)TMOD = 0X01;PCON = 0X00;SCON = 0X50;TH0 = (65536-10000)/256;TL0 = (65536-10000)%256;EA = 1;ET0 = 1;TR0 = 1;/* 报警 */void warn(uint s,uchar led)uchar i;i = s;be
21、ep = 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 <= warn_l1)一一warn(10,0x01);else if(t <= warn_l2).warn(1,0x02);else if(t <= warn_h2)&&(t >= warn_h1)一一warn(10,0x04);el
22、se if(t >= warn_h2)warn(1,0x08); elsei = 40;while(i-)dis_temp(get_temp(); 一 一产*监测显示 */void bjxs(int a) int x,y,z;x=a/100;/计算得到shi位数字display(5,x);y=a/10-x*10;display(6,y+10); z=a-x*100-y*10; display(7,z);/计算得到ge位数字/计算得到xiao数/*void key()键盘扫描 */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; if(warn_h1>1000) warn_h1 = 1000;bjxs( warn_h1);.else if(DEC=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐专业听力试题及答案
- 黑吉辽蒙金太阳2026届高三9月开学联考(26-1002C)地理试题及答案
- 安徽省九师联盟2026届高三9月开学联考政治(含答案)
- 《烹饪原料初加工工艺》项目一刀工与原料成形
- 钻石专业试题及答案大全
- 路面施工方案反光衣
- 库房物资搬运施工方案
- 地产开发合作协议示例
- 楼顶油漆施工方案
- DB32-T 4451.10-2023 医用影像设备临床使用管理与质量控制规范 第10部分:超声成像设备
- 九年级化学人教版基于特定需求设计和制作简易供氧器(教学设计)
- SCAMPER创新思维模型
- 乡镇庆中秋迎国庆活动方案
- 山东科学技术出版社小学一年级上册综合实践活动教案
- 2024口腔医学专业考核标准
- 大型群众性活动安全许可申请表
- 小学数学人教版-六年级上-第一单元-分数乘法-教材分析
- 百融云创风险决策引擎V5产品操作手册
- DZ∕T 0033-2020 固体矿产地质勘查报告编写规范(正式版)
- 思念混声合唱简谱
- 家庭健康指导员培训方案及流程
评论
0/150
提交评论