找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2005|回复: 6
打印 上一主题 下一主题
收起左侧

为什么单片机中断服务程序指定工作寄存器后无法执行中断?

[复制链接]
跳转到指定楼层
楼主
1、中断服务程序指定工作寄存器后无法执行中断,按下按键无反应,但是去掉using 1和using 2 后,按下中断按键就可以执行中断了
2、还有,中断的优先级如果优先了外中断1,在外中断1打断外中断0中断,执行完中断1后执行中断0,却没有现象出现,流水灯不动,然后几秒后返回主函数了。
请各位指点下,程序在附件里面

1.jpg (40.1 KB, 下载次数: 95)

1.jpg

1.中断系统.zip

64.13 KB, 下载次数: 2

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-11-30 01:06 | 只看该作者
中断程序编写有问题,中断程序中不应该放置心里程序,改变思路,把延时程序去掉

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:65956 发表于 2020-11-30 09:02 | 只看该作者
中断里不要执行那些程序,要把那些中断中的程序移到主程序中去,利用中断中的标志位去执行,但延时不能太长,否则你也得等到他执行完了才会执行另外一个

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:278840 发表于 2020-11-30 09:15 | 只看该作者
中断服务程序中,要做到尽量少的执行时间,时间太长,反复中断,导致程序运行会出现错误,去掉要执行的程序,利用标志位判断,然后再去执行需要的效果程序

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:235055 发表于 2020-11-30 19:22 | 只看该作者
嗯呢,感谢各位的指点,这些都是书上的案例,看来只看书是没用的
回复

使用道具 举报

6#
ID:160500 发表于 2020-11-30 19:44 | 只看该作者
这说明你没有理解中断的原理,只知道抄书上的程序,出现问题就没有头绪了。还是去仔细读一下cpu处理中断的部分,理解了原理再看例子。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:235055 发表于 2020-12-1 19:41 | 只看该作者
liuzx66 发表于 2020-11-30 19:44
这说明你没有理解中断的原理,只知道抄书上的程序,出现问题就没有头绪了。还是去仔细读一下cpu处理中断的 ...

嗯嗯,确实需要多看书,搞懂原理,谢谢各位的指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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