微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 光电模块测速

光电模块测速

时间:10-02 整理:3721RD 点击:
当转速超过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++;
}


高速指多高?会不会是槽式光耦器件本身频率响应不够?

每秒超过30多转速就显示不出来了    直接显示000

程序

槽式光耦器件本身频率响应不够

这是编码器吗。

我想请问下,你的光电传感器接在单片机的哪几个口,因为我也有一个,但不懂

你好,能给我看下你的程序吗

那该怎么解决

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top