盆花自动浇水系统的设计(7)

2019-03-10 20:42

河南理工大学 2011毕业设计说明书

}

}

dat=dat<<1; SHT11_SCK=1; Delay(); SHT11_SCK=0;

⑹ 检测SHT11的响应信号(在第九个时钟周期) void SHT11_Answer() { }

⑺ 检测SHT11温湿度检测是否完毕 void SHT11_Test_Finish() { }

⑻ “写”程序:向SHT11的状态寄存器设置功能,command为REG_WRITE 0x06写寄存器,dat为设置SHT11的功能,可以设置检测的数据位数

void SHT11_Write_Register(uchar command ,uchar dat) {

SHT11_Start();

SHT11_Sendbyte(command); SHT11_Answer(); SHT11_Sendbyte(dat); SHT11_Answer(); }

while(SHT11_DATA==1); SHT11_SCK=1; Delay();

while(SHT11_DATA==1); SHT11_SCK=0; SHT11_DATA=1;

26

河南理工大学 2011毕业设计说明书

⑼ “读”程序:ommand为REG_READ 0x07//读寄存器,返回值为状态寄存器的值。位6显示当前检测完一次数据后电源供电情况:当位6为0时表明VDD>2.47V 当位6为1时表明VDD<2.47V即电量不足。位0表明当前的测量分辨率:当位0为1时表明测量精度:8位/湿度 12位温度,当位0为0时表明测量精度:12位湿度 14位温度 ,默认为0

uchar SHT11_Read_Register(uchar command) {

uchar dat; SHT11_Start();

SHT11_Sendbyte(command); SHT11_Answer();

dat=SHT11_Receivebyte(); SHT11_End(); return(dat); }

⑽ 设置SHT11检测功能,并返回相应的检测结果:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数11ms/55ms/210ms 分别对应8位/12位/14位

uint SHT11_Measure(uchar command,uchar time) {

uint dat=0;

uchar data_high,data_low; SHT11_Start();

SHT11_Sendbyte(command); SHT11_Answer(); Delay_Ms(time); SHT11_Test_Finish();

data_high=SHT11_Receivebyte(); MCU_Answer();

data_low=SHT11_Receivebyte();

27

河南理工大学 2011毕业设计说明书

SHT11_End(); dat=(dat|data_high); dat=(dat<<8)|data_low; return(dat); }

⑾ 将检测到的数据转化为相应的温度数据:温度转换公式--T=d1+d2*Sot,公式中

的参数d1=-40,d2=0.01适用于14位测量精度

float SHT11_Convert_Tempeture14bit(uint dat) {

float tempeture1; tempeture1=-40+0.01*dat; if(tempeture1>100.0) {

flag_tempeture=1;

}

else if(tempeture1<0.0) {

flag_tempeture=1;

} else {

flag_tempeture=0;

}

return(tempeture1); }

⑿ 将检测到的数据转化为相应的湿度数据:相对湿度转换公式

RHline=C1+C2*SOrh+C3*SOrh*SOrh,

RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline

式中参数C1=-4,C2=0,0405,C3=-0.0000028,t1=0.01,t2=0.00008;适用于12位测

量精度

28

河南理工大学 2011毕业设计说明书

float SHT11_Convert_Humidity12bit(uint dat,float temp) {

// float RHline,RHtrue;

RHline=-4+0.0405*dat-0.0000028*dat*dat; RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline; if(RHtrue<10.0) { flag_humidity=1;

} else {

flag_humidity=0; }

return(RHtrue); }

29

河南理工大学 2011毕业设计说明书

4、DS1302时钟芯片

DS1302是Dallas公司推出的高性能低功耗涓流充电时钟芯片。可通过简单的串行接口与单片机进行通信,光感应用于智能仪器、单片机系统和家用时钟电路等领域。

4.1 DS1302时钟芯片的简介

DS1302涓流充电计时芯片包含一个实时时钟/日历和31字节的静态RAM。它通过一个简单的串行接口与微处理器进行通信[8]。实时时钟/日历提供秒,分钟,小时,周,日期,月份和年的有关信息。对于少于31天的月份,每月月底的日期是自动调整的,包括对瑞年进行更正,时钟运行可采用24小时制或带AM/PM指示的12小时制。

同步串行通信简化了DS1302与微处理的接口。与时钟/RAM通信只需三根线:RST、I/O(数据线)及SCLK(串行时钟)。时钟/RAM数据的读/写以每次一个字节或多达31个字节的多字节模式传输。DS1302设计为低功耗工作,保持数据和时钟信息的功耗小于1uF。

4.2 引脚

DS1302的引脚(引脚图如图4-1所示)及功能简介如下:

图4-1 DS1302引脚图

第1、2脚:Vcc1、Vcc2电源。 第3脚:RST复位输入端。

30


盆花自动浇水系统的设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江西财经大学毕业论文规范

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: