历史上的今天
今天是:2025年02月05日(星期三)
2021年02月05日 | 单片机MSP430入门理论⑧--定时器模块-定时器A③
2021-02-05 来源:eefocus
上期大概给大家汇总介绍了,定时器模块中定时器A的TACTL控制寄存器,TACTL是用来设置时钟,定时器模式,清除,定时器中断等基础功能的

本期将继续介绍定时器A,这次将整理一些关于定时器A的,其他寄存器的用法以及功能
1.0 下面要说的是TAR寄存器,这个寄存器很简单,就是定时器A用来计数的,也可以读写,只不过要注意当计数时钟不是MCLK时,写入前应停止计数,因为他与CPU时钟不同步,可能引起时间竞争

2.0 相对应的TACCRx寄存器,当比较模式时,TACCRx保存着你设置的用来跟定时器A实际计数值TAR比较的值,而当捕获模式时,TACCRx的就会被TAR的值覆盖

3.0 捕获/比较寄存器TACCTLx

CMx Bit 15-14 捕获模式
00 不捕获
01 上升沿捕获
10 下降沿捕获
11 上升沿下降沿都捕获
CCISx Bit 13-12 捕获信号的输入端选择,具体可以看下芯片IO配置
00 CCIxA
01 CCIxB
10 GND
11 Vcc
SCS bit 11 选择输入捕获信号与定时器选择的时钟源信号是同步还是异步,
在实际操作中,经常使用同步捕获模式,这样的捕获总会是有效的
异步捕获模式允许在请求时立即将捕获中断信号CCIFG置位和捕获定时器值,适用于捕获信号的周期远大于定时器时钟周期的情况,但是,如果定时器时钟和捕获信号发生时间竞争,则捕获寄存器的值可能出错
0 同步捕获
1 异步捕获
SCCI bit 10 同步比较/捕获输入。选择的CCISx(CCLxA,CCLxB,GND,Vcc)输入信号与EQUx信号锁存(一直保持这个信号直到下一次输入改变),并从这个位SCCIx读取状态
注解:EQUx信号是定时器比较模式下的一个输出信号,3个比较/捕获寄存器就有3个独立的比较器信号。
当TAR 的值大于等于TACCR0中的数值时,EQU0=1;
当TAR 的值等于相应的TACCR1或TACCR2的值时,EQU1=1或 EQU2=1。
Unused bit 9 空
CAP bit 8 选择捕获模式还是比较模式
0 比较模式
1 捕获模式
注意:在通过比较捕获寄存器CCTLx的CAP从比较模式切换为捕获模式时,不应同时进行捕获,会出现不可预料的事情,应该先切换模式,再捕获
OUTMODx bit 7-5 选择输出模式,模式2,3,6,7对于TACCR0没用,因为EQUx=EQU0
000 输出
001 置位
010 PWM 翻转/复位
011 PWM 置位/复位
100 翻转
101 复位
110 PWM 翻转/置位
111 PWM 复位/置位


CCIE bit 4 比较/捕获的中断开关,控制这个位可以打开CCIFG标志的响应中断
0 禁用中断
1 打开允许中断响应
CCI bit 3 捕获/比较的输入,选择的什么输入信号可以由这个位读出
捕获模式:由比较/捕获寄存器TACCTLx的CCIS0和CCIS1选择的输入信号通过该位读出
比较模式:CCIx复位
OUT bit 2 输出模式高低电平,不过当OUTMODx输出模式为000时,这里直接控制输出状态
0 为低电平
1 为高电平
COV bit 1 捕获溢出标志
0 未发生捕获溢出
1 发生捕获溢出
注意:如果工作模式CAP=0为比较模式时,捕获信号发生复位,没有使COV置位的捕获事件,而当CAP=1时,如果捕获寄存器的值被读出后又再次发生捕获事件,则COV置位,程序可以检测COV来断定原值读出前是否又发生捕获事件,读捕获寄存器时不会使溢出标志复位,需要软件复位
CCIFGx 捕获比较中断标志
捕获模式:寄存器CCRx捕获了定时器TAR值时置位
比较模式:寄存器TAR值等于寄存器CCRx值时置位
以上内容大多都是在网络上摘抄下来整理的,供大家学习参考的
史海拾趣
|
网络化存储之中心存储 在网络视频监控系统中,部署得更多的是中心存储。前端设备采集监控点图像并编码压缩处理成数字监控码流,然后通过网络传送到中心业务平台,由中心业务平台将码流分发给网络录像单元进行集中存储。 在很多大型的视频监控联网应 ...… 查看全部问答> |
|
之前放蛮久的板子突然不能下载了 ,原来是驱动损坏,而就算卸载是重新安装他还是会调用原先的驱动,论文忙完了今天在公司的偷偷搞了会 (*^__^*) 嘻嘻……又好了(我们公司不是搞单片机这类的) 我就相信我不会挂硬件的… 查看全部问答> |
|
CLK_ICKR=0x08; /* Configure clock prescaler */ CLK_CKDIVR = 0x01; /*分频时钟源 */ /* To select external source by automtic switch */ CLK_ICKR |= 0x10; /* 使能转化 */ CLK_SWR = 0xD2; /* 时 ...… 查看全部问答> |
|
同志们用msp430f149 的ADC12测量的电压值准确不? 我设置的是使用内部AVCC 怎么感觉像是2.5V 然后我用外部的输入AVCC电压值才比较准确 (还是有点误差) 谁知道怎么回事吗?… 查看全部问答> |




