ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:484.61KB ,
资源ID:30720028      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30720028.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Msp430f5529开发板测周期和AD.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Msp430f5529开发板测周期和AD.docx

1、Msp430f5529开发板测周期和ADMsp430f5529开发板测频率和ADC采样电压必备资料: f5529的中文指导和数据手册(遗憾是汇编语言不是C) 中文指导:网上有大侠把英文版的用户指导翻译成中文了 数据手册:还没有出现中文版这种神器,不过多看几遍就OK一定时器A一些基本资料 至于寄存器里面含义自己应该可以看懂!这句话我认为有一个极容易产生一个误区,就是TA有7个比较捕获寄存器,当你查看msp430f5529.h的时候,我就发现只有TAxCCTL0,TAxCCR0 TAxCCTL1,TAxCCR1 TAxCCTL2,TAxCCR2 它们都是共用一个TACTL。压根就是没有36例如没有

2、TAxCCTL3,TAxCCR3,我认为单片机上肯定是有7个比较捕获寄存器,就是msp430f5529没有对剩余的四个进行宏定义。个人想法。TAxCCTL0,TAxCCR0 这个最高级,好像大部分的430单片机写的程序都是优先写它。特点:增计数模式 连续计数模式 增减计数模式!这几种模式都能用例如增计数模式: TA0CCTL0 = CCIE; / CCR0 interrupt enabled TA0CCR0 = 50000; TA0CTL = TASSEL_2 + MC_1 + TACLR; / SMCLK, upmode, clear TAR _bis_SR_register(GIE); /

3、 Enter LPM0, enable interrupts就凭它的权力最多,就应该单独想用一个中断函数与CCTL1,CCTL2区分开来!/ Timer0 A0 interrupt service routine#pragma vector=TIMER0_A0_VECTOR_interrupt void TIMER0_A0_ISR(void)其中的R0代表你用的TA定时器的第几个TA0-R0TA1-R1TA2-R2CCTL0-A0 一个中断对应一个中断源例如我写的是TA2CCTL0和TA2CCR0,则对应的中断就是#pragma vector=TIMER2_A0_VECTOR应该明白了吧!TA

4、xCCTL1,TAxCCR1 TAxCCTL2,TAxCCR2 特点:连续计数模式经我调试TA0CCTL1 = CCIE; / CCR0 interrupt enabledTA0CCR1 = 50000;TA0CTL = TASSEL_2 + MC_1 + TACLR; / SMCLK, upmode, clear TAR是进不了中断的,这是血的教训,(如果你采用的是比较模式,千万别想着,TMD理论上就是这样,为什么进不了中断)应该把 MC_1改为MC_2就OK了.官方这样说这样可以从侧面提问,上文中为什么不是TAxCCRx,而只是TAxCCR0!应该明白了,这里有一点千万要区分开来,这是晕死

5、的教训!TA0R,与TA0CCR1的区别,我也不知道是看了那本破书,或者就是那些5系列一下的430单片机程序可以,我只能感叹F5529真是神器!在中断函数里把cap=TA0CCR1,或者是TA1CCR1,还说TA0R,TA0CCRx其实是一样的,就是计数的储存。可能在一些5系列一下的430单片机是可以,但是在f5529严格区分开来,养成好习惯,TA0R不等于TA0CCRxTA0CCR0是定数的,是不变的TA0R是用来计数的。是变化的比较模式就是那TA0R去不断比较TA0CCR0,以万变应不变,超过就产生中断!所以你在中断读取你计数的值这样写是菜鸟cap=TA0CCR1是XXXXXXX应该写成c

6、ap=TA0R,必须养成这个好习惯!它们的中断函数 是多源中断,说白了就是三个有用的case 2: CCTL1case 4: CCTL2case 14: 连续计数溢出中断可以对比一下下面这个图:中断函数#pragma vector=TIMER1_A1_VECTOR_interrupt void TIMER1_A1_ISR(void)这里就是TA1CCLx x是取值为1,2的例子:/ Timer1_A3 Interrupt Vector (TAIV) handler#pragma vector=TIMER1_A1_VECTOR_interrupt void TIMER1_A1_ISR(void)

7、 switch(_even_in_range(TA1IV,14) case 0: break; / No interrupt case 2: break; / CCR1 case 4: break; / CCR2 case 6: break; / reserved case 10: break; / reserved case 12: break; / reserved case 14: break; / overflow default: break; 这里对应的寄存器应该是TA1CCL1或者是TA1CCL2 !2ADC12(12为模数转换器) ADC 内核将一个模拟输入信号转换为12 位的

8、数字信号,并将其结果存储在转换存储器中。该内核采用两个可编程/选择的电压(VR+和VR-)作为转换的上限和下限。当输入信号大于或等于VR+时,数字输出(NADC)为最大值(0FFFh),而当输入信号小于者等于VR-时,输出为0。在转换控制存储器中定义输入通道和参考电压(VR+和VR-)。ADC转换结果Nadc的计算公式为:Nadc = 4095 (Vin-VR -)(VR +-VR -) ADC12_A 内核可通过两个寄存器ADC12CTL0 和ADC12CTL1 来进行配置,通过ADC12ON 位使能内核。在理解一句话:ADC12硬件会把转换的结果自动存放到ADC12MEM存储器中,每个AD

9、C12MEMx都有自己对应的ADC12MCTLx.void adc1() P6SEL |= BIT6; ADC12CTL0 = ADC12ON+ADC12SHT0_8+ADC12MSC; ADC12CTL1 = ADC12SHP+ADC12CONSEQ_2; ADC12MCTL0=ADC12SREF_0+ADC12INCH_6; ADC12CTL0 |= ADC12ENC;中断函数里#pragma vector=ADC12_VECTOR_interrupt void ADC12ISR (void) 转换的数据在ADC12MEM0; /这点要想通ADC12中断ADC12有18 个中断源:ADC1

10、2IFG0-ADC12IFG15ADC12OV,ADC12MEMx 溢出ADC12TOV,ADC12_A转换时间溢出当ADC12MEMx存储寄存器载入转换结果的时候,相应的ADC12IFGx位置位。如果相应的ADC12IEx位和GIE 位置位,将产生中断请求。温馨提示:如果你是在msp430f5529现有的工程修改你想要的程序,那你要注意了,系统工程本身就用了AD采样了,齿轮采样已经用了AD的中断,有两种方法你可以选择,在它的Wheel.c里修改,或者你自己新建个工程,不用齿轮!在看程序之前,请注意:1.我们要把一个信号,脉冲信号引用单片机,肯定要选用一个端口,网上的程序程序的端口F5529是

11、不能用的,因开发板上的没有排针引出,为此我痛苦了好久,不过没事,用现有排针的端口P2.1,P2.0.翻看数据手册:找到寄存器怎么对应呢!TA1CCTL1-TA1.1TA1CCTL2-TA1.2例如TA0CCTL2-TA0.2,知道了吧,接下来就是设置这个端口为第二功能,外围模块!编好程序怎么知道你程序能不能采到数据,小技巧就是你在P2.0引出一根杜邦线,在VCC和GND之间切换,有数据就OK,接下来就调试数据!2.采样的端口你也要根据你排针上你有什么来选择这里我选择的是P6.6的第二功能!编好程序怎么知道你程序能不能采到数据,小技巧就是你在P6.6引出一根杜邦线,接VCC或者GND,有数据就OK,接下来就调试数据!! 为了程序的完整性,请进入这个网站下载!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1