打印
[技术问答]

N76E003 Timer2 Auto reload Mode counter demo code

[复制链接]
520|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
darklighttt|  楼主 | 2020-3-30 19:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 Timer2 Auto reload Mode counter demo code
//***********************************************************************************************************
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"


/******************************************************************
* Following define for timer 2 also in Function_define.h
********************************************************************/
#if 0
//#define TIMER_DIV4_VALUE_10us                                65536-56                                //9*4/22118400 = 10 uS,                            // Timer divider = 4
//#define TIMER_DIV4_VALUE_1ms                                65536-5530                        //923*4/22118400 = 1 mS,                           // Timer divider = 4
//#define TIMER_DIV4_VALUE_100us                        65536-553                                //553*4/22118400 = 100 us                                // Timer divider = 4
//#define TIMER_DIV4_VALUE_200us                        65536-1106                        //1106*4/22118400 = 200 us                        // Timer divider = 4
//#define TIMER_DIV4_VALUE_500us                        65536-2765                        //2765*4/22118400 = 500 us                        // Timer divider = 4               
//#define TIMER_DIV16_VALUE_10ms                        65536-13824                        //1500*16/22118400 = 10 ms                        // Timer divider = 16
//#define TIMER_DIV64_VALUE_30ms                        65536-10368                        //10368*64/22118400 = 30 ms                        // Timer divider = 64
//#define        TIMER_DIV128_VALUE_100ms                65536-17280                        //17280*128/22118400 = 100 ms                // Timer divider = 128
//#define        TIMER_DIV128_VALUE_200ms                65536-34560                        //34560*128/22118400 = 200 ms                // Timer divider = 128
//#define TIMER_DIV256_VALUE_500ms                65536-43200                        //43200*256/22118400 = 500 ms         // Timer divider = 256
//#define TIMER_DIV512_VALUE_1s                                65536-43200                        //43200*512/22118400 = 1 s                        // Timer divider = 512

//#define TIMER2_DIV_4                        T2MOD|=0x10;T2MOD&=0x9F
//#define TIMER2_DIV_16                        T2MOD|=0x20;T2MOD&=0xAF
//#define TIMER2_DIV_32                        T2MOD|=0x30;T2MOD&=0xBF
//#define TIMER2_DIV_64                        T2MOD|=0x40;T2MOD&=0xCF
//#define TIMER2_DIV_128                T2MOD|=0x50;T2MOD&=0xDF
//#define TIMER2_DIV_256                T2MOD|=0x60;T2MOD&=0xEF
//#define TIMER2_DIV_512                T2MOD|=0x70

//#define TIMER2_Auto_Reload_Delay_Mode                                T2CON&=~SET_BIT0;T2MOD|=SET_BIT7;T2MOD|=SET_BIT3
//#define TIMER2_Auto_Reload_Capture_Mode                        T2CON&=~SET_BIT0;T2MOD|=SET_BIT7
//#define        TIMER2_Compare_Capture_Mode                                        T2CON|=SET_BIT0;T2MOD&=~SET_BIT7;T2MOD|=SET_BIT2
#endif

/************************************************************************************************************
*    Timer2 interrupt subroutine
************************************************************************************************************/
void Timer2_ISR (void) interrupt 5
{
          clr_TF2;                                //Clear Timer2 Interrupt Flag
          P12 = ~P12;                                                                                                                        // GPIO1 toggle
                printf("\n TM2 INT 0x%bX",RCMP2H);
}
/************************************************************************************************************
*    Main function
************************************************************************************************************/
void main (void)
{
    Set_All_GPIO_Quasi_Mode;
                InitialUART0_Timer3(115200);
       
                TIMER2_DIV_128;
                TIMER2_Auto_Reload_Delay_Mode;

                RCMP2L = TIMER_DIV128_VALUE_100ms;
                RCMP2H = TIMER_DIV128_VALUE_100ms>>8;
                TL2 = 0;
                TH2 = 0;

    set_ET2;                                    // Enable Timer2 interrupt
          set_EA;
    set_TR2;                                    // Timer2 run
   
    while(1);
}


使用特权

评论回复
沙发
jiekou001| | 2020-3-30 22:02 | 只看该作者
自动重载模式,给力。

使用特权

评论回复
板凳
wanduzi| | 2020-3-31 15:21 | 只看该作者
这个方式好,不用中间给操作了。

使用特权

评论回复
地板
玛尼玛尼哄| | 2020-3-31 21:20 | 只看该作者
重载模式用的不是很多。

使用特权

评论回复
5
antusheng| | 2020-3-31 21:43 | 只看该作者
这个模式,定时周期短。

使用特权

评论回复
6
guanjiaer| | 2020-4-6 16:00 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
heimaojingzhang| | 2020-4-6 16:01 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
keaibukelian| | 2020-4-6 16:01 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
labasi| | 2020-4-6 16:01 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
10
paotangsan| | 2020-4-6 16:01 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
598330983| | 2020-4-12 13:16 | 只看该作者
这个模式频率范围是多少。周期范围。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

132

帖子

0

粉丝