历史上的今天
今天是:2025年01月30日(星期四)
2018年01月30日 | ADC10 测量单通道多次模式
2018-01-30 来源:eefocus
volatile unsigned int ad_value[10];
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_1MHz; //设定DCO 为1MHZ
DCOCTL =CALBC1_1MHZ;
//时钟源选AD 内部时钟并4 分频,选通道10,AD 启动信号来源选TA.OUT1,选单通道连续采样
ADC10CTL1=ADC10DIV_3+INCH_10+SHS_1+CONSEQ_2;
//选1.5V 为正向参考,地为负参考,AD 中断使能,打开参考,启动AD 模块(不是启动AD 转换)
ADC10CTL0=SREF_1+ADC10SHT_3+ADC10IE+REFON+ADC10ON;
TACCR0=30; //延时等待参考稳定
TACCTL0 |=CCIE; //CCR0 中断使能
TACTL=TACLR+MC_1+TASSEL_2; //TA 增计数,时钟源为smclk
_BIS_SR(LPM0_bits+GIE); //进入低功耗0,使能总中断,等待参考稳定
TACCTL0 &=~CCIE; //CCR0 中断禁止
_BIC_SR(GIE); //关总中断
ADC10CTL0 |=ENC; //AD 转换使能
TACCTL1=OUTMOD_4; //CCR1 选输出模式4,当TAR=0 时,输出高电平
TACTL =TASSEL_2+MC_2; //TA 改为连续计数,smclk 时钟源
_BIS_SR(LPM0_bits+GIE); //进入低功耗0,使能总中断,等待10AD 完成
_NOP();
return 0;
}
#pragma vector = TIMERA0_VECTOR //TA0 中断服务,用来参考稳定
__interrupt void ta0_isr(void)
{
TACTL=0; //关TA
_BIC_SR_IRQ(LPM0_bits); //退出低功耗
}
#pragma vector = ADC10_VECTOR //ADC10 中断服务
__interrupt void adc_isr(void)
{
static char i=0;
ad_value[i]=ADC10MEM; //保存AD 结果
i++;
if(i==10) //作10 次AD
_BIC_SR_IRQ(LPM0_bits+GIE); //退出低功耗
}
史海拾趣
|
对射频技术感兴趣的同学,不妨到矿石收音机论坛去看看,特别是里面的矿石机专栏。在那里有许多退休或即将退休的老人,其中有的人的本职工作是微波电路设计,但是在矿坛里确实玩性正浓。他们对矿石收音机的研究,恐怕我们是想像不到的。 一个线圈, ...… 查看全部问答> |
|
目录: 第一章 波导理论的数学 第二章 基本电磁理论 第三章 传输线 第四章 波导的基础理论 第五章 空腔谐振器 第六章 摄动论及其应用 第七章 不均匀和各向异性的波导 第八章 变分理论及其应用 第九章 不均一的波导 详细信息: 书籍作 ...… 查看全部问答> |
|
有谁做过WinCE+ep93xx的GPIO中断没有?急呀!!!!!!! 现在在做一个GPIO的中断,使用流驱动 平台:WinCE5.0 + ep93xx芯片 通过超级终端输出串口调试信息发现,现在出现了这样一个现象: 系统启动的时候,系统多次进入IST线程,并通过了WaitingForSingleObject()函数, 但是当拨动GPIO口处的开关时, ...… 查看全部问答> |
|
LED路灯是LED照明中一个很重要应用。在节能省电的前提下,LED路灯取代传统路灯的趋势越来越明显。市面上,LED路灯电源的设计有很多种。早期的设计比较重视低成本的追求;到近期,共识渐渐形成,高效率及高可 ...… 查看全部问答> |
|
作者:Xavier Ramus 德州仪器 由于寄生或环路增益问题,在处理高速放大器时,经常会出现烦人的振荡。我们可以预测振荡的频率范围,但无法锁定特定频率。那么,如何创建具有特定频率的振荡器呢?创建方法多种多样。很多振荡器电路都基于 ...… 查看全部问答> |
|
头文件是不是应该都放在工程目录下?就是整个工程是有一个文件夹,然后头文件都在这个文件夹下。或者说可不可以在工程文件夹下新建一个文件夹,把所有头文件放在这个新建文件夹里? … 查看全部问答> |




