找回密码
 立即注册

QQ登录

只需一步,快速开始

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

小车舵机调试程序编译没错,但调试舵机不对,哪位大佬给看看

[复制链接]
跳转到指定楼层
楼主
ID:372197 发表于 2018-7-25 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg51.h"   
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int

sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xC9;
sfr P5M0 = 0xCA;
sfr P6M1 = 0xCB;
sfr P6M0 = 0xCC;
sfr P7M1 = 0xE1;
sfr P7M0 = 0xE2;
sbit jia =P1^4;          //按键
sbit pwm=P3^5;
sfr AUXR      = 0x8e;            
sfr INT_CLKO  = 0x8f;              
sbit T0CLKO   = P3^5;            
unsigned char n,count,jd;
void delay(unsigned int);
void delay500us()  //@11.0592MHz  0.5ms
{
unsigned char i, j;
_nop_();
_nop_();
i = 6;
j = 93;
do
{
  while (--j);
} while (--i);
}

void timer0() interrupt 1//
{
TL0 = 0x66;          //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&para;¨&Ecirc;±&AElig;÷&sup3;&otilde;&Ouml;&micro;&ordm;&Iacute;&Ouml;&Oslash;×°&Ouml;&micro;
  TH0 = 0xEA;
if(count<jd)//&Aring;&ETH;&para;&Iuml;0.5ms&acute;&Icirc;&Ecirc;&yacute;&Ecirc;&Ccedil;·&ntilde;&ETH;&iexcl;&Oacute;&Uacute;&frac12;&Ccedil;&para;&Egrave;±ê&Ecirc;&para;
    pwm=1;//&Egrave;·&Ecirc;&micro;&ETH;&iexcl;&Oacute;&Uacute;&pound;&not;pwm&Ecirc;&auml;&sup3;&ouml;&cedil;&szlig;&micro;&ccedil;&AElig;&frac12;
    else
    pwm=0;//&acute;ó&Oacute;&Uacute;&Ocirc;ò&Ecirc;&auml;&sup3;&ouml;&micro;&Iacute;&micro;&ccedil;&AElig;&frac12;
count=(count+1);//0.5ms&acute;&Icirc;&Ecirc;&yacute;&frac14;&Oacute;1
count=count%40;//&acute;&Icirc;&Ecirc;&yacute;&Ecirc;&frac14;&Ouml;&Otilde;±&pound;&sup3;&Ouml;&Icirc;&ordf;40&frac14;&acute;±&pound;&sup3;&Ouml;&Ouml;&Uuml;&AElig;&Uacute;&Icirc;&ordf;20ms
}
void Timer0Init(void)  //500??@11.0592MHz
{
AUXR |= 0x80;  //?????1T??
TMOD &= 0xF0;  //???????
TL0 = 0x66;  //??????
TH0 = 0xEA;  //??????
TF0 = 0;  //??TF0??
TR0 = 1;  //???0????
}





void keyscan()              //°&acute;&frac14;ü&Eacute;¨&Atilde;è
{
   if(jia==0)               //&frac12;&Ccedil;&para;&Egrave;&Ocirc;&ouml;&frac14;&Oacute;°&acute;&frac14;ü&Ecirc;&Ccedil;·&ntilde;°&acute;&Iuml;&Acirc;
  {
    delay(10);              //°&acute;&Iuml;&Acirc;&Ntilde;&Oacute;&Ecirc;±&pound;&not;&Iuml;&ucirc;&para;&para;
    if(jia==0)              //&Egrave;·&Ecirc;&micro;°&acute;&Iuml;&Acirc;
     {
      jd++;                 //&frac12;&Ccedil;&para;&Egrave;±ê&Ecirc;&para;&frac14;&Oacute;1
      count=0;              //°&acute;&frac14;ü°&acute;&Iuml;&Acirc; &Ocirc;ò20ms&Ouml;&Uuml;&AElig;&Uacute;&acute;&Oacute;&ETH;&Acirc;&iquest;&ordf;&Ecirc;&frac14;
      if(jd==6)
        jd=5;               //&Ograve;&Ntilde;&frac34;&shy;&Ecirc;&Ccedil;180&para;&Egrave;&pound;&not;&Ocirc;ò±&pound;&sup3;&Ouml;
      while(jia==0);        //&micro;&Egrave;&acute;&yacute;°&acute;&frac14;ü·&Aring;&iquest;&ordf;
     }
  }
}

void main()
{
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;
   
  
    AUXR = 0x80;                    //&para;¨&Ecirc;±&AElig;÷0&Icirc;&ordf;1T&Auml;&pound;&Ecirc;&frac12;
    INT_CLKO = 0x01;                //&Ecirc;&sup1;&Auml;&Uuml;&para;¨&Ecirc;±&AElig;÷0&micro;&Auml;&Ecirc;±&Ouml;&Oacute;&Ecirc;&auml;&sup3;&ouml;&sup1;&brvbar;&Auml;&Uuml;
    TMOD &= 0xf0;                   //&Eacute;è&Ouml;&Atilde;&para;¨&Ecirc;±&AElig;÷0&Icirc;&ordf;&Auml;&pound;&Ecirc;&frac12;0(16&Icirc;&raquo;×&Ocirc;&para;&macr;&Ouml;&Oslash;×°&Ocirc;&Oslash;)
   
    T0CLKO = 1;                     //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&Ecirc;±&Ouml;&Oacute;&Ecirc;&auml;&sup3;&ouml;&frac12;&Aring;(&Egrave;íPWM&iquest;&Uacute;)
    TR0 = 1;                        //&para;¨&Ecirc;±&AElig;÷0&iquest;&ordf;&Ecirc;&frac14;&frac14;&AElig;&Ecirc;±
    ET0 = 1;                        //&Ecirc;&sup1;&Auml;&Uuml;&para;¨&Ecirc;±&AElig;÷0&Ouml;&ETH;&para;&Iuml;
    EA = 1;
  jd=3;//&para;&aelig;&raquo;ú&frac34;&Oacute;&Ouml;&ETH;
   count=0;
    Time0_Init() ;
  while(1)
    {
     keyscan();               //°&acute;&frac14;ü&Eacute;¨&Atilde;è
   
    }
}

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

使用道具 举报

沙发
ID:372197 发表于 2018-7-26 09:54 | 只看该作者
15主控芯片
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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