打印

MSP430 AD转换程序难题

[复制链接]
3072|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renchaoang|  楼主 | 2009-12-28 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我需要利用MSP430F做一个AD转换程序,利用P6.1,作为输入,输入口接一个一氧化碳传感器(CO/AF 1100型号),可是程序写好了怎么也跑不起来,这是我编写的程序,高人指点一下,编程器下载到芯片后,接上一氧化碳传感器,数码管没有反应
#include "msp430x44x.h"
unsigned char led_Buf[4]={0,0,0,0};
unsigned char ADCresult[];
unsigned char LED_IN_USE;
const unsigned char NUM_LED[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//1,2,3,4,.........F
void delay(int v)
{
while(v!=0)v--;
}
void init_weixuan()
{
P2DIR=0xf0;////位码选择,用P1.5-P1.7控制四位数码管
P2OUT=0x00;
}
void init_LED()
{P5DIR=0xff; //P5口连接数码管
P5OUT=0x00;
}
void led_Display()
{
P2OUT=0xb0;//选通第一位
P5OUT=NUM_LED[led_Buf[0]];//
delay(900);//
P5OUT=0x00;//

P2OUT=0xd0;//选通第二位
P5OUT=NUM_LED[led_Buf[1]];//
delay(900);//
P5OUT=0x00;//

P2OUT=0xe0;//选通第三位
P5OUT=NUM_LED[led_Buf[3]];
delay(900);
P5OUT=0x00;

P2OUT=0x70;//选通第四位
P5OUT=NUM_LED[led_Buf[3]];
delay(900);
P5OUT=0x00;
}


void main(void)
{
unsigned int i;

P6SEL = 0x02;
WDTCTL = WDTPW+WDTHOLD; // 停止看门狗定时器
ADC12CTL0 = ADC12ON+REFON+REF2_5V+MSC+SHT0_6; // 设置 ADC12, 参考电压,采样时间
ADC12CTL1 = SHP+ CONSEQ_2; // 用采样定时器
ADC12MCTL0 = INCH_0+SREF_1; // 选择通道 A10, Vref+
ADC12IE = 0x01; // 使能ADC12IFG.0
init_weixuan();
init_LED();
for (i=0; i<0x3; i++) //延时等待参考稳定
{
}

ADC12CTL0 |= ENC; //使能转换
_EINT(); // 使能中断

while(1)
{
ADC12CTL0 |= ADC12SC; // 开始转换
_BIS_SR(LPM0_bits);
P1OUT=BIT0+BIT1; // 进入LPM0
//
_NOP();
}

}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{int i=0,tmp=0;
int ADC_Sum=0;
ADCresult = ADC12MEM0;
for(i=0;i<16;i++)

{ADC_Sum +=ADCresult ;
i++;
} // 读取结果
ADC_Sum>>=4;
for(tmp=0;tmp<4;tmp++)
{
led_Buf[tmp]=ADC_Sum%10;
ADC_Sum=ADC_Sum/10;
}

led_Display();
_BIC_SR_IRQ(LPM0_bits); // 清 LPM0
}

相关帖子

沙发
love4429829| | 2010-1-18 08:51 | 只看该作者
学习学习

使用特权

评论回复
板凳
朱丽叶的玫瑰花| | 2013-1-25 20:24 | 只看该作者
ADC12MCTL0 = INCH_0+SREF_1; // 选择通道 A10, Vref+.你选择的是A0通道

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝