msp430g2553有8个外部通道可以输入,下面将完成3路输入控制3个LED亮灭的程序。
寄存器说明
msp430g2553的ADC10寄存器
代码说明
在熟悉adc10的几个寄存器后,来看代码
1、ADC10CTL1 = INCH_5+CONSEQ_1;控制寄存器设置了最高的通道和转换模式。
2、ADC10AE0|= BIT5+BIT4+BIT3;输入使能寄存器设置了要输入的引脚。
3、采样次数和存放位置:
ADC10DTC1 = 0x03;设置采样次数
unsigned int a[]={0};
ADC10SA = (unsigned int)a; 存放地址
若p1.5,p1.4,p1.3输入,采样3次,通道序列单次(转换模式)
则a[0]存放p1.5采样结果,则a[1]存放p1.4采样结果,则a[2]存放p1.3采样结果
若p1.5,p1.4,p1.3输入,采样6次,通道序重复(转换模式)
则a[0]存放p1.5采样结果,则a[1]存放p1.4采样结果,则a[2]存放p1.3采样结果
则a[3]存放p1.5采样结果,则a[4]存放p1.4采样结果,则a[5]存放p1.3采样结果
eg:4通道4次重复采样
unsigned int adc[4];
unsigned int adc_temp[16];
for(i=0;i<4;i++)
adc[i]=(adc_temp[i]+adc_temp[i+4]+adc_temp[i+8]+adc_temp[i+12])>>2;除4
#include <msp430.h>
unsigned int a[]={
0};
int main(