📄 led.c
字号:
//[LED.c]LED驱动-----------------------------------------------------------*
//本文件包含: *
// (1)LEDInit:4连排LED初始化 *
// (2)LEDShow:在4连排LED上显示4个十进制数 *
// (3)LEDShow1:在1个LED上显示数字 *
//硬件连接: *
// (1)PTB 7-0 分别接LED的数据线 h g f e d c b a *
// (2)PTH 7-4 分别接各LED的位选线(自右到左) *
//-------------------------------------------------------------------------*
#include "LED.h" //该头文件包含LED驱动相关寄存器宏定义
//LEDinit:4连排LED初始化---------------------------------------------------*
//功能:定义LED控制引脚的数据口和位选口为输出 *
//参数:无 *
//返回:无 *
//-------------------------------------------------------------------------*
void LEDInit(void)
{
LEDdata_D = 0xFF; //数据口为输出
LEDcs_D |= 0xF0; //位选口为输出
}
//LEDShow: 在4连排LED上显示4个十进制数-------------------------------------*
//功能:在4连排LED上显示以Buf为首地址的4个数据 *
//参数:Buf=待显示数据的首地址 *
//返回:无 *
//内部调用:LEDshow1 *
//-------------------------------------------------------------------------*
void LEDShow(INT8U *Buf)
{
INT8U i,c;
INT16U j;
for (i = 0;i <= 3;i++)
{
c = Buf[i]-'0';
LEDShow1(3-i,c);
//延时
for (j = 0;j <= 100;j++);
}
}
//LEDShow1:在1个LED上显示数字----------------------------------------------*
//功能:在第i个LED上显示数字c(要查表转码) *
//参数: *
// (1)i:要显示的LED位号(从右到左0-3) *
// (2)c:要显示的数字(0-9) *
//返回:无 *
//-------------------------------------------------------------------------*
//显示码表
const INT8U Dtable[10] =
// 0 1 2 3 4 5 6 7 8 9
{0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F};
//片选表
const INT8U CStable[4] =
// 0 1 2 3
{0x7F,0xBF,0xDF,0xEF};
void LEDShow1(INT8U i, INT8U c)
{
LEDcs = CStable[i];
LEDdata = Dtable[c];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -