普中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();
        }
    }
}
相关推荐
龙大大L41 分钟前
第五章:5.1 ESP32物联网应用 - MQTT协议深度教程
java·单片机·struts·apache
傍晚冰川1 小时前
【STM32】解读启动文件startup_stm32f10x_md.s
linux·笔记·stm32·单片机·学习
飞凌嵌入式2 小时前
飞凌嵌入式T527核心板正式发布OpenHarmony4.1系统,实现从芯片架构到操作系统的全链路国产化
人工智能·嵌入式硬件·嵌入式·飞凌嵌入式
myzr1233 小时前
明远智睿SSD2351核心板在物联网领域的应用实践
人工智能·嵌入式硬件·物联网·智能家居·边缘计算
不不不丶3 小时前
STM32——DAC转换
stm32·单片机·嵌入式硬件
Ven%6 小时前
电脑的usb端口电压会大于开发板需要的电压吗
人工智能·单片机·嵌入式硬件
strongwyy8 小时前
9、nRF52xx蓝牙学习(pca10056.h学习)
单片机·嵌入式硬件·学习
夜月yeyue12 小时前
ARM内核与寄存器
arm开发·stm32·单片机·嵌入式硬件·mcu·链表
云山工作室16 小时前
基于单片机的防火防盗报警系统设计(论文+源码)
单片机·嵌入式硬件
国科安芯16 小时前
高安全等级车规芯片在星载控制终端上的应用
人工智能·嵌入式硬件·物联网·架构·汽车