/***********************内部基准电压 2.5V*****************************/ #include "msp430g2553.h" char a[6] =""; int da; int j ; double c,data; void delay(int t) { int s=500; for(;t>0;t--) { for(;s>0;s--) { ;; } } } void write_com(char com) { P1OUT&=~ (1<<3);//rS=0; P1OUT&=~ (1<<4);//RW=0; P1OUT&=~ (1<<5);//en=0; P1OUT&=~ (1<<1);// delay(8); P2OUT=com; delay(8); P1OUT|=(1<<5);//en=1; delay(8); P1OUT&=~ (1<<5);//en=0; } void write_data(char dt) { P1OUT|=(1<<3);//rs=1; P1OUT&=~ (1<<4);//rw=0; P1OUT&=~ (1<<5);//en=0; delay(8); P2OUT=dt; delay(8); P1OUT|=(1<<5);//en=1; delay(8); P1OUT&=~ (1<<5);//en=0; } void initial_lcd(void) { delay(20); write_com(0x38); delay(15); write_com(0x0c); delay(15); write_com(0x06); delay(15); write_com(0x01) ; } void LCD_Disp(char x,char y,char *character) { char xtemp; switch(x) { case 0:xtemp=0x80+y;break; case 1:xtemp=0xc0+y;break; default:break; } write_com(xtemp); while(*character!=0) { write_data(*character); character++; } } void main(void) { char *pa; pa=a; WDTCTL = WDTPW + WDTHOLD; // Stop WDT P2SEL=0x00; P2DIR |= 0xff; // Set P1.0 to output direction P1DIR |= 0x38; initial_lcd(); //LCD 初始化 ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON + ADC10IE + REF2_5V;//SREF_1+REFON +REF2_5V 表示使用内部参考电压 2.5v __enable_interrupt(); // Enable interrupts. TACCR0 = 30; // Delay to allow Ref to settle TACCTL0 |= CCIE; // Compare-mode interrupt. TACTL = TASSEL_2 | MC_1; // TACLK = SMCLK, Up mode. LPM0; // Wait for delay. TACCTL0 &= ~ CCIE; // Disable timer Interrupt __disable_interrupt(); ADC10CTL1 = INCH_1; // input A1 ADC10AE0 |= 0x02; // PA.1 ADC option select for (;;) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exi da = ADC...