光电模块测速

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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
lhgbevin
1楼-- · 2019-07-15 13:30
高速指多高?会不会是槽式光耦器件本身频率响应不够?
郑鹏丹
2楼-- · 2019-07-15 18:12
lhgbevin 发表于 2016-07-16 21:33
高速指多高?会不会是槽式光耦器件本身频率响应不够?

每秒超过30多转速就显示不出来了    直接显示000
radiodetection
3楼-- · 2019-07-15 19:21
 精彩回答 2  元偷偷看……
951414
4楼-- · 2019-07-15 20:27
槽式光耦器件本身频率响应不够
zhifubao
5楼-- · 2019-07-16 01:18
这是编码器吗。
暗访君看绿就
6楼-- · 2019-07-16 04:34
我想请问下,你的光电传感器接在单片机的哪几个口,因为我也有一个,但不懂

一周热门 更多>