Board logo

标题: [求助]关于中断号的问题 [打印本页]

作者: liwei727    时间: 2007-5-11 19:46     标题: [求助]关于中断号的问题

//此程序为PORTP7用作中断试验。设置为输入,下降沿处发中断
//在中断处理程序中,禁止PORTP7中断输入
#include
#include

static int waittime = 0;
static long absoluteTime = 0;

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void PORTP_ISR(void){
//DisableInterrupts;
PIEP = 0X00; //禁止再次产生中断
PIFP = 0x80; //清中断标志位
waittime++;
if(waittime>=200) waittime=0;
PORTB = waittime;
}
#pragma CODE_SEG DEFAULT
static void PORTPInit(void) {
DDRP = 0X7F; //PORTP7输入
PERP = 0X80; //允许上拉或者下拉
PPSP = 0X7F; //下降沿触发中断
PIEP = 0X80; //中断允许
}

我用的单片机为MC9S12DG128B,现在正在做一个按键中断,在单片机的P口中的一个引脚连接一个按键,按键另一端接地
由于不知道这种I/O中断的中断号是什么,所以每当按下按钮后,中断标志位置位,但是程序跑飞,总是进入不到中断子程序里面
以前用51的单片机一直用汇编编程,很少用C,因此对中断号的概念一无所知
请教版主关于中断号在什么地方能够查到
盼赐教

作者: nishui_2000    时间: 2007-5-12 12:12

中断号不一定非得用,你可以把中断入口地址指明就行,中断入口地址在手册里有的。
格式:如定时中断
VECTOR ADDRESS 0XFFF0 RTI_ISR
作者: liwei727    时间: 2007-5-12 19:07

谢谢了
中断号的概念我查到了,那个键盘的程序也调通了
请问如果采用指明中断入口的方法,下面这条语句要放在哪里?
VECTOR ADDRESS 0XFFF0 RTI_ISR
在main的主程序里么?
作者: nishui_2000    时间: 2007-5-13 16:03

放在.prm那个文件的最后,在 Vector 0 的后面
作者: liwei727    时间: 2007-5-14 08:40

谢谢高手指教:)




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0