51单片机点亮led灯

目录

原理

开发板电路分布

功能实现

全部点亮

点亮特定的灯

整体位点灯

尾声



原理

想要实现一个功能,首先要从原理开始。

每一块51单片机上都有个32个I/O口,这些I/O口可以通过程序进行对外部电路的输出,也可以通过外部电路对单片机内部进行输入。其中高电平为1,低电平为0。

这32个口又按照地址分成了4个区域,分别为P0,P1,P2,P3四个可以按位寻址的区域(就是可以分别给每一个二进制位赋值)。

点亮led灯,需要给led灯一个导通的电压,一般都是低电平导通,所有在只需要在想要点亮的灯连接的I/O口赋值为1就好。

开发板电路分布

不同开发板的电路分布可能会存在不同,可以去找自己购买开发板的店铺要电路分布图。(不同板子只是电路连接不一样,但是功能大同小异)

下图是我的开发板的电路分布,我的板子上的8个led灯分别连接的是P1接口的8个I/O口。

功能实现

全部点亮

直接给P1接口赋值为0,代表给8个接口赋值为0000 0000,这样就是八个led灯都被导通点亮

#include <REGX52.H> //首先进行预处理(这一行必须有,除非你直接对地址进行操作)
void main()
{
	P1=0;
while(1);//提供一个死循环,让程序一直在执行
}

点亮特定的灯

可以通过按位赋值,从而点亮特定的led灯

#include <REGX52.H> //首先进行预处理(这一行必须有,除非你直接对地址进行操作)
void main()
{
	P1_0=0;
	P1_7=0;
while(1);//提供一个死循环,让程序一直在执行
}

整体位点灯

可以通过整体赋值的方式点亮特定的led灯,这里赋值为0xf1,就是 1111 0001,其中0就是亮,1就是灭。

#include <REGX52.H> //首先进行预处理(这一行必须有,除非你直接对地址进行操作)
void main()
{
	P1=0xf1;
while(1);//提供一个死循环,让程序一直在执行
}

尾声

可以说任何一个人学习单片机的第一个项目都是点灯,从最简单的项目开始,慢慢进行越来越复杂的项目。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值