- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DHT程序【DOC精选】
//SCHEMATIC.除了dht11 的接口外,其他的电路原理图与天祥电子的C51 板对应
//只要在keil 下建三个文件后将两个C 后缀的文件添加到工程就可以进行编译.单片机时钟为11.0592M
//若需要关于DHT11 程序的更详细资料可到百度空间留言
//现象是循环显示温度和湿度各显示三秒(小数位显示0)
//若需将dht11.c 和其他的硬件结合使用,只需在需用到温湿度值的文件加下面声明
//extern int temp_value, humi_value;(temp_value 是温度值,humi_value 是湿度值,比实际的温湿度值扩大了十倍)
//一、
//文件名保存为main.c
//除了dht11 的接口外,其他的电路原理图与天祥的C51 板对应
//现象是循环显示温度和湿度各显示三秒
#include dht11.h
#include reg52.h
//数码管位定义
sbit DULA = P2^6;
sbit WELA = P2^7;
#define SET_DULA() (DULA = 1)
#define RESET_DULA() (DULA = 0)
#define SET_WELA() (WELA = 1)
#define RESET_WELA() (WELA = 0)
//中断计数标志
static unsigned char flag;
//数码管编码
static unsigned char code array[]= {
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f
};
extern int temp_value, humi_value;
static void InitTime(void);
void Delay_1ms(unsigned int ms);
static void SMG_Display(unsigned int value);
int main(void)
{
unsigned char mark = 0;
//先等上电稳定
Delay_1ms(1000);
//因为读一次数据dht11 才会触发一次采集数据.
//即在先使用数据时采集一次数据
ReadTempAndHumi();
//因为在两次采集数据需一定的时间间隔,这里还可减少
Delay_1ms(3000);
//设定定时器
InitTime();
while(1)
{
//三秒读一次温湿度
if(flag == 60)
{
flag = 0;
mark++;
/*
//读温湿度,可检测函数调用是否失败,
//函数返回OK(1)表示成功,返回ERROR(0)表示失败
//OK和ERROR是在DHT11.H中定义的宏
*/
ReadTempAndHumi();
}
if(mark % 2 == 0)
{
//显示温度
SMG_Display(temp_value);
}
else
{
//显示湿度
SMG_Display(humi_value);
}
}
return 0;
}
//设定定时器
static void InitTime(void)
{
TH0 = (unsigned char)((65535U - 50000) 8);
TL0 = (unsigned char)(65535U - 50000) ;
TMOD = 0X01;
TR0 = 1;
ET0 = 1;
EA = 1;
}
//数码管显示函数
static void SMG_Display(unsigned int value)
{
unsigned char ge, bai, shi;
ge = value % 10;
shi = value % 100 / 10;
bai = value % 1000 / 100;
SET_WELA();
P0 = 0XFE;
RESET_WELA();
P0 = 0XFF;
SET_DULA();
P0 = array[bai];
RESET_DULA();
Delay_1ms(2);
SET_WELA();
P0 = 0XFD;
RESET_WELA();
P0 = 0XFF;
SET_DULA();
P0 = array[shi];
P0 |= 0x80; /*显示小数点*/
RESET_DULA();
Delay_1ms(2);
SET_WELA();
P0 = 0XFB;
RESET_WELA();
P0 = 0XFF;
SET_DULA();
P0 = array[ge];
RESET_DULA();
Delay_1ms(2);
}
//中断函数
void timer(void) interrupt 1
{
TH0 = (
您可能关注的文档
- Design Patterns【DOC精选】.doc
- design review【DOC精选】.doc
- Design With Intent 【DOC精选】.doc
- Design-设计【DOC精选】.doc
- DesignWorks University【DOC精选】.doc
- DesignPattern【DOC精选】.doc
- Design_Spec_template【DOC精选】.doc
- Design_Competition_Entry_Form【DOC精选】.doc
- DES源代码(加、解密 子密钥生成)【DOC精选】.doc
- DES实验【DOC精选】.docx
- dfh【DOC精选】.doc
- Diction in translation 遣词用字【DOC精选】.doc
- DH-型三相一次自动重合闸装置实验【DOC精选】.doc
- difficult sentences and translation【DOC精选】.doc
- Digester解析xml文件【DOC精选】.docx
- Digital Camera Singapore【DOC精选】.doc
- Digital Certificate ManagerSS option CA认证【DOC精选】.doc
- DesignCon 参展之流水账【DOC精选】.docx
- DIGITAL DEVELOP【DOC精选】.doc
- digital cymometer【DOC精选】.doc
最近下载
- 初中英语《比较级和最高级》课件.pptx VIP
- 13、公路工程预算定额JTG-T B06-03-2007.doc VIP
- 微信公众号外包方案.docx VIP
- 2008年修电脑1400张照片连接.docx VIP
- 抽水试验报告-1.docx
- 可行性研究报告财务分析自动计算电子表格资料.xls VIP
- 方正证券-电子行业深度报告:光刻胶研究框架2.0,详解上游单体、树脂、光酸、光引发剂-220125.pdf VIP
- 2025年中国康复医疗产业市场前景分析与投资建议报告.docx
- 奶牛养殖场建设项目可行性实施报告可行性实施报告.docx
- 2025年中国共青团入团团员必知知识考试题与答案 .pdf VIP
文档评论(0)