找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1708|回复: 4
收起左侧

关于单片机中断的理解

[复制链接]
ID:1037824 发表于 2022-7-5 16:42 | 显示全部楼层 |阅读模式
就是51单片机学也学完了但是对于中断的了解真的就是一点都不好,我一直疑惑很多问题,中断程序是由计算机直接控制在遇到相应的触发点时就会直接进入,但是这个触发点该怎么设置呢,大多数文件里面写的都是进入到中断入口地址之后就会自己执行中断,我很迷惑啊,就是计算机找到中断入口地址之后,他确实进入中断程序,但他要怎么判断该不该执行这个中断程序,什么时候执行,这个时候就会有电平触发和脉冲触发等多种触发方式,但是这个电平和脉冲到底是中断程序之外的还是中断程序里面的东西呢?
还有就是如果要自己要怎么设置进入中断(开中断这些我都知道哈),如果这个真的就是自己设置了,那中断程序和子程序的区别又是什么呢?
又出现一个新的问题就是如何区分外部中断和内部中断,从我的角度看用到定时器的都属于内部中断
然而这个好像是不对的
回复

使用道具 举报

ID:1037824 发表于 2022-7-5 16:46 | 显示全部楼层
我不知道该怎么叙述大家会清楚一点
回复

使用道具 举报

ID:401564 发表于 2022-7-5 23:43 | 显示全部楼层
你不理解这些,是因为你没有认真看书中断,就是字面上的意思:中断
中断的执行条件:中断条件开启和中断条件达成,比如外部中断,你要开启外部中断和设定外部中断的的触发条件(高电平或者低电平,又或者是上升沿下降之类的)
中断的执行过程:
1,现场保护,把一些重要信息和PC(程序计数器)保存

2,去执行中断程序,当前执行的指令停止,优先去执行中断程序
3恢复现场,中断返回,把1步骤的保存的恢复
至于你的问题,基本都是没有认真看书的结果
比如"但是这个触发点该怎么设置呢",这不是很简单吗?你要什么中断的就设置什么中断呀,条件达成了就进入了呀
比如定时器中断,那么,你就是要开启全局中断,开启定时器中断,设定定时器,开启定时器,定时器时间到了,就会进入中断了
还有"但他要怎么判断该不该执行这个中断程序",根本就不存在这个问题,中断有中断入口就是中断被触发了才会进入这个入口的,不存在该不该执行
"中断程序和子程序的区别又是什么呢?",中断就是中断的程序,中断被触发了才执行的程序,子程序是调用就执行的程序
"又出现一个新的问题就是如何区分外部中断和内部中断",外部中断指的是某个IO端口的中断,不是说外面来的中断,它并不是和定时器中断是相反关系
它的名字叫外部中断,不是说它就是外面来的中断,它没一个反义词"内部中断",它名字叫外部中断而已,明白没

回复

使用道具 举报

ID:205485 发表于 2022-7-6 09:30 | 显示全部楼层
大概能理解你的意思,刚接触中断的时候,最大的困扰是为什么要用到它,为什么总是从主程序跳出来,进入interrupt,把interrupt里要执行的内容直接写进程序不就行了吗。
回复

使用道具 举报

ID:451718 发表于 2022-7-6 20:56 | 显示全部楼层
对于单片机来说,中断可以理解为整个系统的节拍。尤其是内部中断,可以可以理解为整个系统的脉搏。每隔一段时间,固定去做一些特定的事,比如可以用来计时。

如果再深入一点点,如果你计时的是毫秒,那么可以把奇数毫秒值的时刻去做事件1,偶数毫秒值的时刻去做事件2,这样,你的系统就可以同时模拟处理两个线程。 当然,你也可以用3取模,余0做一件事,余1做一件事,余2再做一件事。只要你的芯片够快,你可以竟可能的细分下去。

开始接触单片机的时候,总喜欢把外部中断来响应按键,其实这是没有必要的。也是对系统的理解误区。在一个10毫秒的定时器中断中,去判断按键是否有按下,累计5次连续判断为真,就可以认定按键被按下了。然后给出返回值,这也是中断的一种应用。

总之,多看看例程,中断这个概念才会慢慢的被理解。

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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