学习了楼主的程序,顺便把英文注释给改了,本人英语很菜,有不对的地方欢迎大家指正,我也是刚接触430不久,有理解不对的地方还请高手指教。 PS:我看宏定义里ADC10SHT_2是16 × ADC10CLKs,楼主的注释是 8 x ADC10CLKs,不知是否,楼主看一下。
#include "msp430g2452.h"
void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关看门狗 ADC10CTL0 = ADC10SHT_2 + ADC10ON+ ADC10IE; // 16 × ADC10CLKs转换时钟选择+开启ADC10+使能ADC10中断 ADC10CTL1 = INCH_1; // 选择A1作为ADC10输入 ADC10AE0 |= 0x02; // 使能输入通道 P1DIR |= 0x01; // 设置P1.0口为输出
for (;;) // 死循环(跟while(1)作用相同) { ADC10CTL0 |= ENC + ADC10SC; // 使能ADC+开始采样 if (ADC10MEM < 0x1FF) // 采样值与设定值比较 P1OUT &= ~0x01; // P1.0 LED 灭 else P1OUT |= 0x01; // P1.0 LED 亮 } }
// ADC10 中断服务程序 #pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) { }
[ 本帖最后由 leekuip 于 2011-10-27 16:23 编辑 ] |