51单片机,点亮LED灯和闪烁

 1.关键字sfr与sbit的区别

        sfr是定义寄存器的字节地址,sbit是定义可位寻址的位地址

        例如:sfr P1 =0x90;

        sbit A = P1^0 sbit B = P1^1;

2. 单片机引脚有:电源引脚、晶振引脚、复位引脚、下载引脚、GPIO引脚

        其中晶振引脚主要是用来提供外部时钟,驱动指令执行,GPIO引脚包含P0、P1、P2、P3 四个端口

3.点亮一个LED灯

        从电路图可以得知,LED是P2端口,我们给P2.0针脚一个低电压,也就是0V,就会点亮第一个,程序如下       

#include"reg52.h" //引用头文件

int main()
{
    P2 = 0xFE;     //1111 1110  代表P2.0----P2.7引脚的输出电压状态

    while(1)
    {
    }

     return 0;
}

那如果我给P2端口所有引脚输出低电压,P2=0x00;那所有LED就会点亮,如下图

 4.LED灯闪烁

        通过输出高低电平来控制LED灯闪烁,但由于人眼余晖效应,无法去观看到闪烁情况,就得需要通过延时来达到效果,程序如下

#include"reg52.h" //引用头文件

void Delay(int time)
{
    while(time--) //while循环一次需要10us
    {
    }
}

int main()
{

    while(1)
    {
        P2 = 0xFF;
        Delay(50000); //延时大约450ms
        P2 = 0xFE;
        Delay(50000); //延时大约450ms 
    }

     return 0;
}

实验现象如下

猜你喜欢

转载自blog.csdn.net/weixin_52300845/article/details/124317595