历史上的今天
今天是:2025年03月25日(星期二)
2020年03月25日 | MSP430单片机定时器学习笔记
2020-03-25 来源:eefocus
_BIS_SR(LPM2_bits + GIE) //进入LPM3低功耗模式和开总中断允许
中断
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
}
TACTL timerA控制寄存器
TAR timerA计数器
CCTL0 捕获/比较控制寄存器0
CCRO 捕获/比寄存器0(具有最高中断优先级别,单独使用一个中断向量)
CCTL1 捕获/比较寄存器1
CCR1 捕获/比较寄存器1
CCTL2 捕获/比较寄存器2
CCR2 捕获/比较寄存器2
TAIV 中断向量寄存器
其中,定时器,CCR2,CCR1三者共用一个中断向量
TimerA输出模式:
输出模式0 输出模式:输出信号OUTx由每个捕获/比较模块的控制寄存器CCTLx中的OUTx位定义,并在写入该寄存器后立即更新。最终位OUTx直通。
输出模式1 置位模式:输出信号在TAR等于CCRx时置位,并保持置位到定时器复位或选择另一种输出模式为止。
输出模式2 PWM翻转/复位模式:输出在TAR的值等于CCRx时翻转,当TAR的值等于CCR0时复位。
输出模式3 PWM置位/复位模式:输出在TAR的值等于CCRx时置位,当TAR的值等于CCR0时复位。
输出模式4 翻转模式:输出电平在TAR的值等于CCRx时翻转,输出周期是定时器周期的2倍。
输出模式5 复位模式:输出在TAR的值等于CCRx时复位,并保持低电平直到选择另一种输出模式。
输出模式6 PWM翻转/置位模式:输出电平在TAR的值等于CCRx时翻转,当TAR值等于CCR0时置位。
输出模式7 PWM复位/置位模式:输出电平在TAR的值等于CCRx时复位,当TAR的值等于CCR0时置位
TACTL
15-10 9 8 7 6 5 4 3 2 1 0
未使用 SSEL1 SSEL0 ID1 ID0 MC1 MC0 未使用 CLR TAIE TAIFG
定时器时钟源选择:
SSEL1 SSEL0
0 0 (特定外部信号)
0 1 (TASSEL0) ACLK
1 0 (TASSEL1) SMCLK
1 1 (INCLK)
通过MC1 MC0组合值来觉得TimerA的工作模式
0 0 停止模式。停止模式下,定时器不复位,回复工作后,按照停止时刻的状态继续运行
如果需要情况,请使用TACTL中的CLR清空
0 1 增计数模式
TAR == CCR1的时候产生一次中断。但是只有TAR == CCR0的时候,定时器才复位。(65535)
1 0 连续技术模式
0---0x0FFFH之后重新计数
1 1 增/减计数模式 先增,后减,产生堆成波形。
先到CCR0,然后减到0.周期翻倍。
对于更改CCR0的时
如果更改CCRO的值比之前大,则直接走到更改的值返回复位。
如果更改的值比之前的值小,分为2种情况:
1,此时时钟处于高,则遇到下降沿立马复位。
2.如果时钟处于低,则在下一个时钟周期下降沿复位(多往前走一个时钟周期)
修改TAR CACTL 中CLR,CM0 CM1的时候,需要先停止计数器
//就是把当前计数器TAR的值抓取放到CCRX当中
当CCTLx中的CAPx=1,该模块工作在捕获模式。这时如果在选定的引脚上发生设定的脉冲触发沿(上升沿、下降沿或任意跳变),则TAR中的值将写入到CCRx中。
当捕获完成后,中断标志位CCIFGx 被置位
史海拾趣
|
如何实现单击网页中的输入框时弹出一个对话框,单击网页其它元素关闭对话框? 在EVC中用WebBrowser控件浏览网页,想实现这样的效果:单击输入框时弹出一个对话框(用来输入文字),单击其它页面元素关闭该对话框。请问该怎么实现?有这样的事件可以响应吗?… 查看全部问答> |
|
keil c 模拟中,数字显示问题. 为什么一直提示:\'i\':undefined identifier?? 已经引用了头文件啊? #include void main() { P3=0xfe; int led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; &nb ...… 查看全部问答> |
|
我用API写串口通讯,在DLL里先用: hComm:=CreateFile(PChar(TmpStr),GENERIC_READ+GENERIC_WRITE,FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0); 打开串口,并打开成功! 然后再用writeFile(hComm,PChar(sendStr)^,length(sendStr),L ...… 查看全部问答> |
|
SHT11是瑞士Sensirion公司推出的基于CMOSensTM技术的新型温湿度传感器。该传感器将CMOS芯片技术与传感器技术结合起来,从而发挥出它们强大的优势互补作用。一、SHT11温湿度传感器的主要特性如下:●将温湿度传感器、信号放大调理、A/ ...… 查看全部问答> |
|
我们现在用到STM32的两种CPU STM32F101C8T6 和 STM32F103都出现相同的问题,ADC采样用DMA方式采集多个通道时出现数据通道错位的问题,一般情况下都是正常的,我们在实验室测试也没有问题,但是在客户现场用上一个多月后就会出现这 ...… 查看全部问答> |
|
现在要对外部的4个脉冲进行独立计数,430没有提供这么多的外部脉冲输入口,因为时序要求不高,想通过利用外部的中断引脚来进行脉冲计数,这样应该可以吧?但是在书上找不到外部中断的响应时间,不知哪位大大可以告之?… 查看全部问答> |




