(玩電子(zi)) 電子(zi)技(ji)術學(xue)習與(yu)研究
當前位置(zhi)︰單片(pian)機(ji)教程網 >> 基礎教程 >> 瀏(liu)覽文章

湖北快三官网

作者:佚(die)名   來(lai)源(yuan):本站原創   點擊數:x  更(geng)新(xin)時間︰2020年02月19日   【字體︰ 中(zhong) 小(xiao)

   在單片(pian)機(ji)系di)持zhong),常常用LED數碼(ma)數碼(ma)管顯示器來(lai)顯示各種zhi)只huo)符號。由于(yu)它(ta)具有顯示清晰、亮度高、使用電壓低(di)、壽(shou)命長的特點,因此使用非常廣(guang)泛。

引(yin)言︰還記得我們小(xiao)時候(hou)玩的“火(huo)柴棒游戲”嗎,幾根火(huo)柴棒組(zu)合起來(lai),能拼(pin)成(cheng)各種各樣(yang)的圖形,LED數碼(ma)管顯示器實際上也是這麼(me)一個東西。

八(ba)段LED數碼(ma)管顯示器


<單片(pian)機(ji)靜態顯示接口>

   八(ba)段LED數碼(ma)管顯示器由8個發(fa)光二(er)極管組(zu)成(cheng)。基中(zhong)7個長條(tiao)形的發(fa)光管排列成(cheng)“日”字zhong)危 硪桓齪氐閾蔚姆fa)光管在數碼(ma)管顯示器的右下角作為顯示小(xiao)數點用,它(ta)能顯示各種zhi)旨安(an)糠縈?淖幟浮ED數碼(ma)管顯示器有兩種不一樣(yang)的形式︰一種zhi)個發(fa)光二(er)極管的陽極都連在一起的,稱(chen)之為共(gong)陽極LED數碼(ma)管顯示器;另一種zhi)個發(fa)光二(er)極管的陰極都連在一起的,稱(chen)之為共(gong)陰極LED數碼(ma)管顯示器。如下圖所(suo)示。`

   共(gong)陰和共(gong)陽結構的LED數碼(ma)管顯示器各筆劃段名和安(an)排位置(zhi)是相(xiang)同(tong)的。當二(er)極管導通(tong)時,對應的筆劃段發(fa)亮,由發(fa)亮的筆劃段組(zu)合而顯示的各種字符。8個筆劃段hgfedcba對應于(yu)一個字節(jie)(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于(yu)是用8位二(er)進制碼(ma)就能表示欲顯示字符的字zhong)未ma)。例如,對于(yu)共(gong)陰LED數碼(ma)管顯示器,當公(gong)共(gong)陰極接地(di)(為零電平),而陽極hgfedcba各段為0111011時,數碼(ma)管顯示器顯示"P"字符,即對于(yu)共(gong)陰極LED數碼(ma)管顯示器,“P”字符的字zhong)溫(wen)朧3H。如果是共(gong)陽LED數碼(ma)管顯示器,公(gong)共(gong)陽極接高電平,顯示“P”字符的字zhong)未ma)應為10001100(8CH)。這里(li)必須注意的是︰很多產品為方便接線,常不按(an)規(gui)則的辦法去對應字段與(yu)位的關(guan)系,這個時候(hou)字zhong)溫(wen)刖捅匭 萁酉呃lai)自(zi)行設計(ji)了,後面我們會給出一個例程。

   在單片(pian)機(ji)應用系di)持zhong),數碼(ma)管顯示器顯示常用兩種辦法︰靜態顯示和動(dong)態掃描顯示。所(suo)謂靜態顯示,就是每(mei)一個數碼(ma)管顯示器都要(yao)佔jia)玫?賴木哂興cun)功能的I/O接口用于(yu)筆劃段字zhong)未ma)。這樣(yang)單片(pian)機(ji)只要(yao)把(ba)要(yao)顯示的字zhong)未ma)發(fa)送到接口電路,就不用管它(ta)了,直到要(yao)顯示新(xin)的數據時,再(zai)發(fa)送新(xin)的字zhong)溫(wen)耄 虼耍 褂謎庵職旆 ?pian)機(ji)中(zhong)CPU的開銷小(xiao)。能供給單獨鎖存(cun)的I/O接口電路很多,這里(li)以常用的串並轉換電路74LS164為例,介紹一種常用靜態顯示電路,以使大家對靜態顯示有一定的了解。

   MCS-51單片(pian)機(ji)串行口方式押為移們寄存(cun)器方式,外接6片(pian)74LS164作為6位LED數碼(ma)管顯示器的靜態顯示接口,把(ba)8031的RXD作為數據輸出線,TXD作為移位時鐘脈沖(chong)。74LS164為TTL單向(xiang)8位移位寄存(cun)器,可實現串行輸入,並行輸出。其(qi)中(zhong)A、B(第(di)1、2腳)為串行數據輸入端,2個管腳按(an)邏輯與(yu)運算規(gui)律(lv)輸入信號,公(gong)一個輸入信號時可並接。T(第(di)8腳)為時鐘輸入端,可連接到串行口的TXD端。每(mei)一個時鐘信號的上升(sheng)沿加(jia)到T端時,移位寄存(cun)器移一位,8個時鐘脈沖(chong)過後,8位二(er)進制數全部移入74LS164中(zhong)xiao)(第(di)9腳)為復位端,當R=0時,移位寄存(cun)器各位復0,只有當R=1時,時鐘脈沖(chong)才起作用。Q1…Q8(第(di)3-6和10-13管腳)並行輸出端分別接LED數碼(ma)管顯示器的hg---a各段對應的管腳上。關(guan)于(yu)74LS164還能作如下的介紹︰所(suo)謂時鐘脈沖(chong)端,其(qi)實就是需要(yao)高、低(di)、高、低(di)的脈沖(chong),不管這個脈沖(chong)是怎麼(me)來(lai)的,比如,我們用根電線,一端接T,一端用手拿(na)著(zhou),分別接高電平、低(di)電平,那也是給出時鐘脈沖(chong),在74LS164獲(huo)得時鐘脈沖(chong)的瞬間(再(zai)講清楚點,是在脈沖(chong)的沿),如果數據輸入端(第(di)1,2管腳)是高電平,則就會有一個1進入到74LS164的內部,如果數據輸入端是低(di)電平,則就會有一個0進入其(qi)內部。在給出了8個脈沖(chong)後,最先進入74LS164的第(di)一個數據到達了最高位,然後再(zai)來(lai)一個脈沖(chong)會有什麼(me)發(fa)生呢(ne)?再(zai)來(lai)一個脈沖(chong),第(di)一個脈沖(chong)就會從最高位移出,就象車站排隊買票,欄桿就那麼(me)長,要(yao)從後面進去一本人(ren),前面必須要(yao)從前面走出去一本人(ren)才行xiao)/p>

    搞清了這一點,下面讓我們來(lai)看電路,6片(pian)7LS164首尾相(xiang)串,而時鐘端則接在一起,這樣(yang),當輸入8個脈沖(chong)時,從單片(pian)機(ji)RXD端輸出的數據就進入到了shuo)諞黃pian)74LS164中(zhong)了,而當第(di)二(er)個8個脈沖(chong)到來(lai)後,這個數據就進入了shuo)詼er)片(pian)74LS164,而新(xin)的數據則進入了shuo)諞黃pian)74LS164,這樣(yang),當第(di)六個8個脈沖(chong)完成(cheng)後,首次送出的數據被送到了最左面的164中(zhong),其(qi)他數據依(yi)lai)緯魷衷詰di)一、二(er)、三、四、五片(pian)74LS164中(zhong)xiao)S懈鑫侍猓 詰di)一個脈沖(chong)到來(lai)時,除(chu)了shuo)諞黃pian)74LS164中(zhong)接收數據外,其(qi)他各片(pian)在干嗎呢(ne)?它(ta)們也在接收數據,因為它(ta)們的時鐘端都是被接在一起的,可是數據還沒有送到其(qi)他各片(pian)呢(ne),它(ta)們在接收什麼(me)數據呢(ne)?。。。。。。其(qi)實所(suo)謂數據不過是一種說(shuo)法而已(yi),實際就是電平的高低(di),當第(di)一個脈沖(chong)到來(lai)時,第(di)一片(pian)164固然是從單片(pian)機(ji)接收數據了,而其(qi)它(ta)各片(pian)也接到前一片(pian)的Q8上,而Q8是一根電線,在數字電路中(zhong)它(ta)只可能有兩種狀態︰低(di)電平或(huo)高電平,也就是“0”和“1”。所(suo)以它(ta)的下一片(pian)74LS164也相(xiang)當于(yu)是在接收數據啊。只是接收的全部是0或(huo)1而已(yi)。這個問題放在這兒說(shuo)明,可能有朋友不屑一顧(gu),而有的朋友可能還是不清楚,這實際上涉(she)及到數的本質(zhi)的問題,如果不懂的,請仔(zi)細(xi)思考,並找一些數字電路的數,理解164的工作原理,再(zai)來(lai)看這個問題,或(huo)者去看看我的另一篇(pian)文章《27課:關(guan)于(yu)單片(pian)機(ji)的一些基本概念(nian)》的文章。務必搞懂,搞懂了這一點,你的級別就高過開始學(xue)習者,可謂入門者了。

入口︰把(ba)要(yao)顯示的數分別放在顯示緩沖(chong)區(qu)60H-65H共(gong)6個單元中(zhong),並且分別對應各個數碼(ma)管LED0-LED5。

出口︰將預置(zhi)在顯示緩沖(chong)區(qu)中(zhong)的6個數成(cheng)對應的顯示字zhong)溫(wen)耄 緩笫涑齙絞ma)管顯示器中(zhong)顯示。

單片(pian)機(ji)led顯示程序如下︰

DISP: MOV SCON,#00H ;初始化串行口方式0

MOV R1,#06H ;顯示6位數

MOV R0,#65H ;60H-65H為顯示緩沖(chong)區(qu)

MOV DPTR,#SEGTAB ;字zhong)偽淼娜 詰di)址

LOOP:

MOV A,@R0 ;取最高位的待(dai)顯示數據

MOVC A,@A+DPTR ;查表獲(huo)取字zhong)溫(wen)/p>

MOV SBUF,A ;送串行口顯示

DELAY: JNB TI,DELAY ;等待(dai)發(fa)送完畢(bi)

CLR TI ;清發(fa)送標(biao)志

DEC R0 ;指針下移一位,準備取下一個待(dai)顯示數

DJNZ R1,LOOP ;直到6個數據全顯示完。

RET

SETTAB: ;字zhong)偽恚 懊嬗薪檣埽 院笪頤竊zai)介紹字zhong)偽淼鬧譜鰲/p>

DB 03H 9FH 27H 0DH 99H 49H 41H 1FH 01H 09H 0FFH

; 0 1 2 3 4 5 6 7 8 9 消隱碼(ma)

單片(pian)機(ji)顯示測試用主程序

ORG 0000H

AJMP START

ORG 30H

START: MOV SP,#6FH

MOV 65H,#0

MOV 64H,#1

MOV 63H,#2

MOV 62H,#3

MOV 61H,#4

MOV 60H,#5

LCALL DISP

SJMP $

   如果按(an)圖示數碼(ma)管排列,則以上主程序將顯示的是543210,想想看,如果要(yao)顯示012345該怎樣(yang)送數?

   下面我們來(lai)分析一下字zhong)偽淼鬧譜魑侍狻O染蛻鮮ldquo;標(biao)準”的圖形來(lai)看吧。寫(xie)出數據位和字zhong)蔚畝雜 guan)系並列一個表如下(設為共(gong)陽型,也就是對應的輸出位為0時筆段亮)

如何,字zhong)偽 嶙雋稅桑 褪欽庋yang)列個表格,根據要(yao)求(0亮或(huo)1亮)寫(xie)出對應位的0和1,就成(cheng)了。做個練習,寫(xie)出A-F的字zhong)溫(wen)氚傘/p>

如果為了接線方便而打亂了接線的次序,那麼(me)字zhong)偽磧指萌綰謂幽ne)?也很簡單,一樣(yang)地(di)列表啊。以新(xin)實驗板為例,共(gong)陽型。接線如下︰

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

C E H D G F A B

則字zhong)溫(wen)肴縵濾suo)示︰

;0 00101000 28H

;1 01111110 7EH

;2 10100100 0A4H

;3 01100100 64H

;4 01110010 72H

;5 01100001 61H

;6 00100001 21H

;7 01111100 7CH

;8 00100000 20H

;9 01100000 60H

作為練習,大家寫(xie)出A-F的字zhong)未ma)。

   本來(lai)這里(li)是講解單片(pian)機(ji)數碼(ma)管顯示器的靜態接口的,到此應當可算結束(shu)了,但(dan)是我還想接著(zhou)上面講到的數的本質(zhi)的問題再(zai)談一點。單片(pian)機(ji)中(zhong)有一些術語、名詞本來(lai)是幫助我們理解事(shi)物的,但(dan)有時我們會被這些術語的相(xiang)關(guan)語義(yi)所(suo)迷惑,以致(zhi)不能進一步認清他們的本質(zhi),由此一般陷入困惑的境界。只有深入地(di)了解了74LS164的工作特性,才能真正(zheng)理解何謂串行的數據。有興趣的朋友還能再(zai)看看我網站http://www.51hei.com查找相(xiang)關(guan)內容(rong)

發(fa)表評(ping)論】【告訴好友】【收藏此文】【關(guan)閉窗口

湖北快三官网

湖北快三官网 | 下一页