如何將引腳A0輸入改為A5輸入?還有就是如何將2.5V改為最大測(cè)量5V,這是做簡(jiǎn)易數(shù)字電壓表
#include <msp430x24x.h>unsigned char led[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//共陽(yáng)極數(shù)碼管char position[4]={0x08,0x04,0x02,0x01};unsigned char led_buf[] = {0,0,0,0,0}; //顯示緩沖區(qū)long data;void data_to_buf(void) // 值送顯示緩沖區(qū)函數(shù) { char i; for (i=0;i<4;i++) { led_buf[ i] = data%10; data=data/10; } }void disp(void) // 掃描顯示函數(shù) { char i; unsigned int k; for(i=0;i<4;i++) { P4OUT = led[led_buf[ i]]; P5OUT = position[ i]; if(i==3) P4OUT &=0X7F; //小數(shù)點(diǎn) for ( k=0; k<600; k++){} // 延時(shí) P5OUT = 0X00; //關(guān)顯示 } }void main(void){ volatile unsigned int i; P2SEL = 0xFF; //P2DIR=0XFF; WDTCTL = WDTPW+WDTHOLD; // 停止看門狗 P4DIR=0xFF; //設(shè)置P4口為輸出 P5DIR=0xFF; //設(shè)置P5口為輸出 P6SEL |=0x01; // IO口設(shè)置為AD功能 ADC12CTL0 = ADC12ON+REFON+REF2_5V; // ADC12工作,使用內(nèi)部參考電壓2.5v ADC12CTL1 = SHP; // 使用采樣定時(shí)器 ADC12MCTL0 = SREF_1; // Vr+=Vref+,Vr-=AVss,選擇A0通道 for ( i=0; i<0x3600; i++) {} // 延時(shí)等待參考電壓建立 ADC12CTL0 |= ENC; // 允許轉(zhuǎn)換 while (1) { ADC12CTL0 |= ADC12SC; // 啟動(dòng)轉(zhuǎn)換 while ((ADC12IFG & BIT0)==0); //查詢方式,等待轉(zhuǎn)換結(jié)束 data=ADC12MEM0*(long)2500/4096; /*data=(long)ADC12MEM0*25; data=data*10; data=data*10; data=data/4096;*/ data_to_buf(); //數(shù)據(jù)送顯示緩沖區(qū) disp(); // 顯示程序 }}
|