首页 > 其他分享 >蓝桥杯单片机入门(6)—LED灯模块

蓝桥杯单片机入门(6)—LED灯模块

时间:2024-08-26 12:23:18浏览次数:14  
标签:管脚 LED 蓝桥 单片机 P1.5 赋值 我们 1000

这回我们讲,蓝桥杯中LED模块

1.点亮一颗LED灯

        在写代码之前我们必须要先明确自己的目的,然后根据需求去写对应的代码功能。首先我们要实现点亮一颗LED灯,在此之前我们要先了解一下LED灯的工作原理,

        首先我们看一下,LED灯的原理图,图中写LED1的地方就是LED灯,左侧是他的正极,我们在图中也可以看到,他的左侧连接了5v电压,右侧是他的负极,由于二极管是单向导电,我们需要在右侧给他低电平,转化成TTL电平也就是0,这样才能够导通二极管,看P1.5这个意思就是说二极管的负极与单片机的P1.5管引脚相连在一起,我们是通过控制引脚的输出高低电平来控制LED灯的亮灭,因此我们给P1.5这个管脚赋值0,就可以导通二极管,让LED灯亮,接下来看代码演示

接下来,看代码演示

//主函数
void main()
{
	while(1)
	{
		P1.5 = 0;//给P1.5管脚赋值0
	}
	
	
}

这样子的话我们就导通了二极管,二极管就会进行发光发亮,然后我们想让他进行灭掉的话就给P1.5管脚赋值1,就可以关闭LED灯了。

我们如果想让LED灯亮一会,然后再熄灭,该怎么操作呢?  这个我们只需要加个延时函数即可,下面这段代码的功能就是让LED灯亮1000毫秒,然后熄灭,熄灭1000毫秒,这样我们就完成了点亮LED和熄灭LED的操作

		



void main()
{
        P1.5 = 0;//给P1.5管脚赋值0,让LED点亮
        Delay(1000);//延时1000毫秒
        P1.5 = 1;//给P1.5管脚赋值1,让LED灭掉
        Delay(1000);//延时1000毫秒
}

如果我们想持续让LED灯进行亮灭,如果是流水灯的模式岂不是挨个赋值,这样会大大加大我们代码的复杂性,这里给大家介绍一个LED流水灯的模式,

假如说,这里有4颗LED灯,对应的原理图如图所示,

代码如下

unsgined char LED=0xf;//定义一个变量,给他赋值1111
void main()
{
    while(1)
   {
    P1 =LED;//把LED这个变量的值,赋值给P1,也就是同时赋值给P1.5 P1.4 P1.3 P1.2
    Delay(100);
    LED = _nop_(LED,1);//左移1位
    
   } 
}

这里面用到了一个左移一位的函数,括号里面传的参数有两个,第一个是移位的对象,我们代码中移位的对象是LED这个变量,1表示左移一位,每次左移一位,这样我们就完成了一个流水灯的操作。

标签:管脚,LED,蓝桥,单片机,P1.5,赋值,我们,1000
From: https://blog.csdn.net/2301_80399461/article/details/141558184

相关文章

  • 新建一个基于标准新建一个基于标准固件库的工程模板固件库的工程模板(实现LED单灯闪烁)
    实验报告原件在资源可选择性下载一、实验目的:1.了解STM32固件库;2.掌握STM32固件库关键子目录及固件库关键文件;3.能够新建一个基于标准固件库的工程模板并完成编译二、实验器材:笔记本或电脑。三、实验内容:1.构建proteus8LED构图。2.STM32构建适应于keil5的编译器格式......
  • 定制任务服务 ScheduledTaskService
    自定义的定时任务服务ScheduledTaskService packagecom.joyupx.service.impl.task;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.scheduling.Trigger;importorg.springframework.sc......
  • 蓝桥杯青少组C++中级部分tj
    1比较难的一次考试,虽然难度低于预期,但依然打得不好。选择这部分比较难,尤其是\(\text{T4}\)考得阅读程序,结果没在选项里,其他有逻辑运算,进制运算,其余的比较简单。个人答案:\(\text{CBDAB}\)编程只记得\(1\),\(2\),\(4\),\(3\)过了,\(5\)\(6\)没写出来,\(1\)很简单的模拟,......
  • STC89C52单片机外部中断与定时器中断寄存器配置分析
    参考:STC89C52手册摘自手册:中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种......
  • Failed to set locale, defaulting to C.UTF-8
    报错提示Failedtosetlocale,defaultingtoC.UTF-8解决过程查看当前系统支持的语言[root@kubernetes-template-os~]#locale-aCC.utf8en_AGen_AUen_AU.utf8en_BWen_BW.utf8en_CAen_CA.utf8en_DKen_DK.utf8en_GBen_GB.iso885915en_GB.utf8en_HKen_HK......
  • 洛谷 P8615 [蓝桥杯 2014 国 C] 拼接平方数
    题面题目描述小明发现很有趣,首先,它是个平方数。它可以拆分为和,拆分出来的部分也是平方数。也有这个性质,我们权且称它们为:拼接平方数。可拆分,这有点勉强,我们规定,等都不算平方数。小明想:还有哪些数字是这样的呢?你的任务出现了:找到某个区间的所有拼接平方数。输入......
  • 单片机裸机程序——程序架构
    目录程序架构等同于思想体系一、前后台顺序法二、时间片轮询法程序架构等同于思想体系建一栋楼房,地基要先设计好,而不是马上砌砖,地基和布局都合理,房子就住得舒服,也不会闹心。写一段程序也一样,程序构架要想好,而不是一边写一边调整构架,想到这个功能就先写这个功能,多......
  • P10902 [蓝桥杯 2024 省 C] 回文数组
    P10902[蓝桥杯2024省C]回文数组题解十年OI一场空,不开longlong见祖宗!思路:贪心题目要求将一个随机数组变成一串回文数,可执行的操作如下:相邻两个数同时加\(1\)单个数加\(1\)或减\(1\)由于一个数加\(1\)得到回文数和一个数减\(1\)得到回文数效果一样,我们可以不......
  • 【AI绘画】StableDiffusion保姆级入门到进阶教程
    大家好,我是设计师子衿。最近子衿在刷抖音时候,发现现在很多账号都在用AI人物进行直播和带货,不知各位有没有留意到,很多小伙伴在看到时跑来问过,关于现在那些AI主播之类都是什么工具做的,其实这类大部分都是这款软件StableDiffusion做的,你只需要描述一段文字,它就能帮你生成一张......
  • wsl损坏,WSLRegisterDistribution Failed with Error 0x8007019e
    背景之前由于关机中断还是什么原因,导致wsl不能用了,今天心血来潮想要用一下wsl,于是找办法修了一下。过程根据下面这个文章进行修复的。https://thegeekpage.com/wslregisterdistribution-failed-with-error-0x8007019e/我执行了以下操作:关闭linux子系统,重启;开启子系统,重启......