Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This code is for MSP430G2231 translate it to MSP430G2553: #include msp430.h #define ADC_CHANNELS 2 unsigned int samples[ADC_CHANNELS]; #define LED1 BIT4 #define LED2 BIT6 #define SENSOR_LEFT

This code is for MSP430G2231 translate it to MSP430G2553: #include "msp430.h"

#define ADC_CHANNELS 2

unsigned int samples[ADC_CHANNELS];

#define LED1 BIT4

#define LED2 BIT6

#define SENSOR_LEFT BIT0

#define SENSOR_GND BIT2

#define SENSOR_RIGHT BIT1

#define SENSOR_GND1 BIT3

#define RED_LED LED1

#define GRN_LED LED2

void ConfigureAdc(void){

ADC10CTL1 = INCH_1 | ADC10DIV_0 | CONSEQ_3 | SHS_0;

ADC10CTL0 = SREF_0 | ADC10SHT_2 | MSC | ADC10ON | ADC10IE;

ADC10AE0 =SENSOR_LEFT + SENSOR_RIGHT ;

ADC10DTC1 = ADC_CHANNELS;

}

void main(void) {

WDTCTL = WDTPW | WDTHOLD;

BCSCTL1 = CALBC1_1MHZ;

DCOCTL = CALDCO_1MHZ;

BCSCTL2 &= ~(DIVS_3);

P1DIR = 0; /* set as inputs */

P1SEL = 0; /* set as digital I/Os */

P1OUT = 0; /* set resistors as pull-downs */

P1REN = 0xFF; /* enable pull-down resistors */

P2DIR = 0; /* set as inputs */

P2SEL = 0; /* set as digital I/Os */

P2OUT = 0; /* set resistors as pull-downs */

P2REN = 0xFF; /* enable pull-down resistors */

P1REN &= ~(LED1 | LED2); /* disable pull-up/downs */

P1DIR |= (LED1 | LED2); /* configure as oututs */

P1REN &= ~(SENSOR_GND |SENSOR_GND1); /* disable pull-up/down */

P1OUT &= ~(SENSOR_GND|SENSOR_GND); /* SENSOR_GND should be at GND */

P1DIR |= (SENSOR_GND |SENSOR_GND1); /* SENSOR_GND must be an output */

P1REN |= (SENSOR_LEFT|SENSOR_RIGHT); /* enable pull-up on SENSOR */

P1IN |= (SENSOR_LEFT|SENSOR_RIGHT); /* set resistor as pull-up */

ConfigureAdc();

__enable_interrupt();

while (1) {

__delay_cycles(1000);

ADC10CTL0 &= ~ENC;

while (ADC10CTL1 & BUSY);

ADC10SA = (unsigned int)samples;

ADC10CTL0 |= ENC + ADC10SC;

__bis_SR_register(CPUOFF + GIE);

if (samples[0] < samples[1]) {

P1OUT |=RED_LED;

P1OUT &= ~(GRN_LED);

} else if (samples[0] == samples[1]) {

P1OUT &= ~(RED_LED);

P1OUT &= ~(GRN_LED);

} else {

P1OUT |= GRN_LED;

P1OUT &= ~(RED_LED);

}

}

}

#pragma vector=ADC10_VECTOR

__interrupt void ADC10_ISR (void){

__bic_SR_register_on_exit(CPUOFF);

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions