进阶教程:单片机独立按键,分别控制不同的LED点亮流水 代码详解

时间:2023-03-27来源:佚名

大家好,小伙伴们通过以上几篇文章的学习,我相信已经对于单片机控制LED流水的项目已经很熟悉了吧,其实还可以尝试着改一些代码实现花样流水地效果,感兴趣的小伙伴可以试一下,此处不再赘述。

我们言归正传继续说回我们今天的实验项目,单片机的独立按键控制流水灯点亮,其实这个只比上一个实验复杂一点点,上一个实验请移步,就是在流水灯的基础上添加了按键独立控制。及有0~7八个按键及0~7八个LED,当按下按键对应的LED即被点亮。当有规律的不停按下按键时,就会呈现LED花样流水地效果。和上面几篇文章一样,我们同样从软件和硬件的两个角度来为大家讲解一下。

进阶教程:单片机独立按键,分别控制不同的LED点亮流水 代码详解

硬件方面

LED的原理已经说了很多次了,此处不再赘述。

按键的种类其实有很多,但是都大同小异,基本功能是不变的,下面先说一下最简单的也是今天实验中需要的点动开关按键:这种按键工作原理就是你一按下去,就会通电(或实现相应功能),像计算机键盘一样,汽车按键,电话按键一样,一松开就会自动弹起断电。如果一直按下去则会一直生效,直到按键再次弹起。

进阶教程:单片机独立按键,分别控制不同的LED点亮流水 代码详解

单片机关于控制方式和工作原理都不再重复,不明白的小伙伴请自行爬楼或者私信。

有一点我还是要说一下,既然是按键,那就要有人按,这里就涉及到一个误操作的问题,因为误操作往往不是我们想要的,往往会给我们带来损失或者麻烦,为了避免这种情况防止我们误操作,我们需要添加防止误操作的代码,我们单片机上通常叫做消抖,即消除按键抖动。好了,了解完了硬件以后那么我们下面开始讲解软件代码部分。

C语言参考源代码如下:

define uint int //定义类型变量

#define uchar char //宏定义字符型变量

sbit S1 = P3^7; //用P3.7来检测按键是否被按下

sbit S2 = P3^6; sbit S3 = P3^5; sbit S4 = P3^4; sbit S5 = P3^3; sbit S6 = P3^2;

sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3;

sbit LED5 = P2^4; sbit LED6 = P2^5; sbit LED7 = P2^6; sbit LED8 = P2^7;

void delay(uint z);

void main()

{ uchar i;

uint k;

if(S1 == 0) //第一次检测按键被按下

{ delay(8); //延时8ms进行消抖

if(S1 == 0) //再次检测按键被按下,说明确实被按下了

{ for(i=0;i<3;i ) //for循环控制蜂鸣器响3声

{ for(k=0;k<5000;k );//延时500ms

bell = 0; //输出低电平,使蜂鸣器鸣叫

for(k=0;k<10000;k ); //延时500ms

bell = 1; //输出高电平,使蜂鸣器停止 } } }

if(S2 == 0) //第一次检测按键被按下

{ delay(8); //延时8ms进行消抖

if(S2 == 0) //再次检测按键被按下,说明确实被按下了

{ LED1 = 0; //正向流动

delay(500); LED1 = 1; LED2 = 0;

delay(500); LED2 = 1; LED3 = 0;

delay(500); LED3 = 1; LED4 = 0;

相关阅读

直压气密检测仪稳定性好主要体现在哪些方面

直压气密检测仪是一种通过直接测量气体压力来进行气密性检测的设备。它通过在密封的容器内充入一定量的气体,然后测量容器内的压力,就可以判断出容器的气密性是否合格。这种...
2024-03-07
直压气密检测仪稳定性好主要体现在哪些方面

研华工控机常见故障维修「工控机维修」

使用 研华 工业工控机时会出现各种问题和问题。但是,可以从症状的出现在一定程度上缩小问题范围。所以,当 你 觉得 你 的工控机有问题时,我做了一个总结,从症状预测问题区域...
2023-06-16
研华工控机常见故障维修「工控机维修」

何为自动(电动)旋转门维修保养-门道佰分佰

自动旋转门作为生活中随处可见的一款门型已经被越来越广泛的运用到各种建筑物中,包含的产品也是非常的众多,自动两翼旋转门、自动三翼旋转门、自动四翼旋转门和自动水晶旋转...
2023-04-30
何为自动(电动)旋转门维修保养-门道佰分佰

如何通过电机声音来识别和检测故障噪音,如何消除和防范?

现场及维修电机时一般会通过机台运转的声音来判断机台故障或是异常的原因,甚至可以预先防范处理,避免更严重的故障。他们所依靠的并不是第六感,而是声音,配合经验及对机器...
2023-06-08
如何通过电机声音来识别和检测故障噪音,如何消除和防范?

如何测量电机特性,IEEE关于电机特性的四种测量法是如何定义的?

电机电子工程师学会(Institute of Electrical and Electronics Engin- eers,IEEE)于1960年,将当时的电机相关知识及技术统合,而建立了电机性能测量标准规范,将各类型之电机订定统一的测量方式与...
2023-06-08
如何测量电机特性,IEEE关于电机特性的四种测量法是如何定义的?

热销商品

丁晴橡胶实心方条扁条硬耐油耐压减震缓冲船用防滑防水密封

丁晴橡胶实心方条/扁条是一种高性能密封与减震材料,采用优质丁腈橡胶(NBR)制成,具有优异的耐油性、耐压性和耐磨性。其硬度适中,结构致密,适用于船舶、机械、化工设备等...
1.4

硅胶条带背胶自粘耐高温方形密封条防滑防撞减震防水垫抗冻实心条

硅胶条带背胶自粘耐高温方形密封条,采用优质硅胶材质制成,具有优异的耐高温、抗冻、防水及减震性能。其背面自带强力胶层,粘贴牢固,操作简便,适用于门窗、橱柜、电器、...
1.5

MNSD 太阳能警示灯 磁吸塔机灯 施工安全频闪灯 路锥灯 多种底座

MNSD太阳能警示灯,一款专为施工安全设计的创新产品。它集成了磁吸塔机灯和频闪灯功能,能在夜间或低能见度条件下提供强大的警示效果。该警示灯采用太阳能供电,环保节...
5.85

南一小型声光报警器24vLED频闪警示灯LTE-5071J报警闪烁灯220v12v

南一小型声光报警器24V LED频闪警示灯LTE-5071J是一款专为需要即时安全警示而设计的设备。它采用24V低电压设计,确保了使用的便利性和安全性,适用于各种环境,包括家...
10

EPDM配电箱机柜密封条三元乙丙发泡海绵平板带胶自粘橡胶条15*3mm

EPDM配电箱机柜密封条采用优质三元乙丙橡胶(EPDM)发泡海绵材质,具有优异的耐候性、耐高低温(-40℃~120℃)、抗老化及防水防尘性能。规格为15×3mm,扁平设计便于安装,背面...
1.08

网站栏目