




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字温度计设计指导老师:.件。热敏电阻的成本低,但需后续信号处理电路,计具有读数方便,测温范围广,测温精确,数字显. 4 4 4 4 5 5 6 8 8 9 9 ..),.图1数字温度计原理框图.AT89S52主要性能4、全静态操作:0Hz-33MHz;8、六个中断源;..内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算该字节各位的意义如下:.表1DS18B20温度转换时间表00011011问题,可以保证转换精度,同时在总线上理.体情况如下:接通电源,两个(红色,黄色)发光二极管都不亮,当温度超过上线设定值(如38摄黄色二极管亮,同时蜂鸣器也开始报警。图6蜂鸣器报警..跳过读序列号的操作启动温度转换跳过读序列号的操作读取温度寄存器LOW-低八位HIGH-高八位转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55℃,所以可.提取整数部分存入提取小数部分存入LTLT右移三位,将精度降低到0.5摄氏度将小数部分整数化LT是否大于5YNY提取符号部分存NY图10温度数据处理流程图.图11当温度为上下限之间时的仿真情况图12温度在温度下限设定值以下的仿真图..图13温度在温度上限设定值以上的仿真图.学习的过程中带着问题去学我发现效率很高,这是./******************************************************************程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度可设置上限报警温度、下限报警温度即高于上限值或者低于下限值时蜂鸣器报警默认上限报警温度为38℃、默认下限报警温度为5℃.报警值可设置范围:最低上限报警值等于当前下限报警值最高下限报警值等于当前上限报警值将下限报警值调为0时为关闭下限报警功能******************************************************************/#include<AT89X52.h>#include"DS18B20.h"#defineucharunsignedchar//宏定义#defineSETP3_1//定义调整键#defineDECP3_2//定义减少键#defineADDP3_3//定义增加键#defineBEEPP3_7//定义蜂鸣器bitshanshuo_st;//闪烁间隔标志bitbeep_st;//蜂鸣器间隔标志ucharx=0;//计数器signedcharm;//温度值全局变量ucharn;//温度值全局变量ucharset_st=0;//状态标志signedcharshangxian=38;//上限报警温度,默认值为38signedcharxiaxian=5;//下限报警温度,默认值为5ucharcodeLEDData[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};unsignedintReadTemperature(void);/*****延时子程序*****/voidDelay(uintnum){while(--num);}/*****初始化定时器0*****/.voidInitTimer(void){TMOD=0x1;TH0=0x3c;}/*****定时器0中断服务程序*****/voidtimer0(void)interrupt1using0{TH0=0x3c;TL0=0xb0;x++;}/*****外部中断0服务程序*****/voidint0(void)interrupt0using1{EX0=0;//关外部中断0if(DEC==0&&set_st==1){shangxian--;if(shangxian<xiaxian)shangxian=xiaxian;}elseif(DEC==0&&set_st==2){xiaxian--;if(xiaxian<0)xiaxian=0;}}./*****外部中断1服务程序*****/voidint1(void)interrupt2using2{EX1=0;//关外部中断1if(ADD==0&&set_st==1){shangxian++;if(shangxian>99)shangxian=99;}elseif(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;}}/*****读取温度*****/voidcheck_wendu(void){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;}//设置温度显示上限}/*****显示开机初始化等待画面*****/.{Delay(200);Delay(200);Delay(200);Delay(200);}//显示-//关闭显示/*****显示温度子程序*****/Disp_Temperature()//显示温度P0=0x39;Delay(300);P0=LEDData[n];//显示个位Delay(300);P0=LEDData[m%10];//显示十位Delay(300);.P0=LEDData[m/10];//显示百位Delay(300);}/*****显示报警温度子程序*****/Disp_alarm(ucharbaojing)P0=0x39;Delay(200);P0=LEDData[baojing%10];//显示十位Delay(200);P0=LEDData[baojing/10];//显示百位Delay(200);if(set_st==1)P0=0x76;Delay(200);}/*****报警子程序*****/.voidAlarm(){for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短{Delay(80);//参数决定发声的频率,估算值BEEP=!BEEP;}BEEP=1;//喇叭停止工作,间歇的时间,可更改Delay(20000);}}/*****主函数*****/voidmain(void){InitTimer();TR0=1;//初始化定时器//全局中断开关//开启定时器0check_wendu();check_wendu();for(z=0;z<300;z++){}while(1).{if(SET==0){Delay(2000);do{}while(SET==0);set_st++;x=0;shanshuo_st=1;if(set_st>2)set_st=0;}if(set_st==0){EX0=0;//关闭外部中断0EX1=0;//关闭外部中断1check_wendu();Disp_Temperature();if(m>=shangxian)if(m<xiaxian)if((m>=shangxian)||(m<xiaxian)){Alarm();}//报警检测}elseif(set_st==1){.//关闭蜂鸣器//开启外部中断0//开启外部中断1if(x>=10){shan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业设计:110KV变电站一次、二次系统设计
- 汽车门店销售管理办法
- 军用保密文件管理办法
- 生物校本课程开发与实施策略
- 企业安全管理体系改进路径研究
- 逆向思维:重塑认知与人生的转变之道
- 林业宿舍门禁管理办法
- 国企资产台账管理办法
- 民政行业扶贫管理办法
- 自然观察法在小学科学教育中的应用研究
- 国开本科《管理英语4》机考总题库及答案
- 软装行业竞品分析报告
- 公司收购公司协议书
- 基于移动端的互联网金融服务创新研究
- T∕CACM 024-2017 中医临床实践指南 穴位埋线减肥
- 小号独奏名曲100首
- 电厂安全知识培训
- 中国冠心病康复循证实践指南(2024版)解读
- 火电工程达标投产考核标准(2024版)
- 停车场数据分析与优化方案
- 护理安全管理课件
评论
0/150
提交评论