单片机外部中断0,发生中断并执行完中断程序后,怎样返回主函数?用c语言。。

如题所述

执行完成之后自动返回主函数。

中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。 中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。

参考资料:http://baike.baidu.com/view/121718.htm

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
程序使用interrupt关键字

函数写法 void INT0_ISR(void) interrupt 0
{
中断处理程序;
}
0号中断就是INT0 ,使用interrupt关键字,编译后中断向量添加跳转指令跳入该函数入口,返回指令为RETI,非RET。程序内自动压栈ACC和PSW追问

你好。我还是没明白。
比如:
main()
{
initiation();//开启各个中断初始化程序;
while(1)
{
display_1();//4位数码管显示1234
}
}

void INT0_ISR(void) interrupt 0
{
display_2();//4位数码管显示5678
}

刚开始数码管显示的是1234;当中断执行后数码管一直显示的是5678。
可我想只是执行中断的时候显示5678,中断执行完毕后仍然显示1234。
请教如何实现C语言。

追答

程序结构没问题。可能是你的显示程序有问题

本回答被提问者采纳
第2个回答  2018-06-28
问一下,你这个问题解决了吗
相似回答