51 单片机 (1) I/O口 点亮第一个LED灯

内容引入

我们要让LED亮,必定要操作LED一端接电源正极,一端接电源负极。而在实际操作中,只需固定LED的一端(接正极或负极),从而达到只控制LED的一端就可实现LED的亮灭。

51单片机 简介

AT89C51图片

51 单片机 (1) I/O口 点亮第一个LED灯_第1张图片

IO口

从AT89C51图片可以看出AT89C51单片机有4个IO端口为P0、P1、P2、P3,每个端口有8个引脚,分别对应8个位0~7,每个端口的引脚都可以作为输入输出使用。比如端口P0有8个引脚(P0.0 ~ P0.7)。

实验环境

仿真:proteus
IDE:Keil5 c51

编程

1.在Proteus画出仿真图

51 单片机 (1) I/O口 点亮第一个LED灯_第2张图片连线方式:
LED1一端接VCC,一端连接到P0.0口
LED2一端接VCC,一端连接到P0.1口

2.keil中编写代码

工程目录结构

51 单片机 (1) I/O口 点亮第一个LED灯_第3张图片

代码

#include //包含51单片机常用寄存器声明的一个头文件
//定义变量LED1控制单片机的P0.0引脚
sbit LED1=P0^0;
//定义变量LED2控制单片机的P0.1引脚
sbit LED2=P0^1;

void main(void)
{
	//控制LED1这个引脚输出0,即点亮LED1
	LED1=0;
	//控制LED2这个引脚输出1,即LED1处于灭的状态
	LED2=1;
	while(1)
	{
		
	}
}

结果

运行仿真可以发现,实验结果如下所示
51 单片机 (1) I/O口 点亮第一个LED灯_第4张图片LED1已经被点亮,LED2没有被点亮。因为我们将两个LED一端接的VCC,而我们控制LED1的另一端为0(低电平),所以LED1两端有电压差,电流从LED1通过,自然而然LED1就处于亮的状态。同理,LED2处于灭的状态。

总结

通过了此实验,我们也算写完51单片机的第一个HelloWorld程序。

你可能感兴趣的:(51单片机)