历史上的今天
返回首页

历史上的今天

今天是:2025年02月09日(星期日)

正在发生

2020年02月09日 | msp430 学习经验总结

2020-02-09 来源:eefocus

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:复位/置位

推荐阅读

史海拾趣

ACCRETECH公司的发展小趣事

ACCRETECH是一家日本的半导体设备制造公司,以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: ACCRETECH(前身为TOKYO SEIMITSU)成立于1949年,总部位于日本东京。最初,公司主要从事机械零件的生产,随着时代的发展,逐渐转型为半导体设备制造商。起初,ACCRETECH主要生产晶圆表面检测设备和测量设备。

  2. 技术创新和产品拓展: 随着半导体行业的快速发展,ACCRETECH不断进行技术创新,并逐步拓展产品线。公司推出了包括晶圆尺寸测量仪、晶圆表面检测仪、晶圆平整度检测仪等在内的多种半导体生产设备,满足了客户对高精度、高效率设备的需求。

  3. 市场扩张和国际合作: ACCRETECH积极拓展国内外市场,并与全球各地的客户建立了合作关系。公司的产品被广泛应用于半导体制造、集成电路测试、电子元件生产等领域,赢得了客户的信赖。ACCRETECH还与国际知名半导体企业展开合作,共同推动技术进步和产业发展。

  4. 持续投入研发和创新: ACCRETECH不断加大研发投入,致力于技术创新和产品升级。公司设立了专门的研究机构和实验室,拥有一支技术精湛的团队,致力于开发新产品和解决方案,满足客户不断提高的需求。

  5. 未来发展展望: ACCRETECH将继续致力于半导体设备制造领域的研发和应用,不断推出更先进、更可靠的产品和解决方案,满足客户在半导体生产过程中的需求。公司将加强国际市场拓展,提升自身在全球市场的竞争力,为行业的发展做出更大的贡献。

启攀微(CHIPHOM)公司的发展小趣事

随着LED背光驱动芯片的成功推出,启攀微电子(CHIPHOM)逐渐在市场上崭露头角。然而,公司并没有满足于现状,而是继续加大研发投入,拓展产品线。在一次国际电子展上,公司展示了音频功率放大芯片和电阻式触摸屏控制芯片,引起了众多客户的关注。通过不懈的市场推广和技术支持,启攀微电子(CHIPHOM)成功打开了国内外市场的大门,实现了销售收入的快速增长。

Equinox公司的发展小趣事

随着科技的发展,Equinox意识到数字化对于提升客户体验的重要性。因此,公司开始投入大量资源建设数字平台,提供在线预约、课程购买、健康管理等服务。这些数字化功能不仅方便了客户,还提高了公司的运营效率。

CLANDELL公司的发展小趣事

在电子产品市场日益同质化的背景下,CLANDELL公司意识到技术创新的重要性。公司投入大量资源研发新型电子元件,通过优化设计和材料选择,成功推出了具有更高性能、更低能耗的电子产品。这一创新不仅提升了CLANDELL公司的市场竞争力,也为整个行业带来了技术进步的推动力。

Corning Cable Systems公司的发展小趣事

在追求经济效益的同时,Corning Cable Systems公司也积极履行社会责任,致力于推动绿色环保理念的实践。公司注重环保材料的选择和使用,并在生产过程中采取多项环保措施,以降低对环境的影响。此外,公司还积极推广绿色通信解决方案,为全球通信行业的可持续发展做出了积极贡献。

通过以上五个故事,我们可以看到Corning Cable Systems公司在电子行业中的发展历程和取得的成就。作为光纤通信领域的领军企业,公司凭借其创新技术、扩大生产规模、技术合作和绿色环保理念等方面的努力,不断推动着整个行业的进步和发展。

Graseby Infrared公司的发展小趣事
电动机负载过大或负载不平衡也可能导致接触器频繁动作。

问答坊 | AI 解惑

ad6的原理图库中一般的常用器件没有

各位大侠 最近在学习ad6,但是发现在查找元件时有些就是找不到。 例如:ATMEL的单片机等等; 常用的电阻,电容,找不到; 知道的可否指点一下。 另外,我在看资料时,发现可将99的封装改变过来。 这样好用吗?…

查看全部问答>

74HC393

74HC393,发给二都的…

查看全部问答>

C语言模块化程序设计方法教程。

最近发现很多收手为C语音模块化程序的设计苦恼,本人写个简单的教程希望对新人有用。为了使C的结构清晰并于维护,一定要注意,一个C文件一定要对应一个H文件,一一对应,如:   main.c -- config.h iic.c     -- iic.h ...…

查看全部问答>

关于wince中文输入法的问题

我添加了如下组件 MSPY 3.0 for windows ce       1.7 MB -standard database       double spelling soft keyboard Multilingual User Interface(MUI)。 但进入系统后,用double spelling soft keyb ...…

查看全部问答>

拔USB死机的问题,散几分

dell的本子重装了系统,拔USB没死,装好了所有的开发软件再试,死了。琢磨了一下,卸载BusHound,ok了。没重装之前也死,看来就是BusHound的作用。奇怪的是,拔读卡器、u盘这样的storage设备就死,即使安全弹出了设备,但拔activesync、串口、仿真 ...…

查看全部问答>

exam的例程中的can求助,香版主帮忙

最近在调英倍特板子的stm32中的can程序例子是自收自发模式,我修改为普通模式,但是在应用中,发送接收的时候就出问题了比如:can发送邮箱3个都是满的,可是就是发不出去信号,按照datasheet一步步来写程序还是不成。单步调过了,实在看不出什 ...…

查看全部问答>

关于CAN总线出错的问题处理

两个CAN通讯,故意手动模CAN通讯线(线皮去掉),CAN总线会死掉,我仿真时候,在看寄存器,发现,有时候是离线错误,看了几种错误情况都有? 如果仿真,让CPU重新复位,发现CA还不能正常通讯,我复位CPU,整个CAN寄存器都复位了,为什么总线 ...…

查看全部问答>

STM8STIME2可以用吗?

STM8S103K3 其中用到定时器2, 1、TIME2_CH2 做PWM输出; 2、TIME2_CH3 做脉冲输入捕获; 不知道这样做有没有问题??? 请兄弟们指点一二。。。。。…

查看全部问答>

运放偏置电流和输出失调电压的关系

首先给大家推荐一本好书《OP放大电路活用技巧》比较适合我这种没怎么使用过运放的新手 我看书时,书中介绍运放的偏置电流和输出失调电压的关系时写到: VOoffset=(RS//RF)(1+RF/RS)*IB-=RF*IB- 不知道是怎么推出来的?有没有大神讲讲具体原理啊 ...…

查看全部问答>