<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ZS03/ZS05溫濕度模組應用例程

Harmony&嵌入式學習 ? 來源:Harmony&嵌入式學習 ? 作者:Harmony&嵌入式學 ? 2023-06-14 10:45 ? 次閱讀
//****************************************************************//
//ZS03單總線數據讀取程序

//****************************************************************//
 
#ifndef _ZS03_H_
#define _ZS03_H_
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "stdio.h"
 
//IO方向設置
#define SDA_IN()  {GPIOB->CRH&=0XF0FFFFFF;GPIOB->CRH|=0x08000000;}//上下拉輸入
#define SDA_OUT() {GPIOB->CRH&=0XF0FFFFFF;GPIOB->CRH|=0x03000000;}//通用推挽輸出
 
 
//IO操作函數
//#define IIC_SCL    PBout(13) //SCL輸出	
#define SEND_SDA   PBout(14) //SDA輸出	 
#define READ_SDA   PBin(14)  //SDA輸入 
 
 
 
void ZS03_Init(void);//初始化SDA(PB14),CLK(PB13)
u8 ZS03_Rdata(void);
u8 ZS03_READ(void);
 
 
 
 
#endif	//_ZS03_H_
 
 
 
#include "ZS03.h"
 
 
float Temprature,Humi;//定義溫濕度變量 ,此變量為全局變量
u8 Sensor_AnswerFlag=0;//定義傳感器響應標志
u8 Sensor_ErrorFlag;  //定義讀取傳感器錯誤標志
 
 
/********************************************
|* 功能: 初始化SDA(PB14),CLK(PB13)	        *|
********************************************/
void ZS03_Init(void)
{					     
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(	RCC_APB2Periph_GPIOB, ENABLE );//使能GPIOB	
	   
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14;//PB13,PB14
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD ;   //開漏輸出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14); 	//PB13,PB14 輸出低(SCL上電立即拉低)
}
 
 
/********************************************
|* 功能: 讀傳感器發送的單個字節	        *|
********************************************/
u8 ZS03_Rdata(void)
{
	u8 i;
	u16 j;
	u8 data=0,bit=0;
	
	for(i=0;i=50000) //防止進入死循環
			{
				break;
			}
		}
		//延時Min=26us Max70us 跳過數據"0" 的高電平		 
		delay_us(30);
 
		//判斷傳感器發送數據位
		bit=0;
		if(READ_SDA)
		{
			bit=1;
		}
		j=0;
		while(READ_SDA)	//等待高電平結束
		{
			if(++j>=50000) //防止進入死循環
			{
				break;
			}		
		}
		data=500) //防止進入死循環
			{
				Sensor_ErrorFlag=1;
				break;
			}
		}
 
		j=0;
		while(READ_SDA)//判斷從機是否發出 80us 的高電平,如發出則進入數據接收狀態
		{
			if(++j>=800) //防止進入死循環
			{
				Sensor_ErrorFlag=1;
				break;
			}		
		}
		//接收數據
		Humi_H=ZS03_Rdata();
		Humi_L=ZS03_Rdata();
		Temp_H=ZS03_Rdata();	
		Temp_L=ZS03_Rdata();
		Temp_CAL=ZS03_Rdata();
 
		temp=(u8)(Humi_H+Humi_L+Temp_H+Temp_L);//只取低8位
 
		if(Temp_CAL==temp)//如果校驗成功,往下運行
		{
			Humi=Humi_H*10+Humi_L; //濕度
	
			if(Temp_L&0X80)	//為負溫度
			{
				Temprature =0-(Temp_H*10+((Temp_L&0x7F)));
			}
			else   //為正溫度
			{
				Temprature=Temp_H*10+Temp_L;//為正溫度
			}
			//判斷數據是否超過量程(溫度:-20℃~60℃,濕度20%RH~95%RH)
			if(Humi>950) 
			{
			  Humi=950;
			}
			if(Humi600)
			{
			  Temprature=600;
			}
			if(Temprature

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2528

    文章

    48296

    瀏覽量

    741142
  • 總線
    +關注

    關注

    10

    文章

    2719

    瀏覽量

    87286
  • 模組
    +關注

    關注

    6

    文章

    1277

    瀏覽量

    29443
收藏 人收藏

    評論

    相關推薦

    ZS5887與ZS5889的特點

    ZS5887 USB充電識別IC,單口 ,SOT23-5封裝,輸出電流可設定。ZS5889 USB充電識別IC,雙口 ,SOT23-6L封裝。ZS5887/ZS5889都可用于充電器、
    發表于 08-28 11:27

    太陽能鋰電充電管理ZS6093/ZS6073/ZS6075/ZS6076/ZS6077/ZS6078全系列分享

    太陽能鋰電充電管理ZS6093/ZS6073/ZS6075/ZS6076/ZS6077/ZS60
    發表于 11-19 10:57

    ZS6093設計資料賞析

    概述:ZS6093(注1)是一款可使用太陽能電池供電的PWM 降壓模式充電管理集成電路,具有太陽能電池最大功率點跟蹤功能。ZS6093 非常適合對單節或多節鋰電池或磷酸鐵鋰電池的充電管理,具有封裝
    發表于 12-10 11:19

    如何快速設計一款溫濕度產品原型(MCU接入)

    三明治開發板溫濕度傳感套件主要包含:溫濕度傳感器功能板,板載 SHT30 溫濕度傳感器,I2C 接口,負責溫濕度數據的采集傳輸。Wi-Fi MCU 通信板,板載涂鴉 TYWE3S
    發表于 06-27 11:00

    庫房無線溫濕度監控方案 無線溫濕度監控系統 倉儲物流無線溫濕度

    【庫房無線溫濕度監控方案】[無線溫濕度監控系統]【無線溫濕度傳感器】【醫藥庫房、大型物流存儲溫濕度遠程監控系統】今現代化建設和國民經濟發展迅速。社會對生產環境和生活環境意識的要求也越來
    發表于 03-01 10:15

    GPRS無線溫濕度變送器

    GPRS無線溫濕度變送器GPRS無線溫濕度變送器GPRS無線溫濕度變送器
    發表于 03-02 17:45 ?22次下載

    溫濕度監測

    進行溫濕度的仿真,采用PROTEUS進行糧倉溫濕度的檢測與控制。
    發表于 05-11 14:33 ?25次下載

    基于STM32串口顯示溫濕度例程資料下載

    基于STM32串口顯示溫濕度例程資料下載
    發表于 04-22 10:44 ?69次下載
    基于STM32串口顯示<b class='flag-5'>溫濕度</b><b class='flag-5'>例程</b>資料下載

    溫濕度計怎么使用_溫濕度計怎么調

    本文首先闡述了溫濕度計的使用方法,其次介紹了溫濕度計的調節,最后介紹了家用指針式溫濕度計調校方法。
    發表于 02-28 11:16 ?9.9w次閱讀

    溫濕度傳感器的原理

    溫濕度傳感器是指能將溫度量和濕度量轉換成容易被測量處理的電信號的設備或裝置。市場上的溫濕度傳感器一般是測量溫度量和相對濕度量。金鴿科技研發生產無線
    發表于 05-11 14:59 ?1.7w次閱讀

    工業級溫濕度傳感器與日常溫濕度計的區別

    溫濕度產品在現代的應用非常廣泛,機房、工業、農業,倉儲等都離不開溫濕度管理,特別是在實時記錄溫濕度變化的工作中最為廣泛,溫濕度傳感器可以根據所記錄的數據,對各個不同的領域進行科學有效的
    發表于 06-12 16:29 ?2294次閱讀

    溫濕度記錄儀如何讀取,溫濕度記錄儀的操作介紹

    溫濕度記錄儀是溫濕度測量儀器中溫濕度計中的一種。其具有內置溫濕度傳感器或可連接外部溫濕度傳感器測量溫度和
    發表于 06-28 16:31 ?3597次閱讀

    溫濕度記錄儀在溫濕度監測系統中的應用有哪些

    當前隨著人們生活水平質量不斷提高,因溫度引發的各行業越來越重視產品生產、物品設備和倉庫存儲的溫濕度管理環境,溫濕度記錄儀便是其中之一。今天小編帶你了解溫濕度記錄儀在溫濕度監測系統中有
    發表于 08-02 11:24 ?1107次閱讀

    溫濕度自記儀是什么,該如何選購溫濕度自記儀

    今天要給大家說的是溫濕度自記儀,在傳統的種植環境中對溫濕度進行檢測時,多半是采用長度法或者干濕法。時至今日,這些檢測方法已經不滿足現在農業生產,而溫濕度自記儀的出現,可以說滿足了用戶的需求。那么
    的頭像 發表于 10-28 10:43 ?2318次閱讀

    ZS2933SL.ZS2934SL.ZS2935SL產品規格書

    ZSpoweric立元微ZS2931SL.ZS2932SL.ZS2933SL.ZS2934SL.ZS2935SL產品規格書
    發表于 09-18 17:58 ?2次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>