找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2100|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

小車舵機(jī)調(diào)試程序編譯沒(méi)錯(cuò),但調(diào)試舵機(jī)不對(duì),哪位大佬給看看

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:372197 發(fā)表于 2018-7-25 23:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#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空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:372197 發(fā)表于 2018-7-26 09:54 | 只看該作者
15主控芯片
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表