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