📄 adc12内部模块演示程序之外部输入.c
字号:
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_03.C]
////ADC12, Sample A6, Set P1.0 if A6 nearly equal AVcc
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - ADC12内部模块演示程序之外部输入
//时钟设置:
////ACLK = N/A,MCLK = SMCLK = default(DCO~800k)
//当前演示程序功能描述:
////利用MSP430F14X的AD6,采集通道6(P66)输入,以AVCC作为参考电压进行AD转换
////当输入电压接近AVCC时,P10连接的LED点亮
/*********************************************************/
#include <msp430x14x.h>
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
ADC12CTL0 = SHT0_8 + ADC12ON; //设置采样保持定时器
ADC12CTL1 = SHP; //使用采样定时器
ADC12IE = BIT1; //允许中断
ADC12CTL0 |= ENC; //允许进行AD转换
P6SEL |= BIT6; //选择端口第二功能
P1DIR |= BIT0; //设置LED控制端口(低电平时LED点亮)
P1OUT |= BIT0; //初始化高电平
while(1) {
ADC12CTL0 |= ADC12SC; //允许采样,启动转换
_BIS_SR(GIE); //允许系统中断
}
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR (void) {
if (ADC12MEM0 > 0x0FF0)
P1OUT &= ~BIT0; //接近AVCC,点量LED
else
P1OUT |= 0x01; //关闭LED
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -