數(shù)碼管的 8 個(gè)段,我們直接當(dāng)成 8 個(gè) LED 小燈來(lái)控制,那就是 a、b、c、d、e、f、g、dp 一共 8 個(gè) LED 小燈。我們通過(guò)圖 5-3 可以看出,如果點(diǎn)亮 b 和 c 這兩個(gè) LED 小燈,也就是數(shù)碼管的 b 段和 c 段,其他的所有的段都熄滅的話,就可以讓數(shù)碼管顯示出一個(gè)數(shù)字 1,那么這個(gè)時(shí)候?qū)嶋H上 P0 的值就是 0b11111001,十六進(jìn)制就是 0xF9。那么我們寫(xiě)一個(gè)程序進(jìn)去,來(lái)看一看數(shù)碼管顯示的效果。
#include
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main(){
ENLED = 0; //使能 U3,選擇數(shù)碼管 DS1
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = 0xF9; //點(diǎn)亮數(shù)碼管段 b 和 c
while (1);
}
#include
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main(){
ENLED = 0; //使能 U3,選擇數(shù)碼管 DS1
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = 0xF9; //點(diǎn)亮數(shù)碼管段 b 和 c
while (1);
}大家把這個(gè)程序編譯一下,并下載到單片機(jī)中,就可以看到程序運(yùn)行的結(jié)果是在最右側(cè)的數(shù)碼管上顯示了一個(gè)數(shù)字 1。
用同樣的方法,我們可以把其他的數(shù)字字符都在數(shù)碼管上顯示出來(lái),而數(shù)碼管顯示的數(shù)字字符對(duì)應(yīng)給 P0 的賦值,我們叫做數(shù)碼管的真值表。我們來(lái)列一下我們這個(gè)電路圖的數(shù)碼管真值表,注意,這個(gè)真值表里顯示的數(shù)字都不帶小數(shù)點(diǎn)的,如表 5-7。
表 5-7 數(shù)碼管真值表
大家可以把上邊那個(gè)用數(shù)碼管顯示數(shù)字 1 程序中的 P0 的賦值隨便修改成表 5-7 真值表中的數(shù)值,看看顯示的數(shù)字的效果。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44561瀏覽量
635637 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1882瀏覽量
91154
原文標(biāo)題:?jiǎn)纹瑱C(jī)數(shù)碼管真值表_單片機(jī)數(shù)碼管程序
文章出處:【微信號(hào):changxuemcu,微信公眾號(hào):暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論