#include #include "lcd.h" #include "delay.h" signed int sample; const float A = 0.061; void main(void) { // clock config WDTCTL = WDTPW + WDTHOLD; // Stop WDT // set up Basic Timer IE2 |= BTIE; // Enable BT interrupt BTCTL = BT_ADLY_2000 | BT_fLCD_DIV256; // 128 Hz LCD, 2s Interrupt // set up ADC ADC12IE |= 0x0040; // Enable ADC6 interrupt ADC12CTL0 = ADC12ON + REF2_5V + REFON; // Aref = 2.5V, Aref on ADC12CTL1 = CSTARTADD_6 + ADC12SSEL_1 + SHP; // ADCCLK = ACLK, pulse mode; ADC12MCTL6 = SREF_1 + INCH_6; // Select sixth reg, Aref on, Aref = Vref+,Avss ADC12CTL0 |= ENC ; //set port pins //set P6.6/A6 as input P6SEL |= BIT6; //select adc function //call lcd func setupLCD(); // Enable interrupts and go to sleep forever _EINT(); // Enable interrupts // _BIS_SR(LPM3_bits); // Enter LPM4 while(1); // NOP } // Basic Timer interrupt service routine interrupt[BASICTIMER_VECTOR] void basic_timer(void) { ADC12CTL0 |= ADC12SC; // start conversion } // ADC interrupt service routine interrupt[ADC_VECTOR] void adc(void) { sample = ADC12MEM6; sample = sample * A; lcd_word(sample,2); }