430单片机之定时器A功能的大致介绍
总的来说,430单片机一共有三个定时器,定时器A,定时器B,还有就是看门狗定时器,这里我们主要是讨论430单片机的定时器A的功能,定时器A的功能是我目前见过最厉害的定时器,视频上说用好定时器A的话,对于今后真正的掌握430具有很重要的意义
同样是先介绍一下定时器A的特点:(英语六级科学类文章的常用写法,总分总)
1:可作为异步的16位定时器,16位的计数器,其中计数器有四种工作方式
2:可以调节的外部时钟源
3:3个捕获比较源
4:拥有可以输出PWM功能
5:异步的输入与输出锁存
6:拥有多个中断源
其实,看datasheet现在真的掌握方法了,看完简介关键就是看懂下面这张图,在编程的时候熟悉相关寄存器的操作就可以了
并且看图也还有个先后的顺序,因为机器是死的,运作起来是要靠晶振的振动,所以看图的时候,可以依据时钟源这条主线来看
首先,目光聚集在标号1,特点2讲了,可以调节的外部时钟源,有4种可以用的时钟源,
之后标号2是一个分频器,可以进行三种分频,
在接下来标号3是一个16位的工作区,就是一个加一计数器吧,
在接下来标号4就是一个计数器,计数器的话,有4种计数模式;
这里还是需要注意画蓝色的控制位,TACLR这个控制位是计数器还有定时器的复位控制位,如果这一位置位,则时钟源,分频比,还有计数器的方向都需要重新设定
Set TAIFG这个是计数器的中断标志位
接下来下面这一部分才是重头戏,捕获比较,标号5是捕获模式的比较来源,有四种捕获模式选择
标号6是一个捕获时钟源的同步选择,一般选择的是与内部时钟先一致,以避免内部资源的冲突
标号7是一个捕获寄存器,用来存放不同的时间戳,进而计算出脉宽的长度
标号8是一个锁存位
标号9是用来选择捕获模式还是比较模式
标号10是用来输出各种控制波形,比如PWM波形等等
接下来按照英语六级科学类阅读常用的方法,到了分的结构,430的定时器模式的介绍,其实定时器没什么可说的,无非就是具有时钟时钟源,分频比可以设置,以得到用户需要的计时效果,需要注意的是,当TACLR置位的时候,外部时钟源,分频比都会清除掉,再次使用的时候,用户需要重新设置,所以这一位的操作需要谨慎
在接下来便是计数器模式的介绍,430提供三种计数模式,增计数模式,连续计数模式,增减计数模式
增计数模式的话,这里需要注意的是增计数模式与连续计数模式差不多,都是输出锯齿波形,但是他们的峰值是不同的,因为增计数模式的话的峰值是用户自己设置的,设置的值存放在TACCR0的寄存器上,但是连续计数模式的峰值是固定的,是一直计数知道16位全部溢出,所以峰值是0xffff
图中所示,1表示增计数模式的话,2表示连续计数模式
值得注意的,值增计数模式的话的时候,如果突然间TACCR0上的值被改变,表示峰值被改变,假设由原来的峰值A变成峰值B
如果峰值B小于峰值A,则计数器马上变为0,重新开始技术
如果峰值B大于峰值A,则计数器会超过A,一直加大B,在变为0,之后输出峰值位B的锯齿波
接下来便是增减计数模式,这个比较有意思,他可以得到一个三角波,见图:
注意的是,该三角波的峰值也是可以调节的,还有三角波的技术具有记忆性,所以使用时需要注意,所谓的记忆性,就是在A出来一个暂停,他会暂停,并且恢复之后,计数的方向都不会改变
接下来就是选择捕获模式或者是比较模式,有CAP控制位来选择
当工作在捕获模式下的时候,单片机会捕获预先设定的脉冲,记录脉冲出现的时间戳,之后两个时间戳进行相减,得到的便是脉冲的宽度,但是当时间戳用户没有及时的取走的话,就会发生重复捕获,这是上一次出现的时间戳就会被覆盖
比较模式通常是CAP = 0,定时器工作在比较模式的情况下的时候,通常是用来输出PWM波形
到这里,定时器A的大部分功能都弄明白了,但是还有最重要的一个模块,那就是脉冲的输出模块,定时器A可以输出大量可以供用户选择的波形,这个功能真的是超级无敌的强大,这个输出模块需要很具体的工程实践能力,还需要很深的理论功底但需要的时候,但需要输出的波形的时候,可以优先考虑MSP430
版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3375015.html
430单片机之定时器A功能的大致介绍的更多相关文章
- 打打基础,回头看看avr单片机的定时器、中断和PWM(转)
以前小看了定时器,发现这东西还真的很讲究,那先复习复习吧. 先提提中断:我的理解就是cpu执行时,遇到中断——根据对应的中断源(硬件或软件)——pc定位中断入口地址,然后根据这里的函数指针——跳转到相 ...
- MCS-51单片机的定时器/计数器概念
一.MCS-51单片机的定时器/计数器概念 单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,而花费的时间恰好是1微秒;只要相邻两个计数脉冲之间的时间间隔相等,则计 ...
- Atitit.aticmd v4 新特性q39 添加定时器释放功能
Atitit.aticmd v4 新特性q39 添加定时器释放功能 V1 实现兰cmd V2 标准输入,标准输出,标准错误与重新定向 V3 stdout stderr统一重新定向 V4 添加定 ...
- 单机架设传奇服务器第47课:定时器OnTimer功能详解
传奇定时器OnTimer功能详解(泡点.时间触发.任务活动) 定时器功能,是服务端中非常常见的一种功能,常见如:泡点脚本.赌博脚本,任务活动指定时间刷怪,时间触发一些都需要用到OnTimer功能,定时 ...
- 传奇定时器OnTimer功能详解(泡点、时间触发、任务活动)
传奇定时器OnTimer功能详解(泡点.时间触发.任务活动) 定时器功能,是传奇服务端中非常常见的一种功能,常见如:泡点脚本.赌博脚本,任务活动指定时间刷怪,时间触发一些都需要用到OnTimer功能, ...
- PIC单片机的定时器
PIC单片机的定时器有3个 timer0 timer1 timer2 定时器的计算方法 256*k*Tcy=定时时间 (256-Init-value)*k*Tcy=定时时间
- 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍
在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Boots ...
- Android Studio的git功能的使用介绍
本文介绍Android Studio(下面简称AS)中git工具的一些简单使用.因为AS为git的使用提供了很多人性化的图形界面操作,在很大程度上可以增加开发效率.本文面向新手,题主自己也是新手一枚, ...
- 浏览器中 F12 功能的简单介绍
chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...
随机推荐
- WDC2106 iOS10新特性及开发者要注意什么
昨晚苹果在旧金山召开了WWDC,看了WWDC2016直播,我们发现变得谨慎而开放的苹果在新一版四大平台系统中展示了很多变化,当然重中之重还是伟大的iOS.通过试用iOS10beta版,除了长大了的更强 ...
- Myeclipse 2013 professional 破解,下载
昨天重装了系统,今天重新搭建开发环境,就顺便把Myeclipse升级到了2013,点击下载Myeclipse2013.惯例,需要破解Myeclipse2013,不过我发现我之前的破解Myeclipse ...
- jQuery树结构插件推荐zTree
JQuery zTree 下载地址http://plugins.jquery.com/zTree.v3/
- PAT-乙级-1015. 德才论 (25)
1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在<资治通鉴&g ...
- The 5th Zhejiang Provincial Collegiate Programming Contest------ProblemA:Accurately Say "CocaCola"!
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2965 题意:一群人玩过“7”的游戏,有7的数字或者7的倍数就要喊“coca ...
- 1961-计算机基础知识大赛 2 (new)
描述 求A^B的最后三位数表示的整数(1<=A,B<=10000) 输入 A B 输出 A^B的最后三位数 样例输入 2 3 12 6 样例输出 8 984 #include<ios ...
- CodeForces 279B Books
http://codeforces.com/problemset/problem/279/B 题意 :Valera 有很多的空闲时间,所以他决定看书,给出n本书,编号1到n,和看每本书需要的时间,他看 ...
- java I/O Stream 代码学习总结
一. InputStream 类学习介绍 mark方法 public void mark(int readlimit) 在此输入流中标记当前的位置.对 reset 方法的后续调用会在最后标记的位置重新 ...
- POJ 2778 DNA sequence
QAQ 做完禁忌 又做过文本生成器 这道题就是个水题啦 首先转移方程还是文本生成器的转移方程 但是注意到L很大,但是节点数很小 转移都是固定的,所以我们可以用AC自动机来构造转移矩阵 之后进行矩阵乘法 ...
- 吐槽C++
个人感觉,在c++ 道路的学习路上,遇到很多的坎坷,现在回想起来,最关键一点就是 c++知识点繁杂很多,教科书很多知识点都没有提到. 但是在实际工作中,这些没有提到的知识点,却又经常会用到(或者看开源 ...