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