?? led.c
字號(hào):
//[LED.c]LED驅(qū)動(dòng)-----------------------------------------------------------*
//本文件包含: *
// (1)LEDInit:4連排LED初始化 *
// (2)LEDShow:在4連排LED上顯示4個(gè)十進(jìn)制數(shù) *
// (3)LEDShow1:在1個(gè)LED上顯示數(shù)字 *
//硬件連接: *
// (1)PTB 7-0 分別接LED的數(shù)據(jù)線 h g f e d c b a *
// (2)PTH 7-4 分別接各LED的位選線(自右到左) *
//-------------------------------------------------------------------------*
#include "LED.h" //該頭文件包含LED驅(qū)動(dòng)相關(guān)寄存器宏定義
//LEDinit:4連排LED初始化---------------------------------------------------*
//功能:定義LED控制引腳的數(shù)據(jù)口和位選口為輸出 *
//參數(shù):無(wú) *
//返回:無(wú) *
//-------------------------------------------------------------------------*
void LEDInit(void)
{
LEDdata_D = 0xFF; //數(shù)據(jù)口為輸出
LEDcs_D |= 0xF0; //位選口為輸出
}
//LEDShow: 在4連排LED上顯示4個(gè)十進(jìn)制數(shù)-------------------------------------*
//功能:在4連排LED上顯示以Buf為首地址的4個(gè)數(shù)據(jù) *
//參數(shù):Buf=待顯示數(shù)據(jù)的首地址 *
//返回:無(wú) *
//內(nèi)部調(diào)用:LEDshow1 *
//-------------------------------------------------------------------------*
void LEDShow(INT8U *Buf)
{
INT8U i,c;
INT16U j;
for (i = 0;i <= 3;i++)
{
c = Buf[i]-'0';
LEDShow1(3-i,c);
//延時(shí)
for (j = 0;j <= 100;j++);
}
}
//LEDShow1:在1個(gè)LED上顯示數(shù)字----------------------------------------------*
//功能:在第i個(gè)LED上顯示數(shù)字c(要查表轉(zhuǎn)碼) *
//參數(shù): *
// (1)i:要顯示的LED位號(hào)(從右到左0-3) *
// (2)c:要顯示的數(shù)字(0-9) *
//返回:無(wú) *
//-------------------------------------------------------------------------*
//顯示碼表
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];
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -