timer_t0_interrupt.c
来自「范例程序 SONiX」· C语言 代码 · 共 63 行
C
63 行
#include <sn8p2758.h>
unsigned int t0_buf;
void main (void)
{
//============================================================================
// timer T0
//============================================================================
FT0ENB=0; //Disable T0 timer
T0M=0x20; //Fcpu/64
T0C=0x64; //10ms interrupt Once
FT0ENB=1; // Enable T0 timer
FT0IEN=1; // Enable T0 interrupt
FT0IRQ=0; // Clean T0 interrupt request flag
FGIE=1; // all interrupt operation
while (1)
{
//==================================================================
//
// User code
//
//==================================================================
}
}
//===============================================================================================
// TO set 10ms interval time for T0 interrupt. X'tal:4M Fcpu=Fosc/4 T0RATE=010 (Fcpu/64)
//===============================================================================================
//
// T0 initial value = 256-(T0 interrupt interval time*clocl)
// = 256-(10ms*4MHz /4 /64)
// = 256-(0.01*4*1000000/4/64)
// = 100
// = 64H
//
__interrupt isr (void)
{
if((FT0IEN==1)&&(FT0IRQ==1))
{
FT0IRQ=0;
T0C=0x64;
t0_buf++; //10ms add one time
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?