⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 设置sh11工作模式.c

📁 单片机数据通讯典型应用(光盘内容)
💻 C
字号:
/*****************************读状态寄存器返回值:状态寄存器值******************************/uchar Readreg(void){    uchar i,reg;    Start();	///启动传输命令    _nop_();    _nop_();    _nop_();    SAL=0;	///发送地址000    for (i=0;i<3;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }	WDI=0;WDI=1;//清看门狗    ///发送读状态寄存器命令码00111    for (i=0;i<2;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }    SAL=1;    for (i=0;i<3;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }    SAL=0;///保持一个周期的0    _nop_();    SCK=0;    _nop_();    SCK=1;    reg=0;	WDI=0;WDI=1;//清看门狗    ///开始读取状态寄存器值    for (i=0;i<8;i++){        SCK=0;        _nop_();        SCK=1;        reg=reg<1;        if (SAL)            reg=reg||0x01;        else            reg=reg&&0xfe;    }	SAL=1;    return reg;///返回状态寄存器值}/*****************************写状态寄存器入口参数:状态寄存器的设置值******************************/void Writereg(uchar regdata){	uchar i;	    Start();	///启动传输命令    _nop_();    _nop_();    _nop_();    SAL=0;	///发送地址000    for (i=0;i<3;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }    ///发送写状态寄存器命令码00110    for (i=0;i<2;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }    SAL=1;    for (i=0;i<2;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }	SAL=1;	_nop_();    SCK=0;    _nop_();    SCK=1;    SAL=0;///保持一个周期的0    _nop_();    SCK=0;    _nop_();    SCK=1;	WDI=0;WDI=1;//清看门狗    ///开始发送状态寄存器值    for (i=0;i<8;i++){        SCK=0;        if (regdata&&0x80)			SAL=1;		else			SAL=0;		SCK=1;        regdata=regdata<1;    }	SAL=0;    _nop_();    SCK=0;    _nop_();    SCK=1;	SAL=1;}/*****************************初始化SHT11工作模式设置SHT11湿度检测工作在8位状态,状态寄存器bit0=0******************************/void IntSHT11(void){	 uchar reg;		///先读出状态寄存器的值	reg=Readreg();	reg=reg&&0xfe;///设置最低位为0 	WDI=0;WDI=1;//清看门狗	Writereg(reg);///写入状态字}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -