msp430定时器捕获ADC10-捕获的方式怎样配置

msp430 ADC参考电压问题_百度知道
msp430 ADC参考电压问题
ADC12CTL1|=SHP;ADC12CTL0|=SHT0_8;这样初始化有问题吗,ADC12MEM0寄存器内是0XFFFADC12CTL0=REF2_5V+REFON,但是采集稍大于3。是不是我附参考电压的写法不对,感觉参考电压是3.3V即供电电压时.5V.3V而不是2,然后采集稍大于2.5V的参考电压,ADC12MEM0寄存器中的值却不是0XFFF;ADC12CTL1|=CONSEQ_2.5V电压;ADC12CTL0|=ADC12ON;ADC12CTL0|=MSC?为什么我给ADC附内部2?谁能指导指导
adc的参考电压是对ADC12MCTL0进行赋值没有定义就默认3.3V
我有更好的答案
Have a try.。初始化第一条 就是IO第2 功能,ADC12CTL0中的ENC必须先清零,不然你设置了白设,才可以去设置别的寄存器记得没错的话,紧接着就是
ADC12CTL0 &=~ ENC
dsuiawlfhalfhlag冬瓜
其他类似问题
为您推荐:
您可能关注的推广
参考电压的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁君,已阅读到文档的结尾了呢~~
msp430g2553的ADC10且1602显示..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
msp430g2553的ADC10且1602显示程序
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口5294人阅读
电子设计(7)
msp430(7)
欢迎访问我的个人网站:
几个术语:
a)&&&&&&&&分辨率(LSB):表示输出数字量变化一个相邻数码所需要输入模拟电压的变化量,它定义为转换器的满刻度电压与2的n次幂,其中n为ADC的位数。
b)&&&&&&&&量化误差:由于有限数字对模拟值进行离散取值(量化)而引起的误差。因此,量化误差理论上为一个单位分辨率。即正负1\2LSB。
c)&&&&&&&&转换精度:反应实际的ADC模块在量化上与理想的ADC模块进行模数转换的差值。
d)&&&&&&&&转换时间:指ADC完成一次模/数转换所需要的时间。
2.&&&&&&结构:&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
3.&&&&&&参考电压发生器:
a)&&&&&&&&指需要的基准信号,通常为电压基准。MSP430 ADC12内置参考电源,有6种可编程选择。
b)&&&&&&&&模拟多路器:当多个模拟信号进行采样并进行A/D转换时,为了公用一个转换内核,模拟多路需要分时地将多个模拟信号连通,每次连通一个信号采样并转换。
c)&&&&&&&&MSP430 ADC12配置有8路外部通道和4路内部通道,通过A0~A7实现外部8路模拟信号输入,4路内部通道可以将多个基准电压和内部温度传感器的输出作为待转换模拟输入信号。
d)&&&&&&&&具有采样与保持功能的12转化器内核:ADC12内核是一个12位的模数转换器,并能够将结果存放在转换器存储器中。该内核使用两个可编程的参考电压(Vr+和Vr-)定义转换的最大值和最小值。公式为:Nadc = 4095 * (Vin - Vr)/(Vr+ -Vr)
e)&&&&&&&&采样转换所需的时序控制电路:提供采样及转换所需要的各种信号:ADC12CLK转换时钟,SAMPCON采样及转换信号、SHT控制的采样周期、SHS控制的采样触发来源选择、ADC12SSEL选择的内核时钟源及AC12DIV选择的分频系数。
4.&&&&&&ADC12寄存器:
a)&&&&&&&&转换控制寄存器ADC12CTL0
&&&&&&&&&&&&&&&&&&&&&&&&i.&&&&&&&&&&&&&ADC12SC采样/转换控制位:当ENC =1,ISSH = 0且SHP = 1时,ADC12SC由0到1启动A/D转换,A/D转换完成后ADC12SC自动复位,当SHP = 0时,ADC12SC保持高电平采样,ADC12SC复位时启动一次转换。
&&&&&&&&&&&&&&&&&&&&&&ii.&&&&&&&&&&&&&ENC转换允许位:0为初始状态,不能启动A/D转换;1为首次转换由SAMPCON上升沿启动。
&&&&&&&&&&&&&&&&&&&&&iii.&&&&&&&&&&&&&ADC12TIVE转换时间溢出中断允许位:0:为没发生转换时间溢出,1为发生转换时间溢出。
&&&&&&&&&&&&&&&&&&&&&iv.&&&&&&&&&&&&&ADC12OVIE溢出中断允许位:0为没有发生溢出,1为发生溢出。
&&&&&&&&&&&&&&&&&&&&&&v.&&&&&&&&&&&&&ADC12ON:ADC12内核控制位:0为关闭ADC12内核,1为打开。
&&&&&&&&&&&&&&&&&&&&&vi.&&&&&&&&&&&&&REFON:参考电压控制位,0为内部参考电压发生器关闭,1为内部参考电压发生器打开。
&&&&&&&&&&&&&&&&&&&vii.&&&&&&&&&&&&&2.5V内部参考电压的电压值选择位:0为选择1.5V,1为选择2.5V。
&&&&&&&&&&&&&&&&&&viii.&&&&&&&&&&&&&MSC多次采样/转换位:只有当SHP =1时才有效,0为每次转换需要SHI信号的上升沿触发采样定时器,1为仅首次转换由SHI信号的上升沿触发采样定时器,而后采样转换将在前一次转换完成后立即进行。
&&&&&&&&&&&&&&&&&&&&&ix.&&&&&&&&&&&&&SHT1/SHT0采样保持定时器:定义了保存在转换结果寄存器ADC12MEM8_ADC12MEM15和ADC12MEM0~ADC12MEM7中的转换采样时序与采样时钟ADC12CLK的关系,采样周期时ADC12CLK周期乘4的n倍。N为2的SHITx次幂。
b)&&&&&&&&转换控制寄存器ADC12CTL1
&&&&&&&&&&&&&&&&&&&&&&&&i.&&&&&&&&&&&&&CSStartAdd转换存储地址位,可以定义单次转换地址或序列转换的首地址。
&&&&&&&&&&&&&&&&&&&&&&ii.&&&&&&&&&&&&&SHS采样输入触发源选择:0为ADC12SC,1为Timer_A.OUT1,2为Timer_B.OUT0,3为Timer_B.OUT1。
&&&&&&&&&&&&&&&&&&&&&iii.&&&&&&&&&&&&&SHP采样信号(SAMPCON)选择控制位:0为信号源来自采样触发输入信号,1为信号源来自采样定时器,由采样输入信号的上升沿触发采样定时器。
&&&&&&&&&&&&&&&&&&&&&iv.&&&&&&&&&&&&&ISSH采样输入信号方向控制位:0为采样输入信号为同向输入,1为反向。
&&&&&&&&&&&&&&&&&&&&&&v.&&&&&&&&&&&&&ADC12DIV:ADC12时钟源分频因子选择为。
&&&&&&&&&&&&&&&&&&&&&vi.&&&&&&&&&&&&&ADC12SSEL ADC12内核时钟源选择:0为ADC12内部时钟源ADC12OSC(默认)为1为ACLK,为2为MCLK,为3为SMCLK。
&&&&&&&&&&&&&&&&&&&vii.&&&&&&&&&&&&&CONSEQ转换模式选择位:0为单通道单次转换模式,1为序列通道单次转换模式,2为序列通道多次转换模式,3为序列通道多次转换模式。
&&&&&&&&&&&&&&&&&&viii.&&&&&&&&&&&&&ADC12BUSY ADC12忙标志位:0表示没有活动,1表示忙。
c)&&&&&&&&ADC12MEM0~ADC12MEM15转换存储寄存器:16位寄存器,用来存放A/D转换结果,只用其中低12位。
d)&&&&&&&&ADC12MCTLx转换存储器控制寄存器:
&&&&&&&&&&&&&&&&&&&&&&&&i.&&&&&&&&&&&&&EOS:序列结束控制位:0为序列没有结束,1为结束。
&&&&&&&&&&&&&&&&&&&&&&ii.&&&&&&&&&&&&&Sref参考电压源选择位: & & & & & & & & & & & & & & & & & & & & & &&
&&&&&&&&&&&&&&&&&&&&&iii.&&&&&&&&&&&&&INCH选择模拟输入通道:该4位表示的二进制数为所选的模拟输入通道:
e)&&&&&&&&ADC12IFG中断标志寄存器:ADC12IFGx置位表示转换结束,并且转换结果已经装入转换存储寄存器;ADC12IFGx复位表示ADC12MEMx被访问。
f)&&&&&&&&&ADC12IE中断使能寄存器:1为允许响应的ADC12IFGx在置位时发生的中断请求服务,0为禁止ADC12IFGx在置位时发生的中断请求服务。
g)&&&&&&&&ADC12IV中断向量寄存器。
5.初始化代码
/*************************************************************************
//名称 :ADC12Init
//参数 :uchar Times-0为单次转换,1为多次转换,
uchar Tube-0为单通告转换,1为多通道转换
uchar n-待转换的通道(只有在Tube为0的时候有用)
uchar V-0为内部参考电压,1为外部参考电压
//返回值:无
//功能 :完成ADC12Init的初始化
*************************************************************************/
void ADC12Init(uchar Times,uchar Tube,uchar n,unsigned char v)
if(Tube ==0)
//单通道转换
if(v == 0)
ADC12CTL0 = ADC12ON + SHT0_8 + MSC + REFON + REF2_5V; //使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V
ADC12MCTL0 = SREF_0;
//使用内部电压,参考位为AVCC和AVSS
if(v == 1)
ADC12CTL0 = ADC12ON + SHT0_8;
//使用外部电压,打开ADC12内核,8分频
ADC12MCTL0 = SREF_2;
//使用外部电压,参考为为VeREF+和AVSS
if(Times == 0)ADC12CTL1 = SHP + CONSEQ_0;
//单通道单次转换,采样信号来自采样定时器
if(Times == 1)ADC12CTL1 = SHP + CONSEQ_2;
//单通道多次转换,采样信号来自采样定时器
switch (n)
//选择通道
case 0:ADC12MCTL0 |= INCH_0;
case 1:ADC12MCTL0 |= INCH_1;
case 2:ADC12MCTL0 |= INCH_2;
case 3:ADC12MCTL0 |= INCH_3;
case 4:ADC12MCTL0 |= INCH_4;
case 5:ADC12MCTL0 |= INCH_5;
case 6:ADC12MCTL0 |= INCH_6;
case 7:ADC12MCTL0 |= INCH_7;
//使能待转换通道的中断
ADC12CTL0 |= ENC;
//开启软件使能
if(Tube ==1)
//多通道转换
if(v == 0)
ADC12CTL0 = ADC12ON + SHT0_8 + MSC + REFON + REF2_5V;
//使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V
ADC12MCTL0 = SREF_0;
//使用内部电压,参考位为AVCC和AVSS
if(v == 1)
ADC12CTL0 = ADC12ON + SHT0_8;
//使用外部电压,打开ADC12内核,8分频
ADC12MCTL0 = SREF_2;
//使用外部电压,参考为为VeREF+和AVSS
if(Times == 0)ADC12CTL1 = SHP + CONSEQ_1;
//多通道单次转换,采样信号来自采样定时器
if(Times == 1)ADC12CTL1 = SHP + CONSEQ_3;
//多通道多次转换,采样信号来自采样定时器
ADC12IE = 0
//使能待转换通道的中断
ADC12CTL0 |= ENC;
//开启软件使能
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26325次
排名:千里之外
原创:26篇
(2)(8)(1)(4)(13)}

我要回帖

更多关于 msp430捕获测频率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信