單片機系統中八段LED數碼管顯示器設計基礎
在中,常常用LED數碼數碼管來(lái)顯示各種數字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長(cháng)的特點(diǎn),因此使用非常廣泛。
本文引用地址:http://dyxdggzs.com/article/201807/383777.htm引言:還記得我們小時(shí)候玩的“火柴棒游戲”嗎,幾根火柴棒組合起來(lái),能拼成各種各樣的圖形,LED數碼管顯示器實(shí)際上也是這么一個(gè)東西。
顯示器

單片機靜態(tài)顯示接口>
八段LED數碼管顯示器由8個(gè)發(fā)光二極管組成?;?個(gè)長(cháng)條形的發(fā)光管排列成“日”字形,另一個(gè)賀點(diǎn)形的發(fā)光管在數碼管顯示器的右下角作為顯示小數點(diǎn)用,它能顯示各種數字及部份英文字母。LED數碼管顯示器有兩種不一樣的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱(chēng)之為共陽(yáng)極LED數碼管顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱(chēng)之為共陰極LED數碼管顯示器。如下圖所示。`
共陰和共陽(yáng)結構的LED數碼管顯示器各筆劃段名和安排位置是相同的。當二極管導通時(shí),對應的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個(gè)筆劃段hgfedcba對應于一個(gè)字節(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進(jìn)制碼就能表示欲顯示字符的字形代碼。例如,對于共陰LED數碼管顯示器,當公共陰極接地(為零電平),而陽(yáng)極hgfedcba各段為0111011時(shí),數碼管顯示器顯示P字符,即對于共陰極LED數碼管顯示器,“P”字符的字形碼是73H。如果是共陽(yáng)LED數碼管顯示器,公共陽(yáng)極接高電平,顯示“P”字符的字形代碼應為10001100(8CH)。這里必須注意的是:很多產(chǎn)品為方便接線(xiàn),常不按規則的辦法去對應字段與位的關(guān)系,這個(gè)時(shí)候字形碼就必須根據接線(xiàn)來(lái)自行設計了,后面我們會(huì )給出一個(gè)例程。
在單片機應用系統中,數碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)數碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數據時(shí),再發(fā)送新的字形碼,因此,使用這種辦法單片機中CPU的開(kāi)銷(xiāo)小。能供給單獨鎖存的I/O接口電路很多,這里以常用的串并轉換電路74LS164為例,介紹一種常用靜態(tài)顯示電路,以使大家對靜態(tài)顯示有一定的了解。
MCS-51單片機串行口方式押為移們寄存器方式,外接6片74LS164作為6位LED數碼管顯示器的靜態(tài)顯示接口,把8031的RXD作為數據輸出線(xiàn),TXD作為移位時(shí)鐘脈沖。74LS164為T(mén)TL單向8位移位寄存器,可實(shí)現串行輸入,并行輸出。其中A、B(第1、2腳)為串行數據輸入端,2個(gè)管腳按邏輯與運算規律輸入信號,公一個(gè)輸入信號時(shí)可并接。T(第8腳)為時(shí)鐘輸入端,可連接到串行口的TXD端。每一個(gè)時(shí)鐘信號的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數全部移入74LS164中。R(第9腳)為復位端,當R=0時(shí),移位寄存器各位復0,只有當R=1時(shí),時(shí)鐘脈沖才起作用。Q1…Q8(第3-6和10-13管腳)并行輸出端分別接LED數碼管顯示器的hg---a各段對應的管腳上。關(guān)于74LS164還能作如下的介紹:所謂時(shí)鐘脈沖端,其實(shí)就是需要高、低、高、低的脈沖,不管這個(gè)脈沖是怎么來(lái)的,比如,我們用根電線(xiàn),一端接T,一端用手拿著(zhù),分別接高電平、低電平,那也是給出時(shí)鐘脈沖,在74LS164獲得時(shí)鐘脈沖的瞬間(再講清楚點(diǎn),是在脈沖的沿),如果數據輸入端(第1,2管腳)是高電平,則就會(huì )有一個(gè)1進(jìn)入到74LS164的內部,如果數據輸入端是低電平,則就會(huì )有一個(gè)0進(jìn)入其內部。在給出了8個(gè)脈沖后,最先進(jìn)入74LS164的第一個(gè)數據到達了最高位,然后再來(lái)一個(gè)脈沖會(huì )有什么發(fā)生呢?再來(lái)一個(gè)脈沖,第一個(gè)脈沖就會(huì )從最高位移出,就象車(chē)站排隊買(mǎi)票,欄桿就那么長(cháng),要從后面進(jìn)去一本人,前面必須要從前面走出去一本人才行。
搞清了這一點(diǎn),下面讓我們來(lái)看電路,6片7LS164首尾相串,而時(shí)鐘端則接在一起,這樣,當輸入8個(gè)脈沖時(shí),從單片機RXD端輸出的數據就進(jìn)入到了第一片74LS164中了,而當第二個(gè)8個(gè)脈沖到來(lái)后,這個(gè)數據就進(jìn)入了第二片74LS164,而新的數據則進(jìn)入了第一片74LS164,這樣,當第六個(gè)8個(gè)脈沖完成后,首次送出的數據被送到了最左面的164中,其他數據依次出現在第一、二、三、四、五片74LS164中。有個(gè)問(wèn)題,在第一個(gè)脈沖到來(lái)時(shí),除了第一片74LS164中接收數據外,其他各片在干嗎呢?它們也在接收數據,因為它們的時(shí)鐘端都是被接在一起的,可是數據還沒(méi)有送到其他各片呢,它們在接收什么數據呢?。。。。。。其實(shí)所謂數據不過(guò)是一種說(shuō)法而已,實(shí)際就是電平的高低,當第一個(gè)脈沖到來(lái)時(shí),第一片164固然是從單片機接收數據了,而其它各片也接到前一片的Q8上,而Q8是一根電線(xiàn),在數字電路中它只可能有兩種狀態(tài):低電平或高電平,也就是“0”或“1”。所以它的下一片74LS164也相當于是在接收數據啊。只是接收的全部是0或1而已。這個(gè)問(wèn)題放在這兒說(shuō)明,可能有朋友不屑一顧,而有的朋友可能還是不清楚,這實(shí)際上涉及到數的本質(zhì)的問(wèn)題,如果不懂的,請仔細思考,并找一些數字電路的數,理解164的工作原理,再來(lái)看這個(gè)問(wèn)題。務(wù)必搞懂,搞懂了這一點(diǎn),你的級別就高過(guò)開(kāi)始學(xué)習者,可謂入門(mén)者了。
評論