智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 909|回复: 0
打印 上一主题 下一主题

[其他] XS128 定时中断0,1

[复制链接]

1

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
85
威望
51
贡献
16
兑换币
19
注册时间
2015-4-9
在线时间
9 小时
毕业学校
基地中学
跳转到指定楼层
1#
发表于 2016-1-9 20:58:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我这么写定时中断,为什么定时器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;//清中断标志位
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 21:10 , Processed in 0.040726 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表