xs128 定时器溢出中断

 
#include "includes.h"

uint32 counter = 0;

/***********************************************************
** 名       称:void ECT_Time(void) 
** 功       能:定时器
** 入口参数:无
** 出口参数:无
** 使用说明:100ms定时
************************************************************/
void ECT_Time(void) 
{
    //定时器使能
    TSCR1_TEN = 1; 
    //定时器溢出中断使能
    TSCR2_TOI = 1;
    //128分频,80 / 128 = 625000
    TSCR2_PR = 7;  
    //100ms
    TCNT = 65535 - 62500;  
}

/***********************************************************
** 名       称:void interrupt 16 TOI_ISR(void)
** 功       能:定时器计数器溢出中断处理服务函数
** 入口参数:无
** 出口参数:无
** 使用说明:无
************************************************************/
#pragma CODE_SEG  NON_BANKED

void interrupt 16 TOI_ISR(void)
{
    //清除溢出标志
    TFLG2 = 0x80;
    TCNT = 65535 - 62500; 
    
    counter++;
    //1s
    if(counter == 10)
    {
            counter = 0;
            PORTB = ~PORTB;      
    }
}

#pragma CODE_SEG DEFAULT


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值