?? led.h
字號:
//--------------------------------------------------
//18b20
// 作者:閔運華
// qq:121758163
//--------------------------------------------------
#define A段 1 左移 0
#define B段 1 左移 2
#define C段 1 左移 6
#define D段 1 左移 4
#define E段 1 左移 3
#define F段 1 左移 1
#define G段 1 左移 7
#define H段 1 左移 5
#define 第一點 5
#define 第二點 13
#define 第三點 21
#define 第四點 29
#define 字符0 A段 或 B段 或 C段 或 D段 或 E段 或 F段
#define 字符1 B段 或 C段
#define 字符2 A段 或 B段 或 D段 或 E段 或 G段
#define 字符3 A段 或 B段 或 C段 或 D段 或 G段
#define 字符4 B段 或 C段 或 F段 或 G段
#define 字符5 A段 或 C段 或 D段 或 F段 或 G段
#define 字符6 A段 或 C段 或 D段 或 E段 或 F段 或 G段
#define 字符7 A段 或 B段 或 C段
#define 字符8 A段 或 B段 或 C段 或 D段 或 E段 或 F段 或 G段
#define 字符9 A段 或 B段 或 C段 或 D段 或 F段 或 G段
#define 字符A A段 或 B段 或 C段 或 E段 或 F段 或 G段
#define 字符B C段 或 D段 或 E段 或 F段 或 G段
#define 字符C A段 或 D段 或 E段 或 F段
#define 字符D B段 或 C段 或 D段 或 E段 或 G段
#define 字符E A段 或 D段 或 E段 或 F段 或 G段
#define 字符F A段 或 E段 或 F段 或 G段
#define 字符G A段 或 E段 或 F段 或 G段
#define 字符H A段 或 E段 或 F段 或 G段
#define 字符I A段 或 E段 或 F段 或 G段
#define 字符J A段 或 E段 或 F段 或 G段
#define 字符K A段 或 E段 或 F段 或 G段
#define 字符L A段 或 E段 或 F段 或 G段
#define 字符M A段 或 E段 或 F段 或 G段
#define 字符N A段 或 E段 或 F段 或 G段
#define 字符O A段 或 E段 或 F段 或 G段
#define 字符P A段 或 E段 或 F段 或 G段
#define 字符Q A段 或 E段 或 F段 或 G段
#define 字符R A段 或 E段 或 F段 或 G段
#define 字符S A段 或 E段 或 F段 或 G段
#define 字符T A段 或 E段 或 F段 或 G段
#define 字符U A段 或 E段 或 F段 或 G段
#define 字符V A段 或 E段 或 F段 或 G段
#define 字符W A段 或 E段 或 F段 或 G段
#define 字符X A段 或 E段 或 F段 或 G段
#define 字符Y A段 或 E段 或 F段 或 G段
#define 字符Z A段 或 E段 或 F段 或 G段
#define 字符負號 G段
#define 字符正號 A段 或 E段 或 F段 或 G段
#define 字符空 0
#define 當前LED八的個數 4
unsigned char code 字符碼表[]={ 字符0,字符1,字符2,字符3,字符4,字符5,字符6,字符7,字符8,字符9,
字符A,字符B,字符C,字符D,字符E,字符F,字符G,字符H,字符I,字符J,
字符K,字符L,字符M,字符N,字符O,字符P,字符Q,字符R,字符S,字符T,
字符U,字符V,字符W,字符X,字符Y,字符Z,字符負號,字符正號,字符空
}; //數碼管段碼表
enum
{
字符_0 = 0,
字符_1,
字符_2,
字符_3,
字符_4,
字符_5,
字符_6,
字符_7,
字符_8,
字符_9,
字符_A,
字符_B,
字符_C,
字符_D,
字符_E,
字符_F,
字符_G,
字符_H,
字符_I,
字符_J,
字符_K,
字符_L,
字符_M,
字符_N,
字符_O,
字符_P,
字符_Q,
字符_R,
字符_S,
字符_T,
字符_U,
字符_V,
字符_W,
字符_X,
字符_Y,
字符_Z,
字符_負號,
字符_正號,
字符_空
};
void 顯示數據(unsigned int 需顯示的數值);
void 顯示溫度(unsigned int 需顯示的數值);
void 亮點(unsigned char 需亮的點);
void 滅點(unsigned char 需滅的點);
void 顯示字符(unsigned char 地址,unsigned char 字符數據);
unsigned char 顯示區[4];
//點亮當前點
void 亮點(unsigned char 需亮的點)
{
顯示區[需亮的點 / 8] &= ~(1<<(需亮的點 % 8));
}
//滅掉當前點
void 滅點(unsigned char 需滅的點)
{
顯示區[需滅的點 / 8] |= 1<<(需滅的點 % 8);
}
//顯示字符
void 顯示字符(unsigned char 地址,unsigned char 字符數據)
{
if(地址 < 當前LED八的個數)
{
顯示區[地址] &= H段;
顯示區[地址]|=~字符碼表[字符數據];
}
}
//顯示字符
void 顯示字符串(unsigned char 地址,unsigned char *字符串地址)
{
char i;
for(i = 0 ; i < 當前LED八的個數 ; i++)
顯示字符(i,字符串地址[i]);
}
//顯示十六進制數
void 顯示數據(unsigned int 需顯示的數值)
{
顯示字符(0,(需顯示的數值 >> 12) & 0x0f);
顯示字符(1,(需顯示的數值 >> 8) & 0x0f);
顯示字符(2,(需顯示的數值 >> 4) & 0x0f);
顯示字符(3,(需顯示的數值 )& 0x0f);
滅點(第三點);
滅點(第二點);
}
void 顯示溫度(unsigned int 需顯示的數值)
{
if((需顯示的數值 & 0x8000) )
{
//此表示此數為負數
需顯示的數值 ^= 0xffff; //取反
需顯示的數值++;
顯示字符(0,字符_負號);
需顯示的數值 <<= 4; //將整數部分放入高八位,小數部分放在低八位的高四位
}
else
{
需顯示的數值 <<= 4; //將整數部分放入高八位,小數部分放在低八位的高四位
if((需顯示的數值 >> 8) > 99)
{
顯示字符(0,((需顯示的數值 >> 8) / 100) & 0x0f); //整數部分的百位
}
else
{
顯示字符(0,字符_空);
}
}
顯示字符(1,(((需顯示的數值 >> 8) / 10) % 10) & 0x0f); //整數部分的十位
顯示字符(2,((需顯示的數值 >> 8) % 10 ) & 0x0f); //整數部分的個位
亮點(第三點);
滅點(第二點);
顯示字符(3,((((需顯示的數值 >> 6)&0x03) * 25) / 10) & 0x0f); //小數點位
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -