N76E003 输入捕获

发布者:Xingfu8888最新更新时间:2022-06-30 来源: csdn关键字:N76E003  输入捕获  定时器 手机看文章 扫描二维码
随时随地手机看文章

1、寄存器说明

定时器2是一个16位的向上计数器,由高8位寄存器(TH2)和低8位寄存器(TL2)组成。通过配置寄存器RCMP2H和RCMP2L,设置 (T2CON.0)后,定时器2能工作在比较模式和自动重载模式下。 定时器2具有3通道输入捕获模块,可用于测量输入脉冲宽度或周期。 3通道捕获结果分别存放在寄存器C0H及 C0L, C1H 及 C1L, C2H 及 C2L中。定时器2的时钟来自系统时钟的分频,总共具有8级分频,可适用于更多应用需求。当TR2 (T2CON.2) 置 1,定时器使能; TR2置0时,定时器关闭。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、示例代码

#include "N76E003.h"

#include "Common.h"

#include "Delay.h"

#include "SFR_Macro.h"

#include "Function_define.h"


long int temp[10];

int i=0;


/************************************************************************************************************

*    Timer2 Capture interrupt subroutine

************************************************************************************************************/

void Capture_ISR (void) interrupt 12

{

    clr_CAPF0; //清除CAP0 通道中断标志

temp[i]=(C0H*256)+C0L;

if(i<10) i++;

clr_TF2;//清除定时器2溢出标志

}


void main (void)

{

   Set_All_GPIO_Quasi_Mode;

P00_Input_Mode;//将P00设置为输入模式

P00 = 1;

set_ENF0;//打开0通道噪声滤波


TIMER2_CAP0_Capture_Mode;//采用CAP0组捕获信道

// TIMER2_CAP1_Capture_Mode;

// TIMER2_CAP2_Capture_Mode;


IC3_P00_CAP0_BothEdge_Capture;//设定P00通过CAP0通道,双边沿触发

// IC3_P00_CAP0_FallingEdge_Capture;//下降沿触发

// IC3_P00_CAP0_RisingEdge_Capture;//上升沿触发

set_ECAP;//使能输入捕获中断(位于拓展中断中)

set_TR2;  //定时器2计数使能  

set_EA;

//-----------------------------产生125K的PWM---------------------------------------------

        PWM5_P03_OUTPUT_ENABLE;//使能PWM5,通过P03引脚输出

        clr_PWMTYP;//边沿对齐模式

        clr_PWMMOD0;//设置为独立输出模式

        clr_PWMMOD1;

        PWM_CLOCK_DIV_8;//8分频模式

        PWMPH = 0x00;

        PWMPL = 0x0f;

    set_SFRPAGE;//PWM4 and PWM5 duty seting is in SFP page 1

    PWM5H = 0x00;               

    PWM5L = 0x08;

    clr_SFRPAGE;                                            

    set_LOAD;//载入周期和占空比

    set_PWMRUN;//开始输出PWM

    while(1)

    {

    }

}


3、测试与说明

官方其实将输入捕获这部分的宏写的很好了,实在没理由去一个个配置寄存器,建议直接使用宏定义,以下是捕获125KhzPWM的输出结果。测试成功。

捕获结果

关键字:N76E003  输入捕获  定时器 引用地址:N76E003 输入捕获

上一篇:N76E003 定时唤醒WKT
下一篇:N76E003 管脚中断

推荐阅读最新更新时间:2024-11-13 10:13

STM32通用定时器的PWM
脉冲宽度调制(PWM),是英文 Pulse Width Modulation 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出。 PWM输出模式 STM32的PWM输出有两种模式,模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位确定的( 110 为模式1, 111 为模式2)。模式1和模式2的区别如下: 110:PWM模式1-在
[单片机]
【ARM】定时器
PWM定时器   PWN:脉冲宽度调制   每个定时器都有一个专用的由定时器时钟驱动的16位递减计数器。当递减计数器的计数值达到0的时候,就会产生定时中断请求来通知CPU定时器操作完成。当定时器递减计数器达到0的时候,相应的TCNTBn的值会自动重载到递减计数器中以继续下次操作。   但是,如果定时器停止了,比如在定时器运行时清除TCON中的定时器使能位,TCNTBn的值不会被重载到递减计数器中   TCMPBn的值用于脉冲宽度调制(PWM)。当定时器的递减计数器的值和比较寄存器的值相匹配的时候,定时器控制逻辑将改变输出电平。因此,比较寄存器决定了PWM输出的开关时间。 定时吕控制寄存器(TCON)   定时器控制寄存器主
[单片机]
stm32高级定时器重新学习
最近做项目,用到定时器,索性重新学习一下,以前只是用于简单的pwm生成和中断处理,对定时器根本就没有进行深入研究,今天借此机会,重新学习一下高级定时器,只要高级定时器学会了,基本定时器也就没什么问题了。总体上来说,stm32的定时器,功能非常多。看了一下,大概有20个功能。我就按照数据手册,一一的重新学习一下。 首先是框图,娘的,看着就眼晕 1、时基:包含计数器寄存器(TIMx_CNT) 预分频器寄存器 (TIMx_PSC) 自动装载寄存器 (TIMx_ARR) 重复次数寄存器 (TIMx_RCR) 计数类似于51单片机中的TH1和TL1。预分频器就是将输入时钟进行降低。重复寄存器类似与51中的自动装载模式中的TH寄存器
[单片机]
stm32高级<font color='red'>定时器</font>重新学习
51单片机软件用定时器模拟串口程序
模拟串口用定时器完成,每一个串口要占用一个定时器,发送很好办,每次定时器中断(1BIT的时间)传送一个Bit,接收就要你好好处理了,这个我模拟的一个串口,用的W77E58,实际工作时只用到了半双工。 //使用硬件:定时器0,定时器0中断,定时器1中断,外中断5 //波特率 9600 4800 2400 1200 600 300 //每BIT周期数 96 96*2 96*4 96*8 96*16 96*32 //以96为单位不同的波特率选用不同的倍率 //如果对方在每位的1/2处采样,则发送中断的响应时间最多是48个时钟周期 //也许可以置发送中断以较高的优先级来解决,实验表明发送可以工作于9600 //但若有其它中断,并且
[单片机]
STC89C52定时器使用方法
定时器/计数器0 和定时器/计数器1 都可以在方式0、方式1、方式2 工作,而方式3 只有前者才能 工作。 1. 方式 0 当TMOD 中M1、M0 都为0 时,T/C 工作在方式0。 方式0 为13 位的T/C,由TH 提供高8 位,TL 提供低5 位,注意TL 的高3 位是无效的,计数溢出 值为2 的13 次方=8192,启动该计数器需要设置好计数初值。 当C/-- T该位为0 时,T/C 为定时器,振荡源12 分频的信号作为计数脉冲;当C/-- T该位为1 时,T/C 为计数器,对外部脉冲输入端的T0 或T1 引脚进行脉冲计数。 计数脉冲能否加到计数器上,受启动信号的控制。当GATE=0 时,只要TR=1,则T/C 启动;当
[单片机]
定时器/计数器方式3的编程和应用
  方式3下的T0和Tl大不相同。T0工作在方式3时,TL0和TH0被分成两个独立的8位定时器/计数器。其中,TL0可作为8位的定时器/计数器,而TH0只能作为8位的定时器。此时T1只能工作在方式0、1或2。      一般情况下,当定时器Tl用作串行口波特率发生器时,T0才设置为方式3。此时,常把定时器Tl设置为方式2,用作波特率发生器。      假设某AT89S51单片机应用系统的两个外部中断源已被占用,设置定时器Tl工作在方式2,用作波特率发生器。现要求增加一个外部中断源,并控制P1.0引脚输出一个5 kHz(周期为200μs)的方波。假设系统时钟为12 MHz。      基本思想:设置TL0工作在方式3计数模式,TL0
[单片机]
<font color='red'>定时器</font>/计数器方式3的编程和应用
MSP430F5529 (六)定时器Timer_A-2
6.4 捕获比较模块 这是在以上介绍的基础上正式讲TA的重要功能。 先看一个寄存器TACCTL0-TACCTL6:(TA中最复杂的寄存器,用到的时候查表啦) CMx:捕获模式设定 00 不捕获 01 上升沿捕获 10 下降沿捕获 11上升和下降沿都捕获 CCISx:捕获源的选择 00 CCIxA 01 CCIxB 10 GND 11 VCC SCS:同步捕获源,设定是否与时钟同步 0 异步捕获 1 同步捕获 SCCI:选择的CCI输入信号由EQUx信号锁存,并可通过该位读取。 CAP: 0-比较模式 1-捕获模式 OUTMOD:
[单片机]
MSP430F5529 (六)<font color='red'>定时器</font>Timer_A-2
GD32F310定时器采样MP6050并在彩色LCD上显示波形
1.开发环境 (1)IAR8.4 (2)MPU6050 1.8寸显示屏 2.软件 (1)MPU6050陀螺仪驱动 i2C配置: void i2c0_gpio_config(void) { rcu_periph_clock_enable(RCU_GPIOB); rcu_periph_clock_enable(RCU_I2C0); gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_6); gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_7); gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, G
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved