进阶教程:单片机独立按键,分别控制不同的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;

相关阅读

混合式步进电机与高扭矩步进电机应用领域有什么差异?

步进电机是最安静的电机类型之一,也是最强大的电机之一,高扭矩的步进电机用于高精度机械,如机械臂和医疗扫描仪,还可用于精确移动大型物体,例如车门或窗户。步进电机是由...
2023-06-08
混合式步进电机与高扭矩步进电机应用领域有什么差异?

GH2747圆钢的高温强度和热稳定性分析

GH2747圆钢是一种高温合金材料,被广泛应用于航空、航天等领域。本文将从高温强度和热稳定性两个方面进行分析。 GH2747圆钢的高温强度 高温强度是指材料在高温下的抗拉强度、屈服...
2023-05-04
GH2747圆钢的高温强度和热稳定性分析

管道伸缩接头选用步骤是什么

管道伸缩接头选用步骤是什么 启动后管道伸缩接头高速旋转使管道伸缩接头槽道中的水流向涡壳,这时入口形成真空,使进水逆止门打开,吸入管内的空气进入泵内,并经管道伸缩接头...
2023-08-04
管道伸缩接头选用步骤是什么

什么是电机的控制器和驱动器,它们的类型有哪些?

电机控制器和驱动器是调节电机速度、扭矩和位置输出的电气或电子设备。驱动器修改输入到电机的功率以实现所需的输出。控制器电路通常与驱动电路集成为一个独立单元,因此电机...
2023-06-25
什么是电机的控制器和驱动器,它们的类型有哪些?

力士乐液压泵故障原因判断分析维修

力士乐液压泵故障咨询:13961122002 力士乐液压泵维修 如何判断 力士乐液压泵是否损坏? 在弄清力士乐液压泵发生故障的原因之前, 必须知道液压泵发生故障或有发生故障的危险的迹象...
2023-06-16
力士乐液压泵故障原因判断分析维修

热销商品

硅胶板片黑色硅胶垫片耐高温白色透明防滑密封垫硅胶皮条3mm 5mm

硅胶板片、黑色硅胶垫片及白色透明防滑密封垫采用优质硅橡胶制成,具备优异的耐高温性能(通常可承受-60℃至+200℃),耐老化、绝缘且环保无毒。3mm与5mm厚度可选,适用于...
5

公牛官方旗舰店奶油风空调16A开关插座五孔面板肤感哑光g12米绒白

公牛官方旗舰店推出的奶油风空调16A开关插座五孔面板,以其独特的设计和实用的功能,成为现代家居的完美选择。这款插座采用肤感哑光G12米绒白设计,表面柔和细腻,触感舒...
11.8

西门子开关插座皓彩雅白无框五孔USB一开家用面板官方旗舰套餐

西门子开关插座皓彩雅白无框五孔USB一开家用面板,是现代家居装修的理想选择。该产品采用皓彩雅白配色,简约而不失时尚,完美融入各种家居风格。无框设计,线条流畅,视觉...
9.67

无尘服上衣防静电分体服男女短款拉链蓝白色食品厂富士康工作服

无尘服上衣防静电分体服,专为食品厂、富士康等洁净环境设计,采用优质防静电面料,有效防止静电积聚,确保生产安全与产品洁净。男女通用短款设计,穿着轻便灵活,适合长时间...
8.8

自粘橡胶条扁条玻璃胶垫减震垫缓冲条背胶实心方形防滑耐磨密封条

自粘橡胶条扁条玻璃胶垫是一种多功能密封缓冲材料,采用优质橡胶制成,具备优异的减震、防滑、耐磨和密封性能。其背面自带强力背胶,安装便捷,无需额外固定工具,可牢固粘...
2.16

网站栏目