微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么这个程序能转连续旋转舵机,不能转普通舵机

为什么这个程序能转连续旋转舵机,不能转普通舵机

时间:10-02 整理:3721RD 点击:
在下新人,求各位大佬教
#include<reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit pwm=P2^0;//输出PWM信号
uint duo_count;//uint0-65536
uint delaytemp;
sbit light=P2^1;
        uchar jiaodu;        bit duoji_bit;
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void InitTimer(void)
{
        TMOD=0x01;//开定时器1
        TH0=(65536-100)/256;//定时20MS,20MS为一个周期
        TL0=(65536-100)%256;
        EA=1;//开总断
        TR0=1;//开定时器0
        ET0=1;
}
void main(void)//主函数
{               
        InitTimer()         ;
        
        duoji_bit=1;
        duo_count=0;
        while(1)
        {
             jiaodu=10;
             delay(1000);
        }
}
void timer0(void) interrupt 1//定时器0中断函数
{
        TH0=(65536-100)/256;
       TL0=(65536-100)%256;
        if(duoji_bit==1)
        {
                duo_count++;
                if(duo_count>=jiaodu)
                pwm=0;
                else
                pwm=1;
                duo_count=duo_count%140;
        }         
}
如题,这个程序它之前好好的,,现在不能转普通舵机,,我的数字电机也不能转,,,
可是时序周期也没错,,,找了有两天了,没找出问题,求大佬指点

duo_count=duo_count%140;
这句每次进中断都会运行一次,结果不是零吗?

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

网站地图

Top