?? 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 + -