首页 > 其他分享 >51单片机点亮一个LED灯

51单片机点亮一个LED灯

时间:2024-06-03 22:31:14浏览次数:23  
标签:LED 51 程序 单片机 端口 我们 D1

一、LED模块的介绍

上图左边8个口连接到单片机的p2.0~p2.7口,右边VCC是指电源

VCC左边的蓝色方框是指电阻,右上角1K指1000Ω,用于保护电路,防止超载

中间绿色的为LED二极管,当p2.0口为低电平时,则对应电路上的LED灯D1亮;反之若为1则D1灯灭。

原理:也就是说LED模块设置端口为低电平时,灯亮,否则灯灭;

二、LED灯的亮灭的控制

在上面如图所示的LDE灯端口中我们可以用8位的十六进制一起进行控制

例如我们想让D1的灯亮我们可以设置1111 1110给每一个端口都进行设置p2代表的是LED的这所有的端口,我们对所有的端口进行操作

我们想只对一个LED灯进行操作时,就可以单写一个端口,给这个端口进行高低电平的赋值

eg:我们只想让D1灯亮我们就写p2.0=0;这样我们就实现了对这一个端口的亮灭进行了控制。

三、程序代码

1、编写程序点亮一个LED灯

(1)首先我们在写一个keil程序的时候我的基本框架为:

我们写任何程序的时候这个框架是必不可少的;

为了让编译器识别单片机上的寄存器,需在主函数前插入#include<REGX52.H>

因为我们的编译程序不识别二进制数所以我们要对二进制数转化成十六进制数 

(2)点亮一个LED灯的C语言程序

 写好程序后我们点击这个魔术棒勾选hex,创建我们的hex文件,勾选生成HEX后缀文件,才能通过STC-ISP软件烧录程序

 然后我们编译我们的文件

 

 没有错误,没有警告,程序没有问题

 四、将写好的程序通过软件烧录至单片机中 

1、选择我们单片机的型号

 2、点击打开程序文件

 选择打开程序文件后,打开KeilProject/1-1点亮一个LED/project/object中hex后缀的文件

 

 最后再点击下载/编程,然后将按下单片机的复位键,即完成烧录程序

 五、点亮一个LED灯实物图

标签:LED,51,程序,单片机,端口,我们,D1
From: https://blog.csdn.net/AW496/article/details/139424635

相关文章

  • 【51单片机】智能百叶窗项目
    文章目录功能演示:前置要求:主要功能:主要模块:主函数代码:具体的仿真程序和代码程序已经免费放置在资源中,如有需要,可以下载进行操作。功能演示:前置要求:编译软件:KeilC51uvision5.27仿真软件:Proteus8.13主要器件:数码管:1个光敏电阻:1个TLC2543ADC芯片:1个步......
  • 基于单片机大气压监测报警系统电路方案设计
    **单片机设计介绍,基于单片机大气压监测报警系统电路方案设计文章目录一概要二、功能设计设计思路三、软件设计原理图五、程序六、文章目录一概要  基于单片机大气压监测报警系统电路方案设计概要如下:一、系统概述本设计旨在通过单片机技术实现对大气压......
  • 基于单片机8155四层电梯控制系统设计
    **单片机设计介绍,基于单片机8155四层电梯控制系统设计文章目录一概要二、功能设计设计思路三、软件设计原理图五、程序六、文章目录一概要  基于单片机8155的四层电梯控制系统设计概要如下:一、系统概述本设计旨在通过单片机8155为核心控制器,构建一个四......
  • java中SimpleDateFormat解析日期格式的问题
    在日常写代码的过程中,我们经常要处理各种格式的日期,常见的日期格式有:“20240601”,“2024-06-01”,“2024-6-1”。如何正确地处理日期格式,尤其是对外接口中参数的日期格式,就很重要了,一个不小心就可能出现意想不到的问题。举一个我遇到的真实例子:我们提供的对外接口中有一个参数是......
  • LeetCode 1151. 最少交换次数来组合所有的 1
    1151.最少交换次数来组合所有的1给出一个二进制数组 data,你需要通过交换位置,将数组中 任何位置 上的1组合到一起,并返回所有可能中所需 最少的交换次数。示例1:输入:data=[1,0,1,0,1]输出:1解释:有三种可能的方法可以把所有的1组合在一起:[1,1,1,0,0],交换......
  • STM32使用定时器在普通gpio上模拟pwm-红牛开发板LED1的亮度调节
    stm32F103zet只有固定的几个针脚可以输出tim定时器信号,在不支持tim输出的口上就没法输出pwm,在红牛开发版上的表现就是控制lcd屏幕亮度的a1针脚,可以输出pwm,屏幕亮度可以无极调节,但是4个led灯就只能控制开关。使用arduino的analogWrite函数,只能调节开关。可以用定时器的中断来控制......
  • 小白跟做江科大32单片机之对射式红外传感器计次
    原理部分1中断示意图,中断会打断主函数的执行,终端执行完成之后再返回主函数继续执行2.STM32中断这些灰色的是内核中断这些白色的是普通中断3.NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级4.抢占优先......
  • day46 完全背包理论基础 518. 零钱兑换 II 377. 组合总和 Ⅳ
    完全背包理论基础有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。01背包内嵌的循环是从大到小遍历,为了保证每个物品仅被添加一次。而完全......
  • 51单片机AD转换(ADC0808)
    ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。将参考电压输出成0~255引脚ADC0808芯片有28条引脚,采用双列直插式封装。各引脚功能如下:1~5和26~28(IN0~IN7):8路模拟量输入端。8、14、15和17~21(out1~out8):8位数字量输......
  • ERROR Failed to compile with 1 error
    解决方法一:重新运行:npmrunserve(每个人情况不定)解决方法二:可能是文件中有中文名,将该项目文件名称及该项目文件的上一层命名为纯英文。重新:npmrunserve解决方法三:修改相关的 webpack 配置文件把 index.html 文件重命名为 index.ejs 文件在 node_nodul......