image.png

在51单片机的原理图中,共有8个LED   其中一侧在串联电阻后,连接到了电源的正极(VCC)

另一端分别连接到了P20,P21,P22,P23.....P27(这些相当于编号,跟单片机对应的编号都是通着的)

以下是单片机的管脚图:

image.png

那么只要让单片机的P20输出低电平(输出负,二进制的0) 那么即可点亮第一个LED

如果让单片机的P20输出高电平(输出正极,二进制的1)  那么相当于LED两端都连到正极,则不亮

点亮一个LED:


所以点亮第一个LED的代码就是:

#include <REGX52.H>
void main(){
	P2=0xfe;	//11111110
}

0x代表十六进制,fe转化到二进制是 11111110   表示输出7个正极和1个负极  (p20是第一个LED,所以8个二进制位只把最低位设置为0,其余为1)

  P2在头文件里已定义了寄存器的地址。可以直接给他赋值即可控制引脚输出正还是输出负

需要注意的是,由于他是每个二进制位对应一个引脚,因此更改P2的值一次即可同时更改8个灯的状态.

总结:单片机通过配置寄存器来控制单片机内部线路的连接