共陰極數(shù)碼管
1.共陰極數(shù)碼管的結(jié)構(gòu)
共陰極數(shù)碼管是把所有led的陰極連接到共同接點(diǎn)com,而每個(gè)led的陽(yáng)極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn)),如下圖所示。圖中的8個(gè)led分別與上面那個(gè)圖中的a~dp各段相對(duì)應(yīng),通過(guò)控制各個(gè)led的亮滅來(lái)顯示數(shù)字。
2.共陰極數(shù)碼管的應(yīng)用
共陰極數(shù)碼管是一類(lèi)數(shù)字形式的顯示屏,通過(guò)對(duì)其不同的管腳輸入相對(duì)的電流,會(huì)使其發(fā)亮,從而顯示出數(shù)字能夠顯示 時(shí)間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價(jià)格便宜、使用簡(jiǎn)單、在電器,特別是家電領(lǐng)域應(yīng)用極為廣泛,空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。
3.共陰極數(shù)碼管的判斷方法
編輯找公共共陰和公共共陽(yáng):首先,我們找個(gè)電源(3到5伏)和1個(gè)1k(幾百歐的也行)的電阻,vcc串接個(gè)電阻后和gnd接在任意2個(gè)腳上,組合有很多,但總有一個(gè)led會(huì)發(fā)光的,找到一個(gè)就夠了,然后gnd不動(dòng),vcc(串電阻)逐個(gè)碰剩下的腳,如果有多個(gè)led(一般是8個(gè)),那它就是共陰的了。相反用vcc不動(dòng),gnd逐個(gè)碰剩下的腳,如果有多個(gè)led(一般是8個(gè)),那它就是共陽(yáng)的。也可以直接用數(shù)字萬(wàn)用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。
共陽(yáng)極數(shù)碼管
共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。
共陽(yáng)極8段數(shù)碼管顯示電路圖
動(dòng)態(tài)掃描顯示:下圖示出了6只共陽(yáng)LED的動(dòng)態(tài)掃描電路圖。圖中,8155的B口和所有的dp(sp),g,f,e,d,c,b,a引線(xiàn)相連,各LED控制端G(即圖中所示各個(gè)數(shù)碼管內(nèi)部的0,1,2,3,4,5)和8155的C口相連,故B口為字形口,C口為字位口,因?yàn)?a target="_blank">CPU可以通過(guò)C口控制各LED是否點(diǎn)亮。
怎樣測(cè)量數(shù)碼管引腳,分共陰和共陽(yáng)?
找公共共陰和公共共陽(yáng):首先,我們找個(gè)電源(3到5伏)和1個(gè)1K(幾百歐的也行)的電阻,VCC串接個(gè)電阻后和GND接在任意2個(gè)腳上,組合有很多,但總有一個(gè)LED會(huì)發(fā)光的,找到一個(gè)就夠了,然后GND不動(dòng),VCC(串電阻)逐個(gè)碰剩下的腳,如果有多個(gè)LED(一般是8個(gè)),那它就是共陰的了。相反用VCC不動(dòng),GND逐個(gè)碰剩下的腳,如果有多個(gè)LED(一般是8個(gè)),那它就是共陽(yáng)的。也可以直接用數(shù)字萬(wàn)用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。
8段數(shù)碼管原理
8 個(gè)數(shù)碼管它的數(shù)據(jù)線(xiàn)并聯(lián)接到 JP5, 位控制由 8 個(gè) PNP 型三級(jí)管驅(qū)動(dòng)后由 JP8 引出。
我們分別把他命名為 A,B,C,D,E,F(xiàn),G,H
搞懂了這個(gè)原理, 我們?nèi)绻@示一個(gè)數(shù)字 2, 那么 A,B,G,E,D 這 5 個(gè)段的發(fā)光管亮就可以了。也就是把B,E,H(小數(shù)點(diǎn))不亮,其余全亮。根據(jù)硬件的接法我們編出以下程序。當(dāng)然在此之前,還必須指定哪一個(gè)數(shù)碼管亮,這里我們就指定最后一個(gè) P2.7。
顯示數(shù)字 2 則是 C,F(xiàn),H(小數(shù)點(diǎn))不亮,同時(shí)由于接法為共陽(yáng)接法,那么為 0(低電平)是亮為 1(高電平)是滅。從高往低排列,(p0.7_p0.0)寫(xiě)成二進(jìn)制為 01111110, 把他轉(zhuǎn)化為 16 進(jìn)制則為A2H。我們可以根據(jù)硬件的接線(xiàn)把數(shù)碼管顯示數(shù)字編制成一個(gè)表格, 以后直接調(diào)用就行了。
原理圖中把所有數(shù)碼管的 8 個(gè)筆劃段 a-h 同名端連在一起,而每一個(gè)顯示器的公共極 COM 是各自獨(dú)立地受 I/O 線(xiàn)控制。CPU 向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,由 8 個(gè) PNP 的三極管,來(lái)控制這 8 位哪一位工作,例如上面的例子中我們選中的是 P2.7.就是最后的一位亮了。 同樣的如果要第一位亮, 只需要把程序 CLR P2.7 改為 CLR P2.0 即可。
在這里就有了一個(gè)矛盾, 所有數(shù)碼管的 8 個(gè)筆劃段 a-h 同名端連在一起, 那么在一個(gè)屏幕上如何顯示0,1,2,3,4,5 這樣不同的數(shù)字呢? 的確, 在這樣的接法中,同一個(gè)瞬間所有的數(shù)碼管顯示都是相同的, 不能顯示不同的數(shù)字。在單片機(jī)里,首先顯示一個(gè)數(shù), 然后關(guān)掉。然后顯示第二個(gè)數(shù),又關(guān)掉, 那么將看到連續(xù)的數(shù)字顯示,輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約 1ms),由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。 例如數(shù)碼管顯示 01234567 這么 8 個(gè)數(shù),在單片機(jī)中實(shí)際的工作流程如下:先打開(kāi) P2.0,送 0, 然后關(guān)掉 P2.0,開(kāi) P2.1 送 1, 再關(guān)掉 P2.1,打開(kāi) P2.2 送 2 , 依次向下,由于速度足夠快, 那么我們將連續(xù)的看到 01234567 這 8 個(gè)數(shù)。
數(shù)碼管之共陰極與共陽(yáng)極編碼
(1)一個(gè)數(shù)碼管有八段:A,B,C,D,E,F(xiàn) ,G,H,DP,即由八個(gè)發(fā)光二極管組成;因?yàn)榘l(fā)光二極管導(dǎo)通的方向是一定的(導(dǎo)通電壓一般取為1.7V),這八個(gè)發(fā)光二極管的公共端有兩種:可以分別接+5V(即為共陽(yáng)極數(shù)碼管)或接地(即為共陰極數(shù)碼管);故可分共陽(yáng)極(公共端接高電平或+5V電壓)和共陰極(共低電平或接地)兩種數(shù)碼管
(2)其中每個(gè)段均有0(不導(dǎo)通)和1(導(dǎo)通發(fā)光)兩種狀態(tài),但共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管顯然是不同的
(3)它在程序中的應(yīng)用是用一個(gè)八位二進(jìn)制數(shù)表示,A為最低位,。。。,F(xiàn)為最高位(第八位)
(4)共陽(yáng)極:
位選為高電平(即1)選中數(shù)碼管,
各段選為低電平(即0接地時(shí))選中各數(shù)碼段,
由0到f的編碼為:
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
共陰極:
位選為低電平(即0)選中數(shù)碼管,
各段選為高電平(即1接+5V時(shí))選中各數(shù)碼段,
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
評(píng)論