3.5 51單片機-獨立數碼管(靜態數碼管)
3.5?獨立數碼管(靜態數碼管)
3.5.1 數碼管原理圖
連線:?JP10(P0)連接JP3,控制開發板最右邊的一個獨立大尺寸數碼管。
圖3-5-1
圖3-5-2
開發板上這個獨立的數碼管剛好接在單片機的P0引腳上。
對應關系:??P0.0 ->A ?P0.1->B ?P0.2->C ?P0.3->D………
3.5.2 數碼管介紹
LED數碼管是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。
LED數碼管常用的段數一般為7段,有的另加一個小數點 。
LED數碼管根據LED的接法不同,分為共陰和共陽兩類 。
當前開發板使用的數碼管是共陽極。
使用LED顯示器時,要注意區分這兩種不同的接法。為了顯示數字或字符,必須對數字或字符進行編碼。七段數碼管加上一個小數點,共計8段。因此為LED顯示器提供的編碼正好是一個字節。
圖3-5-3
3.5.3 對共陽極數據管進行編碼
通過得到的編碼,定義成數組,小數點是默認點亮。?數字0~9
code?char?led_buff[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
3.5.4 Keil 51中const與code關鍵字
Keil 51中,code修飾的變量放在ROM(Flash)中,而const修飾的變量為只讀(不可修改),放在RAM中。在Keil MDK中,如進行STM32的開發,code修飾符無法使用,使用的話會報錯,此時是用const,用const修飾的變量是存放在ROM中的。
3.5.5 示例代碼
下面代碼實現,按下矩陣鍵盤,在數碼管上顯示當前矩陣鍵盤按下的鍵值。
#include?
//共陽極數碼管編碼,小數點默認點亮
//數字0~9
code?u8?LED_Coding[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
/*靜態數碼管顯示*/
void?LED_StaticDisplay(u8?val)
{
LED=LED_Coding[val];?//顯示數字
}
int?main()
{
u8?key;
while(1)
{
key=Array_Scan();?//檢測矩陣鍵盤鍵值
if(key)
{
if(key<=9)LED_StaticDisplay(key);?//數碼管的顯示范圍只能是0~9
}
}
}
單片機 嵌入式 電商家電數碼
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。