📄 init_timer0.c
字号:
#include "2410addr.h"
/*************************************************
timer0是系统时钟 10ms
************************************************/
void INT_Timer_Initialize(void)
{
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* */
/* Fout(s)=[(prescaler+1)*(TCNTB+1)]/[pclk*divider]=40ms */
/* */
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
rTCFG0=(rTCFG0&~0xFF)|0x64; //prescaler0 100
rTCFG1=(rTCFG1&~0x0F)|0x01; //divide value 1/4
rTCNTB0=5000; //TCNTB=5000
rTCMPB0=3000;
rTCON=(rTCON&~0xFF)|0x0a; //auto load, invert off, manual update, stop timer
/*INTIALIZE THE INTERRUPT*/
rINTMOD=0x0; //all irq
rINTMSK=0xffffffff; //disable all interrupt source
rINTSUBMSK=0xffff; //disable all sub interrupt source
}
void EnableTimer0(void)
{
rINTMSK=~(BIT_TIMER0);
rTCON=(rTCON&~0xFF)|0x09;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -