历史上的今天
今天是:2025年01月22日(星期三)
2020年01月22日 | MSP430FR5969学习心得
2020-01-22 来源: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:中断挂起
上一篇:MSP430+DMA
下一篇:MSP430 测量输入电平
史海拾趣
|
本课程介绍了嵌入式系统的前沿技术和发展趋势,重点讲述了基于ARM微处理器的嵌入式硬件平台、嵌入式操作系统(RTlinux)和嵌入式软硬件系统开发技术。 采用理论学习和实践并重的教学方法,着重培养学生的实际动手能力,通过熟悉开发环境与开发流程 ...… 查看全部问答> |
|
如果接收的节点开启了Autoack的选项,cc2420会对所有正确接收的包进行硬件的自动回复,这时候的ack包发送端能收到吗?会被发送端的地址过滤给过滤吗?如果不会,怎么来判断是否是刚才发送的数据包的ack呢,光靠dsn不能保证的吧… 查看全部问答> |
|
我现在在做cmmb解复用的东西,cmmb视频数据是用模式2封装的,H264的nal单元被封装在复用净荷中,文档中说复用净荷和RTP净荷一一对应,可是我照文档中的说法做解出来的H264数据播放不了,现在只有北京530的605播放不了,这个台是清流台,希望高手能 ...… 查看全部问答> |
|
pxa270 + spi + wifi 问题!!!急!!!!在线等!!!!! 现在用岭仪的WIFI 硬件平台为PXA270 接口为SPI 目前系统初始化完SPI,然后读WIFI的ID可以正常通过 但是到加载固件时 函数static int sbi_download_wlan_fw_image(const u8 *firmware, int firmwarelen)下 有时:   ...… 查看全部问答> |
|
本人在CAN节点,之前在BASI模式下,SJA1000是可以正常初始化的;但我现在要用到PELI模式下的自检功能去检测单个节点硬件电路是否正常,但是在PELI模式下SJA1000无法正常读写,导致初始化不成功,请高人指点 #define SJA_BaseAdr 0xFF00 //定义sja1 ...… 查看全部问答> |
|
工信部电子信息司副巡视员关白玉日:年内将公布多项LED产业国家标准 工信部电子信息司副巡视员关白玉日前表示,L E D照明是新兴产业,今年将有多项国家标准和行业标准完成报批程序予以发布,同时还有一批标准在研究制定过程中。她是在20日中国照明学会举办的“首届L E D普通照 ...… 查看全部问答> |
|
本人刚开始学习单片机,用的是S12XF512的板子,有两个问题一直搞不懂想请教一下大虾。1、数据手册上写的空间映射从Local Memory Map到Global Memory Map,这个Global Memory Map指的是什么空间,为什么最大只有0x7FFFFF。2、xf512只带有4K的EEPROM ...… 查看全部问答> |




