日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

跟我學(xué)51單片機(五):單片機動態(tài)掃描驅(qū)動數(shù)碼管

出處:t.xw 發(fā)布于:2011-07-29 15:54:03

  一、本文內(nèi)容提要

  本刊第四期介紹了單片機外接鍵盤的原理,并給出了應(yīng)用實例。本期將介紹單片機動態(tài)驅(qū)動段式數(shù)碼管。通過該講,讀者可以掌握段式數(shù)碼管的工作原理和如何通過動態(tài)驅(qū)動的方法設(shè)計電路以及程序。

  二、原理簡介

  常用的段式數(shù)碼管有七段式和八段式,八段比七段多了一個小數(shù)點,其他的基本相同。所謂的幾段就是指數(shù)碼管里有相應(yīng)的幾個小LED 發(fā)光二極管,通過控制不同的LED 的亮滅來顯示出不同的字形(見圖1(a))。從各發(fā)光二極管的電極連接方式又可以分為共陽極和共陰極兩種類型。共陰極則是所有的二極管的陰極連接在一起,而陽極是分離的(見圖1(b));而共陽極就是所有二極管的陽極是公共相連,而陰極則是分離的(見圖1(c))。本學(xué)習(xí)板采用的是八段共陰極數(shù)碼管,型號為LG3641AH。

1 數(shù)碼管內(nèi)部結(jié)構(gòu)圖

  前文所述,數(shù)碼管與發(fā)光二極管的工作原理相同,共陽極時,所有正端接電源正極,當(dāng)負(fù)端有低電平時,該段有電流流過,發(fā)光管亮,當(dāng)負(fù)端為高電平時,該段無電流流過,發(fā)光管不亮。要顯示什么數(shù)字,就使對應(yīng)的段為低電平(見表1)。共陰極與共陽極的電平變化狀態(tài)相反。當(dāng)每個段的驅(qū)動電流為2~20mA,電流越大,發(fā)光越亮。

表1 顯示的數(shù)字和七段碼各位的對應(yīng)關(guān)系表

  常用的七段式數(shù)碼管的硬件驅(qū)動設(shè)計方法有:靜態(tài)驅(qū)動與動態(tài)驅(qū)動。

  靜態(tài)驅(qū)動即指每個數(shù)碼管的數(shù)據(jù)線都有一個單獨的數(shù)據(jù)鎖存器,數(shù)據(jù)鎖存器輸入的數(shù)據(jù)由使能端控制,當(dāng)使能端為高電平時,數(shù)據(jù)線上的數(shù)據(jù)(要顯示的七段碼)進(jìn)入顯示器,使能端與地址譯碼器的輸出相連,要顯示那位,則選通那位的地址,在軟件設(shè)計上不要求程序循環(huán),也不存在顯示數(shù)字發(fā)生閃爍。但是這樣會占用很多口線。

  動態(tài)顯示是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而節(jié)省了口線,地簡化了硬件電路。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。

  三、電路詳解

  此講的電路圖如圖2。從圖2 中可以看出,驅(qū)動八個八段數(shù)碼管總共用了6 個單片機IO 口,其中三個IO通過控制74HC595 來實現(xiàn)對數(shù)碼管中的各段驅(qū)動,另外三個IO 通過控制74HC138 來實現(xiàn)對8 個數(shù)碼管中的公共端驅(qū)動。此外為了增加74HC595 輸出的驅(qū)動能力,在其輸出后接了74HC245 芯片,以提高驅(qū)動能力,增加數(shù)碼管的亮度。在這里對這三個芯片進(jìn)行介紹說明。

圖2 數(shù)碼管動態(tài)驅(qū)動電路圖

  74HC138 是常用的3-8 線譯碼器, 即具有3 個輸入端( 管腳1,2,3) 與8 個輸出端( 管腳15,14,13,12,11,10,9,7),作用為完成3 位二進(jìn)制數(shù)據(jù)到8 位片選的譯碼。也就是說,3 個輸入端對應(yīng)8 個二進(jìn)制數(shù)據(jù)(000,001,010,011,100,101,110,111),對于每個輸入的數(shù)據(jù),輸出端相應(yīng)位輸出低電平,其他7 位輸出高電平。74HC138 具有2 個低電平使能端(管腳4,5)與1 個高電平使能端(管腳6), 當(dāng)?shù)碗娖绞鼓芏私拥碗娖角腋唠娖绞鼓芏私痈唠娖綍r74HC138 才能正常工作,否則8 個輸出端全部輸出高電平。因此在本學(xué)習(xí)板上設(shè)置一個跳線,如圖2 中所示中的SM-EN 短路塊,跳上時表示接低電平,74HC138 正常工作,跳開時表示接高電平,74HC138 不工作。74HC138 的真值表如表2 所示:H 代表高電平,L 代表低電平,X 代表不定的狀態(tài)。

表2 74HC138輸入輸出真值表

  74HC595 是8 位串行輸入/ 輸出或者并行輸出移位寄存器芯片,可以將串行的數(shù)據(jù),轉(zhuǎn)為并行的輸出,這樣可以節(jié)約控制器的IO 口資源,因而廣泛應(yīng)用。

  74HC595 多需要5 根控制線, 即SDI(Pin14)、SCK(Pin11)、RCK(Pin12)、 (Pin10)和(Pin13)。圖2 中將 直接接到高電平, 用軟件來實現(xiàn)寄存器清零; 直接接到低電平, 一直輸出有效。把其余三根線和單片機的I/O 口相接, 即可實現(xiàn)對74HC595 的控制。數(shù)據(jù)從SDI 口送入74HC595 , 在每個SCK 的上升沿, SDI 口上的數(shù)據(jù)移入寄存器, 在SCK 的第9 個上升沿, 數(shù)據(jù)開始從SDO 移出。如果把個74HC595的SDO 和第二個74HC595 的SDI 相接, 數(shù)據(jù)即移入第二個74HC595 中, 照此一個個接下去, 可接任意多個。數(shù)據(jù)全部送完后, 給RCK 一個上升沿, 寄存器中的數(shù)據(jù)即置入鎖存器。此時為低電平, 數(shù)據(jù)即從并口Q0 ~ Q7 輸出。

  74HC245 為八總線收發(fā)器芯片,即可以將數(shù)據(jù)從A 總線端口傳送到B 總線端口,也可將數(shù)據(jù)從B 總線端口傳送到A 總線端口。傳送方向由方向控制管腳DIR(芯片1 腳)輸入的邏輯電平而定。其真值表如表3 所示:

表3 74HC245輸入輸出真值表

  H 代表高電平,L 代表低電平,X 代表不定的狀態(tài)。

  四、程序設(shè)計

  本講設(shè)計實例程序如下:

  ……

  #define SDI P2_7 ( 1)

  #define SCLK P2_6 ( 2)

  #define RCLK P2_5 ( 3)

  ……

  void dat_in(unsigned char dat) ( 4)

  {

  unsigned char i; ( 5)

  for(i=0;i<8;i++) ( 6)

  {

  SCLK=0; ( 7)

  SDI=dat&0X80; ( 8)

  dat《=1; ( 9)

  SCLK=1; ( 10)

  }

  RCLK=0; ( 11)

  RCLK=1; ( 12)

  }

  程序詳細(xì)說明:

 ?。?)將數(shù)據(jù)輸出端定義為P2.7 管腳。

 ?。?)將數(shù)據(jù)時鐘輸出端定義為P2.6 管腳。

 ?。?)將寄存器時鐘輸出端定義為P2.5 管腳。

  (4)數(shù)據(jù)傳入函數(shù),傳入一字節(jié)。

  (5)定義一個無符號字符型變量。

  (6)要因為要傳送一個字節(jié),故要8 次。

 ?。?)數(shù)據(jù)時鐘先輸出低。

 ?。?)讓數(shù)據(jù)管腳輸出傳入字節(jié)的位。

 ?。?)傳入字節(jié)左移一位。

 ?。?0)數(shù)據(jù)時鐘輸出高,上升沿將數(shù)據(jù)所存儲至74HC595 數(shù)據(jù)寄存器中。

  (11)寄存器時鐘先輸出低。

  (12)寄存器時鐘輸出高,上升沿將數(shù)據(jù)所存儲至74HC595 數(shù)據(jù)寄存器中。

  以上字程序的作用, 當(dāng)發(fā)送一個字節(jié)的顯示數(shù)據(jù)的時候, 通過74HC595 進(jìn)行串行轉(zhuǎn)并行的控制,每次從單片機IO發(fā)送1Bit出去, 循環(huán)8次, 完成發(fā)送一個字節(jié),之后再的輸出端以一個字節(jié)的方式傳輸給數(shù)碼管, 實現(xiàn)顯示。

  五、調(diào)試要點與實驗現(xiàn)象

  接好硬件電路,通過冷啟動方式將程序所生成的。hex 文件到單片機運行后,復(fù)位單片機,就可以觀察到板上8 個數(shù)碼管都點亮(見圖3),并從數(shù)字0 到9 變化閃爍。調(diào)試的時候需要注意的是,數(shù)碼管的使能控制端(見圖2)必須用跳線帽跳上,從而讓74HC138 能工作輸出。不需要用到數(shù)碼管時可以, 反之,跳開以節(jié)省系統(tǒng)電流損耗。

圖3 數(shù)碼管顯示效

  另外動態(tài)掃描過程中, 數(shù)碼管顯示的亮度與驅(qū)動電流、點亮?xí)r間和關(guān)斷時間有關(guān), 所以應(yīng)當(dāng)適當(dāng)調(diào)整驅(qū)動電流大小和掃描頻率, 從而控制顯示所需要的亮度。這在驅(qū)動尺寸較大的數(shù)碼管組時更是如此,為了穩(wěn)定顯示,硬件方面必須達(dá)到該有的驅(qū)動能力,如在驅(qū)動端再接達(dá)林頓管等。軟件方面,應(yīng)在實際的調(diào)試過程中不斷的嘗試(見本講程序中所掃描次數(shù)的經(jīng)驗值),找到一個臨界點,即要注意動態(tài)掃描的延時間隔和掃描次數(shù)。

  六、總結(jié)

  本講介紹了單片機動態(tài)驅(qū)動數(shù)碼管的原理并給出了實例,通過該講,我們可以總結(jié)如下:

  動態(tài)掃描驅(qū)動數(shù)碼管的優(yōu)點:當(dāng)顯示位數(shù)較多時,采用動態(tài)顯示方式比較節(jié)省I/O 口,硬件電路也較靜態(tài)顯示簡單;缺點:其穩(wěn)定度不如靜態(tài)顯示方式。而且在顯示位數(shù)較多時CPU要輪番掃描,占用CPU較多的時間。

  總的來說,無論是動態(tài)還是靜態(tài)顯示,其顯示更新的速率不能太快,如數(shù)據(jù)不停變化,太快則無法看清楚顯示的內(nèi)容,在軟件設(shè)計是必須注意的。另外,在同等條件下動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在適當(dāng)提高驅(qū)動電流,例如使用限流電阻,就應(yīng)略小于靜態(tài)顯示電路中的,或者使用緩沖驅(qū)動芯片。下講將重點講述單片機外部中斷以及應(yīng)用,以對紅外遙控器進(jìn)行解碼作為實例,敬請期待。

關(guān)鍵詞:跟我學(xué)51單片機(五):單片機動態(tài)掃描驅(qū)動數(shù)碼管74HC245  74HC59574HC138LG3641AH

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

74HC595!LED大屏幕全靠它!
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!