历史上的今天
返回首页

历史上的今天

今天是:2025年01月18日(星期六)

正在发生

2021年01月18日 | msp430 学习经验总结6个方面

2021-01-18 来源: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,那就选“第一功能”。


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 位必须软件清除。

推荐阅读

史海拾趣

Aborn Electronics Inc公司的发展小趣事

随着电子行业的快速发展,Aborn Electronics意识到只有不断创新才能在竞争中保持领先。公司加大了对研发的投入,引进了一批高素质的研发人才,并在多个技术领域取得了重要突破。其中,一项关于高效能电源管理技术的创新成果,不仅提高了产品的能效比,还为公司带来了可观的经济效益。这一技术的成功应用,进一步提升了Aborn Electronics在行业内的影响力。

全志(Allwinner)公司的发展小趣事

2010年,平板电脑市场的崛起为全志科技带来了巨大的发展机遇。全志迅速调整产品策略,推出了AP处理器A系列,成功抓住了这一市场风口。其芯片产品在平板电脑领域的应用,不仅提升了公司的市场份额,也为公司的未来发展奠定了坚实的基础。

APM Hexseal公司的发展小趣事

APM Hexseal的创始人Milton Morse是一位自学成才的工程师和杰出的创新者。他敏锐地洞察到电子行业对密封解决方案的迫切需求,于是开始设计原始的密封开关“靴子”。这种模制的覆盖物能够保护拨动开关和安装面板免受各种液体和气体的渗透。这一创新产品迅速取得了巨大的成功,为APM Hexseal公司奠定了坚实的基础。

GHI Electronics公司的发展小趣事

随着业务的不断拓展,GHI Electronics开始实施全球化战略。公司积极寻求与全球合作伙伴的合作机会,共同开拓新市场。同时,GHI Electronics还在多个国家和地区设立了分支机构或研发中心,以便更好地服务当地客户并快速响应市场需求。这种全球化战略布局不仅增强了GHI Electronics的市场竞争力,也为其带来了更多的商业机会和发展空间。

Endicott Research Group Inc (ERG)公司的发展小趣事

近年来,随着全球对环保和节能的日益重视,ERG积极响应绿色发展的号召,开始研发更加高效节能的电源产品和LED照明解决方案。他们通过优化电路设计、采用新型材料和改进生产工艺,成功降低了产品的能耗和废弃物产生。这些环保举措不仅提升了公司的社会形象,还为其赢得了更多环保意识强的客户的青睐。同时,ERG也积极参与各种环保公益活动,为推动行业的绿色发展做出了积极贡献。

以上五个故事,客观地描述了ERG在电子行业中的发展历程和主要成就。从初创时期的艰苦奋斗,到不断拓展业务范围、加强技术研发、与科研机构合作以及积极响应环保号召,ERG始终保持着创新精神和进取心,为电子行业的发展做出了重要贡献。

百佳(BAIJIA)公司的发展小趣事

在多年的发展过程中,百佳公司始终坚守品质至上的原则。他们严格把控产品质量,从原材料采购到生产制造的每一个环节都进行严格的监控和检测。同时,百佳公司还注重提升客户服务水平,为客户提供及时、专业的技术支持和售后服务。正是这种对品质的坚持和对客户的尊重,使得百佳公司赢得了广大客户的信赖和长期合作。

这五个故事只是百佳公司在电子行业发展中的一部分缩影。它们展示了百佳公司从初创时期的艰苦与坚持,到抓住市场机遇迅速崛起,再到技术创新引领发展、拓展国际市场实现全球化布局,以及坚持品质至上赢得客户信赖的完整历程。这些故事不仅见证了百佳公司的成长和成功,也展现了电子行业的蓬勃发展和无限可能。

问答坊 | AI 解惑

薄膜电容

电容器依着介质的不同,它的种类很多,例如:电解质电容、纸质电容、薄膜电容、陶瓷电容、云母电容、空气电容等。但是在音响器材中使用最频繁的,当属电解电容器和薄膜(Film)电容器。电解电容大多被使用在需要电容量很大的地方,例如主电源部份的滤 ...…

查看全部问答>

脑电图基础知识幻灯片

这里面主要介绍了脑电图的基本知识,还有各种脑电图波形,正常脑电图的诊断标准, 异常脑电图的诊断标准,一些专有名词等。有兴趣的朋友可以下来看看!! [ 本帖最后由 charlie1982 于 2009-12-31 15:34 编辑 ]…

查看全部问答>

基于mega8的简易循迹小车

放假啦,回到家了。上学期遗留了一些问题。 上学期做了一个基于mega8的简易循迹小车,循黑线行驶。车模是淘宝里购买的,控制电路是自己做的。做出来的效果很不好,虽然能沿黑线行驶,但是摇头晃脑的。 大概原理: 采用4对红外对管识别黑线,得到 ...…

查看全部问答>

变压器设计大师 3.0

变压器是常用的一种器件,本软件可以帮助您快速的计算出变压器的各项参数。同时还附带大量的资料以便您在设计变压器时查询。 与同类软件相比具有许多优点: 1、支持初级绕组多种输入电压。 2、支持次级绕组多绕组、多种电压输出。 3、支持 ...…

查看全部问答>

大家帮忙看一下这个偏移量对不对啊?

本帖最后由 paulhyde 于 2014-9-15 09:20 编辑 一个bmp图片由3大部分组成:BITMAPFILEHEADER结构体,BITMAPINFO结构体,DIB数据区。 Private Type BITMAPFILEHEADER // 14 bytes bfType As Integer bfSize As Long bfReserved1 As I ...…

查看全部问答>

电梯控制器

想用VHDL语言编一个二层的电梯控制器。要求:一,二极管指示灯指示上升和下降。二,用数码管指示所在层数。…

查看全部问答>

windows XP 下读写4GB memory

如何在windows XP 下读写4GB memory?有用过WinIO.dll,但只能读写0X000FFFFF以下的物理内在!Memaccess是可以,但要注册,不是免费的! 请教哪位高人有方法可以读写4GB memory,特别是在0XFF000000以上的物理内存。有可用的DLL也行。在网上找了很 ...…

查看全部问答>

驱动是不是都指pc机上的编程?

毕业设计要做usb驱动 但是这个驱动是指的什么呢? pc机上的编程 还是下位机上的编程?…

查看全部问答>

高薪诚聘嵌入式人才(北京)

招聘职位:渠道拓展 职位描述 工作职责1、负责院校渠道的拓展和建设,洽谈院校合作业务,最终实现教育产品(课程)的销售;2、维护渠道关系并根据情况进行需求分析达成更多合作计划;3、调查分析渠道市场状况,配合公司制定相应的渠道销售策略和 ...…

查看全部问答>

版主,给我们解释一下ifdefinedSTM32F10X_LD_VL

                                 解释一下这些玩意那里定义的,有何用途?那种型号该用那个定义??…

查看全部问答>