找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1745|回复: 1
打印 上一主题 下一主题
收起左侧

at89c51单片机驱动舵机SG90时,舵机会不按程序走,希望大佬能指问题所在

[复制链接]
跳转到指定楼层
楼主
ID:728171 发表于 2020-4-13 13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个时间后舵机会抽风(乱转)。
然后就正常程序执行。

程序:
#include<reg52.h>
sbit SG_PWM1=P2^0;
sbit SG_PWM2=P2^1;
sbit key=P3^2;                                 //开关

unsigned char PWM0=2;                  //1--0度,2--45度,3--90度,4--135度,5--180度
unsigned char PWM1=2;                  //1--0度,2--45度,3--90度,4--135度,5--180度
unsigned char count0=0;        
unsigned char count1=0;                        
unsigned char out0;
unsigned char out1;

void timer_init()
{
        TMOD = 0x11;//TMOD设置
    TH0 = (65536-500)/256;
    TL0 = (65536-500)%256;//初值           0.5ms
        ET0=1;        

        TH1= (65536-500)/256;
    TL1 = (65536-500)%256;//初值           0.5ms
        ET1=1;

        EA=1;
        TR0=1;
        TR1=1;        
}
void timer0() interrupt 1
{
        TR0=0;
        TH0=(65536-500)/256;
    TL0=(65536-500)%256;//初值           0.5ms
        if(count0>40)
        {        
                count0=0;
        }
        else        count0++;
        if(count0<=PWM0)
        {
                SG_PWM1=1;
        }
        else SG_PWM1=0;        
        TR0=1;
}
void timer1() interrupt 3
{
        TR1=0;
        TH1=(65536-500)/256;
    TL1=(65536-500)%256;//初值           0.5ms
        if(count1>40)
        {        
                count1=0;
        }
        else        count1++;
        if(count1<=PWM1)
        {
                SG_PWM2=1;
        }
        else SG_PWM2=0;        
        TR1=1;               
}
void delay_ms(unsigned char z)
{
        unsigned int i,j;
        for(i=0;i<z;i++)
        {
                for(j=0;j<1000;j++);
        }        
}
void main()
{               
        delay_ms(1);
        timer_init();
        while(1)
        {               
                PWM1=4;        
                PWM0=2;
                delay_ms(255);
                PWM0=4;
                PWM1=2;        
                delay_ms(255);                        
        }        
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:728199 发表于 2020-4-13 14:54 | 只看该作者
应该是主函数延时少了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表