欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    MSPf中文手册资料下载.pdf

    • 资源ID:5981741       资源大小:5.60MB        全文页数:65页
    • 资源格式: PDF        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MSPf中文手册资料下载.pdf

    1、MSP430系列单片机属于前者,而常用的51内核单片机系列属于后者。第五点,就是在开发工具上面。对51内核 单片机来说,不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于 MSP430 系列而言,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。那么说了以上这些,作为新手,到底怎么学习430这种16位低功耗的单片机呢?或者说有什么有什么效果比较好的方法吗,答案是肯定。网上有很多介绍 MSP430单片机学习的方法,一定要结合自己的学习特点,集百家之长,善于总结别人的、自己的学习方法和效果,积极实践。当

    2、然学习的方法都是相通的。大概对这些方法简单总结,也就是下面几点:作为430新手,首先看我们是否准备好以下几样硬件:电脑(带有并口)1台,MSP430FET 仿真器1套,MSP430开发实验板1套,和一些 MSP430教程或电子教程资料等。选用 MSP430仿真器。购买现成的 MSP430JTAG 仿真器如 TI-MSP430JTAG 选用 MSP430开发板或目标板是学习一个重要的工具,建议购买一个开发板或目标板,同时也会得到很好的技术支持。如果自己制作的话也行,也未尚不可,那就看个人水平了。软件工具,因为现在都有学习板的工具软件,如 IAR 的 EW430学习版,430GCC 软件还是免费的

    3、。建议还是使用 IAR 软件较方便,因为使用的人群较多,有问题还可请教,容易解决。MSP430学习资料及教程,清华大学出版社和一本关于430C 语言编程应用的书本。MSP430系列中硬件源资是非常丰富的。有看门狗(WDT)、定时器 A(Timer_A)、定时器 B(Timer_B)、比较器、串口0(USARTO)、串口1(USART1)、硬件乘法器、液晶驱动器、10位/12位 ADC,14位 ADC,数十个可实现方向设置及中断功能的并行输入输出端口、基本定时器(Basic Timer)。以下几部分模块硬件资源是作为初学者必须要了解学习的。WDT 看门狗定时器:新手们会看到很多编程实例中,开头都

    4、有“WDTCTL=WDTPW+WDTHOLD;”语句。这是 CUP 执行关闭定时器的意思。在刚开始,我们没必要关心这个,可以跳过这章节,只要大概地知道他的作用就好了。看门狗定时器一般是用于防止程序失效而存在的,一般是用于完整的程序中使用。主程序中可不断地清除看门狗定时器的计数值,以防定时器的值自动计满后使 CPU 复位而重新开始工作。当程序发生错误时,无法正常清除看门狗的定时值时,则看门狗定时器计数溢出而产生 CPU 复位。IO 模块:对于 IO 模块可分为初级与提高两阶段,可以不必同一时段内进行理解。a 初学者必需了解几个常用寄存器使用如 P1OUT,P1IN,P1DIR,P1SEL 寄存器

    5、。b 理解 MSP430 IO 口常用编程语法,这些都可以查看参考例程。c 结合书本介绍和个人理解,然后在开发板上进行实验。例如比如 LED、响声之类的 初级实验。d 对于 IO 模块:了解如何使用 IO 中断,和 IO 中断相关寄存器的使用。如果不太必要,可以跳过 IO 中断的使用,而是去学习其他章节的基础部分;当其他章节基础学习到一定程序时回过头再来学习这部分。另外,我们需要搞清楚 IO 模块在什么时候为高阻状态?高阻状态时的漏电流为多少?IO 驱动电流能力如何?等等一些常关注的参数时,我们都需要养成主动查看器件手册的习惯。中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430

    6、可以在没有任务时进入低功耗状态,有事件时中断唤醒 cpu,处理完毕再次进入低功耗状态。整个中断的响应过程是这样的,当有中断请求时,如果 cpu 处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的 pc 值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位;然后系统总中断允许位SR.GIE 复位,相应的中断向量值装入 pc,程序从这个地址继续执行。这里要注意,中断允许位 SR.GIE 和中断嵌套问题。如果当你执行中断程序过程中,希望可以响应更高级别的中断请求时,必须在进入第一个

    7、中断时把 SR.GIE 置位。其实,其他的外围模块时钟沿着时钟和中断这个核心来执行的。具体的结构我也不罗索了,可以参考430系列手册。时钟模块:系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。430最多有三个振荡器,DCO 内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ8M,需接负载电容;XT2接高频450KHZ8M,加外接电容。初学者若要使用到片中某模块时几乎都要使用不同的时钟。时钟模块是提供整个单片机中各模块的时钟发生源,所以这章节是非常强调地要去认真理解的。.必须理解430有几种时钟信号:MCLK 系统主时钟,可

    8、分频1 2 4 8,供cpu 使用,其他外围模块在有选择情况下也可使用;SMCLK 系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK 辅助时钟,只能由 LFXT1产生,供外围模块。.DCO,SMCLK,MCLK,ACLK 各个时钟有什么优点和点。.4个时钟信号中,每个时钟的通常频率范围是多少。.常规的时基控制寄存器设置和时钟如何从引脚输出等等。TimaA 模块:.初学者需要搞清 TimerA 的三个不同工作模式中 TA、CCR1、CCR2与 CCR0之间的关系。.搞清楚 TA、CCR1、CCR2与 CCR0之间的中断向量关系。.综合上面的理解,我们可以结合 TimerA 的

    9、例程来进行相关验证,只有通过亲自的操作才能有效地记住。.利用 TimerA 实现 PWM信号输出、利用捕获/比较功能实现捕获信号等等。另外多大学习430学习单片机论坛上,和网友交流,咨询,多看别人出现的问题的解决方法。可以说,只要经过上述方面认真折腾学习的话,其实 MSP430单片机编程应用就有了基本入门阶段,可以说已经闯入 MSP430单片机有效学习过程,接下要继续学习其他相关的模块应用也不难了。那么剩下的一些模块可以按需而用,按需而学。但前提的就是需要熟悉几个常用模块基础应用,以使用量最多的14x 系列为例,初学者入门必学有 IO 模块、时基模块、定时器模块等,以后可继续强化学习如 ADC

    10、12模数转换、UART 串行异步通讯模块、比较器 A 模块等等。(一)通用 I/O 口的设置-1(一)通用 I/O 口的设置-1 1.1 I/O 的简介的简介 特点:多种复用和设置(即可控制是否输入、是否输出、是否接上拉电阻、是否接下拉电阻、是否可接受中断);一般情况下,P1和 P2都是具有中断能力的。从 P1和 P2接口的各个I/O 管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿触发。对应的中断向量表分别为 P1IV 和 P2IV,它们只能进行字操作,并且 PAIV 这个寄存器根本不存在。P1、P2可合为 PA,P3、P4可合为 PB,PC、PD。所以 P1为8位BCD 0 x00

    11、,PA 为16位 BCD 0 x0000。当进行字操作写入 PA 口时,所有的16位都被写入这个端口;当利用字节操作写入 PA 口的低字节时,高字节保持不变;由于430很多 I/O 和外围电路接线,所以这里常用位操作。如事先定义(接下来也会用到,先在此声明)BIT0=0X01、BIT1=0X02、BIT3=0X04BIT7=0X80,那么将 P1.1、P1.3的输出设为1的时候,就可以这样操作:P1OUT|=(BIT1+BIT3)。这样显得很清楚。没有用到的 I/O,要统一拉低为好。此外,当读入的数据长短小于端口最大长度时,那些没有用到的位会被视零。1.2 I/O 的简单配置的简单配置 430

    12、I/O 的配置是用软件来实现的,是通过相应的配置寄存器来实现的。(用到某个 I/O 时,一定要先配置好该 I/O,否则易出错)1.2.1 I/O 方向设定寄存器 PXDIR 如设定 P1.1和 P1.2为输出状态 操作为:P1DIR|=(BIT1+BIT2)等价于 PADIR|=(BIT1+BIT2)也等价于 PADIR_L|=(BIT1+BIT2。拉高设定为输出,拉低设定为输入(默认)。1.2.2 I/O 输入设定寄存器 PXIN 如设定 P1.1和 P1.2的输入为低电平 操作为:P1IN&=(BIT1+BIT2)。1.2.3 I/O 输出设定寄存器 PXOUT 当只用为简单的输出时:如设

    13、定 P1.1和 P1.2输出高电平 操作为:P1OUT|=(BIT1+BIT2)。如果该引脚为正常 I/O 功能,且当前已设定为输入方向,且上拉/下拉电阻寄存器是有效地。那么 PXOUT 可以用来配置上拉和下拉电阻:低电平为下拉电阻;高电平为上拉电阻;1.2.4 上拉/下拉电阻使能寄存器 PXREN 低电平该寄存器为无效状态;高电平该寄存器为有效状态;1.2.5输出驱动能力设置寄存器 PXDS 弱化驱动可以减弱电磁干扰 EMI,全力驱动会增强电磁干扰。默认为减弱驱动。低电平表示减弱的驱动(默认);高电平表示全力的驱动;1.2.6 功能选择寄存器 PXSEL 用来声明该端口是要应用于外围电路的特

    14、殊功能(不决定输入输出方向),默认为低电平。低电平表示普通的 I/O(默认);高电平表示该引脚将有连接外围电路的特殊用途;如:开发板初始化函数 HAL_Board.c 中有这样一句程序:P5SEL|=(BIT2+BIT3)(=00001100);这句话的意思就是声明 P5.2和 P5.3将有特殊用途,实际上这两个 I/O 接的是外部的高频时钟晶振(之后还要设定为输入状态才可以)。此外需要注意的是,一旦某个 I/O 的 PXSEL 置高了,那么该引脚将不能再被用为中断引脚。总结,简单的程序应用:/*实现实现 LED 的闪烁的闪烁*/LED 位于每个触摸按键下方,具体接口请查询原理图位于每个触摸按

    15、键下方,具体接口请查询原理图#include 该头文件内部包含该头文件内部包含430各个寄存器的配置情况各个寄存器的配置情况 void main(void)WDTCTL=WDTPW+WDTHOLD;/关闭看门狗关闭看门狗 P1DIR|=(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5);/P1.0-P1.5方向为输出,方向为输出,BITX 的定义在的定义在 msp430.h 中中 P1OUT&=(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5);/清零清零 /*P1SEL=0X00;PXDS=0X00;默认默认*/int i=0,j=0;while(1)if(i5)i=

    16、0;else switch(i)case 0:P1OUT=0 x01;break;case 1:P1OUT=0 x02;case 2:P1OUT=0 x04;case 3:P1OUT=0 x08;case 4:P1OUT=0 x10;case 5:P1OUT=0 x20;i+;for(j=20000;j0;j-);/延时延时 (一)通用 I/O 口的设置-2(一)通用 I/O 口的设置-2 这一部分讲外部中断。这一部分讲外部中断。看介绍再加弄懂程序才是王道看介绍再加弄懂程序才是王道 外部中断是外部中断是 MSP430优先级最低的中断而且是可屏蔽中断。用起来比较简单。优先级最低的中断而且是可屏蔽

    17、中断。1.2.7 简单的端口中断(外部中断)P1、P2的所有端口都具有中断能力,可以通过寄存器 PxIFG,PxIE 和PxIES 来配置。其他端口则需参照具体的引脚说明书。所有的 P1中断标志是最优先的(相比其它引脚的外部中断),其中 P1IFG.0又最优。PXIV 中断向量寄存器:只有 P1IV 和 P2IV。最高优先级使能中断在P1IV 寄存器中产生一个序号,这个数字会被程序计数器识别或者加入其中,然后自动的执行合适的中断服务程序。关闭 P1口中断不会影响 P1IV 寄存器中的值。P2口具有相同的功能。PxIV 寄存器只能字访问。PxIFGx 中断标志寄存器:只有相应的中断使能 PXIE

    18、 打开且总中断GIE 打开,该寄存器才有效。低电平表示没有中断请求等待响应;高电平表示有中断请求等待响应;注意:使用端口的中断功能期间,如果进行 PXIN、PXOUT 等操作可能使中断变化。中断标志需要软件清零。有一种情况例外:两个中断同时发生,先响应优先级高的中断,当该中断服务程序结束后,该位的中断标志会自动清零,然后去响应另外一个中断。PxIE 中断使能寄存器 低电平表示中断关闭;高电平表示中断允许;PXIES 中断触发方式选择寄存器 低电平表示上升沿触发;高电平表示下降沿触发;外部中断应用示例:/*采用中断的方式,开关 S2(接于 P2.2)控制 LED(接于P1)一个一个点亮(看 PC

    19、B 图接线)*/#include int s=0;/s 用来表示按键次数 int num=0;/num 表示 LED 值 void main(void)WDTCTL=WDTPW+WDTHOLD;/关闭看门狗 P1DIR=0 xff;/P1全部接输出 P1OUT=0 x00;/接 LED 初始化故全拉低,这样开始灯是灭的 P2DIR=0 x00;/P2全部设为输入。因为要接受外部中断 P2IFG=0 x00;/清除 P2口的中断标志 P2IE=BIT2;/P2.2开启中断 P2IES=0 xff;/P2为下降沿触发 P2IN=BIT2;/P2.2输入拉高,因此开关闭合时会拉低产生下降沿(即中断)

    20、P2OUT=0 xff;P2REN=0 xff;/作为输入的时候一定要配置上拉电阻(很重要,容易忘记,我就在这错了-_)_enable_interrupt();/开总中断 while(1)num=s%5;switch(num)case 0:P1OUT=BIT1;P1OUT=BIT2;P1OUT=BIT3;P1OUT=BIT4;P1OUT=BIT5;#pragma vector=PORT2_VECTOR/固定格式,声明中断向量地址 _interrupt void Port2_ISR(void)/中断子程序 unsigned int temp;/局部变量 int i;for(i=0;i12000;

    21、i+);/延时消抖 if(P2IN&0 xff)!=0 xff)/如果有键按下 temp=P2IFG;/读取中断标志 P2IFG=0 x00;/标志位清零 if(temp=0 x04)/如果 P2.2产生中断 s+;/这一部分其实有几句话很多余,主要是为了体现每个端口中断的知识 备注中断子程序调用格式:#pragma vector=中断向量地址 _interrupt void 中断服务程序名(void)/中断处理程序 1.2.8未使用的 I/O 未使用的 I/O 管脚最好被设置为普通 I/O 功能、输出方向并且在 PCB 板上不连接这些管脚,以防止浮动的输入和降低功耗。因为这些管脚没有被连接,

    22、所以它们的输出值没有必要在意。或者可以通过设置未使用管脚的 PxREN 寄存器来使能置高/置低寄存器以避免浮动输入的干扰。(二)看门狗的设置(二)看门狗的设置 看门狗定时器(Watchdog Timer(WDT_A)实际上是一个特殊的定时器,即可以用来作为看门狗使用,也可以用作定时器。所谓的看门狗功能,是指可以监控程序是否由于某些干扰或者错误而跑飞。其原理就是发生故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统复位。这样当在调试程序或预计程序在某个地方可能瞬时发生错误时(如外部电路干扰),选用设置看门狗定时中断可以避免程序跑飞。当然,它也可以用作一般的定时功能。不过实际上,由于看门狗

    23、定时器(作看门狗使用时)需要很严密的设置(否则程序容易经常重启),所以很多人都不会使用这项功能。所以,程序一开始就加上一句话:WDTCTL=WDTPW+WDTHOLD 来关闭看门狗。2.1 WDT_A 的简介的简介 特点:特点:有8种可选定时时间;看门狗模式;定时器模式;看门狗控制寄存器存在密码保护;时钟源可选,且具有时钟源意外保护;可以被终止来节省能源;无论是用作看门狗还是定时器,其间隔时间都无法随意设定,只能从8种设定中选择,当然可以通过更改时钟频率来间接更改时间;注意默认设置注意默认设置:程序启动,看门狗即启动;监控周期为32ms/32.768KHZ(也就是说当看门狗的时钟频率为32.7

    24、68KHZ 时,每过32ms,如果不软件清空,程序就会重启);所用的时钟源为 SMCLK(实际频率不是32.768KHZ,后面会提到)。2.2 WDT_A 的寄存器及操作的寄存器及操作 注意:所有的寄存器都存字操作和字节操作模式。例如对注意:例如对 WDTCTL 寄存器直接赋值是字操作,你也可以通过寄存器直接赋值是字操作,你也可以通过 WDTCTL_L(低字节寄存器)、(低字节寄存器)、WDTCTL_H来进行字节操作赋值。来进行字节操作赋值。该类寄存器只能赋值不要进行“该类寄存器只能赋值不要进行“|=、&=”等逻辑操作。”等逻辑操作。2.2.1看门狗控制寄存器看门狗控制寄存器 WDTCTL(W

    25、atchdog Timer Control)该寄存器是一个16位带有密码保护的读写寄存器。所谓的密码保护,是为了防止该寄存器被不小心篡改。那么是如何实现密码保护呢?事实上,该寄存器的高字节用来存放口令,低字节才是控制数据。写口令为05Ah,读口令为069h,任何和口令不一样的高字节操作都会导致系统复位。该寄存器的位功能定义如下:(支持位操作)WDTPW:Bits15-8,WDT Password,写为05Ah,读为069h。WDTHOLD:Bit7,WDT HOLD,0:打开看门狗计时器;1:关闭 WDTSSEL:Bits6-5,WDT Clock Source Select 时钟源选择 WD

    26、TTMSEL:Bit4,工作模式选择 0:WDTCNTCL:Bit3,计时器清零 0:无效;清空计数器,即 WDTCNT=0 x0000h WDTIS:Bits2-0,WDT Interval Select,间隔时间选择。用来选择计数的周期,共有8种时间可以选择。备注:括号前数字为计数器的值 2.2.2 看门狗计数值寄存器看门狗计数值寄存器 WDTCNT(Watchdog Timer Counter)这是一个32Bit 的加计数器,但是不能通过软件来直接对其进行赋值等操作,只能通过 WDTCTL 中的 WDTIS 来选择时间。或者你可以通过 WDTSSEL 选择不同的时钟源,来间接改变时间。2

    27、.2.3 看门狗中断看门狗中断 位控制位控制 WDT 利用 SFRS 总寄存器中的两位来控制中断。WDT 中断标志位:中断标志位:WDTIFG,位于 SFRIFG1.0 WDT 中断使能位:中断使能位:WDTIE,位于 SFRIE1.0 看门狗模式:看门狗模式:如果不及时对 WDTCNT 清零或者对 WDT 初始化,WDTIFG 就会置位,然后程序就会重启。计时器模式:必须开总中断 GIE 和看门狗中断 WDTIE。此外,当执行完中断服务程序后,标志位 WDTIFG 会自动清零。2.3常用操作常用操作 /*关闭看门狗关闭看门狗*/WDTCTL=WDTPW+WDTHOLD;/*喂狗,即对有效状态

    28、的看门狗进行清零操作*/喂狗,即对有效状态的看门狗进行清零操作*/*时间计满还不喂狗就会导致程序重启时间计满还不喂狗就会导致程序重启*/*WDTIS2即即 WDTIS=100,此时时间间隔设为,此时时间间隔设为1S,假定频率为,假定频率为32.768KHZ*/WDTCTL=WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2;/*将看门狗设置为计数器模式,计数将看门狗设置为计数器模式,计数8192约约250ms,假定频率为,假定频率为32.768KHZ*/*WDTIS2+WDTIS0即即101*/WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS2+WDTIS0 总结例程:/*首先将 WDT 设为定时器功能。


    注意事项

    本文(MSPf中文手册资料下载.pdf)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开