hs1101湿度传感器程序.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
hs1101湿度传感器程序 AVR单片机 ??2009-09-18 18:45 ??阅读107???评论2 ? 字号: 大? 中? 小 ? 2009-08-03 14:36 #include reg51.h #define uchar unsigned char #define uint unsigned int uchar tem0 , tem1;?????? uchar temp0 , temp1;?????? uint?? f=0;????????? //初值 /**************************************************************************** * 名称: timer0() * 功能: 定时器1,每50000us中断一次。 * 入口参数: ****************************************************************************/ void timer0() interrupt 1 { EA =0; TR0=0; ??? TR1=0; TL0=0xFF;??? //重装值?? 定时50000us OX4BFFH TH0=0x4B; ???? tem0 = TL1; //读数 tem1 = TH1; TL1=0x00;?? //定时器1清零 TH1=0x00; f=1;??? //作标注位 TR0=1; TR1=1; EA=1; } /**************************************************************************** * 名称: timer1() * 功能: 计数器,用于计数将555输出的频率,以计数相对湿度。 * 入口参数: ****************************************************************************/ void timer1() interrupt 3??? //T1中断,表示计数的频率溢出,超出了可测量的频率范围,显然在这里不可能。所以重新启动。 { EA =0; TR0=0; ??? TR1=0; TL0=0x00;??? //重装值?? 定时50000us TH0=0x4C; ??? TL1=0x00;??? //定时器1清零 TH1=0x00; ?? TR0=1; ??? TR1=1; EA=1; } void Init_timer() { TMOD=0x51;??? //0101 0001 定时器0在模式1下工作16位定时器,定时方式 定时器1在模式1下工作16位计数器,T1负跳变加1 TL0=0x00;??? //定时器0初值 定时50000us TH0=0x4C;??? TL1=0x00;??? //定时器1清零 TH1=0x00; ET0=1;???? //使能定时器0中断 ET1=1;???? //使能定时器1中断 EA=1;???? //使能总中断 TR0=1;???? //开始计时 TR1=1; } void tran() { f = tem1; f = ( f8 ) | tem0; ??? f = f * 20; ??? //这里f的值是最终读到的频率,不同频率对于不同相对湿度。 ?????? if(( 5623= f)( f=6852) )//相对湿度在有效范围内(0%--100%) ?? { if(( 6734f)( f= 6852) ) ???? { temp0 = 0; temp1 =(6852 -f)*10/118; } if( (6618f)( f= 6734) ) { temp0 = 1; temp1 =(6734 -f)*10/116; } if( (6503f)( f= 6618 ) ) { temp0 = 2; temp1 =(6618 -f)*10/115; } if( (6388f)( f= 6503 ) ) { temp0 = 3; temp1 =(6503 -f)*10/115; } if( (6271f)( f= 6388 ) ) { temp0 = 4; temp1 =(6388 -f)*10/117; } if( (6152f)( f= 6271 ) ) { temp0 = 5; temp1 =(6271 -f)*10/119; } ?? if( (6029f)( f= 6152 ) ) { temp0 = 6; temp1 =(61

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档