进阶教程:单片机独立按键,分别控制不同的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-04-30
旋转门门区配套地弹门安装要点

感应门定期保养的步骤和内容

感应门的基本构造包括门体、驱动装置、控制系统和安全传感器等。定期保养可以确保这些组件的正常工作,延长感应门的使用寿命。保养需要注意以下几点: 1.清洁:定期清除门体表...
2023-07-05
感应门定期保养的步骤和内容

电机制造业粉末冶金齿轮设计

粉末冶金齿轮的材料适合于粉末冶金材料标准,粉末冶金材料有多种材料标准,多数国家和部分大公司都有自己的标准,由于日本和美国在粉末冶金的研究方面走在世界前列,所以目前...
2023-06-08
电机制造业粉末冶金齿轮设计

机器人技术和自动化的最新发展是什么?

20 多年来,机器人一直是制造业的一个特色,机器人可以提供高质量的组件和成品,即使在危险或不愉快的环境中也能可靠且重复地提供。 在最初的兴趣激增之后,许多重复和令人不快...
2023-06-08
机器人技术和自动化的最新发展是什么?

施耐德变频器故障维修检测分析

施耐德变频器咨询:13961122002 如何修理施耐德变频器 如果您最终得到一个有故障的施耐德变频器,您可能会认为它已经死了,毕竟它可能不会完全出故障!如果问题可以在家修复,您可...
2023-06-16
施耐德变频器故障维修检测分析

热销商品

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

丁晴实心橡胶密封条是一种高性能密封材料,采用优质丁腈橡胶(NBR)制成,具有优异的耐油性、耐磨性和耐压性能,广泛应用于船舶、机械、汽车等领域。其方条、扁条设计便于...
0.7

螺丝刀十字一字加长螺丝批改锥起子拆机带磁性电子电工维修工具

这款螺丝刀套装集十字、一字、加长批头于一体,专为电子电工维修及精密拆机设计。采用高硬度合金钢材质,经热处理工艺,耐磨防锈,使用寿命长。批头带磁性,可牢固吸附螺丝...
2.8

拓森五金工具单支球头拐杖内六角扳手3-10球头T型内六角扳手

拓森五金工具推出的单支球头拐杖内六角扳手,集便携与实用于一身。该扳手专为3-10球头设计,采用T型内六角结构,操作灵活,扭矩输出稳定。球头设计便于在狭小空间中转向,...
2.8

电刷盖子碳刷盖塑料盖电锤磨光机电锯切割机手电钻角磨机电镐电钻

电刷盖子、碳刷盖、塑料盖、电锤磨光机、电锯切割机、手电钻和角磨机电镐等,是现代家庭和工业环境中不可或缺的工具。这些设备通过电力驱动,能够完成多种作业,如钻孔...
0.25

激光保护镜片30*5进口石英焊接机28*4窗口片37*7光纤切割机头配件

激光保护镜片305进口石英焊接机284窗口片377光纤切割机头配件是一种用于激光加工的精密设备,具有高精度、高稳定性和高可靠性的特点。该设备采用了进口石英材料制...
3.08

网站栏目