學微控制器io口擴充套件用74hc165晶片有個問題

時間 2021-05-05 23:29:13

1樓:

就是相當於擴充套件了io介面,每片595有8個埠,595可以級聯,然後spi對595寫資料,對應的595埠電平就會對應寫入的資料,spi是序列介面,因此控制器只要用較少的io口就可以實現很多io輸出的功能

微控制器用74hc165擴充套件的相關問題

2樓:做而論道

indata <<= 1; //左移一位,最右邊,填上0

indata |= in_data; //把 165 送來的一位數,寫在0的位置

迴圈八次,就版讀入了一權個165送來的資料。

如果迴圈 16 次,那麼,就可以在外部,級聯兩片 165,輸入 16 位數。

_nop_(),不是必須的。

3樓:開心

加_nop_()是因

為要保持一個時鐘週期的低電平(sck=0),而為什麼不保持高電平呢,是因為for迴圈和其版它操作會有時權間,因此,不需要_nop_();

indata |= in_data是因為indata每次迴圈會向左移一位 indata = indata<<1;因此本次要從io口把電平讀進來,填充左移的這一位,迴圈8次,則可以把8bit的資料讀進來,從而indata則為74hc165的資料。

c51 如何用74hc165擴充套件io口

4樓:匿名使用者

哥哥,你用的74hc165是並行輸入序列輸出,哪是擴充套件io口啊,我建議你用74hc245,這個是串入並出,你只要花兩個io口模擬spi時序就能擴充套件出8個io口,若是用兩片245進行級聯,能擴充套件16個io口,以此類推,關鍵看你對速度要求大不大。我們在做點陣是就是用245,沒問題。

5樓:哈爾濱微控制器

樓上的大哥你是不是打錯了,應該是74hc595.

595就能實現,如果找不到圖,加我。我給你個圖

6樓:匿名使用者

hc165是擴充套件輸入的,hc164是擴充套件輸出的,hc595也可以擴充套件輸出(可使用spi)。hc245是緩衝器,既可以輸入也可以輸出,但是佔用太多cpu管腳。

區別在於上面三個是序列擴充套件,hc245可做並行擴充套件。

關於微控制器串列埠轉並口晶片74hc165的程式設計問題。

51微控制器io口擴充套件,用哪個晶片簡單些?

7樓:匿名使用者

595好,stc微控制器以前做的,擴充套件40多個繼電器,很很穩定。大部分都是&和|操作,還是很方便的。雙向的話就用pcf8574,但是**較貴,還不如直接用stm32。

8樓:匿名使用者

用移位暫存器做串轉並擴充套件即可,至於資料變不變,完全由程式設計決定。

9樓:曉妖不成精

74hc595可以的,**0.18-0.22左右一個擴充套件8個

10樓:匿名使用者

51核的 現代微控制器考慮下

11樓:匿名使用者

如果有並行匯流排用ls373擴io口不錯

51微控制器 io口 輸入擴充套件晶片 小問題!

12樓:匿名使用者

對於18b20 需要輸入輸出io口擴充套件晶片, 就是說, 可以輸入, 也可以輸出的才行, 如果只是輸入io擴充套件, 不能使用

你這不是多此一舉嗎? 只有連上51晶片引腳就是了

13樓:

很多晶片(數字晶片)可以實現擴充套件,比如74hc595就可以,串轉並。但是你提到的18b20 就不一定適合,單匯流排對時序要求嚴格。

關於微控制器74hc165移位暫存器的程式設計問題

14樓:蕊囖

移位暫存器是左移的,indata |= in_data;這個程式是為了賦值時不影響其他位。

解析:我就從for迴圈體開始說明,indata值為0;向左移動一個單位,也就還是0(0x00),當in_data的位的值是1(這裡強調是位),經過indata |= in_data;這條語句,indata就為0x01;當迴圈第二次時,indata向左移移位,則為0000 0010;遇到indata |= in_data;時,假設in_data又是為1,則indata |= in_data; indata=000 0011;第三次迴圈時,indata左移一位,則變成 0000 0110;假設這時的in_data值為0;經過indata |= in_data; 則indata還是為0000 0110;如此迴圈到八次,就把每一位都賦給了indata,此時indata的值就成了十六位的字元了0x??;可以看出,當in_data值為0時,並不影響indata的值。

講解的有點囉嗦,哈哈,希望有幫助,新手上路,勿噴!!

15樓:

indata |= in_data; //如果in_dat檢測到高電平 就把indata與in_data做邏輯或運算

74ls165或74hc165晶片,十片級聯後連在51微控制器上可行嗎? 5

16樓:

只要級聯後的電壓還能保證達到可以驅動的電壓應該就可以,不過軟體要注意編寫對應的程式

微控制器IO口是怎樣擴充套件的,微控制器擴充套件io口怎麼用

4終 1 首先可以使用38譯碼器進行拓展,三個引腳的二進位制輸入可變成8個引腳的分別輸出。2 然後附74hc138晶片真值表。3 還可以使用鎖存器拓展 74hc573,顧名思義,就是可以通過控制le引腳鎖住輸入io的點平,保持輸出不變,如下圖。4 還可以用序列輸入並行輸出的移位快取器74hc595進...

微控制器IO擴充套件口的作用,當微控制器外部擴充套件儲存器是,四個I O介面各起什麼作用

愛晚風林亭 通過微控制器io控制擴充套件口,增加微控制器io口能控制的埠的數量。微控制器 microcontrollers 是一種積體電路晶片,是採用超大規模積體電路技術把具有資料處理能力的 處理器cpu 隨機儲存器ram 只讀儲存器rom 多種i o口和中斷系統 定時器 計數器等功能 可能還包括顯...

微控制器串列埠控制io口,微控制器序列口與普通IO口區別?

自我程式設計 我寫了一個串列埠接收輸入,並將輸入的字串顯示在lcd螢幕中,同時收到的資料還會通過串列埠傳送回上位機。我是用串列埠助手除錯的。定義了虛擬串列埠com3和com4作通訊。連續傳送字元將作為字串儲存,儲存在全域性變數strs 100 中,遇到間隔傳送,後傳送的字元或字串將覆蓋上次內容。比如...