当前位置:首页 > 技术分析 > 正文内容

单片机MSP430入门理论⑧--定时器模块-定时器A③

ruisui884个月前 (02-20)技术分析15

单片机MSP430入门理论⑧--定时器模块-定时器A③


上期大概给大家汇总介绍了,定时器模块中定时器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值时置位


以上内容大多都是在网络上摘抄下来整理的,供大家学习参考的,如涉及到版权请私聊

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2100.html

标签: 清除定时器
分享给朋友:

“单片机MSP430入门理论⑧--定时器模块-定时器A③” 的相关文章

Deepin Linux正式引入AI功能,成为第一个正式加入AI潮流的Linux发行版

Deepin Linux是一个基于Debian的Linux发行版,以美观和实用性而闻名。现在为了达到人工智能发展趋势的前沿,Deepin Linux的开发人员宣布,他们已经开始将AI功能集成到桌面环境及其随附的应用程序中。AI集成包含了两种风格——AI驱动的图像编辑插件和AI编码助手。其中图像编辑插...

vue3父子组件传对象,子组件访问修改父组件对象中的属性值

在Vue 3中,父子组件之间的数据传输通常通过props和emit进行。父组件可以通过props向下传递数据给子组件,子组件则可以通过emit向上通知父组件更新数据。如果需要在子组件中修改父组件对象中的属性值,可以使用一个名为ref的Vue 3新特性。以下是一个示例,演示了如何在Vue 3中实现父子...

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...

国产操作系统上Vim的详解03--安装和使用插件 | 统信 | 麒麟 | 中科方德

原文链接:国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插件管理器,可以帮助我们轻松地安...

Gemini应用在Android上广泛推出2.0闪电模式切换器

#头条精品计划# 快速导读谷歌(搜索)应用的测试频道在安卓设备的双子应用中推出了2.0闪电实验功能,现已向稳定用户开放。双子应用通过谷歌应用运行,目前推出的15.50版本中,用户可通过模型选择器体验不同选项,包括1.5专业版、1.5闪电版和2.0闪电实验版。2.0闪电实验模型提供了更快的响应速度和优...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...