|
发表于 2021-9-30 16:35:26
|
显示全部楼层
本帖最后由 CXFLBH 于 2021-9-30 16:38 编辑
这个中断可以这样写:
//-----------------------------------------------
//中断2服务程序
void t2int() interrupt 12 //中断入口
{
static Count1=0; //静态变量计数器1
static Count2=0; //静态变量计数器2
static Count3=0; //静态变量计数器3
Count1++; //每次中断计数器加1
if(Count1>=40) //0.4S翻转
{
P3^4=~P3^4; //
Count1=0; //计数器清零
}
if(BIT)
{
Count2++;
if(Count2>=500) //50S
{
BIT=0; //
Count2=0; //计数器清零
}
}
else
{
Count3++;
if(Count3>=100) //10S
{
BIT=1; //
Count3=0; //计数器清零
}
}
}
先在程序里设一个全局bit,定时器设10mS,通过BIT的翻转来判断输出。 |
|