基于51单片机的HS1101湿度采集

上传人:oq****t 文档编号:11754879 上传时间:2017-10-14 格式:DOC 页数:11 大小:262KB
返回 下载 相关 举报
基于51单片机的HS1101湿度采集_第1页
第1页 / 共11页
基于51单片机的HS1101湿度采集_第2页
第2页 / 共11页
基于51单片机的HS1101湿度采集_第3页
第3页 / 共11页
基于51单片机的HS1101湿度采集_第4页
第4页 / 共11页
基于51单片机的HS1101湿度采集_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于51单片机的HS1101湿度采集》由会员分享,可在线阅读,更多相关《基于51单片机的HS1101湿度采集(11页珍藏版)》请在金锄头文库上搜索。

1、作者:李霈雯硬件电路程序#include#include#define uint unsigned int#define uchar unsigned char#define ulongint unsigned long intsbit D0=P10; /将 D0 位定义为 P1.0 引脚uint code tab211=0,10,20,30,40,50,60,70,80,90,100,7351,7224,7100,6976,6853,6728,6600,6468,6330,6186,6033;ulongint F=0;ulongint T0_count=0,T1_count=0;bit fl

2、ag=0;ulongint RH;/*函数功能:延时 1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是 1 毫秒*/void delay1ms()unsigned char i,j;for(i=0;itab1i+1)RH=tab0i+(tab1i-F)/(tab0i+1-tab0i)/10);break; */* 线性方程法if(F=6033 & F6033)RH=(588-0.08*F)+0.5;else RH=(586-0.08*F)+0.5;*/if(F=6033)if(F7224)RH=(7351-F)/12.7)+0.5;else if(F6600)RH=(1

3、0+(7224-F)/12.4)+0.5;else if(F6186)RH=(60+(6600-F)/13.8)+0.5;else RH=(90+(6186-F)/15.3)+0.5; Disp_RH(RH); /显示结果if(RH80) /当湿度大于,P1.0 输出高电平beep();DispStr(1,1,RH is high); delaynms(20);if(RH30) /当湿度大于,P1.0 输出高电平beep();DispStr(1,1,RH is low); delaynms(20);T0_count=0;TH0=(65536-50000)/256; /定时器 T0 的高 8 位

4、赋初值TL0=(65536-50000)%256; /定时器 T0 的高 8 位赋初值T1_count=0;TH1=0x00;TL1=0x00;TR0=1;TR1=1; /开始计数void main() D0=0;Timer_Iint();LcdInitiate();Welcome();while(1)HS1101();/*函数功能:计数器 T1 的中断服务程序*/void Time1(void) interrupt 3 /“interrupt”声明函数为中断服务函数TH1=0x00;TL1=0x00; /重装初值,0T1_count+;/*函数功能:定时器 T0 的中断服务程序*/void Time0(void) interrupt 1 /“interrupt”声明函数为中断服务函数/其后的 0 为定时器 T0 的中断编号;0 表示使用第 0 组工作寄存器 TH0=(65536-50000)/256; /定时器 T0 的高 8 位赋初值TL0=(65536-50000)%256; /定时器 T0 的高 8 位赋初值T0_count+;if(T0_count=20)flag=1;TR1=0;TR0=0;D0=D0; /按位取反操作,将 P1.0 引脚输出电平取反T0_count=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号