找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

這是點光源追蹤系統(tǒng)的程序,F(xiàn)5529的但是燒錄之后舵機一直不轉(zhuǎn),請幫我看看問題出在哪

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79017 發(fā)表于 2015-5-5 22:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <msp430f5529.h>
#define uint unsigned int
#define uchar unsigned char
unsigned int a[32],b[4];
unsigned int i=50,j=50;
void delay(uint z);
void pwm();
void circle();
void main( void )
{
    P1OUT=0x00;
    WDTCTL = WDTPW + WDTHOLD;
    UCSCTL4&=0x0000;
    pwm();
while(1)
{
    ADC12CTL0=ADC12SHT0_2+ADC12ON+ADC12TOVIE;     /* 16 x ADC10CLKs *//* ADC10 On/Enable*//* ADC10 Interrupt Enalbe */
    ADC12CTL0|=0x0020;   /* Reference generator on    0 Reference off 1 Reference on */
    ADC12CTL1=ADC12INCH_6;    /* Selects Channel 1 */
    ADC12CTL1|=ADC12CSTARTADD_6;      /* ADC10 Analog Enable 0 */
    ADC12CTL0|=ADC12ENC+ADC12SC;/*ADC10 Enable Conversion *//* ADC10 Start Conversion */
    _bis_SR_register(CPUOFF+GIE);
    b[1]=ADC12MEM;
    delay(2);
    ADC12CTL0=ADC12SHT0_2+ADC12ON+ADC12TOVIE;
    ADC12CTL0|=0x0020;
    ADC12CTL1=ADC12INCH_7;
    ADC12CTL1|=ADC12CSTARTADD_7;
    ADC12CTL0|=ADC12ENC+ADC12SC;
    _bis_SR_register(CPUOFF+GIE);
    b[3]=ADC12MEM;
    delay(2);
    ADC12CTL0=ADC12SHT0_2+ADC12ON+ADC12TOVIE;
    ADC12CTL0|=0x0020;
    ADC12CTL1=ADC12INCH_12;
    ADC12CTL1|=ADC12CSTARTADD_12;
    ADC12CTL0|=ADC12ENC+ADC12SC;
    _bis_SR_register(CPUOFF+GIE);
    b[0]=ADC12MEM;
    delay(2);
    ADC12CTL0=ADC12SHT0_2+ADC12ON+ADC12TOVIE;
    ADC12CTL0|=0x0020;
    ADC12CTL1=ADC12INCH_13;
    ADC12CTL1|=ADC12CSTARTADD_13;
    ADC12CTL0|=ADC12ENC+ADC12SC;
    _bis_SR_register(CPUOFF+GIE);
    b[2]=ADC12MEM;
    delay(2);
     if(b[1]>b[3])
     {
      if(b[1]-b[3]>150)
      {
         TA0CCR1=TA0CCR1+i;
        delay(300);
        i=i+3;
      }
     }
     if(b[3]>b[1])
     {
      if(b[3]-b[1]>150)
      {
         TA0CCR1=TA0CCR1-i;
        delay(300);
        i=i+3;
      }
     }
    if(b[0]>b[2])
     {
      if(b[0]-b[2]>150)
      {
         TA0CCR1=TA0CCR1+j;
        delay(300);
        j=j+3;
     }
     }
      if(b[2]>b[0])
     {
      if(b[2]-b[0]>150)
      {
         TA0CCR1=TA0CCR1-j;
        delay(300);
        j=j+3;
      }
     }
}
}
void pwm()
{
P2DIR|=BIT2;
P2SEL|=BIT2;
P2DIR|=BIT3;
P2OUT|=BIT3;
TA0CTL|= MC_1+TASSEL__SMCLK;/*Timer A Control *//* Timer A mode control: 1 - Up to CCR0 */ /* Timer A clocksource select: 2 - SMCLK */
TA0CCTL1 = OUTMOD_7;/* Timer A Capture/Compare Control 1 *//* PWM outputmode: 7 - PWM reset/set */
TA0CCR0 = 20000;
TA0CCR1 = 1000 ;
}
void delay(uint z)
{
uint i,j;
for(i=210;i>0;i--)
    for(j=z;j>0;j--);
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF);       // Clear CPUOFF bit from 0(SR)
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:79017 發(fā)表于 2015-5-5 22:29 | 只看該作者
我的連舵機的線都沒有問題,舵機信號線連接著P2.3,燒錄之后一直舵機不轉(zhuǎn),求高手幫忙解決,急。。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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