打印
[DemoCode下载]

ML51定时器中断操作

[复制链接]
1950|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huahuagg|  楼主 | 2019-8-28 23:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//***********************************************************************************************************

#include "ML51.h"

/**
* [url=home.php?mod=space&uid=247401]@brief[/url]        Timer delay interrupt demo
* @param       None
* [url=home.php?mod=space&uid=266161]@return[/url]      None
* [url=home.php?mod=space&uid=1543424]@Details[/url]     None
*/
/************************************************************************************************************
*    TIMER 0 interrupt subroutine
************************************************************************************************************/
void Timer0_ISR(void) interrupt 1        // Vector [url=home.php?mod=space&uid=72445]@[/url]  0x0B
{
    clr_TCON_TF0;
    P31 ^= 1;
}
/************************************************************************************************************
*    TIMER 1 interrupt subroutine
************************************************************************************************************/
void Timer1_ISR(void) interrupt 3        // Vector @  0x1B
{
    clr_TCON_TF1;
    P31 ^= 1;
}
/************************************************************************************************************
*    TIMER 2 interrupt subroutine
************************************************************************************************************/
void Timer2_ISR(void) interrupt 5        // Vector @  0x2B
{
    clr_T2CON_TF2;
    P31 ^= 1;
}
/************************************************************************************************************
*    TIMER 3 interrupt subroutine
************************************************************************************************************/
void Timer3_ISR(void) interrupt 16        // Vector @  0x83
{
    clr_T3CON_TF3;
    P31 ^= 1;
}



void main (void)
{
    MFP_P31_GPIO;
    P31_PUSHPULL_MODE;
  
  /* Include timer.c */
/* Timer0 base is HIRC 24MHz(24000000), delay 200ms = (200, 1000) */
      Timer0_Delay(24000000,200,1000);
      set_TCON_TR0;
/* Timer1 base is HIRC 24MHz(24000000), delay 1.8ms = (6, 300) */
      Timer1_Delay(24000000,6,300);
      set_TCON_TR1;
/* Timer1 base is HIRC 24MHz(24000000), devieder 512, delay 1 s = (2, 500000) */
      Timer2_Delay(24000000,512,2,500000);
      set_T2CON_TR2;
/* Timer1 base is HIRC 24MHz(24000000), devieder 128, delay300 ms = (1, 300000) */
      Timer3_Delay(24000000,128,1,300000);
      set_T3CON_TR3;
  
      Timer_Interrupt_Enable(TIMER0);
      Timer_Interrupt_Enable(TIMER1);
      Timer_Interrupt_Enable(TIMER2);
      Timer_Interrupt_Enable(TIMER3);
      ENABLE_GLOBAL_INTERRUPT;
  
      while(1);
      
}





使用特权

评论回复
沙发
huahuagg|  楼主 | 2019-8-28 23:56 | 只看该作者
见过这么好用的51吗

使用特权

评论回复
板凳
yiy| | 2019-8-28 23:56 | 只看该作者
新的系列,创新很大

使用特权

评论回复
地板
zhuotuzi| | 2019-8-29 00:02 | 只看该作者
这就是典型的模板,可以直接用的。

使用特权

评论回复
5
捉虫天师| | 2019-8-29 00:20 | 只看该作者
配合定时器图形化工具,更方便。

使用特权

评论回复
6
mintspring| | 2019-8-29 00:26 | 只看该作者
定时,延时都学会了。

使用特权

评论回复
7
玛尼玛尼哄| | 2019-8-29 00:30 | 只看该作者
这种操作思路挺好学。

使用特权

评论回复
8
ayb_ice| | 2019-8-29 13:27 | 只看该作者
真搞不懂
set_T2CON_TR2;

TR2 = 1;
好吗

使用特权

评论回复
9
phosphate| | 2019-8-30 15:38 | 只看该作者
不错不错!感谢分享

使用特权

评论回复
10
xixi2017| | 2019-8-30 16:16 | 只看该作者
几个定时器怎么用都提到了,MARK。

使用特权

评论回复
11
dongnanxibei| | 2019-8-30 23:59 | 只看该作者
中断都可以屏蔽掉吗

使用特权

评论回复
12
杨光光光,| | 2021-7-23 14:20 | 只看该作者
从来没见过这种操作,太怪异了,看不懂

使用特权

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

本版积分规则

142

主题

1305

帖子

2

粉丝