📄 adc12.c
字号:
/************************************************
*这里是AD转换的模块,转换频率由TimerA1来控制:0.4ms
*参考电压还需要自行设定,结果保存在全局变量result中
************************************************/
#include<msp430x14x.h>
extern int result;
void ADC12_Init(void)
{
P6SEL = 0x01; //P6引脚可以作8个模拟信号的输入引脚
//应该是使用提供的标准电压的,因为0.8v降低标准电压可以
//提高转换的精度的,这里先使用标准电压来测试
ADC12CTL0=ADC12ON+REFON+REF2_5V;//启用内部的参考电压2.5V
//感谢上帝,使用定时器指定的采样频率是可以工作的 :-)
ADC12CTL1=SHS_1+SHP+CONSEQ_2; //CONSEQ_2采用单通道多次转换
//今后使用自定义的标准电压要改变的
ADC12MCTL0=SREF_0; //0-3.3V的范围 Vcc-Vss
ADC12MCTL0=INCH_0; //选择模拟输入通道
ADC12IE|=BIT0; //允许转换中断
ADC12CTL0|=ENC+ADC12SC; //开始转换
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12Ctl(void)
{
//是否需要关闭打开采样?不用也可以
// ADC12CTL0&=~ENC; //关闭转换
result=ADC12MEM0; //保存结果
Lcd_Show(); //显式转换结果
//store //保存转换结果
// ADC12CTL0|=ENC+ADC12SC;//使能再次转换
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -