51单片机定时器计数是编程?
要怎样实现,当单片机的INT0由0变成1,打开定时器T0,开始计数。当INT1的波形由0变成1时,关闭定时器T0。然后读取出计数值,做十进制计算?另:51单片机跑不动co...
要怎样实现,
当单片机的INT0由0变成1,打开定时器T0,开始计数。
当INT1的波形由0变 成1时,关闭定时器T0。
然后读取出计数值,做十进制计算?
另:51单片机跑不动cos函数,怎么办?
再另:定时器中断会影响到ad转换显示吗?
sbit INT_U=P3^2;
sbit INT_I=P3^3;
int t_data()
{ int T;
EA=1;
TMOD=0x01;
IT0=0;
ET0=1;
TH0=0;
TL0=0;
TR0=0;
while(INT_U==1) //当检测到高电平,开启计数器
TR0=1;
while(INT_I==0) //当脉冲变低,关闭计数器
TR0=0;
T=(TH0<<8)&TL0;
ET0=0;
return(T); 展开
当单片机的INT0由0变成1,打开定时器T0,开始计数。
当INT1的波形由0变 成1时,关闭定时器T0。
然后读取出计数值,做十进制计算?
另:51单片机跑不动cos函数,怎么办?
再另:定时器中断会影响到ad转换显示吗?
sbit INT_U=P3^2;
sbit INT_I=P3^3;
int t_data()
{ int T;
EA=1;
TMOD=0x01;
IT0=0;
ET0=1;
TH0=0;
TL0=0;
TR0=0;
while(INT_U==1) //当检测到高电平,开启计数器
TR0=1;
while(INT_I==0) //当脉冲变低,关闭计数器
TR0=0;
T=(TH0<<8)&TL0;
ET0=0;
return(T); 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询