各位大虾小弟遇到一个问题:
用单片机定时器做可调1-10S延时程序;小弟现在定时器定10ms;如
void T2_temp_10ms(void) interrupt 5 using 2
{
TF2=0;
output_time++; //output_time是int型
}
外面输出程序写的是
if(output_time>=delay_time) //delay_time 是采的可调变阻器1-1000的值做1- 10s
{ //delay_time是一个在1-1000之内的固定值 如400;
ACTION = 1;
}
else
{
ACTION = 0;
}
但是现在的问题是output_time在大于delay_time后有溢出。
我的想法是在《output_time==delay_time》的时候ACTION保持在 1;
而不是每1-10S循环ACTION=1;
问题想了快一星期了;不知道用定时器能不能做;如果大侠解决过类似的情况 提点一下小弟!!!不胜感谢!!! |