打印

AD转换难题

[复制链接]
2826|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizye|  楼主 | 2011-6-17 11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
五谷道场| | 2011-6-17 11:23 | 只看该作者
程序能发出来看看吗

使用特权

评论回复
板凳
lizye|  楼主 | 2011-6-17 11:25 | 只看该作者
#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
}

使用特权

评论回复
地板
lizye|  楼主 | 2011-6-17 11:39 | 只看该作者
编程器下载到芯片后,接上一氧化碳传感器,数码管没有反应

使用特权

评论回复
5
shimx| | 2011-6-17 11:44 | 只看该作者
看不懂,帮顶

使用特权

评论回复
6
永远的不知| | 2011-6-17 12:51 | 只看该作者
4# lizye
这个没反应不代表是程序没跑起来,您用仿真器仿真一下,看看问题出在哪?
建议先按功能调试程序,比如先调显示,如果显示正确了,再调AD采样,将采到的数据显示出来。

使用特权

评论回复
7
sl_168| | 2011-6-17 13:32 | 只看该作者
没有反应说明AD数据为0

使用特权

评论回复
8
Peter_zb| | 2011-6-17 18:17 | 只看该作者
建议你一个模块一个模块进行调试

使用特权

评论回复
9
123jj| | 2011-6-18 08:17 | 只看该作者
程序死循环

使用特权

评论回复
10
邪恶猛男| | 2011-6-18 08:22 | 只看该作者
一句二句说不清楚程序的问题,女人可以让你有灵感

使用特权

评论回复
11
jiabin1024| | 2011-6-18 12:32 | 只看该作者
输入口接一个一氧化碳传感器(CO/AF 1100型号) ,输出是什么信号,若是电压你可以在改口输入一个电压看看有没有反应,若是没有那么说明你的程序是有问题的

使用特权

评论回复
12
just_soso| | 2011-6-18 15:43 | 只看该作者
你这个问题太笼统了,没反应可能出在很多环节,要一个一个模块调试,然后定位到可能出问题的模块

使用特权

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

本版积分规则

852

主题

9757

帖子

2

粉丝