430入门之中断.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
430入门之中断

很多人刚刚接触单片机的时候都对中断不是很理解,或者是说对单片机的运行机制不是很理解,比如说为什么要在main函数里面加一个while(1)?那样的话岂不是程序卡死了吗?那么中断函数又是什么时候执行呢?小编刚开始也是这样懵懵懂懂的过来,直到最近二刷单片机,才有了一个比较清晰地理解,此处就以MSP430F6638为例,讲解单片机基本的运行机制和本帅气的小编对中断一些浅显的理解(高手勿喷)首先是运行机制,啥话不说,先上代码Main函数一般来说,都是由这三部分组成。1、关狗(如无意外,一般都关狗);2、初始化各种东西,配置各种管脚(不同程序不一样,具体问题具体分析);3、while(1)循环,有一定编程基础的人都知道,程序是从主函数处开始执行,执行完主函数也就退出程序了,但是我们玩单片机肯定不能让他就这样退出了啊,所以这里加一个死循环,乖乖的卡死在这里吧。那么有人会问了,程序卡死在这里,我怎么做其他操作啊,这里就不得不提到一个十分好用的东西了——中断,只有了解了中断机制,才能66地玩单片机啊。好了,基本的运行框架大概就是这么多,下面就稍微讲解一下中断机制。首先就是中断的分类,根据引起中断的原因,中断一般可以分为按键中断,定时器中断,看门狗中断(其实也是一种定时器中断)。其次就是什么时候会进入中断函数,定时器中断会在计数溢出的时候进入中断函数,而按键中断则会在检测到下降沿或者是上升沿时候进入中断(看你怎么设置),以下以按键中断为例,讲解一下中断,啥也不说,上代码。首先是按键的配置,先查阅原理图,弄清楚按键对应的是哪个管脚,然后根据下面代码和注释自行配置。比如说6638,查阅原理图可知按键有这些管脚,随便选一个进行配置。其次就是中断函数,每当程序检测到上升沿的时候(无论此时程序执行到哪里),都会进入到中断函数,而执行完中断函数之后程序又会回到刚刚执行到的地方(所以说中断里面千万不能放死循环啊,不然就真的卡死了……)来人,呈上代码。上面的就是中断函数的标准写法,一般来说,只需要修改第二个红色方框内部的内容,其他的照抄就好。还有一个最重要的就是中断向量,也就是第一个红色方框内部的东西,每一个中断都有独一无二的中断向量,这是用于区分不同中断的,在IAR或者CCS里面选中PORT4_VECTOR然后右键可以看到此台单片机允许的中断向量有哪些。比如说这里,就有Port3和4的中断,还有定时器2的中断,这里只是一部分,具体的自己根据自己的单片机去看。具体的更详细的,更原理性的东西可以阅读每个单片机的userguide。附录:定时器中断(定时器配置内容较多,此处不再赘述)看门狗定时器中断

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档