📄 main.c
字号:
#include <msp430x14x.h>
void Init(void);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
Init();
P1DIR |= 0x01; // P1.0 output
_EINT();
for (;;)
{
ADC12CTL0 |= ADC12SC; // 启动第一次转换
_BIS_SR(CPUOFF + GIE); // LPM0, ADC12_ISR will force exit
}
}
// ADC12 interrupt service routine
#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR (void)
{
if (ADC12MEM0 < 0x7FF)
P1OUT &= ~0x01; // Clear P1.0
else
P1OUT |= 0x01; // Set P1.0
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
//ADC12初始化
void Init(void)
{
ADC12CTL0&=~ENC; //在改变设置前停止A/D转换
P6SEL |= 0x01; // P6.0为ADC option select
ADC12CTL0=0x0210;
ADC12CTL1=0x0200;
//转换结果寄存器设置
ADC12MCTL0=0x00; //输入通道为A0
ADC12IE=0x0001; //A0转换结束允许中断
ADC12CTL0|=ENC; //允许转换
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -