
(此图片来自哔哩哔哩作者江科自化协的视频截图)
首先说一说单片机是控制硬件设备的:
单片机(简称MPC),它由CPU、ROM(只读存储器)、RAM(随机存储器)、定时器、中断系统、通讯接口等一系列电脑的常见硬件功能
单片机中的CPU可以直接访问一种大小为八位(一字节)的寄存器(也是一个随机存储器),并且可以直接给这个存储器写值,例如图中的P2,就是其中一个存储器,可以看到单片机上的CPU周围总有八个为一组的插针,如下图

我已经用杜邦线将D1(一个led灯的插针)与P20对应的插针相连接

从这个原理图可以知道,每一个led灯的一端(阳极,三角形)已经和Vcc(电源正极相连)因此为了能够使led灯正常工作,我们应该让led灯的另一端(阴极,竖直线端)负极相连,led的另一端连接j19的插针,我将这个对应的插针用杜邦线将其与io口P20相连接
因此,我可以通过写好程序然后让CPU去执行,如:
#include <REGX51.H>
//这个文件包含了51单片机的所有相关定义,例如单片机上的P20io口在里面被定义为P2_0 = 1;
void main(void)
{
P2_0 = 0;
}
即,CPU运行该程序之后,访问寄存器P2,并且在P2_0位置处将其赋值为0,在51单片机中,1代表高电平(5v,相当于正极),0代表低电平(0v,相当于负极),于是CPU给P2_0处赋值0的作用就是,让P2_0所对应的io口输出低电平,中间经过一个能让电流更好传输的驱动器,而由于我已经将P2_0口与led灯的D1口用杜邦线连接,所以最后低电平的电流由杜邦线传输到到led灯的另一端,于是低电平的电流成功传输到led灯的阴极,led灯就亮了,正如下图:
