电机测速感觉无法进入中断计数

2019-07-15 17:26发布

void time_init(void)                        //定时器初始化
{
        TMOD = 0x01;                                //设置定时器0 1 均为工作方式1
        TH0 = (65536 - 50000) / 256;//设置定时器0为50ms定时
        TL0 = (65536 - 50000) % 256;
        EA = 1;
        EX0 = 1;                        //打开外部中断0
        IT0 = 0;
        ET0 = 1;
        TR0 = 0;
}

void ser(void) interrupt 0
{
        count++;
}
void Time0(void) interrupt 1
{
        char num;
        TH0 = (65536 - 50000) / 256;//重装初值
        TL0 = (65536 - 50000) % 256;
        num++;
        if(num == 20)
        {
                num = 0;
                TR0 = 0;                                        //关闭定时器
                speed = count*60;                //测出当前的速度为多少圈每分钟
                count = 0;                                //计数清零
                TR0 = 1;                                        //重新开启定时器
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。