51单片机使用中断好还是不使用好外部中断1和0都被使用了,但是还需要使用一个定时器中断,请问该怎么设置呢?

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

原标题:51单片机使用中断好还是鈈使用好外部中断0使用方法详解

今天就以51单片机使用中断好还是不使用好的外部中断0为例来简单讲解一下单片机使用中断好还是不使用恏中断的用法。

1 51单片机使用中断好还是不使用好的中断源

51单片机使用中断好还是不使用好共有5个中断源分别为:

每一个中断都对应一个Φ断向量,中断向量表如下所示:

当中断发生时单片机使用中断好还是不使用好将正在执行的程序暂时放下而去处理中断事件当中断事件处理完毕后再接着去处理之前的事情,这样可以大大降低单片机使用中断好还是不使用好的资源提高执行效率。举个例子说明一下什麼是中断:

我很喜欢打CS每天晚上我都会抽时间打CS,但同时厨房里正在烧水为了不使水烧干,我每隔5分钟就去厨房看一下水有没开但這就错过了游戏老被别人爆头干掉,我很苦恼怎么办。于是我在网上买了一个水烧开就会叫的水壶这样我就不用每隔5分钟去厨房了从洏可以专心的打游戏,只有听到水壶吱吱叫的时候我去把水倒出来就可以了。

在这个例子里打游戏就是主任务,水烧开就是中断吱吱叫就是中断向量,听到吱吱响我就明白水烧开了这时我要把打游戏这个主任务暂时放下,转而去处理水烧开了这个中断事件水倒完後我就又回到了游戏这个主任务中。这样是不是提高了打游戏的效率呢

51单片机使用中断好还是不使用好的外部中断0引脚接一只按键,该按键通过上拉电阻接到电源即没有按键发生时单片机使用中断好还是不使用好检测到的是高电平,当按键按下时单片机使用中断好还是鈈使用好检测到的是低电平单片机使用中断好还是不使用好的P0.0引脚以灌电流的方式接了一只LED,当按键按下时LED灯点亮没按键时LED灯熄灭。

單片机使用中断好还是不使用好中断函数的写法比较固定51单片机使用中断好还是不使用好中断函数的写法如下:

  1. void:为中断函数的返回类型,中断函数多为空类型;

  2. Initd():是中断函数的名称这个函数名符合C语言函数命名规范就可以,随便起;

  3. interrupt:为51单片机使用中断好还是不使用恏中断的关键字必须这么写(51单片机使用中断好还是不使用好必须这么写);

  4. 0:为中断向量,该值详看第一个表格如果是外部中断1就写2,洳果是定时器1中断就写3;

中断函数不用在主函数中调用只要中断事件发生,单片机使用中断好还是不使用好自己主动会调到中断函数中

该例子的函数如下所示:

当按键发生时,LED灯点亮如下图所示。注意对比两种图中按键的状态

本订阅号致力于单片机使用中断好还是鈈使用好、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念成功路上不孤单,我们一起努力公众号:micropoint8,对于本节内容欢迎大家讨论

我要回帖

更多关于 单片机使用中断好还是不使用好 的文章

 

随机推荐