本帖最后由 chi80929 于 2015-9-18 10:57 编辑
大家早,小弟自学msp430f169,
在练习下列这个实验,但我要亮的p1.0的led始终没反应,
却是开发版内建好的p6.0led在亮灭(我知道因为它和vr并连)。
想破头也不知道哪裡出错,导致p1.0没动作,
希望高手指导我哪裡有问题。小弟感激各位!
除了红笔框的,其他都是我自个儿接的。
/************************************************************************
单通道单次转换,选择AVcc为参考电压
检测P6.0引脚电压,如果小于0.5AVcc,
择点亮连接至P1.0的LED,否则LED灭 ~採用中断方式
*************************************************************************/
#include <msp430x16x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
ADC12CTL0 = SHT0_2 + ADC12ON; //设定採样时间,打开ADC12,n=4
ADC12CTL1 = SHP; //单通道单次转换,使用採样定时器,选择同相输入
//ADC12SC,ADC12内部CLOCK
ADC12IE = 0x01; //使能转换中断
ADC12CTL0 |= ENC; //使能转换器
P6SEL |= 0x01; //P6.0为A/D通道AD0
P1DIR |= 0x01; //P1.0 输出
while(1)
{
ADC12CTL0 |= ADC12SC; //开启採样
}
}
#pragma vector = ADC_VECTOR
__interrupt void ADC12_deal (void)
{
if(ADC12MEM0 < 0x7FF)
P1OUT &= ~0x01; //清0 P1.0 LED亮
else
P1OUT |= 0x01; //置1 P1.0 LED灭
}
此帖出自
小平头技术问答
我电路检查过是没问题的,我现在在查看到底ad转换的程序是哪裡没弄好
好的我再试试,有进展或有问题再通知各位大神,谢谢!
一周热门 更多>