打印
[疑难问答]

MA82G5B32 启动 KBI 导致无法进入定时器0中断

[复制链接]
1323|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wsjzh|  楼主 | 2015-10-4 13:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MA82G5B32为什么会这样?
只要启用这行
EIE1 |= EKB;
此行会导致无法进入定时器0中断
关掉这行定时器0正常进中断

void    EnableKBIInterrup()
{
    EIE1 |= EKB;//此行会导致无法进入定时器中断
    KBPATN = 0xFF;
    KBCON = 0;
    KBMASK |= (0x01 << 4);//启动p2.2:kbi4键盘中断//
}   
void KBI_ISR(void) interrupt 7
{
    KBCON = 0;
    KBMASK = 0;
}
void Timer0_Init(void)
{
    AUXR0 |= T0XL;
    AUXR2 &= ~T0X12;     

    AUXR2 &= 0xFE;      
    TMOD&=0XF0;
    TMOD|=0X01;  

    TH0=0;
    TL0=0;
   
    ET0=1;  
    TF0 = 0;
   
    TR0=1;   
}

//定时器0中断服务程序  
void Timer0_ISR(void) interrupt 1
{
    TF0 = 0;  
   TH0=0xff;
   TL0=0xff;
}
沙发
mg_sz| | 2015-10-8 15:01 | 只看该作者
本帖最后由 mg_sz 于 2015-10-8 15:04 编辑

MA82G5B32的中断向量是 13,   而你的程序里是7

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wsjzh + 3 赞一个!
板凳
xia00| | 2015-10-8 18:02 | 只看该作者
看看数据手册,中断向量的值很容易搞错。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
wsjzh + 3 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝