MSP430程序库(十)ADC12模块

MSP430程序库(十)ADC12模块

ID:36855190

大小:447.99 KB

页数:5页

时间:2019-05-16

MSP430程序库(十)ADC12模块_第1页
MSP430程序库(十)ADC12模块_第2页
MSP430程序库(十)ADC12模块_第3页
MSP430程序库(十)ADC12模块_第4页
MSP430程序库(十)ADC12模块_第5页
资源描述:

《MSP430程序库(十)ADC12模块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSP430程序库<十>ADC12模块msp430内部含有ADC12模块,可以完成12位的模数转换,当对精度或其他指标要求不高时,可以选用430单片机内部的ADC12完成模数转换工作。这里主要实现了一个比较通用的ADC12模块初始化程序,具体的数据存储和处理需要自己在中断处理函数中添加。1.硬件介绍:msp430单片机内的ADC12模块的特点如下:12位转换精度,1位非线形误差,1位非线形积分误差;多种时钟源给ADC12模块,切本身自带时钟发生器;内置温度传感器;TimerA/TimerB硬件触发器;8路外部通道和4路内部通道;内置参考电压源和6种参考电压组合;4种模式

2、的模数转换;16bit的转换缓存;ADC12关闭支持超低功耗;采用速度快,最高200Kbps;自动扫描和DMA使能。430内部的ADC12功能还是蛮强大的,可以有定时器触发模数转换开始,还可以和内部的DMA模块共同使用,完成高速的采样转储等高级功能。这个AD的转化公式如下,可以根据它计算采样的模拟电压值:使用AD是还要注意采样时间,430单片机的模数ADC12模块的等效模拟电压输入电路如下:其中VS是信号源电压,RS是信号源内阻,VI在Ax(ADC12模块模拟输入端)上的电压,RI单片机内多路开关等效电阻,VC是保持电容上的电压(ADC12模块采样的电压),CI是电容的

3、值。需要根据这些值计算采样时间:代入单片机上的参数后公式如下:我的程序中采样时间设的是4us,可以算出如果用我的程序(不更改采样时间)的话,最大信号源内阻可以是6.8k,当信号源内阻更大时,可以自己按要求设采样时间(在程序的初始化函数内的寄存器设置部分)。还有,ADC模数转换时要求参考电压等很稳定,为了达到这个要求,德州仪器要求这部分的电路如下:即:所有参考源和电源均并联一组0.1uF和10uF的电容。硬件部分就说这么多了;如果需要更详细的说明,参考用户指南。2.程序实现:程序主要实现的是一个比较通用的初始化程序,内容如下:charADC12Init(charn,cha

4、rchannels[],charrep){if(n>15)return0;//SHT0_0ADC12CTL0=ADC12ON+MSC+SHT0_0+REFON+REF2_5V;//开启ad,参考电压2.5vADC12CTL1=SHP+ADC12SSEL_3;//Usesamplingtimer,SMCLKfor(inti=0;i=0x80)return0;*(char*)(ADC12MCTL0_+i)=channels[i];//每个MCTL设置}*(char*)(ADC12MCTL0_+n-1)

5、=EOS;//序列结束if

6、(rep!=0)//多次转换{ADC12CTL1

7、=CONSEQ_3;}else{ADC12CTL1

8、=CONSEQ_1;}ADC12IE=1<<(n-1);//EnableADC12IFG.n-1return1;}程序先判断n通道总数是否超过了可用的个数,超过则返回零然后设置ADC12CTL0和ADC12CTL1中不需要特殊设置的部分,然后在设置通道模式(根据rep参数的值);for循环设置的是每个存储寄存器的设置ADC12MCTLx;*(char*)(ADC12MCTL0_+n-1)

9、=EOS;//序列结束这句加入序列结束标志;最后设置中断寄存器并返回成功设置标志。

10、其中比较特殊的是ADC12MCTL0_,这个是430提供的头文件中定义的ADC12MCTL0的地址值,以其为指针首址操作ADCMCTLx寄存器,从而利用循环设置寄存器的内容,大量减少了代码行数。参数channels[]是每个存储寄存器的设置(除EOS位之外的),含义如下:channels[]:对应通道设置,高四位,参考源选择;低四位,通道选择。具体如下:SREFxBits6-4Selectreference000VR+=AVCCandVR.=AVSS001VR+=VREF+andVR.=AVSS010VR+=VeREF+andVR.=AVSS011VR+=VeREF+a

11、ndVR.=AVSS100VR+=AVCCandVR.=VREF./VeREF.101VR+=VREF+andVR.=VREF./VeREF.110VR+=VeREF+andVR.=VREF./VeREF.111VR+=VeREF+andVR.=VREF./VeREF.INCHxBits3-0Inputchannelselect0000A00001A10010A20011A30100A40101A50110A60111A71000VeREF+1001VREF./VeREF.1010Temperaturesensor1011(AVCC–AV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。