51单片机入门————LED灯的控制
创始人
2024-05-27 19:21:38
0

LED的电路图

通过原理图看出,LED灯是接单片机芯片的P20~P27的
一共有8个LED,51单片机也是8字节的
P2=0x01
0xFE————1111 1110
P2=0xFE可以表示把在P2端的第一个灯点亮

1 表示高电平
0表示低电平
当为0的时候形成一个完整回路,电流从高电平流向低电平
所以我们要把LED灯对应的引脚置为0,这样就可以点亮LED灯了

点亮第一个LED灯

我们知道了点亮LED灯需要把对应的引脚置为0,下面我们来通过代码实现

从图片我们可以看出,我们确实点亮了第一个LED灯
那么我们点亮全部的LED灯的操作一个是 0000 0000 对应的16进制是0x00

我们现在通过控制P2端的8个位来控制LED灯,我们也可以通过控制一个位来控制灯的亮灭

这两个操作,都可以将第五个LED灯点亮

LED灯的闪烁

通常我们在大街小巷可以看到闪烁的LED灯,然后他们的闪烁周期也不相同,我们如何通过单片机控制

我们引入时间延时的概念

时间延时的设置我们可以在STC-ISP生成

我们来演示一下

生成了代码我们拷贝到软件上

这个代码就可以不停的闪烁我们的第五个LED灯

我们设计不同周期的闪烁每次都去STC-ISP生成会比较麻烦,那么我们是不是可以设计一个自定义的函数来实现你想要的闪烁时间

自定义延时的设计

首先我们在STC-ISP生成一个1毫秒的延时

void Delay1ms()        //@12.000MHz
{unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);
}

我们通过修改这个1毫秒的延时来实现

#include void Delay(long xms)        //@12.000MHz
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}void main()
{while(1){P2_4=0;Delay(500);P2_4=1;Delay(500);}}

我们怎么设计的呢,通过传一个常量,常量表示多少毫秒,然后传入1毫秒的函数,让这个函数循环1毫秒的延时,这样就可以做到,自定义延时了

独立按键

了解按键工作的时候,我们先看看它的电路原理图

通俗的说就是当你摁下开关,开关接通,松开开关,开关断开

下面我们来编写程序来实现利用独立按键控制灯的亮灭

这个程序的作用就是按一下独立按钮然后第一个灯就亮了

上面就是独立按钮和LED灯的使用

我们如何避免按键的抖动呢,我们可以通过时间延时来消除,按键抖动时的不稳定接通

void Delay(long xms)        //@12.000MHz
{unsigned char i, j;while(xms){i = 2;j = 239;do{while (--j);} while (--i);xms--;}
}void main()
{while(1){P2_0=1;if(P3_1==0){Delay(10);while(P3_1==0);Delay(5);P2_0=0;Delay(500);}}
}

LED灯的使用与按钮
#include void Delay(long xms)        //@12.000MHz
{unsigned char i, j;while(xms){i = 2;j = 239;do{while (--j);} while (--i);xms--;}
}void main()
{while(1){int i=0;int j=0;int ret1=1;int ret2=0x80;for(i=0;i<8;i++){P2=~(ret1<>j);Delay(500);}}
}

功能:LED灯从第一个灯依次到第八个灯亮,然后再从第八个灯亮到第一个灯(倒着)

相关内容

热门资讯

寻找靠谱刑事辩护律师,王瑞律师 在涉及刑事案件时,当事人及家属往往处于焦虑与无助之中,此时,一位靠谱的刑事辩护律师便成为了他们的救命...
山西确保一次性信用修复政策全面... 为支持信用受损但积极还款的个人高效便捷重塑信用,助力经济持续回升向好,自去年底人民银行总行发布一次性...
霸王茶姬及创始人起诉网友:为反... 据天眼查,近日,北京互联网法院向赵某公告送达原告霸王茶姬关联公司北京茶姬餐饮管理有限公司、创始人张俊...
法眼丨女子曝婚外情遭起诉,15... 齐鲁晚报·齐鲁壹点 记者 张子慧 据相关媒体报道,近日,河南女子牛娜在抖音连续多日发布向丈夫的公开道...
*ST美谷:公司涉及诉讼涉案金... 观点网讯:*ST美谷1月15日晚间公告,公司作为被告(担保)涉及一起融资租赁合同纠纷案件。 于202...
央行公布多项重磅金融政策 金透社 汗青 在宏观经济结构优化与实体经济融资需求升级的关键节点,中国人民银行1月15日集中释放多项...
澳大利亚留学政策好吗 近年来,澳大利亚留学政策在多个方面进行了调整,整体呈现出为国际学生提供更多便利与支持的趋势,同时也加...
原创 这... 这少年的一句话,是对法律专家的巨大讽刺。 据官方媒体报道,有三个15岁的少年因为打人被行政拘留,有人...