-
大小: 29KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-12
- 语言: 其他
- 标签: DHT11 驱动 STC12C5A STC12C5A60S2
资源简介
DHT11驱动,使用STC12C5A单片机测试
代码片段和文件信息
//****************************************************************//
//DHT11测试程序
//
//单片机:STC12C5A
//功能: 串口发送温湿度数据 晶振 11.0592M 波特率 9600 文本模式
// 直接显示十进制湿度整数、湿度小数、温度整数、温度小数、校检和,*作间隔
//硬件: P0.1口为通讯口连接DHT11DHT11的电源和地连接单片机的电源和地
//作者: 花生(参考雁凌电子基于STC89C52的驱动改编)
//****************************************************************//
#include
#include “STC12C5A.h“
typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */
typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */
typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */
typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */
typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */
typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */
typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */
typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */
sbit DHT11 = P0^1 ;
U8 U8FLAG;
U8 U8temp;
U8 U8comdata;
U8 U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
U8 U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
U8 str[17]=“ * “;
void Delay_10us(void) //误差 -0.053530092593us
{
unsigned char a;
for(a=26;a>0;a--);
}
void delay100us(void) //误差 -0.083188657407us
{
unsigned char ab;
for(b=61;b>0;b--)
for(a=3;a>0;a--);
_nop_(); //if Keilrequire use intrins.h
}
void delay18ms(void) //误差 -0.054253472223us
{
unsigned char abc;
for(c=148;c>0;c--)
for(b=122;b>0;b--)
for(a=4;a>0;a--);
}
void COM(void)
{
U8 i;
for(i=0;i<8;i++)
{
U8FLAG=2;
while((!DHT11)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp=0;
if(DHT11)
U8temp=1;
U8FLAG=2;
while((DHT11)&&U8FLAG++);
//超时则跳出for循环
if(U8FLAG==1)
break;
//判断数据位是0还是1
// 如果高电平高过预定0高电平值则数据位为 1
U8comdata<<=1;
U8comdata|=U8temp;
}
}
void RH(void)
{
//主机拉低18ms
DHT11=0;
delay18ms();
DHT11=1;
//总线由上拉电阻拉高 主机延时20us-40us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主机设为输入 判断从机响应信号
DHT11=1;
//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行
if(!DHT11) //T !
{
U8FLAG=2;
//判断从机是否发出 80us 的低电平响应信号是否结束
while((!DHT11)&&U8FLAG++);
U8FLAG=2;
//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
while((DHT11)&&U8FLAG++);
//数据接收状态
COM();
U8RH_data_H_temp=U8comdata;//温度高8位
COM();
U8RH_data_L_temp=U8comdata;//温度低8位
COM();
U8T_data_H_temp=U8comdata ;//湿度高8位
COM();
U8T_data_L_temp=U8comdata ;//湿度低8位
COM();
U8checkdata_temp=U8comdata;//校验和8位
DHT11=1;
//数据校验
U8temp=(U8T_da
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4396 2016-11-25 15:22 DHT11驱动(STC12C5A)\51_DHT21.c
文件 8891 2016-11-25 15:22 DHT11驱动(STC12C5A)\51_DHT21.LST
文件 8570 2016-11-25 15:22 DHT11驱动(STC12C5A)\51_DHT21.OBJ
文件 7374 2016-11-25 15:22 DHT11驱动(STC12C5A)\Proj
文件 1587 2016-11-25 15:22 DHT11驱动(STC12C5A)\Proj.hex
文件 29 2016-11-25 15:22 DHT11驱动(STC12C5A)\Proj.lnp
文件 9041 2016-11-25 15:22 DHT11驱动(STC12C5A)\Proj.M51
文件 6327 2016-11-25 15:23 DHT11驱动(STC12C5A)\Proj.plg
文件 55222 2016-11-25 15:23 DHT11驱动(STC12C5A)\Proj.uvopt
文件 13243 2016-11-24 20:38 DHT11驱动(STC12C5A)\Proj.uvproj
文件 55230 2016-11-24 20:38 DHT11驱动(STC12C5A)\Proj_uvopt.bak
文件 13239 2016-11-24 17:14 DHT11驱动(STC12C5A)\Proj_uvproj.bak
文件 18216 2016-11-23 14:03 DHT11驱动(STC12C5A)\STC12C5A.H
目录 0 2017-04-12 14:41 DHT11驱动(STC12C5A)
----------- --------- ---------- ----- ----
201365 14
- 上一篇:verilog语言实现电子琴
- 下一篇:三路舵机51程序按键控制角度
相关资源
- 基于STM32F4的DHT11温湿度传感器的源代
- DHT11库文件和
- 51开发板利用L298N驱动模块驱动电机进
- DHT11基于msp430
- USB读写器驱动.zip
- 关于S32K系列驱动之----SPISDK开发分享
- STM32的DS3231时钟芯片驱动串口测试程序
- MOS驱动双电机.PcbDoc
- STC12C5A60S2_AD转换12864显示程序
- 开源云台电路图
- cs5530驱动程序
- 51单片机驱动K型热电偶数字转换器M
- 驱动级鼠标键盘模拟含最新WinIo资源及
- 新智捷刻字机驱动
- QN8035 FM 单芯片驱动
- IIC驱动程序
- 单片机驱动直流电机 proteus仿真+程序
- STM32F103单片机+ULN2003驱动直流电机
- DMD驱动板设计/FPGA
- 0.96寸OLED显示屏适配MSP430F5529
- 51驱动继电器相关电路
- stm32驱动si4463收发
- 240128lcd驱动程序
- 单片机或者STM32能直接用的sht读温湿度
- 自制激光雕刻机烧录驱动所需程序
- XR21V1410 XR21V1412 XR21V1414 XR21B1411驱动
- KinectV2结合Processing调试驱动安装文档
- DNF破图标读写驱动
- 如何安装EtherCAT驱动
- AD9826 VHDL 驱动
评论
共有 条评论