搜索
bottom↓
回复: 7

c语言编程时,如何修改中断返回点?

[复制链接]

出0入0汤圆

发表于 2006-4-20 13:04:07 | 显示全部楼层 |阅读模式
本人初学,最近做一个设计需要对中断的返回点进行修改,c编程时如何实现?暂时用89s52做设计,以后在移植到mega16上去,由于对avr的单片机还不太了解,如果哪位愿意赐教在下感激不尽!

我的邮箱pcs3◎163.com

出0入0汤圆

发表于 2006-4-20 21:24:36 | 显示全部楼层
中断的返回点进行修改?什么意思?

出0入0汤圆

 楼主| 发表于 2006-4-24 19:30:07 | 显示全部楼层
当中断响应以后转到中断服务程序中,而中断服务程序执行完之后不想再回据主程序,而直接跳转到其他的子程序,所以要对中断的返回点修改。在用89s51作试验用汇编语言做过这方面的试验,汇编指令好像是这样的:

pop dph

pop dpl

mov dptr #子程序地址值

push dph

push dpl

由于我一直是自学的,没有受过系统的教育,可能交流起来有些障碍,最进觉得avr的单片机性能不错,所以转学avr了。照您提供的并口下载线做了一条下载线,使用mega16做一些小设计,在avr单片机设计方面绝对算个菜鸟,希望得到指点!

出0入0汤圆

发表于 2006-4-26 21:39:57 | 显示全部楼层
“而中断服务程序执行完之后不想再回据主程序,而直接跳转到其他的子程序”不是好的做法。那么子程序再返回何处?



你是新手吗?怎么会使用这样特殊的处理?

出0入0汤圆

发表于 2010-6-14 12:30:18 | 显示全部楼层
c语言的中断,在中断入口保存现场,中断执行完毕后自动返回原有开始中断位置。
只能够在汇编里面做修改。

出0入0汤圆

发表于 2010-6-14 12:30:49 | 显示全部楼层
帖子怎么这么久了

出0入0汤圆

发表于 2010-7-2 18:52:22 | 显示全部楼层
用goto语句应该很容易实现,我没实际试过您要自己试一下。

出0入0汤圆

发表于 2010-7-2 19:14:12 | 显示全部楼层
建议楼主不要这样搞,如果要改变程序流程,最好是在中断中设置相应的标志位,在主程序中查询再做相应处理。或者调用子程序后再返回中断服务流程,再由中断返回主程序。乱改中断返回地址很容易引起程序崩溃,对程序调试、稳定性、可读性也有很多害处。如果说设计上有这个需求,那么首先这个设计就是很不好的,先修改程序流程设计吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 12:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表