/* ****************************************************************************** * * @file led.h * @brief led dispaly module * * * @version 1.0 * @date 2023/05/12 09:59:40 * @author Alex Xu * * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. * All Rights Reserved * * History: * Revision Date Author Desc * 1.0.0 2023/07/12 Alex build this file ****************************************************************************** */ #ifndef __LED_H__ #define __LED_H__ /*_____ I N C L U D E S ____________________________________________________*/ #include "define.h" #ifdef LED_DISPLAY /******************************************************************************\ Macro definitions \******************************************************************************/ // LED端口定义 #define LEDR_ON() pin_LED_1 = 1 //LED_1_ON() p03 #define LEDR_OFF() pin_LED_1 = 0 //LED_1_OFF() #define LEDR_TOG() pin_LED_1 = !pin_LED_1 //LED_1_RUN() sbit pin_LED_1 = P0^4; #define LEDG_ON() pin_LED_2 = 1 //LED_2_ON() #define LEDG_OFF() pin_LED_2 = 0 //LED_2_OFF() #define LEDG_TOG() pin_LED_2 = !pin_LED_2 //LED_2_RUN() sbit pin_LED_2 = P0^3; /******************************************************************************\ Typedef definitions \******************************************************************************/ //LED名称重定义,顺序和上方的宏定义保持一致 enum LED_ID { LED_R, LED_G, LED_ID_MAX }; #ifdef BREATHING_LIGHT //LED呼吸灯控制结构体 typedef struct{ uint8_t Breathing_Light_On[LED_ID_MAX]; //呼吸灯使能标志位。 uint8_t BL_On_Time[LED_ID_MAX]; //LED缓亮时间 uint8_t BL_Flash_Duty[LED_ID_MAX]; //LED占空比,即点亮时间 uint8_t BL_Timer[LED_ID_MAX]; //时间计数 100us计数一次 uint8_t Flash_Duty_Rising[LED_ID_MAX]; //呼吸灯逐亮标志 uint8_t Flash_Duty_Declining[LED_ID_MAX]; //呼吸灯逐暗标志 }BRTH_LED_INFO; extern idata BRTH_LED_INFO BL_LED; #define BL_DUTY_MAX 170 #define BL_STEP 2 //LED改变最小时间周期单位 #define LED_PLUS_TIME 1 /* * 函数名称 : LED_Breathing_Light * 功能描述 : LED呼吸灯驱动,需放在100us时间片中 * 参 数 : NONE * 返回值 : NONE */ /******************************************************************************/ extern void LED_Breathing_Light(void); /******************************************************************************/ #endif //------------------------------------------------------------------------------ #endif #endif