标题:
DHT11和单片机定时器之间的冲突问题
[打印本页]
作者:
Mr_wei
时间:
2023-3-7 00:01
标题:
DHT11和单片机定时器之间的冲突问题
各位大佬你们好,我想问一下单片机STC89C52单片机使用DHT11时与定时器发生冲突怎么办,DHT11要是想实现检测湿度,就得按照下面的代码,而定时器1的作用是做倒计时用的。要想读DHT11的就必须先关定时器再开定时器,但是倒计时就不能通过按键按下就开始(用一个按键开始倒计时)。现在的问题就是一插电,湿度显示的同时也就直接开始倒计时,按键没有作用,我该怎么解决这问题
//********************************湿度检测*******************************//
DHT11_delay_ms(100);
TR0 = 0;
TR1 = 0;
DHT11_receive();
for(i=0;i<7;i++)
{
if(i<=2)
{
sidu[ i]= rec_dat[ i]; //读取湿度
}
}
LCD_DispOneChar(5, 1, 'H');
LCD_DispOneChar(6, 1, ':');
LCD_DispStr(7, 1, sidu);
TR0 = 1;
TR1 = 1;
//************************************定时器1-用于实现倒计时功能***********************//
void T1_init()//定时器1初始化
{
TMOD |= 0x10; //0001 0000//设置方式1是16位的。CT=0是定时,CT = 1是记数
TH1 = 15536/256; //12MHz 的晶振,那么一个周期就是 1 us,所以需要计数 50ms / 1us = 50000
TL1 = 15536%256; //方式1
TR1 = 0;
ET1 = 1;
EA = 1;
}
void t1_irs(void)interrupt 3
{
TH1 = 15536/256; //重装初值
TL1 = 15536%256;
if(++con == 20) //如果con自++到20 就1000ms ,最大定时时间=65536us=65.536ms。中断20次就是1秒。
{
con = 0;
miao--;
if(miao<0)
{
miao=59;
fen--;
}
else if(fen<0)
{
fen=0;
}
}
}
作者:
wulin
时间:
2023-3-7 07:49
//********************************湿度检测*******************************//
// DHT11_delay_ms(100);
// TR0 = 0;
// TR1 = 0; //定时器不可以停止
if(Time>=2)//代替DHT11_delay_ms(100)
{
Time=0;
DHT11_receive();
for(i=0;i<7;i++)
{
if(i<=2)
{
sidu[ i]= rec_dat[ i]; //读取湿度
}
}
LCD_DispOneChar(5, 1, 'H');
LCD_DispOneChar(6, 1, ':');
LCD_DispStr(7, 1, sidu);
// TR0 = 1;
// TR1 = 1;
}
//************************************定时器1-用于实现倒计时功能***********************//
void T1_init()//定时器1初始化
{
TMOD |= 0x10; //0001 0000//设置方式1是16位的。CT=0是定时,CT = 1是记数
TH1 = 15536/256; //12MHz 的晶振,那么一个周期就是 1 us,所以需要计数 50ms / 1us = 50000
TL1 = 15536%256; //方式1
TR1 = 0;
ET1 = 1;
EA = 1;
}
void t1_irs(void)interrupt 3
{
TH1 = 15536/256; //重装初值
TL1 = 15536%256;
Time++;
if(start==1)//启动倒计时
{
if(++con == 20) //如果con自++到20 就1000ms ,最大定时时间=65536us=65.536ms。中断20次就是1秒。
{
con = 0;
miao--;
if(miao<0)
{
miao=59;
fen--;
}
else if(fen<0)
{
fen=0;
}
if(miao==0 && fen==0)
{
start=0; //结束倒计时
}
}
}
}
作者:
wojiaoguogai
时间:
2023-3-7 13:16
DHT11_delay_ms(100);
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1