📄 led.c
字号:
#include <reg52.h>
#include "type.h"
#include "led.h"
UCHAR vBuffer[MAX_LED];
UCHAR code LED_Table[]={
//0 1 2 3 4 5 6 7 8 9
0X3F,0X6,0X5B,0X4F,0X66,0X6D,0X7D,0X7,0X7F,0X6F,
//a b c d e f null
0X77,0X7C,0X39,0X5E,0X79,0X71,0xff};
void InitLED(void)
{
UCHAR i;
for ( i = 0 ; i < MAX_LED ; i ++)
{
vBuffer[i] = LED_NULL;
}
}
void SetLED(UCHAR idx , UCHAR d)
{
if ( idx >= MAX_LED ) idx = 0;
vBuffer[idx] = d;
}
void ShowByte(UCHAR idx , UCHAR d)
{
if ( idx >= MAX_LED ) idx = 0;
vBuffer[idx] = d&0x0f;
idx ++;
if ( idx >= MAX_LED ) idx = 0;
vBuffer[idx] = d>>4;
}
void LED_Server(void)
{
static UCHAR idx;
UCHAR rt;
idx ++;
if ( idx >= MAX_LED )
{
idx = 0;
}
#if LED_STYLE == LED_COM_K
LED_SEG = 0xff;
LED_IDX = ~(1<<idx);
rt = vBuffer[MAX_LED - idx - 1];
if (rt == LED_NULL )
{
LED_SEG = 0XFF;
}
else
{
LED_SEG = ~(LED_Table[rt]);
}
#endif
#if LED_STYLE == LED_COM_A
LED_SEG = 0;
LED_IDX = ~(1<<idx);
rt = vBuffer[MAX_LED - idx - 1];
if (rt == LED_NULL )
{
LED_SEG = 0;
}
else
{
LED_SEG = (LED_Table[rt]);
}
#endif
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -