中断方式的键控流水灯需要什么元件

中断方式的键控流水灯需要什么元件,第1张

什么是中断

简单的来说就是停止现在的事情来做另一件事情,做完在返回继续一开始的任务

3中断的定义

中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。

中断系统特点:

①分时 *** 作。CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用率;

②实时响应。CPU 能够及时处理应用系统的随机事件,系统的实时性大大增强;

③可靠性高。CPU 具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高

中断过程

对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立刻去处理(中断发生或中断请求);CPU暂时停止当前的工作(中断响应),转而去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。这一过程称为中断,注意是整个过程,而不是单一的停止一件事的意思。

举例:你打开火,烧上一壶水。然后去洗衣服,在洗衣服的过程中,突然听到水壶发出水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程中实际上就发生了一次中断

4中断程序的结束与退出

volatile boolean 状态;

void attachInterrupt_fun_FALLING_2() {

状态 = !状态;

digitalWrite(4,状态);

}

void setup(){

状态 = false;

pinMode(2, INPUT_PULLUP);

pinMode(4, OUTPUT);

attachInterrupt(digitalPinToInterrupt(2),attachInterrupt_fun_FALLING_2,FALLING);

}

void loop(){

}

复制

按键第一次按进入中断程序,第二次按退出中断

布尔型变量 只有两种结果 例如非真即假 0和1 这种

注释 :第一次状态为真时,第二次按下就为假,这样便可以达到一开一关的效果

不采用变量实现一开一关

注释 第一次按下状态假设为1,松开后变0,则第二次的初始状态为0,按下时与前一次状态不同,执行关闭

5程序的优先级

单片机的运行是一个代码运行的,中断程序就相当于一个优先级,可以打断单片机的运行,从而先运行其他程序

6空程序的运行

满足条件则运行空格里的程序,可当空语令运行,卡死在这一步,按键按下,数字输入变0,按住不放时,程序不变卡在空语句。状态不变,松开时,数字信号变为高电平1,则跳出中断语句

执行空语句时,空语句需要放入中断程序中,否则不运行

7数字信号的打印

void setup(){

Serialbegin(9600);

pinMode(4, INPUT);

}

void loop(){

pinMode(4, INPUT);

Serialprintln(digitalRead(4));

}

复制

注释:管脚模式一定要选好是输入还是输出

一开始想打印出按钮按下的数字信号,因为没有设定好管脚模式,导致检测不出来数字信号

上图所用的按扭为共阴按钮,因此数字信号管脚检测模式要设置为上拉输入,上拉输入可检测出 ##低电平

上拉输入的检测原理

8…程序错误的检测

先检测主程序是否错误

若串口数据不显示,则为设置程序模块有问题

跟检测主程序一样,加入打印串口数据,便可检测出是哪一步出现了问题

所有模块

所有模块代码

#include <PinChangeInth>

void attachPinInterrupt_fun_FALLING_2() {

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

digitalWrite(7,HIGH);

while (digitalRead(2) == 0) {

Serialprintln("卡死了");

}

}

void setup(){

Serialbegin(9600);

pinMode(2, INPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(2, INPUT_PULLUP);

PCintPort::attachInterrupt(2,attachPinInterrupt_fun_FALLING_2,FALLING);

}

void loop(){

digitalWrite(5,HIGH);

delay(1000);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

delay(1000);

digitalWrite(6,LOW);

digitalWrite(7,HIGH);

delay(1000);

digitalWrite(7,LOW);

}

复制

arduino

家用水泵多少钱一台

精选推荐

广告

51单片机,按键控制流水灯,流水灯控制

216下载·3评论

2012年6月26日

STM32复习之路——按键控制流水灯中断

4896阅读·2评论·4点赞

2019年12月19日

Arduino笔记-MsTimer2库通过中断实现两种流水灯样式

55阅读·1评论·0点赞

2022年10月21日

zigbee按键中断点亮流水灯

1435阅读·0评论·2点赞

2019年10月28日

Stm32的按键控制流水灯

2737阅读·1评论·3点赞

2022年4月18日

51基础——外部中断:手动按键实现流水灯

1354阅读·0评论·1点赞

2022年5月7日

一字粗跟凉鞋

精选推荐

广告

51按键外部中断控制流水灯

15W阅读·3评论·24点赞

2021年1月1日

51单片机外中断流水灯

4097阅读·1评论·7点赞

2021年12月3日

单片机组合实验一——中断控制流水灯

4300阅读·0评论·5点赞

2020年2月22日

STM32学习(5)按键控制流水灯(中断实现)

17W阅读·1评论·8点赞

2019年10月19日

STM32cubeIDE之外部中断控制LED流水灯(按键控制流水灯方向)

9059阅读·0评论·10点赞

2022年4月4日

51单片机 按键控制LED流水灯模式

3154阅读·0评论·4点赞

2022年7月30日

按键控制流水灯的运行与暂停

14W阅读·4评论·10点赞

2019年1月21日

利用中断控制流水灯的启停

4213阅读·2评论·8点赞

2020年4月14日

蓝桥杯51单片机之数码管从点亮到动态时钟的实现单片机开发初学者必掌握

1503阅读·0评论·4点赞

2020年12月25日

中断响应流水灯控制程序

10W阅读·0评论·7点赞

2017年12月11日

51单片机(中断系统)按键控制LED流水灯模式(2)

5953阅读·4评论·4点赞

2022年3月4日

STM32cubeIDE学习汇总(二)----外部中断控制LED和流水灯

7148阅读·2评论·4点赞

2022年3月12日

中断控制流水灯c语言程序,51单片机按键中断控制流水灯

3281阅读·0评论·0点赞

2021年6月6日

去首页

看看更多热门内容

1,下面以流水灯为例说明STM32CubeMX软件的使用。

2,

第一步,建立并保存工程。

3,启动STM32CubeMX软件,界面如图2所示。

4,点击New

Project,在New

Project对话框中选择Board

Selector标签页,在这里有各种ST评估板可以选择,我们选择STM32F429I-DISCO,最后点击OK,如图3所示。这样就建立起了STM32F429I-DISCO评估板的工程,这个工程已经根据评估板设置好了,然后可以生成相应的代码。

5,为了演示如何使用STM32CubeMX软件,关闭刚刚建立的工程,从头建立一个新的工程。点击New

Project,在New

Project对话框中选择Mcu

Selector标签页,然后在MCU

Filter中依次选择STM32F4,STM32F429/439,在下面列表中选择STM32F429ZITx,最后点击OK,如图4所示。

6,新建立的工程界面如图5所示。

以上就是关于中断方式的键控流水灯需要什么元件全部的内容,包括:中断方式的键控流水灯需要什么元件、如何生成stm32单片机程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10060815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存