📄 dsp_timer.h
字号:
/////////////dsp_timer.h
void init_timer()
{
asm(" setc SXM");
asm(" clrc OVM");
*IMR=(*IMR)|0x0002; //允许INT2 中断
*IFR=0xFFFF; //清除全部中断标志,“写1清零”
}
void timer1init()
{
*EVAIMRA=(*EVAIMRA)|0x0080; //允许定时器的周期中断
*EVAIFRA=(*EVAIFRA)&0x0080; //清除定时器1周期中断
*T1CON=0x160C; //Timer1为连续增计数模式,预分频值为64,使用内部时钟
*T1PER=0x0270; //Timer1的周期寄存器的值根据1ms延时和预分频值确定
*T1CNT=0x00; //Timer1的计数器清零
}
void clr_Watchdog() ///////////////////////看门狗清零
{
*WDKEY=0x55;
*WDKEY=0xAA;
}
void start_timer1()
{
*T1CON= (*T1CON)|0x0040; //计数值是0或等于周期寄存器值时重装载
clr_Watchdog();
*WDCR=0xA8;
*SCSR2=(*SCSR2)&0xffDF;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -