内容引入
我们要让LED亮,必定要操作LED一端接电源正极,一端接电源负极。而在实际操作中,只需固定LED的一端(接正极或负极),从而达到只控制LED的一端就可实现LED的亮灭。
51单片机 简介
AT89C51图片
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画出仿真图
连线方式:
LED1一端接VCC,一端连接到P0.0口
LED2一端接VCC,一端连接到P0.1口
2.keil中编写代码
工程目录结构
代码
#include <reg51.h>//包含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)
{
}
}
结果
运行仿真可以发现,实验结果如下所示
LED1已经被点亮,LED2没有被点亮。因为我们将两个LED一端接的VCC,而我们控制LED1的另一端为0(低电平),所以LED1两端有电压差,电流从LED1通过,自然而然LED1就处于亮的状态。同理,LED2处于灭的状态。
总结
通过了此实验,我们也算写完51单片机的第一个HelloWorld程序。