[疑难问答] MA82G5B32 启动 KBI 导致无法进入定时器0中断

[复制链接]
1482|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

粉丝
快速回复 在线客服 返回列表 返回顶部