历史上的今天
今天是:2025年02月01日(星期六)
2021年02月01日 | msp430g2553的ADC10多通道输入
2021-02-01 来源:eefocus
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 unsigned int a[]={0}; int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC10CTL1 = INCH_5+CONSEQ_1; // A5/A4, single sequence ADC10CTL0 = ADC10SHT_1 + MSC + ADC10ON +ADC10IE; ADC10DTC1 = 0x03; // 2 conversions ADC10AE0|= BIT5+BIT4+BIT3; // P1.3,2,1 ADC10 option select P1DIR |= BIT0+BIT1+BIT2; // Set P1.0 output for(;;) { ADC10CTL0 &= ~ENC; ADC10SA = (unsigned int)a; // Data buffer start while (ADC10CTL1 & ADC10BUSY); // Wait if ADC10 core is active ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start if (a[0] < 0x1FF) P1OUT &= ~0x01; // Clear P1.0 LED off else P1OUT |= 0x01; // Set P1.0 LED on if (a[1] < 0x1FF) P1OUT &= ~BIT1; // Clear P1.1 LED off else P1OUT |= BIT1; // Set P1.1 LED on if (a[2] < 0x1FF) P1OUT &= ~BIT2; // Clear P1.2 LED off else P1OUT |= BIT2; // Set P1.2 LED on } } // ADC10 interrupt service routine #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(ADC10_VECTOR))) ADC10_ISR (void) #else #error Compiler not supported! #endif { }
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 这个貌似是2010年英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛的官方网站 ,http://nuedc.sjtu.edu.cn/ 大家可以去这里了解一下大致状况,遇到问题,欢迎来坛子询问与讨论。 … 查看全部问答> |
|
EEWORLD大学堂上线了两门新的DSP课程:《多核DSP软件开发套件》、《多核DSP设计》 为了加速客户对Keystone DSP的开发使用,TI提供了相关的软件集成开发环境CCS,及硬件评估板EVM;并免费提供一套综合的多核软件开发包 ...… 查看全部问答> |
|
上篇提交以后,网友提醒精度较低。想了想,这千分之几的误差的确有点大,基本到第3位有效数字就不准了。考虑了两个方面,一个是程序中定时器开启并非同时,第二个,一直没有怀疑过内部晶振的精度。因此做了两方面改进。一个是把tau_start的两个ch启 ...… 查看全部问答> |
|
【Nucleo心得】STM32L053 Nucleo直播学习——初探 这块板子虽然不是我的第一块开发板,但是却是我第一个下决心要玩透的一块。之前看介绍时就看的心里痒痒的,终于有机会了立马下手,盼了好久终于盼来了…… 我在这里每晚会抽出一些时间来学习这块板子并坚持持续更新我的学习历程。先说一下我的情况 ...… 查看全部问答> |




