0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

移位寄存器74HC164在現(xiàn)實(shí)中的應(yīng)用,或許比你想象的還要多

jf_35136247 ? 來源:jf_35136247 ? 作者:jf_35136247 ? 2023-05-08 10:56 ? 次閱讀

在現(xiàn)有的電子產(chǎn)品中,74HC164(下簡(jiǎn)稱164)扮演著重要的角色。它在以下三個(gè)方面有著典型的應(yīng)用:

1) 八段數(shù)碼管顯示

2) LED燈;

3) 按鍵掃描。

在其它的一些方面上也有應(yīng)用,比如顯示模塊。但應(yīng)用的原理是一樣的。

164是八位并行輸出移位寄存器。有兩個(gè)數(shù)據(jù)輸入端,一個(gè)時(shí)鐘輸入端,八個(gè)輸出端。我們一般將兩個(gè)輸入端連在一起當(dāng)一個(gè)輸入端來用。當(dāng)時(shí)鐘脈沖由“0”到“1”的跳變時(shí),觸發(fā)移位,即上升沿觸發(fā)。當(dāng)觸發(fā)時(shí),八位并行輸出的最低位Q0得到數(shù)據(jù)端的信號(hào)(DATA),原Q0的數(shù)據(jù)上移一位,即Q1,依次類推,Q6上移到Q7,Q7的數(shù)據(jù)遺失。

因此,我們充分利用這點(diǎn)特性,來解決單片機(jī)口線緊張的問題。使用單片機(jī)的兩個(gè)I/O口,一個(gè)用作時(shí)鐘(CLK),一個(gè)用作數(shù)據(jù)(DATA),通過軟件模擬串行輸出,經(jīng)過164移位,得到并行的輸出。164要求數(shù)據(jù)在CLK的上升沿之前有25ns的建立時(shí)間,上升沿之后要有5ns的保持時(shí)間。如果單片機(jī)使用4MHz的晶振,一條單字節(jié)指令的執(zhí)行時(shí)間是1us,使用8MHz的晶振是0.5us,已經(jīng)遠(yuǎn)遠(yuǎn)大于164要求的時(shí)間。所以在建立和保持?jǐn)?shù)據(jù)上不用考慮是否164會(huì)“忙不過來”。

在八段數(shù)碼管上的應(yīng)用:

現(xiàn)在一般使用兩個(gè)八位數(shù)碼管,組成一個(gè)可以顯示兩位數(shù)的顯示模塊。數(shù)碼管有8個(gè)信號(hào)引腳,一個(gè)片選引腳。當(dāng)片選被選中,加在段碼管腳上的電平有效。我們使用單片機(jī)的四個(gè)I/O口來控制這兩個(gè)數(shù)碼管,兩個(gè)片選,一個(gè)DATA,一個(gè)CLK。

在LED顯示上的應(yīng)用:

還是利用串入并出的原理,只不過是希望哪一個(gè)燈亮,就對(duì)哪個(gè)燈相應(yīng)的位置0(使之點(diǎn)亮的電平)。同時(shí)接I/O口到三極管上,實(shí)現(xiàn)片選。如果燈的數(shù)量小于8個(gè)則不必。這樣相比將LED直接接到I/O上,需要多消耗MCU幾倍甚至十幾倍的執(zhí)行時(shí)間,換來的是MCU口線的充分利用。

當(dāng)然,如果希望有若干個(gè)燈同時(shí)亮,就由單片機(jī)的DATA發(fā)出相應(yīng)位為0的串行數(shù)據(jù),經(jīng)過移位以后,使相應(yīng)LED點(diǎn)亮。這里也存在著片選先后的問題。

和上面一樣,如果先開片選再移位的話,移位速度快,幾個(gè)燈等于以同樣的亮度點(diǎn)亮;如果移位速度慢,則使小燈依次點(diǎn)亮。當(dāng)移位完成,開片選之后,同樣需要使并行數(shù)據(jù)保持一段時(shí)間,再關(guān)片選。

在按鍵掃描上的應(yīng)用:

同樣使為了節(jié)約口線,使用164進(jìn)行按鍵掃描。一般的顯示板上的按鍵不會(huì)超過8個(gè),所以不用加片選信號(hào)。僅僅由單片機(jī)的一個(gè)I/O口來讀按鍵公共端即可。原理是這樣的:按鍵公共端經(jīng)過兩個(gè)電阻接VCC,兩個(gè)電阻之間抽頭到MCU。按鍵的另一段接164的Q0~Q7。

綜合應(yīng)用:

產(chǎn)品中,大部分情況是164同時(shí)肩負(fù)著數(shù)碼管,LED顯示和按鍵掃描的任務(wù)。這些任務(wù)的協(xié)調(diào)也很重要。硬件上需要對(duì)每個(gè)應(yīng)用電路都加上片選,以保證在一個(gè)器件(如數(shù)碼管)使用164的時(shí)候不會(huì)干擾到其它器件;

同時(shí)按鍵需要加二極管以保證在顯示任務(wù)的時(shí)候不會(huì)出現(xiàn)按鍵的誤判(比如按鍵一端上是高電平,正好按鍵被按下,但是單片機(jī)讀的是高電平,仍然按沒有按下處理)。

在軟件上要盡量使各個(gè)任務(wù)的時(shí)間分散,避免出現(xiàn)局部閃爍,或者靈敏度不高的情況。對(duì)模擬串口的程序需要盡量?jī)?yōu)化使之效率最高。在開一個(gè)片選之前需要關(guān)閉其它的片選,以防器件間的干擾,良好的習(xí)慣是使用完一個(gè)器件之后就關(guān)掉它,使用的時(shí)候再開。還有一個(gè)需要注意的問題是模擬串口程序是否可重入的問題。

雖然現(xiàn)在很多任務(wù)沒有使用中斷來調(diào)用此程序,但是不避免“意外”的情況,兩個(gè)任務(wù)同時(shí)調(diào)用模擬串口程序,使寄存器數(shù)據(jù)錯(cuò)亂,產(chǎn)生錯(cuò)誤。比較好的方法是盡量利用堆棧,而不是對(duì)同一個(gè)寄存器賦值(但同時(shí)也加大了RAM的使用量)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44498

    瀏覽量

    632156
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5300

    瀏覽量

    119860
  • 移位寄存器
    +關(guān)注

    關(guān)注

    2

    文章

    258

    瀏覽量

    22212
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    移位寄存器中使用的儲(chǔ)存單元是什么

    移位寄存器是一種常見的數(shù)字電路組件,用于存儲(chǔ)和傳輸數(shù)字信號(hào)。移位寄存器,存儲(chǔ)單元是其核心組成部分,負(fù)責(zé)存儲(chǔ)數(shù)字信號(hào)的每一位。本文將介紹移位寄存器
    的頭像 發(fā)表于 07-12 10:21 ?361次閱讀

    移位寄存器Dsr有什么用

    移位寄存器(Shift Register)是一種數(shù)字電路,用于存儲(chǔ)和傳輸數(shù)字信號(hào)。在數(shù)字電子學(xué),它廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)、信號(hào)處理和時(shí)序控制等領(lǐng)域。DSR(Data Shift Register
    的頭像 發(fā)表于 07-12 10:15 ?361次閱讀

    移位寄存器右移是怎么移位

    移位寄存器是一種在數(shù)字電路和計(jì)算機(jī)科學(xué)中廣泛使用的存儲(chǔ)設(shè)備,它可以用來存儲(chǔ)和傳輸數(shù)據(jù)。移位寄存器,數(shù)據(jù)可以通過移位操作來實(shí)現(xiàn)數(shù)據(jù)的傳輸和
    的頭像 發(fā)表于 07-12 10:14 ?847次閱讀

    SN74HC166A-Q 18位并行加載移位寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《SN74HC166A-Q 18位并行加載移位寄存器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-04 11:30 ?0次下載
    SN<b class='flag-5'>74HC</b>166A-Q 18位并行加載<b class='flag-5'>移位寄存器</b>數(shù)據(jù)表

    SN74HC595-EP帶3態(tài)輸出寄存器的8位移位寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《SN74HC595-EP帶3態(tài)輸出寄存器的8位移位寄存器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-04 11:11 ?0次下載
    SN<b class='flag-5'>74HC</b>595-EP帶3態(tài)輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>數(shù)據(jù)表

    采用三態(tài)輸出寄存器的 8 位移位寄存器SN74HC595B數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《采用三態(tài)輸出寄存器的 8 位移位寄存器SN74HC595B數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-31 09:25 ?0次下載
    采用三態(tài)輸出<b class='flag-5'>寄存器</b>的 8 位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74HC</b>595B數(shù)據(jù)表

    8位并行負(fù)載移位寄存器SN74HC166A-EP 數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8位并行負(fù)載移位寄存器SN74HC166A-EP 數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-24 10:43 ?0次下載
    8位并行負(fù)載<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74HC</b>166A-EP 數(shù)據(jù)表

    8位并行負(fù)載移位寄存器SN74HC165-EP 數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8位并行負(fù)載移位寄存器SN74HC165-EP 數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-21 09:54 ?0次下載
    8位并行負(fù)載<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74HC</b>165-EP 數(shù)據(jù)表

    8位并行輸出串行移位寄存器SNx4HC164數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8位并行輸出串行移位寄存器SNx4HC164數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-10 09:53 ?1次下載
    8位并行輸出串行<b class='flag-5'>移位寄存器</b>SNx4<b class='flag-5'>HC164</b>數(shù)據(jù)表

    具有三態(tài)輸出寄存器的CD74HC595 8位移位寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有三態(tài)輸出寄存器的CD74HC595 8位移位寄存器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-07 10:14 ?0次下載
    具有三態(tài)輸出<b class='flag-5'>寄存器</b>的CD<b class='flag-5'>74HC</b>595 8位<b class='flag-5'>移位寄存器</b>數(shù)據(jù)表

    8 位并行輸出串行移位寄存器SN74LV164A數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8 位并行輸出串行移位寄存器SN74LV164A數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-28 11:15 ?0次下載
    8 位并行輸出串行<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74LV164</b>A數(shù)據(jù)表

    移位寄存器的功能是什么 移位寄存器的工作原理

    、并行-串行轉(zhuǎn)換、數(shù)字時(shí)鐘分頻等功能。計(jì)算機(jī)和通信系統(tǒng)移位寄存器具有重要的應(yīng)用,常常用于數(shù)據(jù)傳輸、數(shù)據(jù)緩存、數(shù)字信號(hào)處理等領(lǐng)域。 移位寄存器由若干個(gè)觸發(fā)
    的頭像 發(fā)表于 02-03 16:43 ?5705次閱讀

    8位串行輸入/并行輸出移位寄存器74LV164數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《8位串行輸入/并行輸出移位寄存器74LV164數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 02-02 09:48 ?0次下載
    8位串行輸入/并行輸出<b class='flag-5'>移位寄存器</b><b class='flag-5'>74LV164</b>數(shù)據(jù)手冊(cè)

    移位寄存器的工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一種用于在數(shù)字電路實(shí)現(xiàn)數(shù)據(jù)移位操作的基本電路元件。它由多個(gè)觸發(fā)以及相關(guān)控制電路組成,具有存儲(chǔ)、接受和移動(dòng)數(shù)據(jù)的功能。移位寄存器
    的頭像 發(fā)表于 01-18 10:52 ?6982次閱讀

    labview移位寄存器如何清零

    LabVIEW移位寄存器(Shift Register)是一種用于存儲(chǔ)和移動(dòng)數(shù)據(jù)的功能性塊。它類似于傳統(tǒng)計(jì)算機(jī)寄存器,可以用于循環(huán)
    的頭像 發(fā)表于 01-05 13:49 ?2797次閱讀