普中51单片机——LED流水灯模块

1、GPIO概念

GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51 单片机芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。

1.1、GPIO分类

(1)电源引脚:引脚图中的 VCC、 GND 都属于电源引脚。

(2)晶振引脚:引脚图中的 XTAL1、XTAL2 都属于晶振引脚。

(3)复位引脚:引脚图中的 RST/VPD 属于复位引脚,不做其他功能使用。

(4)下载引脚:51 单片机的串口功能引脚(TXD、RXD)可以作为下载引脚使用。

(5) GPIO 引脚:引脚图中带有 Px.x 等字样的均属于GPIO 引脚。从引脚图可以看出,GPIO 占用了芯片大部分的引脚,共达 32 个,分为了4 组,P0、P1、P2、P3,每组为 8 个 IO,而且在 P3 组中每个 IO 都具备额外功能,只要通过相应的寄存器设置即可配置对应的附加功能,同一时刻,每个引脚只能使用该引脚的一个功能。

2、LED简介

LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光,电流越大,其亮度越强,但若电流过大, 会烧毁二极管,一般我们控制在3 mA-20mA之间,通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极管的电流不要太大,因此这些电阻又可以称为"限流电阻"。当发光二极管发光时,测量它两端电压约为 1.7V,这个电压又叫做发光二极管的"导通压降"。

3、LED模块电路

4、点亮LED灯

4.1、点亮D1灯代码

c 复制代码
#include <Atmel/REGX52.H>

void main()
{
    // 点亮D1灯
    P2_0 = 0;
    // 点亮D1灯
    //P2 = 0xFE;
    while (1);
}

4.2 D1灯1秒闪烁

c 复制代码
#include <Atmel/REGX52.H>
#include <INTRINS.H>

void Delay1000ms() //@11.0592MHz
{
    unsigned char data i, j, k;

    _nop_();
    _nop_();
    i = 43;
    j = 6;
    k = 203;
    do {
        do {
            while (--k);
        } while (--j);
    } while (--i);
}

void main()
{
    while (1) {
        P2_0 = ~P2_0;
        Delay1000ms();
    }
}

4.3、LED流水灯

c 复制代码
#include <Atmel/REGX52.H>
#include <INTRINS.H>

void Delay1000ms() //@11.0592MHz
{
    unsigned char data i, j, k;

    _nop_();
    _nop_();
    i = 43;
    j = 6;
    k = 203;
    do {
        do {
            while (--k);
        } while (--j);
    } while (--i);
}

void main()
{
    while (1) {
        for (int i = 0; i < 8; i++)
        {
            // 驱动LED灯
            P2=~(0x01<<0);
            // 延时1s
            Delay1000ms();
        }
    }
}
相关推荐
三品吉他手会点灯1 小时前
STM32 VSCode 开发-C/C++的环境配置中,找不到C/C++: Edit Configurations选项
c语言·c++·vscode·stm32·单片机·嵌入式硬件·编辑器
yu85939583 小时前
STM32 智能红外循迹小车(含码盘测速 + 避障)
stm32·单片机·嵌入式硬件
三品吉他手会点灯4 小时前
STM32 DAP 烧录报错-最终解决方法的原理和操作逻辑
stm32·单片机·嵌入式硬件
fengfuyao9854 小时前
TFT 彩屏 GUI 开发
stm32·嵌入式硬件
长安第一美人4 小时前
算能 BM1688 低延迟推流:Qt+WebSocket 直出 H5/HDMI
开发语言·网络·嵌入式硬件·websocket·交互
yongui478345 小时前
STM32 三相电机FOC驱动方案(三电阻单电阻双模式)
stm32·单片机·嵌入式硬件
WeeJot嵌入式5 小时前
【串口】初始串口-轮询模式
stm32·单片机·嵌入式
yong99906 小时前
基于 51 单片机配合霍尔传感器实现计数 + 转速测量
单片机·嵌入式硬件
崇山峻岭之间6 小时前
单片机时钟配置01
单片机·嵌入式硬件
踏着七彩祥云的小丑7 小时前
嵌入式——面试题
单片机·嵌入式硬件