光电模块测速

2019-07-15 13:25发布

当转速超过20左右就无法显示了      不知道是模块问题   还是   程序问题        感觉程序问题没有   就是测不了高速


我在12864上显示         电机测速程序       t0记时   t1计数   各位麻烦看下

        while(1)
        {
                if(time==10)//判断时间是否到1s
                {
                        TR0=0;
                        TR1=0;
                        time=0;
                        fre=TH1*256+TL1;      //计数器t1
                LCD_WrAddr(4,0);
                 delayMs(2);
                   LCD_WrDat(fre/1000+0x30);
                   LCD_WrDat(fre%1000/100+0x30);
                   LCD_WrDat(fre%100/10+0x30);
                   LCD_WrDat(fre%10+0x30);
                 delayMs(2);
                        TH1=0;
                        TL1=0;
                        TR1=1;
                        TR0=1;
                       
                }

        }

void timer1int()
{
         TMOD = 0x50;        //设置计数器
         TH1=0;
         TL1=0;
         EA = 1;         //打开总中断
         ET1 = 1;         //打开定时器中断
         TR1 = 1;          //启动定时器、
}


void timer0int()
{
         TMOD = 0x01;        //设置定时器为工作方式0
         TH0 =(65536-50000)/256;
         TL0 =(65536-50000)%256;          //赋初值
         EA = 1;         //打开总中断
         ET0 = 1;         //打开定时器中断
         TR0 = 1;          //启动定时器、
}

void timer0() interrupt        1          
{
     TH0 = (65536-50000)/256;//设置初值
         TL0 = (65536-50000)%256;
         time++;
}
P60716-190633.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。