好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

温度报警系统的设计(共10页).doc

10页
  • 卖家[上传人]:des****85
  • 文档编号:226181092
  • 上传时间:2021-12-18
  • 文档格式:DOC
  • 文档大小:384KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 精选优质文档-----倾情为你奉上温度报警系统的设计1.设计思路 本设计是一种基于STC89C52的温度检测及报警系统该系统将单总线温度传感器DS18B20并接在控制器的一个端口上,对传感器温度进行采集,将采集到的温度值实时显示同时与设定值进行比较,当超出设定的上限温度时,通过蜂鸣器报警,并根据要求打开继电器或电风扇 2.方案设计采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求码管以串口并行输出方式传送数据实现温度显示 图1总体设计框图2.1主要器件的选择STC89C52 是低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和 Flash 存储单元,功能强大 STC89C52 单片机适合于许多较为复杂控制应用场合。

      STC89C52单片机为40引脚双列直插芯片,有四个I/O口P0、P1、P2、P3,每一条I/O线都能独立地作输出或输入STC89C52 PDIP管脚封装,如图2所示 图2 STC89C52单片机内部引脚封装图STC89c52包含以下部分:(1)一个8位微处理器CPU(2)片内数据存储器RAM和特殊功能寄存器SFR(3)片内程序存储器ROM(4)两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计数(5)四个8位可编程的并行I/O端口,每个端口既可作输入,也可作输出(6)一个串行端口,用于数据的串行通信(7)中断控制系统(8)内部时钟电路 2.2 DS18B20温度传感器(1) DS18B20的主要特征: ▲ 全数字温度转换及输出 ▲ 先进的单总线数据通信 ▲ 最高12位分辨率,精度可达土0.5摄氏度 ▲ 12位分辨率时的最大工作周期为750毫秒 ▲ 多样封装形式,适应不同硬件系统2) DS18B20内部结构:图3 DS18B20内部结构框图温度传感器DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。

      高速暂存RAM的结构为8字节的存储器,结构如图2.4所示2.3 蜂鸣器的报警原理(三极管驱动的蜂鸣器报警电路)图4 蜂鸣器设计原理图P1.0接三极管输入端当P1.0输出低电平时,三极管导通,压电式蜂鸣器两端获得的+5V电压而鸣叫:当P1.0输出高电平,三极管截止,蜂鸣器停止发音3.单元电路设计3.1单片机电路图设计本系统使用儿的基于单片机的温度计的设计所以首先设计单片机的最小系统,所谓最小系统是一个真正可用的单片机的最小配置系统由于本次设计所是用的stc89c52单片机片内不能集成始终电路所需的晶体振荡器,也没有复位电路,在构成最小系统时必须外接这些部件电路设计如下,其中电容为22PF ,晶振为12MHZ图5 单片机原理图 3.2温度传感器DS18B20电路图设计主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器DS18B20的管脚排列、各种封装形式如图 3.4 所示其中,DQ 为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。

      其电路图6所示图6 DS18B20温度传感器设计图 3.3蜂鸣器电路图设计压电式蜂鸣器约10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,这里我选用了一个三极管来做驱动P1.0接三极管输入端当P1.0输出低电平时,三极管导通,压电式蜂鸣器两端获得的+5V电压而鸣叫:当P1.0输出高电平,三极管截止,蜂鸣器停止发音图7 蜂鸣器设计原理图4.软件设计 4.1 流程图设计图8 程序设计流程图4.2 程序设计温度报警系统端口说明公共端是P2.0-P2.3,数码管显示用P0口ds18B20是P3.6,蜂鸣器P3.7, set按键是P3.1, 减法键是P3.2,加法键是P3.3DS18B20.C/******************************************************************程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度 可设置上限报警温度、下限报警温度 即高于上限值或者低于下限值时蜂鸣器报警 默认上限报警温度为38℃、默认下限报警温度为5℃ 报警值可设置范围:最低上限报警值等于当前下限报警值 最高下限报警值等于当前上限报警值 将下限报警值调为0时为关闭下限报警功能 ******************************************************************/#include #include "DS18B20.h" #define uint unsigned int#define uchar unsigned char //宏定义#define SET P3_1 //定义调整键#define DEC P3_2 //定义减少键#define ADD P3_3 //定义增加键#define BEEP P3_7 //定义蜂鸣器bit shanshuo_st; //闪烁间隔标志bit beep_st; //蜂鸣器间隔标志sbit DIAN = P0^7; //小数点uchar x=0; //计数器signed char m; //温度值全局变量uchar n; //温度值全局变量uchar set_st=0; //状态标志signed char shangxian=38; //上限报警温度,默认值为38signed char xiaxian=5; //下限报警温度,默认值为38uchar code LEDData[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};/*****延时子程序*****/void Delay(uint num){while( --num );}/*****初始化定时器0*****/void InitTimer(void){TMOD=0x1;TH0=0x4c;TL0=0x00; //50ms(晶振11.0592M)}/*****定时器0中断服务程序*****/void timer0(void) interrupt 1{TH0=0x4c;TL0=0x00;x++;}/*****外部中断0服务程序*****/void int0(void) interrupt 0{EX0=0; //关外部中断0if(DEC==0&&set_st==1){shangxian--;if(shangxian99)shangxian=99;}else if(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;} }/*****读取温度*****/void check_wendu(void){uint a,b,c;c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差a=c/100; //计算得到十位数字b=c/10-a*10; //计算得到个位数字m=c/10; //计算得到整数位n=c-a*100-b*10; //计算得到小数位if(m<0){m=0;n=0;} //设置温度显示上限if(m>99){m=99;n=9;} //设置温度显示上限 }/*****显示开机初始化等待画面*****/Disp_init() {P0 = 0x40; //显示-P2 = 0x08;Delay(200);P2 = 0x04;Delay(200); P2 = 0x02;Delay(200);P2 = 0x01;Delay(200);P2 = 0x00; //关闭显示}/*****显示温度子程序*****/Disp_Temperature() //显示温度{P0 =0x39; //显示CP2 = 0x08;Delay(300);P0 =LEDData[n]; //显示个位P2 = 0x04;Delay(300);P0 =LEDData[m%10]; //显示十位DIAN =1; //显示小数点P2 = 0x02;Delay(300);P2 = 0x00; //关闭显示}Disp_alarm(uchar baojing) /*****显示报警温度子程序*****/{P0 =0x39; //显示CP2 = 0x08;Delay(200);P0 =LEDData[baojing%10]; //显示十位P2 = 0x04;Delay(200);if(set_st==1)P0 =0x76;else if(set_st==2)P0 =0x38; //上限H、下限L标示P2 = 0x01;Delay(200);P2 = 0x00; //关闭显示}void Alarm()/*****报警子程序*****/{if(x>=10){beep_st=~beep_st;x=0;}if((m>=shangxian&&beep_st==1)||(m

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.