中断程序首先有入口地址(比如ORG 0003H) 之后是中断处理语句 最晌镇虚后有一个返回指令RETI
例如:
ORG 000BH
LJMP TION
MOV R4,#0
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
WAIT: SJMP WAIT
TION: INC R4
CJNE R4,#10,timer
timer:MOV TH0,#3CH
MOV TL0,#0B0H
RETI
如果你说的是C51
中断程序结构如下:
void 中宴燃断程序名(void) interrupt n using m //确定中断源和中断程序所用寄存器
{
// 中断处理部分
}
例如:
void Time0_int(void) interrupt 1 using 1
{
uchar led,i
led=0xfe
P1=led
delay(500)
for(i=0i<8i++)
{
led=(led<<1)|0x01
P1=led
delay(500)
}
}
其中中断处理就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序。
1、中断处理过程包括中断请求、中断判优、中断响应、中断处理、中断返回
2、硬件实现:中断请求、中断判优、中断响应、中断返回
3、软件实现:中断请求、中断判优、中断处理
4、软件、硬件都实现:中断请求、中断判优
扩展资料:
当中断处理程序开始执行时,首先去唤醒处于阻塞状态的驱动(程序)进程。如果是采用了信号量机制,则可通过执行 signal *** 作,将处于阻塞状态的驱动(程序)进程唤醒;在采用信号机制时,将发送一信号给阻塞进程。
对于不同的设备,有不同的中断处理程升扒序。该程序首先从设备控制器中读拿笑稿出设备状态,以判别本次中断是正常完成中断,还是异常结束中断。若是前者,中断程序便进行结束处理;若还有命令,可再向控制器发送新的命令,进行新一轮的数据传送。若是异常结束中断,则根据发生异常的原因做相应的处理。
参考资料来源:百度百消孝科-执行中断
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)