在51单片机的原理图中,共有8个LED 其中一侧在串联电阻后,连接到了电源的正极(VCC)
另一端分别连接到了P20,P21,P22,P23.....P27(这些相当于编号,跟单片机对应的编号都是通着的)
以下是单片机的管脚图:
那么只要让单片机的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个灯的状态.
总结:单片机通过配置寄存器来控制单片机内部线路的连接