在現(xiàn)有的電子產(chǎn)品中,74HC164(下簡稱164)扮演著重要的角色。它在以下三個方面有著典型的應(yīng)用:
1) 八段數(shù)碼管顯示
2) LED燈;
3) 按鍵掃描。
在其它的一些方面上也有應(yīng)用,比如顯示模塊。但應(yīng)用的原理是一樣的。
164是八位并行輸出移位寄存器。有兩個數(shù)據(jù)輸入端,一個時鐘輸入端,八個輸出端。我們一般將兩個輸入端連在一起當(dāng)一個輸入端來用。當(dāng)時鐘脈沖由“0”到“1”的跳變時,觸發(fā)移位,即上升沿觸發(fā)。當(dāng)觸發(fā)時,八位并行輸出的最低位Q0得到數(shù)據(jù)端的信號(DATA),原Q0的數(shù)據(jù)上移一位,即Q1,依次類推,Q6上移到Q7,Q7的數(shù)據(jù)遺失。
因此,我們充分利用這點(diǎn)特性,來解決單片機(jī)口線緊張的問題。使用單片機(jī)的兩個I/O口,一個用作時鐘(CLK),一個用作數(shù)據(jù)(DATA),通過軟件模擬串行輸出,經(jīng)過164移位,得到并行的輸出。164要求數(shù)據(jù)在CLK的上升沿之前有25ns的建立時間,上升沿之后要有5ns的保持時間。如果單片機(jī)使用4MHz的晶振,一條單字節(jié)指令的執(zhí)行時間是1us,使用8MHz的晶振是0.5us,已經(jīng)遠(yuǎn)遠(yuǎn)大于164要求的時間。所以在建立和保持?jǐn)?shù)據(jù)上不用考慮是否164會“忙不過來”。
在八段數(shù)碼管上的應(yīng)用:
現(xiàn)在一般使用兩個八位數(shù)碼管,組成一個可以顯示兩位數(shù)的顯示模塊。數(shù)碼管有8個信號引腳,一個片選引腳。當(dāng)片選被選中,加在段碼管腳上的電平有效。我們使用單片機(jī)的四個I/O口來控制這兩個數(shù)碼管,兩個片選,一個DATA,一個CLK。
在LED顯示上的應(yīng)用:
還是利用串入并出的原理,只不過是希望哪一個燈亮,就對哪個燈相應(yīng)的位置0(使之點(diǎn)亮的電平)。同時接I/O口到三極管上,實現(xiàn)片選。如果燈的數(shù)量小于8個則不必。這樣相比將LED直接接到I/O上,需要多消耗MCU幾倍甚至十幾倍的執(zhí)行時間,換來的是MCU口線的充分利用。
當(dāng)然,如果希望有若干個燈同時亮,就由單片機(jī)的DATA發(fā)出相應(yīng)位為0的串行數(shù)據(jù),經(jīng)過移位以后,使相應(yīng)LED點(diǎn)亮。這里也存在著片選先后的問題。
和上面一樣,如果先開片選再移位的話,移位速度快,幾個燈等于以同樣的亮度點(diǎn)亮;如果移位速度慢,則使小燈依次點(diǎn)亮。當(dāng)移位完成,開片選之后,同樣需要使并行數(shù)據(jù)保持一段時間,再關(guān)片選。
在按鍵掃描上的應(yīng)用:
同樣使為了節(jié)約口線,使用164進(jìn)行按鍵掃描。一般的顯示板上的按鍵不會超過8個,所以不用加片選信號。僅僅由單片機(jī)的一個I/O口來讀按鍵公共端即可。原理是這樣的:按鍵公共端經(jīng)過兩個電阻接VCC,兩個電阻之間抽頭到MCU。按鍵的另一段接164的Q0~Q7。
綜合應(yīng)用:
在產(chǎn)品中,大部分情況是164同時肩負(fù)著數(shù)碼管,LED顯示和按鍵掃描的任務(wù)。這些任務(wù)的協(xié)調(diào)也很重要。硬件上需要對每個應(yīng)用電路都加上片選,以保證在一個器件(如數(shù)碼管)使用164的時候不會干擾到其它器件;
同時按鍵需要加二極管以保證在顯示任務(wù)的時候不會出現(xiàn)按鍵的誤判(比如按鍵一端上是高電平,正好按鍵被按下,但是單片機(jī)讀的是高電平,仍然按沒有按下處理)。
在軟件上要盡量使各個任務(wù)的時間分散,避免出現(xiàn)局部閃爍,或者靈敏度不高的情況。對模擬串口的程序需要盡量優(yōu)化使之效率最高。在開一個片選之前需要關(guān)閉其它的片選,以防器件間的干擾,良好的習(xí)慣是使用完一個器件之后就關(guān)掉它,使用的時候再開。還有一個需要注意的問題是模擬串口程序是否可重入的問題。
雖然現(xiàn)在很多任務(wù)沒有使用中斷來調(diào)用此程序,但是不避免“意外”的情況,兩個任務(wù)同時調(diào)用模擬串口程序,使寄存器數(shù)據(jù)錯亂,產(chǎn)生錯誤。比較好的方法是盡量利用堆棧,而不是對同一個寄存器賦值(但同時也加大了RAM的使用量)。
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6063文章
44925瀏覽量
646996 -
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123353 -
移位寄存器
+關(guān)注
關(guān)注
3文章
287瀏覽量
22649
發(fā)布評論請先 登錄
74HC165-Q100;74HCT165-Q100并行輸入/串行輸出移位寄存器規(guī)格書

74VHC595;74VHCT595移位寄存器規(guī)格書

74HC165;74HCT165移位寄存器規(guī)格書

74HC164;74HCT164 8位串行輸入、并行輸出移位寄存器規(guī)格書

74HC164-Q100;74HCT164-Q100串行輸入、并行輸出移位寄存器規(guī)格書

74HC594-Q100;74HCT594-Q100帶輸出寄存器的8位移位寄存器規(guī)格書

74HC594;74HCT594移位寄存器規(guī)格書

74LV595移位寄存器規(guī)格書

74HC595-Q100;74HCT595-Q100移位寄存器規(guī)格書

74HC595;74HCT595移位寄存器規(guī)格書

74HC597-Q100;74HCT597-Q100移位寄存器規(guī)格書

74HC597;74HCT597移位寄存器規(guī)格書

評論