ds18b20温度测量、报警系统的设计

ds18b20温度测量、报警系统的设计

ID:18766397

大小:551.50 KB

页数:10页

时间:2018-09-22

ds18b20温度测量、报警系统的设计_第1页
ds18b20温度测量、报警系统的设计_第2页
ds18b20温度测量、报警系统的设计_第3页
ds18b20温度测量、报警系统的设计_第4页
ds18b20温度测量、报警系统的设计_第5页
资源描述:

《ds18b20温度测量、报警系统的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/******************************************************************程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度   可设置上限报警温度、下限报警温度   即高于上限值或者低于下限值时蜂鸣器报警   默认上限报警温度为38℃、默认下限报警温度为5℃   报警值可设置范围:最低上限报警值等于当前下限报警值   最高下限报警值等于当前上限报警值   将下限报警值调为0时为关闭下限报警功能   *****************************************

2、*************************/#include#include"DS18B20.h"   #defineuintunsignedint#defineucharunsignedchar  //宏定义#defineSET P3_1    //定义调整键#defineDEC P3_2    //定义减少键#defineADD P3_3    //定义增加键#defineBEEPP3_7    //定义蜂鸣器bitshanshuo_st;    //闪烁间隔标志bitbeep_st;     //蜂鸣器间隔标志sbitDIAN=P2^7;       //小

3、数点ucharx=0;      //计数器signedcharm;     //温度值全局变量ucharn;      //温度值全局变量ucharset_st=0;     //状态标志signedcharshangxian=38;  //上限报警温度,默认值为38signedcharxiaxian=5;   //下限报警温度,默认值为38ucharcode LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*****延时子程序*****/voidDelay(uintnum){ while(--num);

4、}/*****初始化定时器0*****/voidInitTimer(void){  TMOD=0x1;  TH0=0x3c;  TL0=0xb0;     //50ms(晶振12M)}/*****定时器0中断服务程序*****/voidtimer0(void)interrupt1{ TH0=0x3c; TL0=0xb0; x++;}/*****外部中断0服务程序*****/voidint0(void)interrupt0{  EX0=0;      //关外部中断0 if(DEC==0&&set_st==1) {  shangxian--;  if(shangxian

5、gxian=xiaxian; } elseif(DEC==0&&set_st==2) {  xiaxian--;  if(xiaxian<0)xiaxian=0; }}/*****外部中断1服务程序*****/voidint1(void)interrupt2{ EX1=0;      //关外部中断1 if(ADD==0&&set_st==1) {  shangxian++;  if(shangxian>99)shangxian=99; } elseif(ADD==0&&set_st==2) {  xiaxian++;  if(xiaxian>shangxian)xiaxian=shangxi

6、an; } }/*****读取温度*****/voidcheck_wendu(void){ uinta,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;}   //设置温度显示上限    }/*****显示开机初始化等待画面*****/Di

7、sp_init()   { P2=0xbf;     //显示- P1=0xf7; Delay(200); P1=0xfb; Delay(200);   P1=0xfd; Delay(200); P1=0xfe; Delay(200); P1=0xff;        //关闭显示}/*****显示温度子程序*****/Disp_Temperature()    //显示温度{ P2=0xc6; 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。