米思齐分享-08-米思齐中断的使用,结合米思齐自带例程中的“中断延时灯”

我们要结合“中断延时灯”来学习一下米思齐中断的使用。我们学习的思路就是:先来巩固一下中断,再来学习一下延时灯,再在延时灯的基础上进一步学习中断延时灯。首先来看一下中断和延时灯:

一、中断

1. 什么是中断?

打个比方吧,比如你在家看电视,突然家里电话铃响了,那么你不得不停下看电视先去接电话,等接完电话后,你又可以继续看电视啦!在整个过程中接电话就是一个中断过程,电话铃响就是中断的标志,即触发中断的条件。

2.中断被触发的四种条件:

①LOW(低)当引脚为低电平时,触发中断。

②CHANGE(改变)当引脚电平发生改变时,触发中断。

③RISING(上升)当引脚由低电平变为高电平时,触发中断。

④FALLING(下降)当引脚由高电平变为低电平时,触发中断。

3.中断可以使用的管脚:

Arduino Uno:管脚#2(对应中断0)和管脚#3(对应中断1)。

二、延时灯

1.制作目标:

完成一个日常生活中常用的延时灯的制作,默认情况下,灯是灭的,当用户按下一次按键后,灯亮,等1秒后再灭。

2.物理连接与元件:

①UNO主控板与DFRduino UNO R3 传感器IO扩展板相连;

②LED发光模块:与数字10端口相连;

③按钮模块:与数字2端口相连;

④导线

LED发光模板
IO传感拓展版
按键

3.思路分析:

当按钮被按下时,向2号管脚输入高电平,此时10号管脚应输出高电平(即按下按钮,灯亮);

当按钮被抬起时,向2号管脚输入低电平,此时10号管脚应输出低电平(即抬起按钮,灯灭)。

4. 程序编写:

①这段程序编写是错误的,输入包含两种状态,无法对应输出的两种状态。

数字输入:支持管脚:0-13、A0-A5(不用0、1);

     两种状态:高(按钮按下)、低(按钮抬起)

②这段程序编写是正确的。将管脚#2的数字输入作为判断条件,当结果为真时(即按钮按下时),管脚#10输出为高电平(即灯亮)并延时3s后灭;当结果不为真时(即按钮抬起时),管脚#10输出为低电平(即灯灭)。

如果:

上口(向右开)插入判断条件,结果有“真”、“假”两种可能。

下口(上下开)插入当判断条件为“真”时执行的代码,判断条件的结果为“假”时,则不执行这段代码。

5. 电路连接

电路连接图
下面我们来重点分析一下中断延时灯的代码。

三、延时灯的改进——中断延时灯

1.使用按钮模拟开关——按下长亮,再按下一秒后灭

①用中断方式

②理解中断的概念

③只有2,3管脚可以用

2. 总的代码分析

上面部分的代码实现了按下长亮的功能。管脚#2实现了上升沿的中断,即按下按钮时灯长亮。并把管脚#10的输出(即灯亮)设为下面代码部分的输入,实现中断功能的回调。下面部分的代码实现了再按下一秒后灭的功能(函数中是按下按钮,延时三秒后,管脚#10输出变为低电平)。

3.分步代码分析

①初始化模块

初始化模板

由于直接放在程序构建区的模块是在loop函数中循环运行的,如果我们希望某个程序模块只在初始化时运行,就需要将对应的模块放在初始化模块中。

对应的就是setup函数,包含在模块中的代码都会放在setup 函数中,不过由于代码中本身就包含setup函数,所以这个操作看起来没有任何效果。

②中断控制模块

中断控制模板

中断控制模块生成的代码分为两部分,一部分是在程序主体中完成的一个函数,如下:

attachInterrupt

(digitalPinTolnterrupt (2),

attachInterrupt_fun_ 2,RISING);

另一部分是实现中断功能的回调函数,如下(包含在中断控制模块中的模块产生的代码都是放在这个回调函数中):

void attachInterrupt_fun_2()

{

}

③延时模块

延时模板

delay(3000);

④如果执行模块

执行模板

If(false)

{

}

⑤输入/输出模块

输入/输出模板

因为高低数值模块需要和其他模块配合才能体现出来,所以这里将“输入/输出”分类中的前两个模块结合进行代码对照。说明:高低模块中,“低”对应参数LOW, “高”对应参数HIGH。

digitalRead(10);

digitalWrite(10,LOW);

4.与Arduino代码对照分析

与Arduino代码对照分析图

四、实验结果与反思

①我们在详细研究代码后,准备进行实验,然而米思齐参考课程的资料中显示的物理元件我们在Arduino套件中没有找到,然后我们就重新做了做Arduino的中断实验,基本实现了中断延时灯。

实验结果

②通过新阳老师的点评,我们对PPT进行了修改,将讲解的部分代码从总的代码中拆分和标记出来,使每一页既有总的代码又有放大的分步代码,并对米思齐代码和Arduino代码做了标注对照,这样更加清晰明确,是我们在PPT的制作上的一个大的收获。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容

  • 交通灯控制设计 一、选题背景 每个城市的交通就犹如人体的血管,人类生命的持续需要心脏为血液提供动力,依靠血液来在人...
    Rik_personal阅读 1,653评论 0 0
  • 本系列文章为作者原创,未经作者书面同意,不得转载! 我们在电视综艺节目里面经常看到多个选手抢答问题(其实我并不常看...
    创客创未来阅读 7,170评论 2 11
  • 一 实验目的 1.中断概念的了解以及运用 2.串口通信plus:蓝牙通信,软串口库的使用 3.进一步熟悉datas...
    Eptsten阅读 870评论 0 1
  • 不经意间,窗台边的一株百合花开了,芬芳馥郁,阳光的照射,雨水的洗礼,那株花骨朵终于耐不住性子,探着脑袋迎着晨曦...
    Candy_dai阅读 466评论 0 8
  • 数据库设计 前要:字符串长度不是定义字节数,而是字符数,多字节字符集需要更多的空间存储单个字符。 字段设计维度的思...
    yulibaozi阅读 473评论 0 0