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

輸入端口少如何擴(kuò)展?74hc148或74ls148級(jí)聯(lián)在arduino中實(shí)現(xiàn)16轉(zhuǎn)4的應(yīng)用

這篇具有很好參考價(jià)值的文章主要介紹了輸入端口少如何擴(kuò)展?74hc148或74ls148級(jí)聯(lián)在arduino中實(shí)現(xiàn)16轉(zhuǎn)4的應(yīng)用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

上一篇博文我們使用矩陣鍵盤時(shí)面臨的一個(gè)問(wèn)題就是占用的端口多,以前我們擴(kuò)展輸出端口使用了74hc595,那么這里我們面臨的是輸入端口少需要擴(kuò)展的問(wèn)題,那么可以使用什么芯片來(lái)完成了?有沒有直接可使用的芯片呢?


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

一、使用74hc148芯片

1、148芯片的說(shuō)明

:74HC148是一個(gè)8位優(yōu)先編碼器,可以將多個(gè)輸入數(shù)據(jù)按照優(yōu)先級(jí)編碼輸出。A0-A3是編碼輸出端,,0-7是輸入數(shù)據(jù)線,管腳說(shuō)明如下:

管腳名 功能說(shuō)明
A0~A2 編碼輸出端口,用于對(duì)0~7輸入8個(gè)數(shù)據(jù)線的信號(hào)進(jìn)行編碼。
0~7 輸入端口,不做特別說(shuō)明
VCC、GND 電源端口。
EI 編碼使能端口,低電平時(shí)編碼有效,否則無(wú)效,級(jí)聯(lián)時(shí)鏈接上一級(jí)的EO端
EO 編碼狀態(tài)輸出端,有編碼時(shí)輸出時(shí),或說(shuō)正在編碼時(shí)其端口輸出為高電平,否則低電平
GS 測(cè)試端口,用于檢測(cè)編碼器的工作狀態(tài)。處于編碼狀態(tài)時(shí),GS為低電平,否則為高電平

2、148芯片常見管腳圖

74hc148,Arduino探索,Arduino,人工智能,擴(kuò)展輸入端口,嵌入式,arduino,74hc148
我們?cè)趐roteus中使用的默認(rèn)是沒有VCC和GND
74hc148,Arduino探索,Arduino,人工智能,擴(kuò)展輸入端口,嵌入式,arduino,74hc148

2、74HC(LS)148的級(jí)聯(lián)

我們前面的博文曾經(jīng)介紹過(guò)74HC系列的串行輸入并行出處的芯片,這里我們采用8路并行輸入的芯片74HC148(arduino官網(wǎng)也有介紹可以參考),使用它可以輕易的將8路的輸入轉(zhuǎn)化為3路輸入(我們這里使用的是4x4的矩陣鍵盤,所以需要16路,所以就需要用148芯片進(jìn)行級(jí)聯(lián)了)。級(jí)聯(lián)電路如下:

74hc148,Arduino探索,Arduino,人工智能,擴(kuò)展輸入端口,嵌入式,arduino,74hc148
很明顯,級(jí)聯(lián)采用的是將各個(gè)芯片的三個(gè)A0~A2管腳和GS管腳用與非門連接,其中第位的管腳來(lái)自于級(jí)聯(lián)初級(jí)的GS管腳,用兩個(gè)GS管腳通過(guò)與非門的輸出腳作為優(yōu)先級(jí)標(biāo)志位,從GS輸出。
我們知道EI管腳低電平時(shí)才可以編碼,而通過(guò)級(jí)聯(lián)后只要初級(jí)芯片有編碼輸出初級(jí)芯片的EO管腳就會(huì)被置為高電平,后級(jí)芯片EI管腳也就會(huì)被置為高電平,所以后級(jí)芯片就不能編碼了。

我們知道,與非門對(duì)低電平有效,當(dāng)初級(jí)芯片編碼時(shí)后級(jí)芯片EI為高電平,同時(shí)后級(jí)芯片所有的管腳輸出高電平,輸出到與非門的全為無(wú)效的高電平。這個(gè)時(shí)候,我們讀取的就是初級(jí)芯片的編碼信號(hào)。

二、在arduino實(shí)現(xiàn)矩陣簡(jiǎn)單中的應(yīng)用

1、電路及說(shuō)明

我們來(lái)看看,在鍵盤矩陣中的應(yīng)用,這里很顯然是采用了16路的按鈕來(lái)單獨(dú)輸入,每個(gè)按鈕的一端直接接的地。

74hc148,Arduino探索,Arduino,人工智能,擴(kuò)展輸入端口,嵌入式,arduino,74hc148
這里我使用了兩個(gè)BCD數(shù)碼管,因?yàn)閯偤枚M(jìn)制的輸出剛好可以使用。不過(guò)信號(hào)要取反,因?yàn)锳0~A2輸出的都是低電平。第一個(gè)數(shù)碼管測(cè)試的是一個(gè)后級(jí)148芯片的輸出,在初級(jí)148芯片沒有編碼時(shí),后級(jí)是可以正常輸出的。
第二個(gè)數(shù)碼管則輸出的是級(jí)聯(lián)后的效果,也就是說(shuō),一旦啟動(dòng)了初級(jí)芯片后后級(jí)芯片就不能輸出了,這個(gè)時(shí)候第一個(gè)數(shù)碼管(左邊的那個(gè)數(shù)碼管)就只能顯示零了。

同時(shí),我們還采用了串口輸出到虛擬終端上,便于大家同步查看效果。

2、代碼如下:

這里的程序只為將我們得到的端口信號(hào)轉(zhuǎn)換為可以現(xiàn)在在虛擬終端顯示的數(shù)值。其實(shí)思路有兩種,一種是我在程序中注銷的部分,采用的思路就是2的平方和逐位累加實(shí)現(xiàn)數(shù)值,但我們得到的是一個(gè)double類型的,不太好看,所以我最終采用了位運(yùn)算和或運(yùn)算得到了一個(gè)二進(jìn)制的數(shù)值,還好Serial.println可以自動(dòng)將二進(jìn)制轉(zhuǎn)化為十進(jìn)制,所以剛好我們可以看到效果。

//定義輸入引腳
const int controlPins[] = {2, 3, 4, 5};
int n=0b0000;
void setup() {
	for(int i=0;i<6;i++)
	  pinMode(controlPins[i], INPUT);
	Serial.begin(9600);
}
void loop() {
  n=0b0000;
  for (int j = 5; j > 1; j--) {
	int b=0b0001; 
	 if(digitalRead(j))
	{
	 //Serial.println(pow(2,j-2));
     //n=n+pow(2,j-2);
	 //n+=exp((j-2)*log(2));
       b=b<<(j-2); //哪一個(gè)端口檢測(cè)到高電平則移位對(duì)應(yīng)的位數(shù)
	   n=n|b;	   //和0進(jìn)行或運(yùn)算得到最終的數(shù)值
	}
	delay(100);
  }
 Serial.println(n);
}

3、運(yùn)行效果:

74hc148,Arduino探索,Arduino,人工智能,擴(kuò)展輸入端口,嵌入式,arduino,74hc148
文章隨時(shí)可能更新,轉(zhuǎn)載請(qǐng)注明出文章原出處:https://blog.csdn.net/haigear/article/details/130025987文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-766213.html

到了這里,關(guān)于輸入端口少如何擴(kuò)展?74hc148或74ls148級(jí)聯(lián)在arduino中實(shí)現(xiàn)16轉(zhuǎn)4的應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 單片機(jī)(二):3個(gè)IO擴(kuò)展n*8個(gè)IO,基于74hc595與74hc165的8x8矩陣鍵盤

    單片機(jī)(二):3個(gè)IO擴(kuò)展n*8個(gè)IO,基于74hc595與74hc165的8x8矩陣鍵盤

    3個(gè)IO通過(guò)一片74hc595擴(kuò)展8個(gè)輸出IO,3個(gè)IO通過(guò)一片74hc1655擴(kuò)展8個(gè)輸入IO,最終成為8X8的矩陣鍵盤。對(duì)于普通的矩陣鍵盤,再加入防止鬼鍵、消抖和按下與松開識(shí)別。 74HC595是一個(gè)8位串行輸入、并行輸出的移位緩存器。通俗的來(lái)講就是在輸入時(shí)鐘的上升沿?cái)?shù)據(jù)輸入端的數(shù)據(jù)可以位

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

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

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

    2024年02月08日
    瀏覽(31)
  • 51單片機(jī)---編程實(shí)現(xiàn)流水燈----鍵盤控制數(shù)碼管顯示--利用74LS164擴(kuò)展并行輸出口---定時(shí)中斷方式驅(qū)動(dòng)一個(gè)數(shù)碼管

    目錄 基于51單片機(jī),用c語(yǔ)言編程實(shí)現(xiàn)流水燈 代碼: 使用C語(yǔ)言編寫的基于51單片機(jī)的鍵盤控制數(shù)碼管顯示 代碼: 基于51單片機(jī),用c語(yǔ)言編程實(shí)現(xiàn)利用74LS164擴(kuò)展并行輸出口 代碼: 基于51單片機(jī),用c語(yǔ)言編程實(shí)現(xiàn)定時(shí)中斷方式驅(qū)動(dòng)一個(gè)數(shù)碼管? 代碼:? 1- 2- 上述代碼中,使用

    2024年02月16日
    瀏覽(19)
  • 桂電 數(shù)電實(shí)驗(yàn) 期末考試 試卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

    桂電 數(shù)電實(shí)驗(yàn) 期末考試 試卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

    目錄 考試注意事項(xiàng) A卷? ? 74LS192 + 74LS00 B卷??74LS153 + 74LS00 / 74LS20 +?74LS139 ?C卷? ?74LS153 + 74LS00 / 74LS20 +?74LS139 課程感悟 1.考試前請(qǐng)檢查實(shí)驗(yàn)箱號(hào)和儀器號(hào)與座位號(hào)是否一樣,不一樣請(qǐng)請(qǐng)示老師更換; 2.請(qǐng)自行檢查導(dǎo)線、芯片、儀器的好壞,如有問(wèn)題,請(qǐng)及時(shí)找教師更換;否則由

    2024年02月03日
    瀏覽(19)
  • KT148A語(yǔ)音芯片智能鎖擴(kuò)展語(yǔ)音地址以及如何支持大量小文件的打包

    KT148A語(yǔ)音芯片智能鎖擴(kuò)展語(yǔ)音地址以及如何支持大量小文件的打包

    智能鎖的語(yǔ)音播放需求中,有很多需要多國(guó)語(yǔ)言合并在一起的需求 其中語(yǔ)音文件數(shù)多,并且每個(gè)語(yǔ)音文件小的特點(diǎn) 如果使用OTP的語(yǔ)音芯片,就很麻煩,因?yàn)橛脩舨豢蔁洠{(diào)試也很繁瑣 同時(shí)大容量的又很貴,所以使用KT148A-sop8的flash型語(yǔ)音芯片就是最優(yōu)的解決方案 解決KT14

    2024年01月18日
    瀏覽(85)
  • 2021-06-10 Multisim的74LS192功能表及555時(shí)基74LS190

    2021-06-10 Multisim的74LS192功能表及555時(shí)基74LS190

    緣由https://ask.csdn.net/questions/7445811?spm=1005.2025.3001.5141以及60s倒計(jì)時(shí)電路連接后沒有顯示 - 24小時(shí)必答區(qū) 74LS192芯片是一個(gè)具有雙計(jì)數(shù)功能的芯片,既可以做加計(jì)數(shù),也可以做減計(jì)數(shù)。 1、A、B、C、D??? 置數(shù)輸入端,管腳懸空相當(dāng)于接低電平“0”; 2、Qa、Qb、Qc、Qd???? 數(shù)字信

    2024年02月06日
    瀏覽(24)
  • 74LS系列芯片簡(jiǎn)記——00-09

    74LS系列芯片簡(jiǎn)記——00-09

    ??????? 由于興趣與實(shí)際需求特學(xué)習(xí)對(duì)應(yīng)的數(shù)字芯片,以此筆記簡(jiǎn)略記錄用途等,如有不足歡迎批評(píng)指正。歡迎大家踴躍交流。前期門芯片講述較為簡(jiǎn)單。 74LS00( 四組2輸入與非門) 邏輯為: 可用于進(jìn)行與非判斷,基本RS觸發(fā)器,與非門方波發(fā)生器等。其中與非門1、2與外界

    2024年02月08日
    瀏覽(20)
  • 2021-06-02 Multisim 14.0 74LS160異步21進(jìn)制74LS161組成61進(jìn)制160與161的區(qū)別154顯示193加減

    2021-06-02 Multisim 14.0 74LS160異步21進(jìn)制74LS161組成61進(jìn)制160與161的區(qū)別154顯示193加減

    74ls160是十進(jìn)制計(jì)數(shù)器,也就是說(shuō)它只能記十個(gè)數(shù)從0000-1001(0-9)到9之后再來(lái)時(shí)鐘就回到0,首先是clk,這是時(shí)鐘。之后是rco,這是輸出,MR是復(fù)位低電頻有效(圖上接線前面花圈的都是低電平有效)load是置數(shù)信號(hào),當(dāng)他為低電平時(shí),在始終作用下讀入D0到D3。為了使161正常工作

    2024年02月13日
    瀏覽(18)
  • 使用74LS161設(shè)計(jì)任意進(jìn)制計(jì)數(shù)器

    使用74LS161設(shè)計(jì)任意進(jìn)制計(jì)數(shù)器

    可預(yù)置的四位二進(jìn)制同步計(jì)數(shù)器74LS161具有并行預(yù)置數(shù)據(jù)、清零、置數(shù)、計(jì)數(shù)和保持功能,并且有進(jìn)位輸出端,可以串接計(jì)數(shù)器使用。引腳排列如圖7-1所示,功能表見7-2所示。 圖7-1 74LS161引腳排列 從下表7-2中可知,該計(jì)數(shù)器具有信號(hào)清零端 ,信號(hào)使能端CEP、CET,信號(hào)置數(shù)端

    2024年02月02日
    瀏覽(21)
  • 用74ls90及少量器件制作電子時(shí)鐘

    用74ls90及少量器件制作電子時(shí)鐘

    2022-12-22 前言:用74ls90及少量器件制作電子時(shí)鐘是一個(gè)電子技術(shù)基礎(chǔ)的作業(yè),設(shè)計(jì)的過(guò)程中順便也就寫了這篇文章,分享一下在設(shè)計(jì)中的一些思路。 內(nèi)容要求:電子時(shí)鐘,1.實(shí)現(xiàn)時(shí)分秒,2.可進(jìn)行電子時(shí)鐘清零,3.具有設(shè)置時(shí)、分、秒功能。 設(shè)計(jì)一個(gè)元件時(shí),首先最重要的是了

    2024年02月08日
    瀏覽(47)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包