国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用芯片74hc165為單片機增加輸入擴展端口proteus仿真arduino

這篇具有很好參考價值的文章主要介紹了利用芯片74hc165為單片機增加輸入擴展端口proteus仿真arduino。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

我們前面的博文《輸入端口少如何擴展?74hc148或74ls148級聯(lián)在arduino中實現(xiàn)16轉4的應用》介紹了148,148輸入后可以立即輸出到數(shù)碼管,可以說它是自帶編BCD編碼器的。而今天這里我們主要介紹的74hc165是沒有編碼器,這里我們以proteus為仿真環(huán)境,arduino作為編譯代碼環(huán)境。


文章原出處: https://blog.csdn.net/haigear/article/details/132911752

一、芯片介紹

1、圖片介紹

常規(guī)我們拿到的165的芯片是這樣的,芯片手冊中的管腳順序及命名方式和proteus中的有所差別(左邊的圖為芯片手冊中的圖,右邊的為proteus中的圖)
proteus端口怎么添加,仿真,嵌入式,Arduino,單片機,proteus,74hc165,74hc165在proteus,輸入端口擴展
很明顯,我們看到proteus中9號管腳為SO,而芯片手冊中的9號管腳為Qh,名稱不但作用都是輸出腳。

2、管腳功能描述

由于我們重點在proteus中仿真,所以我們這里只對proteus中的管腳進行功能的介紹:

管腳名: 功能描述:
D0…D7 并行輸入腳
INH 并聯(lián)負載(低電平有效)
SH/LD 即我們說的CP串行時鐘
CLK 時鐘使能(低電平有效)
SO 串行輸出,即我們常說的DS
QH 反相串行輸出(通常不使用)
SI 串行輸入*

二、原理圖

這里我們只是為了測試其功能,簡單的使用了一個排阻和8個按鈕接在了并行輸入端口D0~D7上。
proteus端口怎么添加,仿真,嵌入式,Arduino,單片機,proteus,74hc165,74hc165在proteus,輸入端口擴展

三、測試代碼

幾個管腳的定義這里我們說明一下,好讓大家能夠與上表列出的管腳對應,這里的datapin就是so管腳,clockpin就是CLK管腳,latchPin就是SH/LD管腳。

1、代碼

下面的代碼只是一個簡單的演示代碼,所以就不過多的做解釋了。

/* Main.ino file generated by New Project wizard
 *
 * Created:   周四 9月 14 2023
 * Processor: ATmega328P
 * Compiler:  Arduino AVR (Proteus)
 */

const int dataPin = 2; // 數(shù)據(jù)引腳
const int clockPin = 3; // 時鐘引腳
const int latchPin = 4; // 鎖存引腳
const int numRegisters = 1; // 74HC165芯片個數(shù)

byte registerData[numRegisters]; // 存儲74HC165芯片數(shù)據(jù)的數(shù)組

void setup() {
  pinMode(dataPin, INPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  
  // 初始化串行通信
  Serial.begin(9600);
}

void loop() {
  // 讀取74HC165芯片數(shù)據(jù)
  readData();
  
  // 打印每個輸入引腳狀態(tài)
  for (int i = 0; i < numRegisters * 8; i++) {
    Serial.print("Input ");
    Serial.print(i);
    Serial.print(": ");
    Serial.println(bitRead(registerData[i / 8], i % 8));
  }
  
  delay(1000);
}

void readData() {
  digitalWrite(latchPin, LOW);
  delayMicroseconds(10);
  digitalWrite(latchPin, HIGH);
  
  for (int i = numRegisters - 1; i >= 0; i--) {
    registerData[i] = shiftIn(dataPin, clockPin, MSBFIRST);
  }
}

對于初學者,我們看到shiftIn或者shiftOut這樣的函數(shù),都是arduino自帶的為移位操作特別定制的函數(shù),可以在arduino的IDE中reference里面查找。

2、驅(qū)動流程

驅(qū)動這個芯片我們分為以下幾步:
第一,設置好各個輸入鍵的電平狀態(tài)
第二,操作SH/LD管腳也就是代碼中的Latchpin,使之從低電平保持5個周期以上后置為高電平,讓芯片檢測到一個上升沿跳變
第三,給CLK腳,也就是程序中的clockpin一個下降沿的跳變,而且每檢測到一次下降沿的跳變,so端口,也就是datapin就會輸出一位(這也就是傳說中的移位)

四、測試效果

proteus端口怎么添加,仿真,嵌入式,Arduino,單片機,proteus,74hc165,74hc165在proteus,輸入端口擴展
有了上面的基本電路后,我們就可以實現(xiàn)對arduino或者其他的stm32或者8051單片機的輸入端口的擴展,比如我們加一個鍵盤矩陣或者多個按鈕,那就再也不用擔心輸入端口不夠啦。如果鍵盤數(shù)量大于8個,那我們可以通過SO和下一個165芯片的SI進行級聯(lián)實現(xiàn)8xn的端口擴展,比如做一個電子琴,那就要多級聯(lián)幾個才足夠我們實現(xiàn)多個音階。

文章隨時可能更新,請注明原出處:https://blog.csdn.net/haigear/article/details/132911752

級聯(lián)有一片博文可以供大家參考,我這里就不贅述:https://www.cnblogs.com/F-91/p/14713514.html文章來源地址http://www.zghlxwxcb.cn/news/detail-725331.html

到了這里,關于利用芯片74hc165為單片機增加輸入擴展端口proteus仿真arduino的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 三、51單片機用74HC595控制LED點陣

    三、51單片機用74HC595控制LED點陣

    (1)外觀 (2)作用 LED點陣通過LED(發(fā)光二極管)組成,以燈珠亮滅來顯示文字、圖片等,LED點陣顯示被廣泛應用于各種公共場合,如汽車報站器、廣告屏以及公告牌等。 以8*8LED點陣為例。 (1)單片機端口直接驅(qū)動。驅(qū)動8*8的點陣需要2個IO端口(16個IO口)。 (2)使用串轉并移位鎖存器驅(qū)

    2024年02月03日
    瀏覽(21)
  • 51單片機開發(fā):通過74HC595控制LED點陣

    51單片機開發(fā):通過74HC595控制LED點陣

    (1)LED點陣就是多個LED發(fā)光二極管的集合,在單個LED的發(fā)光原理上沒有任何區(qū)別; (2)上面是16x16的LED點陣,總共有16x16=256個LED燈,由32個引腳來控制,其中16個引腳是正極(posn,n=1、2······、16),16個引腳是負極(NEGn,n=1、2······、16); (3)LED點陣可以用坐標系的思想來理解,

    2024年02月12日
    瀏覽(23)
  • 51單片機——IO拓展(串轉并)-74HC595 小白詳解

    51單片機——IO拓展(串轉并)-74HC595 小白詳解

    74HC595 芯片介紹 74HC595 是一個 8 位串行輸入、并行輸出的位移緩存器,其中并行輸出為三 態(tài)輸出(即高電平、低電平和高阻抗)。芯片管腳及功能說明如下:圖1 上面兩張都是 74HC595 芯片管腳圖,細心的朋友就會發(fā)現(xiàn)左側的 1 腳是 QB, 而右側芯片的 1 腳是 Q1,左側芯片的 11

    2024年02月04日
    瀏覽(30)
  • 51單片機驅(qū)動8位數(shù)碼管(74HC595驅(qū)動)滾動顯示

    51單片機驅(qū)動8位數(shù)碼管(74HC595驅(qū)動)滾動顯示

    原文鏈接:https://www.yourcee.com/newsinfo/2929591.html 點擊圖片購買 主要關注下供電電壓是3.0-5.0v(建議5V),請在規(guī)定范圍內(nèi)供電。 模塊上芯片引出5個引腳,芯片引腳與模塊引腳對應關系是:VCC-VCC SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND 可以對比程序?qū)W習時序圖,便于理解。 1.顯示異??膳懦?/p>

    2024年02月15日
    瀏覽(41)
  • 使用74HC595完成16*16led矩陣廣告牌(51單片機軟件仿真)

    使用74HC595完成16*16led矩陣廣告牌(51單片機軟件仿真)

    目錄 74HC595簡介(個人理解)與模塊代碼 軟件仿真和代碼? SHCP是寫入595芯片數(shù)據(jù)的配置 STCP是發(fā)送595芯片內(nèi)信息的配置 DS是數(shù)據(jù)配置的區(qū)域 595芯片有9個輸出引腳,最后一個是供給下一塊串聯(lián)的595使用的,下一塊串聯(lián)的595stcp和shcp與上一塊連接的引腳一致,下一塊的DS與上一塊

    2024年02月06日
    瀏覽(23)
  • 51單片機LED點陣控制原理、74HC595工作原理和字母和滾動顯示實驗代碼

    51單片機LED點陣控制原理、74HC595工作原理和字母和滾動顯示實驗代碼

    目錄 1. 74HC595工作原理圖解 ?2.LED點陣控制原理 3.點陣LED實驗 3.1 配置74HC595代碼 3.2 D點陣LED顯示H? ?3.3 滾動LED? (1) 滾動掃描圖示 ?(2)程序代碼 4.遇到奇怪的bug ? ?:? ? ? ? 輸出使能,輸入低電平允許輸出,因此需要用接線帽j24讓oe和地短接。 (但是我普中A2的板子,不

    2024年02月04日
    瀏覽(31)
  • 【單片機】74系列芯片引腳圖資料大全

    【單片機】74系列芯片引腳圖資料大全

    反相器 驅(qū)動器?? LS04 LS05 LS06 LS07 LS125 LS240 LS244 LS245 與門 與非門?? LS00 LS08 LS10 LS11 LS20 LS21 LS27 LS30 LS38 或門 或非門 與或非門?? LS02 LS32 LS51 LS64 LS65 異或門 比較器?? LS86 譯碼器?? LS138 LS139 寄存器?? LS74 LS175 LS373 反相器: ??????????Vcc??6A??6Y??5A??5Y??4A??4Y????六非

    2024年04月27日
    瀏覽(21)
  • C51單片機利用HC-05藍牙模塊實現(xiàn)手機點燈

    C51單片機利用HC-05藍牙模塊實現(xiàn)手機點燈

    藍牙通信,實現(xiàn)手機端遠程(15米)控制單片機,這聽起來對于初學者的我來說,是那么不可思議,經(jīng)過不斷地實驗,閱讀其他大佬的文章,終于實現(xiàn)了。 在有基礎的通信原理知識的前提下,知,HC-05藍牙模塊與51的通信其實很簡單,就是藍牙模塊的RXD(接收端)接單片機的TXD(發(fā)送

    2024年02月16日
    瀏覽(95)
  • 51單片機通過兩片74HC595級聯(lián),用8位LED數(shù)碼管,分別顯示當前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真實現(xiàn)。

    51單片機通過兩片74HC595級聯(lián),用8位LED數(shù)碼管,分別顯示當前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真實現(xiàn)。

    1.先上仿真圖,但這么連仿真圖是不太正確的,要注意。展示的話能用就行。 2.從上到下依次放上數(shù)據(jù)手冊上的引腳解釋和邏輯功能和時序圖 ? ?3.貼上代碼:寫了發(fā)送一字節(jié)數(shù)據(jù)函數(shù),發(fā)送全部字節(jié)函數(shù),加上一些寫了很久的解釋(求贊)。

    2024年02月08日
    瀏覽(31)
  • STC89C52單片機利用DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度

    STC89C52單片機利用DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度

    下面將介紹如何利用STC89C52單片機和DHT11溫濕度模塊以及HC-08藍牙模塊實現(xiàn)測量溫濕度。以及各模塊的使用方法。 利用DHT11溫濕度模塊測量溫濕度,利用HC-08藍牙模塊將數(shù)據(jù)傳到手機上。 1.1DHT11溫濕度模塊外觀 1.2DHT11溫濕度模塊使用方法簡介 1.2.1DHT11溫濕度模塊工作的過程 用戶

    2024年02月02日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包