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

 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
意法半导体致力于引领单片机技术和产品的创新,推动生态系统的建设,为用户提供满意的产品和技术服务。意法半导体单片机产品线拥有业界宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向,同时兼具一流的市场竞争力。STM32是ARM Cortex内核单片机和微处理器市场和技术方面的佼佼者,目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超过1000个型号。STM32产品广泛应用于工业控制、消费电子、物联网、通讯设备、医疗服务、安防监控等应用领域,其优异的性能进一步推动了生活和产业智能…
捍红冲q
2011-06-05 · TA获得超过173个赞
知道答主
回答量:42
采纳率:0%
帮助的人:37.4万
展开全部

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

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

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

意法半导体(中国)投资有限公司
2021-01-14 广告
主要的问题是,程序入流水一样“流走”了,你需要将程序留在里面执行,C的话加一个死循环 while(1);汇编的话加一条原地踏步语句:SJMP $ #include unsigned char LED; void main() { TMOD=... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
zhaoguoqing297
推荐于2017-11-24 · TA获得超过720个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:132万
展开全部
程序使用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语言。
追答
程序结构没问题。可能是你的显示程序有问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用户名贼受欢迎
2018-06-28
知道答主
回答量:1
采纳率:0%
帮助的人:860
展开全部
问一下,你这个问题解决了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式