⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.c

📁 使用RC531读卡芯片读取二代身份证的模块软件设计部分
💻 C
字号:
//[LED.c]小灯驱动----------------------------------------------------------*
//本文件包含:                                                              *
//    (1)LEDinit:小灯控制引脚初始化                                        *
//    (2)LED_L_A:小灯"亮/暗"控制                                           *
//硬件连接:                                                                *
//    (1)本处的小灯是一个发光二极管,由MCU的I/O引脚控制                     *
//    (2)控制引脚=高电平时,小灯"亮";反之,小灯"暗"                          *
//-------------------------------------------------------------------------*

#include "LED.h"    //该头文件中包含了小灯控制引脚定义和相关函数声明

//LEDinit:定义控制小灯的MCU引脚为输出--------------------------------------*
//功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗                        *
//参数:无                                                                  *
//返回:无                                                                  *
//-------------------------------------------------------------------------*
void LEDinit(void)
{
    Light_D |= 1 << Light_Pin;       //令小灯引脚为输出
    Light_P &= ~(1 << Light_Pin);    //初始时,小灯"暗"
}

//LED_L_A:驱动小灯"亮","暗"------------------------------------------------*
//功能:根据flag的值控制小灯的亮和暗                                        *
//参数:flag(flag = 'A',小灯暗;flag = 'L',小灯亮)                           *
//返回:无                                                                  *
//-------------------------------------------------------------------------*
void LED_L_A(INT8U flag)
{
    if (flag == 'L')
    {
        Light_P |= 1 << Light_Pin;       //小灯"暗"
    }

    else if (flag == 'A')
    {
        Light_P &= ~(1 << Light_Pin);    //小灯"亮"
    }
}

//LED_Spark:驱动小灯闪烁---------------------------------------------------*
//功能:驱动小灯闪烁                                                        *
//参数:num - 闪烁次数(小于256),type - 闪烁方式(L:长间隔,S:短间隔)          *
//返回:无                                                                  *
//-------------------------------------------------------------------------*
void LED_Spark(INT8U num, INT8U type)
{
    INT8U  i;
    INT16U interval;
    
    //设置时间间隔
    interval = 0;   
    if(type == 'L')
    {
        interval = 15000;
    }
    else if(type == 'S')
    {
        interval = 1500;
    }
    
    //闪烁小灯
    for(i = 0; i < num; i++)
    {
        LED_L_A('L');
		Delay(interval);
		LED_L_A('A');
		Delay(interval);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -