欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

第6課 數(shù)碼管靜態(tài)顯示

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年12月30日   【字體:

 

1、數(shù)碼管顯示原理
數(shù)碼管是單片機應(yīng)用系統(tǒng)中常用的一種顯示器件,由于其價格低廉、操作簡單,而被廣泛的應(yīng)用于各種數(shù)字顯示系統(tǒng)中,常見的數(shù)碼管如圖1所示。
 
根據(jù)外觀的不同,數(shù)碼管又為分1位數(shù)碼管、2位數(shù)碼管、3位數(shù)碼管、四位數(shù)碼管等種類,如圖2所示。
但不論是幾位一體的數(shù)碼管,其顯示原理都是一樣的,都是靠內(nèi)部發(fā)光二極管發(fā)光來進行顯示的。下面我們以1位數(shù)碼管為例介紹其顯示原理。
    1、數(shù)碼管顯示的原理
數(shù)碼管內(nèi)部的電路如圖3所示,
圖3 數(shù)碼管內(nèi)部電路
圖3中,顯示一個完整的8字,需要7個小段,外加一個小數(shù)點,共8段,分別稱為a段、b段、c段、d段、e段、f段、g段、dp段,每段內(nèi)部都集成了一個發(fā)光二極管,此時要想讓數(shù)碼管顯示數(shù)字,我們只需要讓相對應(yīng)的發(fā)光二極管發(fā)光就可以,例如要想讓此數(shù)碼管顯示數(shù)字是1,只需要讓b、c段的數(shù)碼管發(fā)光,而其它段的數(shù)碼管熄滅就可以了。
上圖中,每個發(fā)光二極管的陽極全部引出,分別為a、b、c、d、e、f、g、dp,共8個引腳,而把所有發(fā)光二極管的陰極全部接到一起引出一個引腳w,此時我們把a、b、c、d、e、f、g、dp引腳稱為數(shù)碼管的段選引腳,簡稱段選;而把w稱為位選引腳,簡稱位選。通過單片機讓數(shù)碼管顯示數(shù)字,就是通過編寫程序讓數(shù)碼管內(nèi)部相應(yīng)的數(shù)碼管發(fā)光。
數(shù)碼管根據(jù)內(nèi)部接法的不同又可分為共陰極數(shù)碼管和共陽極數(shù)碼管兩種,上圖中,數(shù)碼管所有的發(fā)光二極管的陰極接在一起,而陽極單獨引出,我們稱此數(shù)碼管為共陰極數(shù)碼管,而還有一種接法是把陽極接在一起,而陰單獨引出,這種數(shù)碼管則稱之為共陽極數(shù)碼管,具體在寫程序時應(yīng)考慮到的是哪一種數(shù)碼管,共陽極數(shù)碼管如圖4所示。
圖4 共陽極數(shù)碼管
這里需要注意的是,在驅(qū)動數(shù)碼管進行顯示時,數(shù)碼管內(nèi)部的發(fā)光二極管要正常工作大概需要5mA的電流,而單片機的I/O口通常不能提供如些大的電流,此時需要上位電阻或者專用的驅(qū)動芯片,如7HHC573等,實驗板上即采用的后者,后面會具體講到。 
因為實驗板上的數(shù)碼管相應(yīng)引腳在和單片機相連時用到了鎖存器,這里介紹一下鎖存器相關(guān)的一些知識。
74HC573為一種數(shù)字芯片,按其封裝的不同,分為直插和貼片的兩種,如圖6和圖7所示,
               圖6 直插式鎖存器,       圖7 貼片式鎖存器,
下面先介紹下74HC573的各個引腳功能和真值表,如圖8所示,OE為輸出使能端(低電平有效),也就是要使該芯片工作,此腳必須為低電平;1D-8D為數(shù)據(jù)輸入端;1Q-8Q為數(shù)據(jù)輸出端;LE為輸出控制端。
  
              圖8 74HC573引腳圖       圖9 74HC573真值表
圖9為74HC573的真值表,真值表可以直觀的表示數(shù)字芯片的工作特性,也就是要正確的使用數(shù)字芯片,必須學會看真值表。在圖9中,L表示低電平,H表示高電平,X表示任意電平,Z表示高阻態(tài),即,可以為高電平,也可以為低電平,高或低由與它相連的其它電氣狀態(tài)決定;Q0表示上一次電平狀態(tài)。
由圖9真值表可以看出,當OE為高電平時,無論控制端LE和數(shù)據(jù)端為什么電平,輸出Q都為高阻態(tài),也就是電平未知,此時鎖存器處于不可控的狀態(tài),而我們使用該芯片肯定是要控制它以完成相應(yīng)的功能,所以實驗板上兩塊芯片在硬件上均直接接地,相當于直接給低電平。
當OE為低電平時,LE為高時,D和Q同時為H或L;LE為低時,無論D為何種狀態(tài),Q都保持上一次的數(shù)據(jù)狀態(tài)。也就是說LE為高電平時,Q端的數(shù)據(jù)隨D端數(shù)據(jù)變化而變化,LE為低電平時,Q端的數(shù)據(jù)保持為LE端由高電平變?yōu)榈碗娖街癚端的數(shù)據(jù)狀態(tài)。
在使用時,我們一般把LE端接單片機的一個引腳,而把數(shù)據(jù)輸入端D接單片機的8個引腳,此時我們就可以通過單片機控制LE端電平的高低和數(shù)據(jù)端的電平狀態(tài)來決定鎖存器數(shù)據(jù)輸出端的輸出狀態(tài)。
講到這里,相信大家已經(jīng)對74HC573基本了解了,鎖存器的作用很多,在實驗板上主要起到兩個作用,一個就是解決驅(qū)動問題,這一點前面已經(jīng)說過,單片機I/O口輸出的電流太小,不足以驅(qū)動數(shù)碼管,此時就可以利用鎖鎖器來實現(xiàn);再一個就是節(jié)約單片機的I/O口,這一點后面會解釋到。
2數(shù)碼管靜態(tài)顯示
明白了顯示原理后,我們就可以對數(shù)碼管進行操作了,讓我們先看看一下實驗板的原理圖。
 
實驗板上的數(shù)碼管為兩個3位一體的數(shù)碼管,共同組成一個6位8段共陽極數(shù)碼管,
相同段的發(fā)光二極管陰極全部接在一起,引出8個引腳abcdefgdp,分別接到鎖存器的數(shù)據(jù)輸出口,而鎖存器74hc573的數(shù)據(jù)輸入口直接接到單片機P1口的8信引腳,注意此時P0口同時接了10K的上拉電阻;每一位數(shù)碼管內(nèi)部發(fā)光二極管陽極接在一起,然后分別引出6個腳w1w2w3w4w5w6,并能過鎖存器74hc573接到了單片機P1口的6個腳。兩個鎖存器的鎖存端分別與單片機的P2^6和P2^7相連。
也就是這六位數(shù)碼管“段選”全部連在一起,而“位選”是可以獨立控制的,我們可通過控制位選信號而選擇讓哪幾個數(shù)碼管發(fā)光,具體顯示的內(nèi)容可以通過段選信號進行,但由于所有段選是全部連在一起的,送入所在數(shù)碼管的段選信號必定相同,所以位選選通的數(shù)碼管上顯示的數(shù)字始終一樣,數(shù)碼管的這種顯示方式稱為靜態(tài)顯示。
下面我們就寫一個簡單的程序讓第一個數(shù)碼管顯示一個8字。先來分析如下:讓第一個數(shù)碼管顯示8字,那么別的數(shù)碼管的位選就要關(guān)閉,即只打開第一個數(shù)碼管的位選。在操作時,我從頭先給U2數(shù)碼管的鎖存端一個高電平,然后將數(shù)據(jù)從單片機的口P0直接送出到鎖存器的U2的數(shù)據(jù)輸出端,然后再關(guān)閉U2鎖存器。由于實驗板上的數(shù)碼管為共陽極,所以位選選通時為高電平,位選關(guān)閉時為低電平。即只有W1端對應(yīng)的數(shù)據(jù)為1,其它的都為0,因此P0口呆輸出的數(shù)據(jù)0x01;(二進制為0000 0001)。位選確定后,再確定段選,要顯示8,那么只有h段為0,其余段為1,所以用操作U2的方法一樣操作U1,讓U1數(shù)據(jù)輸出端輸出0x7f(二進制為0111 1111)
程序:單片機顯示8
#include<reg52.h>
 
#define uint unsigned int
#define uchar unsigned char
 
sbit duan=P2^6;
sbit wei=P2^7;
 
void main()//第一個數(shù)碼管顯示8
{
       while(1)
       {
              duan=1;
              P0=0x7f;
              duan=0;
      
              wei=1;
              P0=0xfe;
              wei=0;
              while(1);
       }
}
下面先下載到實驗板上看現(xiàn)象。
通過上面的現(xiàn)象我們實現(xiàn)了數(shù)碼管靜態(tài)顯示的功能,這里大家家可能已經(jīng)知道,程序中段用了單片機的8個引腳,而位用到了單片機的6個引腳,按理說我們一共需要14個引腳,而因為鎖存器的原因,實際上我們只用到了P1口8個腳就實現(xiàn)了,這就是上面講的鎖存器的第二個作用,使用鎖存器可以達到節(jié)約單片機的I/O口的作用。
關(guān)閉窗口

相關(guān)文章