基礎知識:
單片機系統(tǒng)中常用的顯示器有:
發(fā)光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、TFT液晶顯示器等。LED顯示器有兩種顯示結構:段顯示 (7段、米字型等) 和點陣顯示 (5X8、8X8點陣等)
LED數(shù)碼管根據(jù)LED的不同接法可以分為2類:共陰和共陽。
共陰極接法:將八個LED的負極全部接到0V,只有當我們給出一個正極1的信號才會亮。
共陽極接法:將八個LED的負極全部接到+5V,只有當我們給出一個0的信號才會亮。
使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。
LED數(shù)碼管顯示原理
舉例說明一下:
假如我們需要顯示一個2,那么對應的就要點亮途中的a,b,d,e,g,其他的全部都要熄滅,這樣顯示出來的數(shù)碼管才是我們想要的結果。(假設八位LED剛好全部對應接到一個P口,而且還是從dp算最高位、a為最低為的接法)
所以對于共陰極接法來說,那么就要輸出一個0101 1011的信號,轉換成16進制的話,就是0x5B
而對于共陽極接法的話,那么就要輸出1010 0100,轉換成16進制的話就是0xA4
LED數(shù)碼管靜態(tài)顯示的原理:
靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高
技能進階:(數(shù)組)
單片機的數(shù)組結構是一種用來存儲多個相同類型數(shù)據(jù)的數(shù)據(jù)結構,它可以用一組連續(xù)的內存空間來存儲數(shù)據(jù),也可以用指針來連接一組零散的內存塊。數(shù)組結構可以方便地通過下標來訪問數(shù)組中的元素,也可以通過結構體來封裝數(shù)組和相關的函數(shù),實現(xiàn)更高級的功能。
使用數(shù)組結構的方法有以下幾點:
定義數(shù)組時,需要指定數(shù)組的類型、名稱和大小,例如 int array[10]; 定義了一個有10個整數(shù)元素的數(shù)組。
初始化數(shù)組時,可以用花括號包含一組初始值,例如 int array[10] = {1,2,3,4,5,6,7,8,9,10}; 初始化了一個數(shù)組,每個元素的值等于其下標加一。
訪問數(shù)組時,可以用數(shù)組名和下標來表示一個元素,例如 array[3] 表示數(shù)組中第四個元素,其值為4。注意下標從0開始計數(shù)。
修改數(shù)組時,可以用賦值語句來改變某個元素的值,例如 array[3] = 5; 將第四個元素的值改為5。
遍歷數(shù)組時,可以用循環(huán)語句來依次訪問每個元素,例如 for(i=0;i<10;i++) printf("%d ",array[i]); 將打印出數(shù)組中所有元素的值。
使用結構體時,可以將數(shù)組和相關的函數(shù)定義為一個新的數(shù)據(jù)類型,例如 struct LED { unsigned char array[8]; void (*on)(int); void (*off)(int); }; 定義了一個LED結構體,包含一個8位的數(shù)組和兩個函數(shù)指針。這樣可以方便地對外設進行操作,例如 LED led; led.on(3); 將點亮第四個LED燈。
程序編寫:
#include
unsigned char code sunduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
//創(chuàng)建一個數(shù)組的結構,此時采用的是共陽極接法,將0-F的顯示使用了數(shù)組的結構創(chuàng)建出來
void main()
{
P2=sunduan[0]; //要顯示一個0,即在P2口上接入了一個LED數(shù)碼管之后,需要顯示的數(shù)值,直接從編輯號的數(shù)組中挑選出來即可。
}
仿真展示:
可以看到,當我們啟動仿真時,這個時候,就會在P2組管腳上的輸出情況(P2.0 ~ P2.5全輸出0,P2.6 ~ P2.7輸出1)因為LED數(shù)碼管采用的是共陽極接法,所以a~f全部點亮,g和dp都熄滅,這樣展示出來的效果就是一個0的數(shù)字。
程序除了上述的數(shù)組結構之外,其實還可以直接通過點亮單片機的輸出管腳單獨控制。
-
led
+關注
關注
242文章
23252瀏覽量
660557 -
單片機
+關注
關注
6035文章
44554瀏覽量
634624 -
發(fā)光二極管
+關注
關注
13文章
1198瀏覽量
66282 -
液晶顯示器
+關注
關注
11文章
576瀏覽量
43629 -
數(shù)碼管
+關注
關注
32文章
1882瀏覽量
91060
發(fā)布評論請先 登錄
相關推薦
評論