數碼管的 8 個段,我們直接當成 8 個 LED 小燈來控制,那就是 a、b、c、d、e、f、g、dp 一共 8 個 LED 小燈。我們通過圖 5-3 可以看出,如果點亮 b 和 c 這兩個 LED 小燈,也就是數碼管的 b 段和 c 段,其他的所有的段都熄滅的話,就可以讓數碼管顯示出一個數字 1,那么這個時候實際上 P0 的值就是 0b11111001,十六進制就是 0xF9。那么我們寫一個程序進去,來看一看數碼管顯示的效果。
#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,選擇數碼管 DS1
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = 0xF9; //點亮數碼管段 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,選擇數碼管 DS1
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = 0xF9; //點亮數碼管段 b 和 c
while (1);
}大家把這個程序編譯一下,并下載到單片機中,就可以看到程序運行的結果是在最右側的數碼管上顯示了一個數字 1。
用同樣的方法,我們可以把其他的數字字符都在數碼管上顯示出來,而數碼管顯示的數字字符對應給 P0 的賦值,我們叫做數碼管的真值表。我們來列一下我們這個電路圖的數碼管真值表,注意,這個真值表里顯示的數字都不帶小數點的,如表 5-7。
表 5-7 數碼管真值表
大家可以把上邊那個用數碼管顯示數字 1 程序中的 P0 的賦值隨便修改成表 5-7 真值表中的數值,看看顯示的數字的效果。
-
單片機
+關注
關注
6050文章
44687瀏覽量
641186 -
數碼管
+關注
關注
32文章
1887瀏覽量
91673
原文標題:單片機數碼管真值表_單片機數碼管程序
文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
51單片機數碼管顯示

51單片機數碼管靜態顯示

51單片機數碼管顯示

單片機零基礎入門(8-3)實戰:在數碼管任意位置顯示數字----單片機動態數碼管實戰---附源代碼

單片機零基礎入門(8-2)實戰:在數碼管中實現顯示一個數字--在數碼管指定位置顯示一個數字----單片機數碼管實戰

評論