找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請問這段點光源追蹤系統(tǒng)的代碼是不是有問題。。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79017 發(fā)表于 2015-5-7 10:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

就是中間那些INCH數(shù)值跟AE0的數(shù)值不對應(yīng)啊!我運行起來舵機(jī)老是亂轉(zhuǎn),求高手幫忙,我急用。。感激。。!

#include "msp430g2553.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;

BCSCTL1 = CALBC1_1MHZ;

DCOCTL = CALDCO_1MHZ;

pwm();

while(1)

{

ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled ADC10CTL0 |= 0x0020;

ADC10CTL1 = INCH_4; // input A1

ADC10AE0 |= 0x10; // PA.1 ADC option select

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit b[1]=ADC10MEM;

delay(2);

ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled ADC10CTL0 |= 0x0020;

ADC10CTL1 = INCH_3; // input A3

ADC10AE0 |= 0x08; // PA.3 ADC option select

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit b[3]=ADC10MEM;

delay(2);

ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled ADC10CTL0 |= 0x0020;

ADC10CTL1 = INCH_0; // input A0

ADC10AE0 |= 0x01; // PA.0 ADC option select

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit b[0]=ADC10MEM;

delay(2);

ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled

ADC10CTL0 |= 0x0020;

ADC10CTL1 = INCH_5; // input A2

ADC10AE0 |= 0x20; // PA.2 ADC option select

ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit b[2]=ADC10MEM;

delay(2);

if(b[1]>b[3])

{

if(b[1]-b[3]>150)

{

CCR1=CCR1+i;

delay(300);

i=i+3;

}

}

if(b[3]>b[1])

{

if(b[3]-b[1]>150)

{

CCR1=CCR1-i;

delay(300);

i=i+3;

}

}

if(b[0]>b[2])

{

if(b[0]-b[2]>150)

{

CCR1=CCR1+j;

delay(300);

j=j+3;

}

}

if(b[2]>b[0])

{

if(b[2]-b[0]>150)

{

CCR1=CCR1-j;

delay(300);

j=j+3;

}

}


}

}


void pwm()

{

P1DIR|=BIT2;

P1SEL|=BIT2;

P1DIR|=BIT6;

P1SEL|=BIT6;

TACTL|= MC_1+TASSEL_2; CCTL1 = OUTMOD_7;

CCR0 = 20000;

CCR1 = 1000 ;

}

void delay(uint z)

{

uint i,j;

for(i=210;i>0;i--)

for(j=z;j>0;j--);

}

#pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) {

__bic_SR_register_on_exit(CPUOFF); }


// Clear CPUOFF bit from 0(SR)


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

使用道具 舉報

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

本版積分規(guī)則

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

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

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