智能车制作
标题:
XS128 定时中断0,1
[打印本页]
作者:
wohenhao
时间:
2016-1-9 20:58
标题:
XS128 定时中断0,1
我这么写定时中断,为什么定时器0进的去 ,定时器1进不去啊 很诧异啊
void initPIT(void)//定时中断初始化函数
{
#define TIMDY0 100
#define TIMDY1 100
PITCFLMT_PITE=0; //定时中断通道
PITCE_PCE0=1;//定时器通道0使能
PITCE_PCE1=1;//定时器通道1使能
PITMTLD0=80-1;//0通道8位定时器初值设定。80分频
PITMTLD1= 160-1; //1通道8位定时器初值设定。80分频
PITLD0=TIMDY0-1;//16位定时器初值设定。周期为TIMDY*10的-6次方,即TIMDY微秒
PITLD1=TIMDY1-1;
PITINTE_PINTE0=1;//定时器中断通道0中断使能
PITINTE_PINTE1=1;//定时器中断通道1中断使能
PITCFLMT_PITE=1;//定时器使能
}
/*************************************************************/
/* 0通道 20MS定时中断的函数 */
/*************************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0(void)
{
vTmpPIT++;
if(vTmpPIT<20)
{
PORTA=0xff;
}
if(vTmpPIT>20)
{
PORTA=0x00;
}
if(vTmpPIT==200)
{
vTmpPIT=0;
}
PITTF_PTF0=1;//清中断标志
}
/*************************************************************/
/* 1通道40MS定时中断的函数 */
/*************************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 67 PIT1(void)
{ n++;
if(n<10)
{
PORTB=0xff;
}
if(n>10)
{
PORTB=0x00;
}
if(n==200)
{
n=0;
}
PITTF_PTF1=1;//清中断标志位
}
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2