msp430 学习经验总结

发布者:Serendipitous55最新更新时间:2020-02-09 来源: eefocus关键字:msp430  学习经验 手机看文章 扫描二维码
随时随地手机看文章

1.MSP430开发环境建立

 

1.安装IAR dor msp430 软件,软件带USB仿真器的驱动。


2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET


3.建立一个工程,选择"option"选项,设置


  a、选择器件,在"General"项的"Target"标签选择目标器件


  b、选择输出仿真,在"Linker"项里的"Output"标签,选择输出"Debug information for C-SPY",以输出调试信息用于仿真。


  c、若选择"Other",Output下拉框选择"zax-m"即可以输出hex文件用以烧录,注意,此时仿真不了。


  d、选择"Debugger"项的"Setup"标签,"Driver"下拉框选择"FET Debugger"


  e、选择"FET Debugger"项的"Setup"标签,"Connection"下拉框选择"Texas Instrument USB-I"


4.仿真器的接口,从左到右分别为 " GND,RST,TEST,VCC"


2.IO口

数字输入/输出端口有下列特性:

□ 每个输入/输出位都可以独立编程。

□ 允许任意组合输入、输出。

□ P1 和 P2 所有 8 个位都可以分别设置为中断。

□ 可以独立操作输入和输出数据寄存器

□ 可以分别设置上拉或下拉电阻


在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。


(以下x为1表示P1,为2表示P2,如此类推)


1.选择引脚功能 -- PxSEL,PxSEL2


  PxSEL2        PxSEL      管脚功能

  0             0          用作IO口

  0             1          用作第一功能引脚

  1             0          保留,参考具体型号的手册

  1             1          用作第二功能引脚


  设置引脚用作外设功能时,芯片不会自动设置该引脚输入输出方向,要根据该功能,用户自己设置方向寄存器PxDIR。


2.选择引脚输入/输出方向 -- PxDIR


  Bit = 0: 输入

  Bit = 1: 输出


3.选择引脚是否使能上下拉电阻 -- PxREN


  Bit = 0: 不使能

  Bit = 1: 使能


4.输出寄存器 -- PxOUT


  Bit = 0: 输出低电平或者下拉

  Bit = 1: 输出高电平或者上拉


5.管脚状态寄存器 -- PxIN


  Bit = 0: 管脚当前为低

  Bit = 1: 管脚当前为高


你说的“第二功能”应该是指外围模块功能吧,用模块就选“第二功能”,不用模块就选“第一功能”。


可通过设置PxSEL寄存器进行选择,某位写“0”为I/O;写“1”为“第二功能”。

用到比较器(片内外围模块)时要设置为第二功能。 


当然你如果是用片外的比较器,将其输出的高低电平(1或0)送给MSP430,那就选“第一功能”。

http://zhidao.baidu.com/question/172451580.html?an=0&si=3


3.Base clock 模块

一、4个时钟振荡源


   1、LFXT1CLK:  外部晶振或时钟1 低频时钟源 低频模式:32768Hz 高频模式:(400KHz-16MHz)

   2、XT2CLK:    外部晶振或时钟2 高频时钟源(400KHz-16MHz)

   3、DCOCLK:    内部数字RC振荡器,复位值1.1MHz

   4、VLOCLK:    内部低功耗振荡器 12KHz

   注:MSP430x20xx: LFXT1 不支持 HF 模式, XT2 不支持, ROSC 不支持.


二、3个系统时钟


   1、ACLK:  辅助时钟


      复位:  LFXT1CLK的LF模式,内部电容6pF


      分频:  1/2/4/8


      时钟源:LFXT1CLK/VLOCLK.


      用途:  独立外设,一般用于低速外设


   2、MCLK:  主时钟


      复位:  DCOCLK,1.1MHz


      分频:  1/2/4/8


      时钟源:LFXT1CLK/VLOCLK/XT2CLK/DCOCLK


      用途:  CPU,系统


   3、SMCLK: 子系统时钟


      复位:  DCOCLK,1.1MHz


      分频:  1/2/4/8


      时钟源:LFXT1CLK/VLOCLK/XT2CLK/DCOCLK


      用途:  独立外设,一般用于高速外设


三、寄存器


   1、DCOCTL:DCO控制寄存器(读写)   


      DCOx:定义8种频率之一,可分段调节DCOCLK的频率,相邻两种频率相差10%。而频率又注入直流发生器的电流定义。


      MODx: 位调节器选择。这几位决定在 32 个 DCOCLK 周期内插入高1段频率 fDCO+1的次数。当DCOX=7,已为最高段频率,此时不能用MODx作为频率调整。


   2、BCSCTL1:基础时钟系统控制寄存器1  


     XT2OFF:是否关闭XT2


             0:打开XT2 ,1:关闭XT2


     XTS:   XT2模式选择


             0:LF mode (低频模式) ,1:HF mode (高频模式)


     DIVA:  ACLK的分频选择 0-3 对应 1/2/4/8 分频


     RSELx: 选择DCO中16种标称的频率,实际对应16个内部电阻


             0-15 对应的频率 从 低到高,当 DCOR=1 时,表示选用外接电阻,所以RSELx无效


   3、BCSCTL2:基础时钟系统控制寄存器2


      SELMx:选择MCLK的时钟源


             0:DCOCLK


             1:DCOCLK


             2:当 XT2 振荡器在片内时采用 XT2CLK。当 XT2 振荡器不在片内时采用 LFXT1CLK 或 VLOCLK


             3:LFXT1CLK 或 VLOCLK


      DIVMx: MCLK的分频选择 0-3 对应 1/2/4/8 分频


      SELS: 选择SMCLK的时钟源


             0:DCOCLK

             1:当 XT2 振荡器存在时选用 XT2CLK,当 XT2 振荡器不存在时采用 LFXT1CLK 或 VLOCLK


      DIVSx: SMCLK的分频选择 0-3 对应 1/2/4/8 分频


      DCOR:  0:DCOCLK使用内部电阻、 1:DCOCLK使用外接电阻


   4、BCSCTL3:基础时钟系统控制寄存器3 


     XT2Sx:XT2范围选择


            0:0.4-1MHz 晶体或振荡器


            1:1-3MHz 晶体或振荡器


            2:3-16MHz 晶体或振荡器


            3:0.4-16MHz外部数字时钟源


     LFXT1Sx: 低频时钟选择和 LFXT1 范围选择。当 XTS=0 时在 LFXT1 和 VLO之间选择。当 XTS=1 时选择 LFXT1 的频率范围。


            0:LFXT1上的 32768Hz 晶体


            1:保留


            2:VLOCLK(MSP430X21X1 器件上保留)


            3:外部数字时钟信源


     XCAPx:振荡器电容选择。这些位选择当 XTS=0 时用于 LFXT1 的有效电容。


            0:1pF


            1:6pF


            2:10pF


            3:12.5pF


     XT2OF:XT2振荡器是否失效 

            0:有效,正在工作

            1:无效,未正常工作 

     LFXT1OF:LFXT1振荡器是否失效 

            0:有效,正在工作

            1:无效,未正常工作


   5、IE1:中断使能寄存器 1


      OFIE:振荡器失效中断使能。该位使 OFIFG 中断使能。由于 IE1 的其它位

            用于其它模块,因此采用 BIS.B 或 BIC.B 指令来设置或清零该位比

            用 MOV.B 或 CLR.B 更合适。


   6、IFG1:中断标志寄存器 1


      OFIFG:振荡器失效中断标志。由于 IFG1 的其它位用于其它模块,因此

             采用  BIS.B  或  BIC.B  指令来设置或清零该位比用  MOV.B  或

             CLR.B 更合适。


             0:没有未被响应的中断


             1:有未被响应的中断


四、DCO频率


4种频率经校准精度为±1%


 4. 定时器TA

 


一、时钟源


    1、时钟源:ACLK/SMCLK 外部TACLK/INCLK


    2、分频:1/2/4/8 当 (注:TACLR 置位时,分频器复位)


二、计数模式


     通过设置MCx可以设置定时器的计数模式


    1、停止模式:停止计数


    2、单调增模式:定时器循环地从0增加到TACCR0值


       周期      :TACCR0


       CCIFG     :Timer计到TACCR0值时触发


       TAIFG     :Timer计到0时触发


    3、连续模式  :定时器循环从0连续增加到0xFFFF


       周期      :0x10000


       TAIFG     :Timer计到0时触发


    4、增减模式  :定时器增计数到TACCR0 再从 TACCR0 减计数到 0


       周期      :TACCR0值的2倍


       CCIFG     :Timer计到TACCR0值时触发


       TAIFG     :Timer计到0时触发


三、定时器A TACCRx 比较模式 (用于输出和产生定时中断)


    1、设置:CAP=0选择比较


    2、输出信号:比较模式用于选择 PWM 输出信号或在特定的时间间隔中断。当 TAR 计数到 TACCRx 的值时:


       a、中断标志 CCIFG=1; 

       b、内部信号 EQUx=1; 

       c、EQUx 根据输出模式来影响输出信号 

       d、输入信号 CCI 锁存到 SCCI


       每个捕获比较模块包含一个输出单元。输出单元用于产生如 PWM 这样的信号。每个输出单元可以根据EQU0 和 EQUx 产生 8 种模式的信号。


    3、中断


       TimerA 有 2 个中断向量: 

       a、TACCR0 CCIFG 的 TACCR0 中断向量


       b、所有其他 CCIFG 和 TAIFG 的 TAIV 中断向量

          在捕获模式下,当一个定时器的值捕获到相应的 TACCRx 寄存器时,  CCIFG 标志置位。

          在比较模式下,如果 TAR 计数到相应的 TACCRx 值时,CCIFG 标志置位。软件可以清除或置位任何一个 CCIFG 标志。当响应的 CCIE 和 GIE 置位时, CCIFG 标志就会产生一个中断。


       c、TACCR0 CCIFG  标志拥有定时器 A 的最高中断优先级,并有一个专用的中断向量,当进入 TACCR0 中断后,TACCR0 CCIFG 标志自动复位。


       d、TACCR1 CCIFG, TACCR2 CCIFG,  和 TAIFG 标志共用一个中断向量。中断向量寄存器 TAIV用于确定它们中的哪个要求响应中断。最高优先级的中断在 TAIV 寄存器中产生一个数字(见寄存器说明),这个数字是规定的数字,可以在程序中识别并自动进入相应的子程序。禁止定时器 A 中断不会影响 TAIV 的值。 对 TAIV 的读写会自动复位最高优先级的挂起中断标志。如果另一个中断标志置位,在结束原先的中断响应后会,该中断响应立即发生。例如,当中断服务子程序访问 TAIV 时,如果TACCR1 和 TACCR2 CCIFG 标志位置位,TACCR1 CCIFG 自动复位。在中断服务子程序的 RETI命令执行后,TACCR2 CCIFG 标志会产生另一个中断。


四、TimerA的捕获模式


    1、设置:CAP=1选择捕获, CCISx位设置捕获的信号源,CMx位选择捕获的沿,上升,下降,或上升下降都捕获。


    2、如果一个第二次捕获在第一次捕获的值被读取之前发生,捕获比较寄存器就会产生一个溢出逻辑,COV位在此时置位,如图 8-11,COV 位必须软件清除。


五、寄存器


   1、TACTL:TimerA控制寄存器


      TASSELx:TA时钟源选择


            0:TACLK;1:ACLK;2:SMCLK;3:INCLK


      IDx:    输入分频,分时钟源分频再输入TimerA


            0/1/2/3:1/2/4/8 分频


      MCx:    模式控制


            0:停止定时器;1:增模式,定时器计数到TACCR0;


            2:连续模式,定时器计数到0xFFFF;3:增减模式,0->TACCR0->0


      TACLR:  定时器清零位。该位置位会复位 TAR,时钟分频和计数方向。TACLR位会自动复位并读出值为0


      TAIE:   TA 中断允许。该位允许 TAIFG 中断请求

            0:中断禁止;1:中断允许


      TAIFG:  TA中断标记


            0:无中断挂起;1:中断挂起


   2、TAR:TimerA计数寄存器


   3、TACCTLx:捕获比较控制寄存器


      CMx:捕获模式


           0:不捕获 ;1:上升沿捕获;2:下降沿捕获 ;3:上升和下降沿都捕获


      CCISx:捕获比较选择,该位选择 TACCRx 的输入信号


           0:CCIxA;1:CCIxB;2:GND;3:VCC


      SCS:同步捕获源,该位用于将捕获通信和时钟同步

           0:异步捕获;1:同步捕获


      SCCI:同步的捕获/比较输入,所选择的 CCI 输入信号由 EQUx 信号锁存,并可通过该位读取


      CAP:捕获模式


           0:比较模式;1:捕获模式


      OUTMODx:输出模式位。由于在模式 2,3,6 和 7 下 EQUx= EQU0,因此这些模式对 TACCR0 无效


           0:OUT  位的值;1:置位;2:翻转/复位;3:置位/复位 

           4:翻转;5:复位;6:翻转/置位;7:复位/置位

[1] [2]
关键字:msp430  学习经验 引用地址:msp430 学习经验总结

上一篇:MSP430定时器介绍
下一篇:MSP430学习笔记-USART

推荐阅读最新更新时间:2024-11-07 19:27

MSP430之解错篇
【记住】接口别忘设置! 1、设置IAR软件Tab键缩进字符个数 方法:Tools-Options-Editor-Tab Size,按习惯改后面数字. 2、Error : Undefined external LcdInit referred in main( E:MSP430 UDPDebugObjmain.r43 ) 原因:工程中有多个.c文件,但不在工程中. 解决:把.c文件加到工程里。 3、Error : Entry ReadingData in module DS1302 ( E:MSP430 ModuleDS1302DebugObjDS1302.r43 ) redefined in mod
[单片机]
msp430单片机Timer_A产生两路定时器
#include msp430x14x.h int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P1SEL |= BIT2+BIT3; //P1.2- TA1 P1.3- TA2 P1DIR |= BIT2+BIT3; //P1.2,3 direction is out CCTL1 |= OUTMOD_6; //timer_a ccr1 out mode 6 CCTL2 |= OUTMOD_6; //ccr2 out mode 6 CCR0 = 500; CCR1
[单片机]
MSP430加密代码保护
虽说加密代码保护不一定管用,想破解的人怎么也就破解了,但出于心里安慰,给破解增加点难度,还是加上吧。 使用 我使用的是JTAG密码保护,操作起来很方便: (1)把代码复制到程序中,先不配置IAR JTAG的密码下载设置,刷程序,这样子就把JTAG的密码写到了芯片中。 (2)断电重启,配置这个地方的密码,不配置仿真器连接不上芯片,配置上程序下载正常。 一、不同的MSP系列的JTAG锁定 1、物理 JTAG 保险丝 (熔丝)(F1xx/F2xx/F4xx) 可通过物理 JTAG 安全保险丝保护 MSP430F1xx、F2xx 和 F4xx 系列器件的 JTAG。进行 JTAG 或 SBW编程之后,保险丝将由编程工具熔断
[单片机]
<font color='red'>MSP430</font>加密代码保护
解读MSP430F2274单片机设计的倒车雷达系统电路
  随着人们对汽车辅助驾驶系统智能化要求的提高和 汽车电子 系统的网络化发展,新型的倒车雷达应能够连续测距并显示障碍物距离,并具有通信功能,能够把数据发送到汽车总线上去。以往的倒车雷达设计使用的元器件较多,功能也较简单。本文介绍的基于新型高性能超低功耗单片机MSP430F2274的倒车雷达可以弥补以往产品的不足。   系统采用超声波测距原理。超声波测距仪器一般由发射器、接收器和信号处理器三部分组成。工作时,超声波发射器发出超声波脉冲,超声波接收器接收遇到障碍物反射回来的反射波,准确测量超声波从发射到遇到障碍物反射返回的时间,根据超声波的传播速度,可以计算出障碍物距离。作为一种非接触式的检测方式,超声波具有空气传播衰减小、反射能力和穿
[单片机]
解读<font color='red'>MSP430</font>F2274单片机设计的倒车雷达系统电路
MSP430F5299时钟设置(24M)和计数器A使用
///////////////24MHZ时钟设置////////////////////////////////////////////////////////////// UCSCTL3 |=SELREF__REFOCLK; __bis_SR_register(SCG0); //disable the FLL control loop UCSCTL0=0X0000;// //Set lowest possible DCOx,MODxSCG0 UCSCTL1=DCORSEL_7; //Select DCO range 24MHz opreation //DCORSEL_
[单片机]
基于单片机的微功耗中文人机界面设计
在现代便携式智能仪器或手持设备中,中文人机界面成为一种事实上的行业标准。能显示汉字的图形点阵液晶和可输入数字的小键盘已成为智能设备必不可少的组成部分。同时作为便携式设备基本要求的低功耗特性也贯穿于中文人机界面的设计始终。 这种低功耗中文人机交互界面需要设计者在选取MCU和具体元器件上有特殊考虑。微功耗、小体积应作为选择相关器件的首要要求。 设计中,笔者采用MSP430F149单片机作为系统的MCU,通过选择合适的液晶显示模块在3V电平构建了一个低功耗的中文人机界面。此中文人机界面构成了微功耗数据采集系统的重要组成部分。 一、MSP430系列FLASH型单片机的微功耗特点 德州仪器公司(TI)推出的MSP43
[单片机]
基于单片机的微功耗中文人机界面设计
MSP430初学者教程(最详细)
学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。下面以MSP430系列单片机为例,解释一下学习单片机的过程。 (1)获取资料 购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。 (2)购买仿真器FET和实验电路板 如果经济条件不错,可以直接购买。
[单片机]
基于MSP430心肺听诊技能训练系统的设计
摘要:基于MSP430心肺听诊技能训练系统针对现代医学模拟教学的发展,改变过去用射频和特制听诊器来模仿心肺听诊过程,在操作上更逼真临床真实环境。以低功耗的MSP430为核心,并在模型人上安装27个专用设备来模拟人体的共118种心肺听诊的疾病声音。另外还可以用遥控器设置模型人的疾病类型,通过听诊器来识别模型人位置点发出的声音来辨别疾病。再现临床医学的工作场景,为学习者提供一个无风险的学习临床知识和技能的条件与环境。此外还添加了上位机教学系统,上住机根据收到的位置信号来控制上位机软件界面的显示,可以显示听诊的位置、声音特点、与呼吸的关系以及声音的波形信息,还可以外接扬声器放大播放所听到的心肺声音,达到医学教学的目的。 关键词:MS
[工业控制]
基于<font color='red'>MSP430</font>心肺听诊技能训练系统的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved