河南理工大学 2011毕业设计说明书
引脚3—SCK串行时钟输入;用于微处理器与SHT-11之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
引脚4—VDD电源端,0.4—5.5V电源 引脚5—8—NC空管脚
3.5 SHT-11的的内部命令与接口时序
3.5.1 SHT-11的内部命令
SHT-11 传感器共有5 条用户命令,具体命令格式见表3-1。在程序编程时根据命令编号来设定SHT-11的工作状态。例如:0x03设置SHT-11为温度测量,0x05是设置SHT-11为湿度测量[5]。
表3-1 SHT-11传感器命令列表
命令 测量温度 测量湿度 读寄存器 写寄存器 编号 00011 00101 00111 00110 说明 温度测量 湿度测量 “读”状态寄存器 “写”状态寄存器 重启芯片,清除状态记录器的错误 软启动 11110 记录11 毫秒后进入下一个命令 3.5.2 SHT-11的命令顺序及命令时序
1) 传输开始
初始化传输时,应发出“传输开始”命令,具体为SCK是高电平时,DATA 高电平变为低电平,并在下一个SCK为高时将DATA 升高。接着传输开始下一个命令,包含3个地址位(目前只支持“000”) 和5 个命令位,通过DATA 脚的ack 位处于低电位表示SHT11正确收到命令。
2) 连接复位顺序
如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:当使DATA线处于高电
21
河南理工大学 2011毕业设计说明书
平时,触发SCK9 次以上(含9 次) ,并发一个前述的“传输开始”命令。
3) 温湿度测量时序
当发出了温(湿) 度测量命令后,控制器就要等到测量完成后才开始动作。使用8/ 12/ 14 位的分辨率测量分别需要大约11/ 55/ 210 ms。为表明测量完成,SHT11会使DATA为低电平,此时控制器必须重新启动SCK,然后SHT11传送两字节测量数据与1字节CRC校验和到控制器,控制器必须通过使DATA为低来确认每一字节,通讯在确认CRC数据位后停止。如果没有用CRC28校验和,则控制器就会在测量数据LSB后,保持ack为高时停止通讯,SHT11在测量和通讯完成之后会自动返回睡眠模式。需要注意的是,为使SHT11温升高低于0.1℃,则此时工作频率不能大15%(如:12 位精确度时,每秒最多进行3 次测量)。测量温度和测量湿度命令所对应的时序如图3-4所示。
图3-4 测量温湿度时序图
4) 加热控制
将传感器芯片中的加热开关接通,传感器温度大约增加5 ℃,加热用途如下:其一,通过对启动加热器前后的温、湿度进行比较,可以正确地区别传感器的功能;其二,在相对湿度较高的环境下,传感器可通过加热来避免冷凝。
5) 低电压检测
SHT11的工作极限功能可以检测VDD电压是否低于2.45V,准确度为±0.1V。 3.4.3 SHT-11的状态寄存器
SHT-11的状态寄存器的类型及其说明见表3-2。
表3-2 SHT-11状态寄存器及说明
位 7 6 5 4 读 类型 说明 保留 工检限 保留 保留 缺省 0 X 0 0 说明 22
河南理工大学 2011毕业设计说明书
续表
位 3 2 1 类型 读/写 读/写 说明 只用于试验,不可以使用 加热 不从OTP重下载 ‘1’—8位相对湿度,12位温度分辨0 读/写 率;‘0’—12位相对湿度,14位温 分辨率 0 12位相对湿度,14温度 缺省 0 0 0 说明 关 重下载 3.6 硬件接口
SHT-11与单片机接口构成的温湿度测量电路,如图3-5所示 。因SHT-11内部集成了A/D转换器、数字接口等,在与单片机连接时就不需要再外接转换部件[6]。
图3-5 SHT-11与单片机接口 图3.2 DS1302与单片机连接 3.7 恢复处理
置于极限工作条件下或化学蒸汽中的传感器,经过在80~90℃(176~194F)和<5%RH的湿度条件下保持24小时(烘干),随后在20~30℃(70~90F)和>74%RH的湿度条件下保持48小时以上(重新水和)的处理后可使其恢复到刚校准时的状态[7]。
通过上面的论述可见SHT-11数字式温湿度传感器完全符合对土壤温湿度检测的要求。
23
河南理工大学 2011毕业设计说明书
3.8 SHT-11的相关程序
⑴ SHT11端口定义 sbit SHT11_DATA=P2^6; sbit SHT11_SCK=P2^5;
uchar flag_tempeture=0; //显示温度位置的标志 uchar flag_humidity=0; //显示湿度位置的标志 //uchar dat;
uint i,temp1,temp2,dat=0,count; float tempeture1; float RHline,RHtrue; void delay(uint m) {
while(m--); }
⑵ SHT11内部延时 void Delay() { }
⑶ SHT11检测等待延时:11ms/55ms/210ms 分别对应8位/12位/14位 测量结果,对应的形参为N 则延时Nms
void Delay_Ms(uint ms) { }
⑷ SHT11启动时序 void SHT11_Start()
24
; ;
uint i,j; for(i=ms;i>0;i--)
for(j=112;j>0;j--);
河南理工大学 2011毕业设计说明书
{ SHT11_SCK=1;
SHT11_DATA=1; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=0; Delay(); SHT11_SCK=1; Delay(); SHT11_DATA=1;
}
⑸ 向SHT11发送8bite数据 void SHT11_Sendbyte(uchar dat) { uchar i; SHT11_SCK=0; Delay(); for(i=0;i<8;i++) { if(dat&0x80) { SHT11_DATA=1; Delay();
} else { SHT11_DATA=0; Delay();
}
25
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库盆花自动浇水系统的设计(6)在线全文阅读。
相关推荐: