74HC595是我們在電路中比較常見的一種CMOS器件,本文只要探討的是基于74HC595的單片機(jī)驅(qū)動數(shù)碼管設(shè)計,這個電路說復(fù)雜也復(fù)雜,說簡單那也簡單,我們首先來了解一下74HC595的作用。
74HC595
74HC595是硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。 74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。 移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。
74HC595是一個8位串行輸入、平行輸出的位移緩存器:平行輸出為三態(tài)輸出。在SCK的上升沿,單行數(shù)據(jù)由SDL輸入到內(nèi)部的8位位移緩存器,并由Q7‘輸出,而平行輸出則是在LCK的上升沿將在8位位移緩存器的數(shù)據(jù)存人到8位平行輸出緩存器。當(dāng)串行數(shù)據(jù)輸人端OE的控制信號為低使能時,平行輸出端的輸出值等于平行輸出緩存器所存儲的值。而當(dāng)OE為高電位,也就是輸出關(guān)閉時,平行輸出端會維持在高阻抗?fàn)顟B(tài)。
74HC595引腳圖
74HC595管腳功能
上圖是74HC595芯片邏輯圖,輸出使能端13腳我們一直讓它使能,復(fù)位端10腳我們一直讓它無效,這兩個引腳在硬件設(shè)計時為了方便,就直接給它們連到相應(yīng)的電平上了。程序中我們只需要關(guān)注數(shù)據(jù)輸入引腳14腳、移位脈沖引腳11腳和鎖存脈沖引腳12腳。
圖中的SRA——SRH是移位寄存器(ShiftRegister),數(shù)據(jù)從它們的D引腳輸入,從Q引腳輸出,每次移位脈沖引腳(ShiftClock)提供一個脈沖,D引腳的數(shù)據(jù)就會輸出并保持到Q引腳,因為這里的移位脈沖引腳(ShiftClock)是連到每一個SR上的,所以自然每次給一個移位脈沖的時候,所有的數(shù)據(jù)都向后移動了一位。
這里我們注意到,SRA的D腳連接的是串行數(shù)據(jù)輸入,也就是我們的數(shù)據(jù)引腳。所以每次給脈沖移位之前,我們需要準(zhǔn)備好該引腳的值,因為每次給一個脈沖,它的數(shù)據(jù)就會移入后方。
很直觀的看到,我們給幾個脈沖,數(shù)據(jù)引腳就會有幾次被移入移位寄存器,并且這些值會保持在各個SR的Q腳。所以假設(shè)我們要將一個字節(jié)移入移位寄存器,因為1個字節(jié)是8位的,所以我們需要給出8個脈沖,那么SRA——SRH的Q腳就保持了這8位值,再看看這8位值,它是先在數(shù)據(jù)引腳輸出的值就會走得越遠(yuǎn),所以如果我們先輸出數(shù)據(jù)高位的話,最高位在8個脈沖后就會跑到SRH的Q腳。這就像我們排隊一樣,一個寄存器里面有8個位置,每次給一個脈沖就好比一次呼叫:“大家可以往前移一位了!”就這樣,隊伍不斷得往前移。
然后我們看到LRA——LRH,它們是鎖存寄存器(LatchRegister),每次鎖存脈沖引腳(LatchClock)給一個脈沖,Q腳就會輸出并保持D腳的值。LR和SR其實是差不多的功能,只是SR多了個復(fù)位腳。
我們可以把LR看成是照相機(jī),鎖存脈沖引腳就相當(dāng)于是照相機(jī)的快門,我們給一個鎖存脈沖,那么數(shù)據(jù)就被鎖存在了對應(yīng)的Q腳。而當(dāng)我們沒有操作鎖存引腳的時候,照相機(jī)只是擺在那里,不管隊伍怎么前進(jìn)了,照相機(jī)的輸出始終是不變的。只有某次按下了快門,所有的照相機(jī)的照片就都更新了一次。
大概有人會問,圖中的三角形加小圓圈是什么呢?那是非門,說白了就是如果它前面是0,后面就是1;前面是1,后面就是0。還有就是貼在方形鎖存器上的那些小圓圈,也是起到反向的左右。
基于74HC595單片機(jī)驅(qū)動數(shù)碼管設(shè)計
數(shù)碼管顯示系統(tǒng)需要占用過多的單片機(jī)口線,但是可以保證正常的亮度。為了解決占用口線較多而浪費(fèi)硬件資源等問題,研究人員開發(fā)了一系列諸如74HC595的數(shù)碼管驅(qū)動芯片,該類芯片可以實現(xiàn)串行轉(zhuǎn)并行的工作方式,驅(qū)動數(shù)碼管實現(xiàn)靜態(tài)和動態(tài)顯示。但是,這樣一種工作方式暴露出控制系統(tǒng)實時性不足等問題,在某些對系統(tǒng)響應(yīng)時間要求比較高的場合的應(yīng)用產(chǎn)生了一定的限制。為了解決上述幾個弊端,本文提出了一種基于單片機(jī)的數(shù)碼管動態(tài)顯示器的設(shè)計方案,以IAP15F2K61S2系列單片機(jī)做控制核心,并采用全新的軟硬件電路實現(xiàn)數(shù)碼管的動態(tài)顯示。
數(shù)碼管外觀設(shè)計
本顯示器采用六個共陽極的數(shù)碼管,按照通常的做法,六個數(shù)碼管水平排列在產(chǎn)品的最上方,如圖1所示,這樣的設(shè)計可以方便的將控制系統(tǒng)的控制狀態(tài)顯示出來。下方采用的是40管腳DIP封裝的單片機(jī),所有并行口線都安排了插針,可以方便的實現(xiàn)系統(tǒng)的外部擴(kuò)展,增強(qiáng)本顯示器的可移植性。
數(shù)碼管外觀圖
控制電路原理圖
本產(chǎn)品采用六個共陽極數(shù)碼管制作了本顯示器。設(shè)計共陽極數(shù)碼管顯示代碼表如下:
為了充分發(fā)揮C語言的模塊化編程優(yōu)勢,將動態(tài)顯示子函數(shù)封裝為一個通用的模塊,程序如下:
總結(jié)
74HC595芯片是一種串入并出的芯片,在電子顯示屏制作當(dāng)中有廣泛的應(yīng)用。 74HC595是8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻、關(guān)、斷狀態(tài)。用74HC595做數(shù)碼管靜態(tài)顯示電路,一片595接一個數(shù)碼管,數(shù)碼管用共陽,共陰的都行。共陽的數(shù)碼管,公共 端接到電源上,共陰的,公共端就接到地上,不用采用動態(tài)掃描的方式,就是靜態(tài)顯示電路了。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44997瀏覽量
650768 -
74HC595
+關(guān)注
關(guān)注
7文章
193瀏覽量
31665
發(fā)布評論請先 登錄
74HC595芯片的作用是什么
74HC595是如何去驅(qū)動數(shù)碼管的
單片機(jī)控制74hc595驅(qū)動4個單數(shù)碼管
74HC595驅(qū)動2位數(shù)碼管的方法
如何實現(xiàn)74HC595驅(qū)動數(shù)碼管顯示
基于74HC595的串行數(shù)碼管顯示實驗
基于單片機(jī)的74HC595驅(qū)動靜態(tài)數(shù)碼管(IO端口輸出擴(kuò)展)【匯編】
基于單片機(jī)的74HC595驅(qū)動靜態(tài)數(shù)碼管(IO端口輸出擴(kuò)展)【C語言】
基于單片機(jī)的74HC595驅(qū)動靜態(tài)數(shù)碼管(IO端口輸出擴(kuò)展)
基于單片機(jī)實現(xiàn)74HC595用做動態(tài)數(shù)碼管段選
74HC595級聯(lián)驅(qū)動8位數(shù)碼管文件下載

74hc595驅(qū)動4位數(shù)碼管電路連接圖及程序解析

單片機(jī)和74HC595驅(qū)動芯片對數(shù)碼管的控制設(shè)計

單片機(jī)控制74hc595驅(qū)動4個單數(shù)碼管計數(shù)顯示

評論