又黄又粗又爽免费观看,色吧电影网,军人武警gay男同gvus69,精品久久久久久久久中文字幕

position>home>Blogs

學(xué)完計(jì)組后,我馬上在「我的世界」造了臺(tái)顯示器,你敢信?

[導(dǎo)讀]今天的學(xué)完顯示信主題十分有趣,我們將在我的計(jì)組世界(Minecraft)這個(gè)游戲里,靠一個(gè)個(gè)邏輯門來(lái)組合實(shí)現(xiàn)一個(gè)簡(jiǎn)單的后馬七段顯示器,可以實(shí)現(xiàn)將選擇的上的世界數(shù)字輸出在顯示器上。

前言

今天的造臺(tái)主題十分有趣,我們將在我的器敢世界(Minecraft)這個(gè)游戲里,靠一個(gè)個(gè)邏輯門來(lái)組合實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)完顯示信七段顯示器,可以實(shí)現(xiàn)將選擇的計(jì)組數(shù)字輸出在顯示器上。

學(xué)完計(jì)組后,我馬上在「我的世界」造了臺(tái)顯示器,你敢信?

演示視頻在下面,后馬來(lái)看看這個(gè)宏大的上的世界工程:

接下來(lái),我會(huì)從最基礎(chǔ)的造臺(tái)與或非實(shí)現(xiàn)開始,親自畫出電路原理圖,器敢并且用我的學(xué)完顯示信世界來(lái)帶領(lǐng)大家領(lǐng)略數(shù)字電子技術(shù)的精妙之處。

本文所涉及的計(jì)組數(shù)電知識(shí)包括電路編碼基本邏輯門、后馬組合電路

當(dāng)然,由于電路的精密性以及游戲里實(shí)現(xiàn)的復(fù)雜性,實(shí)現(xiàn)完整的電路是非常困難的,也會(huì)讓人難以看懂,一下子就勸退了,這也就違背了我們學(xué)習(xí)知識(shí)的初衷。

所以,我會(huì)適當(dāng)?shù)膶?duì)電路進(jìn)行化簡(jiǎn),讓人看起來(lái)簡(jiǎn)單易懂。

在這個(gè)過(guò)程中,我相信你一定會(huì)加深對(duì)數(shù)電的認(rèn)識(shí)。學(xué)好數(shù)電,對(duì)更好更快地理解計(jì)算機(jī)組成,乃至于我們吸收軟件知識(shí)都十分有幫助。


準(zhǔn)備工作

二進(jìn)制編碼

我們首先復(fù)習(xí)一下電路是如何傳輸十進(jìn)制。

當(dāng)你在電路里傳輸一個(gè)十進(jìn)制數(shù)時(shí),肯定要先轉(zhuǎn)成二進(jìn)制,一般有兩種二進(jìn)制編碼形式,分別是自然二進(jìn)制碼和 BCD 碼。

自然二進(jìn)制碼

這是人們常說(shuō)二進(jìn)制碼,用除二取余進(jìn)行真實(shí)的轉(zhuǎn)化,也就是自然二進(jìn)制。

我們舉個(gè)例子,用除二取余法將十進(jìn)制 123 轉(zhuǎn)換成二進(jìn)制:

十進(jìn)制轉(zhuǎn)二進(jìn)制

可以得到 123 的二進(jìn)制表達(dá)為 0111011。其他一些數(shù)的轉(zhuǎn)換我也列在下面了:

但是在實(shí)際電路中,這樣的編碼設(shè)計(jì)起來(lái)太復(fù)雜,所以電路里面一般用下面的編碼形式。

BCD 碼

如果單純?yōu)榱?strong>傳輸而不需要對(duì)數(shù)字進(jìn)行加減等處理的話,搞個(gè)四位對(duì)一位的編碼最省力,很容易用一個(gè)四輸入一輸出的編碼器電路實(shí)現(xiàn),傳過(guò)去之后再用譯碼器轉(zhuǎn)成十進(jìn)制就行了。

于是有了 BCD 碼(Binary-Code Decimal),常用的 BCD 碼有8421BCD 碼余 3 BCD碼2421BCD 碼。通常采用 4 位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)中的 0~9 這 10 個(gè)數(shù)碼,優(yōu)點(diǎn)是二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換可以快速進(jìn)行,缺點(diǎn)就是有 6 種狀態(tài)為冗余狀態(tài)

這里著重介紹一下?8421BCD 碼

8421BCD 碼是最基本和最常用的BCD碼,它和四位自然二進(jìn)制碼相似,各位的權(quán)值為 8、4、2、1,故稱為有權(quán) BCD 碼。

和四位自然二進(jìn)制碼不同的是,它只選用了四位二進(jìn)制碼中前 10 組代碼,即用 0000~1001分別代表它所對(duì)應(yīng)的十進(jìn)制數(shù),余下的六組代碼不用,便是 8421BCD 碼的六種冗余狀態(tài)。

讓我們直接看表格吧,更直觀一點(diǎn)

從表格里可以發(fā)現(xiàn),0~9 的 8421BCD 碼和自然二進(jìn)制的前十個(gè)一模一樣。從 10 開始就有所不同了,舉以下幾個(gè)例子:

比如求 16 的 8421BBCD 碼,先將 16 分開成 1 和 6 。因?yàn)? 的二進(jìn)制為 0001 ,6 的二進(jìn)制為 0110,所以得到 0001 0110。

很顯然,有多少位的十進(jìn)制,就拆開成多少位,再對(duì)每一位進(jìn)行單個(gè)編碼。

實(shí)現(xiàn)基本邏輯門

在這一小節(jié)里,我們將開始借助我的世界里的物品實(shí)現(xiàn)簡(jiǎn)單的邏輯門,看下圖片先熟悉一下這些物品:

物品介紹

從左到右分別是:

  • 開關(guān):可以激活電路,相當(dāng)于信號(hào)源

  • 電線:用于傳遞信號(hào)

  • 紅石火把:有兩種狀態(tài),當(dāng)火把被信號(hào)激活時(shí)會(huì)熄滅,此時(shí)無(wú)法激活后續(xù)電路;當(dāng)沒有被激活時(shí),本身處于激活狀態(tài),會(huì)激活后續(xù)電路,是非門實(shí)現(xiàn)的基礎(chǔ)。且有向上傳遞信號(hào)的特性。

  • 中繼器:用于延續(xù)信號(hào)。電路傳遞信號(hào)時(shí),信號(hào)會(huì)不斷衰減,所以在適當(dāng)位置放上中繼器來(lái)使信號(hào)繼續(xù)傳遞。

好了,有了以上的基礎(chǔ),我們就可以來(lái)實(shí)現(xiàn)基本邏輯門了。

非門

非門有一個(gè)輸入和一個(gè)輸出端。當(dāng)其輸入端為高電平(邏輯 1 )時(shí)輸出端為低電平(邏輯 0 ),當(dāng)其輸入端為低電平時(shí)輸出端為高電平。

也就是說(shuō),輸入端和輸出端的電平狀態(tài)總是反相的。非門的邏輯功能相當(dāng)于邏輯代數(shù)中的非,電路功能相當(dāng)于反相,這種運(yùn)算亦稱非運(yùn)算。

邏輯圖

當(dāng) A 端有輸入信號(hào)時(shí),Y 端不輸出;

當(dāng) A 端無(wú)信號(hào)時(shí),Y 端輸出。

非門邏輯表達(dá)式為:

非邏輯表達(dá)式

邏輯圖為:

非邏輯圖

實(shí)現(xiàn)圖

利用紅石火把反轉(zhuǎn)信號(hào)的特性,可快速實(shí)現(xiàn)一個(gè)非門。類比高低電平,游戲里的激活未激活狀態(tài)分別表示了邏輯 1邏輯 0

  • 當(dāng)開關(guān)沒有打開時(shí),輸入端無(wú)信號(hào),即輸入為 0 。因?yàn)榧t石火把只有被電路激活時(shí)才熄滅,所以紅石火把沒有熄滅,會(huì)激活后面的電路。紅石燈只有在激活的情況下會(huì)亮,可以用來(lái)檢測(cè)信號(hào)的狀態(tài)。雖然輸入端沒有信號(hào),但紅石火把有信號(hào),所以輸出端為 1,激活了紅石燈。

非開

  • 當(dāng)開關(guān)打開時(shí),輸入為 1 。將紅石火把激活,就會(huì)熄滅火把,熄滅后輸出端沒有信號(hào),輸出為 0 ,紅石燈不亮。

非關(guān)

利用以上裝置可以將輸入的信號(hào)進(jìn)行反相。

或門

或門有多個(gè)輸入端,一個(gè)輸出端,只要輸入中有一個(gè)為高電平時(shí)(邏輯 1 ),輸出就為高電平(邏輯 1 );只有當(dāng)所有的輸入全為低電平(邏輯 0 )時(shí),輸出才為低電平(邏輯 0 )。

邏輯圖

當(dāng) A,B 端有一個(gè)輸入信號(hào)時(shí),Y 端就輸出信號(hào)。只有當(dāng) A,B 都無(wú)信號(hào)時(shí),Y 端不輸出。

或門邏輯表達(dá)式為∶Y=A+B

或邏輯圖

實(shí)現(xiàn)圖

將兩個(gè)輸入端用紅石電路并聯(lián)在一起,可實(shí)現(xiàn)一個(gè)或門。

只有同時(shí)沒有輸入,輸出才為 0 。

或關(guān)

只要有一個(gè)輸入,輸出就為 1 。

或開

與門

與門有多個(gè)輸入端,一個(gè)輸出端。當(dāng)所有的輸入同時(shí)為高電平(邏輯 1 )時(shí),輸出才為高電平,否則輸出為低電平(邏輯 0 )。

邏輯圖

當(dāng) A,B 端同時(shí)輸入信號(hào)時(shí),Y 端才輸出信號(hào)。A,B 有一個(gè)無(wú)信號(hào)時(shí),Y 端不輸出。

與門邏輯表達(dá)式為∶Y=AB

與邏輯圖

實(shí)現(xiàn)圖

與門作為一個(gè)基本的邏輯門電路,可是在我的世界里面沒有現(xiàn)成的電路來(lái)表示與門。

但是我們往上翻,會(huì)發(fā)現(xiàn)我們已經(jīng)實(shí)現(xiàn)完了或門和非門。此時(shí)可以用摩根定律來(lái)求出與門的等價(jià)邏輯表達(dá)式:

摩根定律

即兩個(gè)輸入端各搭非門,合并信號(hào)后再加個(gè)非門。如下圖所示,只有當(dāng)兩個(gè)輸入端都有信號(hào)時(shí),輸出端才輸出。

與非

只有一個(gè)輸入信號(hào)則不輸出。

與關(guān)

可能你會(huì)有點(diǎn)意外,這樣還能叫與門嗎

其實(shí)無(wú)論在電路組成上采用什么形式,只要最后的結(jié)果是一個(gè)與邏輯,那么它就是與門,即使通過(guò)與非門和非門組合而成,它也叫做"與門"而不叫"與非非"門。

簡(jiǎn)單來(lái)說(shuō),你去買一個(gè)電路的時(shí)候,也只會(huì)關(guān)心它的輸入與輸出間的邏輯關(guān)系最終是什么。

至此,與、或、非已全部實(shí)現(xiàn),且組成完備集,可以表達(dá)所有電路。但是在實(shí)際應(yīng)用中,我們不得不提到下面這個(gè)邏輯門——與非門。

與非門

在集成電路中,與非門或非門是僅次于非門的第二簡(jiǎn)單的門,但與非門或非門性能好,而且用與非門可以實(shí)現(xiàn)任意邏輯表達(dá)式。這么高的性價(jià)比,與非門確實(shí)是有資格作為表達(dá)式的終極化簡(jiǎn)因子的。

在手工設(shè)計(jì)電路時(shí),如果可以的話,工程師是傾向于用與非門的,后續(xù)我們?cè)O(shè)計(jì)電路時(shí),也傾向于把表達(dá)式轉(zhuǎn)換為與非門

邏輯圖

當(dāng) A,B 端同時(shí)輸入信號(hào)時(shí),Y 端才不輸出信號(hào)。其他情況時(shí),Y 端都輸出。

與非門邏輯表達(dá)式為∶

與非邏輯表達(dá)式

邏輯圖為:

與邏輯圖

實(shí)現(xiàn)圖

我們將與門表達(dá)式代入以上表達(dá)式,并計(jì)算

與非表達(dá)式化簡(jiǎn)

發(fā)現(xiàn)消掉了與門的最后一個(gè)非門,與非門實(shí)現(xiàn)了對(duì)與門的化簡(jiǎn),只要兩個(gè)輸入端各搭一個(gè)非門,將輸出并聯(lián)在一起就能實(shí)現(xiàn)。

這也是我在設(shè)計(jì)電路時(shí),傾向于把表達(dá)式化簡(jiǎn)為與非門的原因之一。

與非

組合電路

當(dāng)然,只有邏輯門還是不夠的,接下來(lái)我們將在這些基本邏輯門的基礎(chǔ)上來(lái)實(shí)現(xiàn)一些復(fù)雜的組合電路,最后再連接起來(lái)。

為了不被復(fù)雜的電路套進(jìn)去,專注于原理,我對(duì)顯示器進(jìn)行了化簡(jiǎn),功能為可以選擇將 ?0、1、2、3 這四個(gè)數(shù)輸出在顯示器上。

編碼器

由前面所介紹的知識(shí)可知,十進(jìn)制在電路里是按 8421BCD 碼進(jìn)行傳輸?shù)摹D俏覀円趺磳⑹M(jìn)制碼轉(zhuǎn)換為 8421BCD 碼呢?這就是編碼器要做的事了。

我們的顯示器可以選擇四個(gè)數(shù)顯示,所以編碼器只要將 0~3 進(jìn)行編碼即可。

編碼器的輸入端要有四個(gè),分別是 I?、I? 、I? 和 I?,輸出端為 Y? 和 Y?。

如果要對(duì) 2 進(jìn)行編碼,則將 I? 輸入信號(hào),其他輸入端無(wú)信號(hào),為 0。對(duì)應(yīng)的輸出端為 10,這個(gè) 10 就是 2 的 BCD 碼。

對(duì)其他數(shù)編碼同理,完整的功能表如下,輸入端 I 為 1 時(shí),表示對(duì)應(yīng)的數(shù)被按下:

根據(jù)功能表寫出輸出邏輯函數(shù)表達(dá)式:

  • Y? = I? + I?

  • Y?= I? + I?

將表達(dá)式變換為與非表達(dá)式:

編碼器邏輯表達(dá)式

根據(jù)以上與非表達(dá)式可畫出邏輯圖。

編碼器邏輯圖

即輸入端各搭非門,按邏輯表達(dá)式加與非門。

實(shí)現(xiàn)圖

這是我們的五個(gè)輸入端,第一個(gè)消隱端/總開關(guān)將在下面的小節(jié)進(jìn)行講解,后面四個(gè)就是我們可以選擇的數(shù)字。

編碼器輸入

從上面俯瞰一下,電路從這五個(gè)輸入端引出。

編碼器俯視圖

這是編碼器的具體實(shí)現(xiàn)部分:

編碼器實(shí)現(xiàn)部分

應(yīng)當(dāng)指出,當(dāng) I? ~ I? 都為 0 時(shí),輸出 Y?Y?=00,所以 I? 輸入線可以不接入編碼器

好了,一個(gè)簡(jiǎn)單的 4 線 - 2 線編碼器就完成啦。輸入端按下對(duì)應(yīng)十進(jìn)制的按鈕,輸出端就輸出對(duì)應(yīng)的 8421BCD 碼。如果有興趣的可以按以上步驟設(shè)計(jì)出 8 線 - 3 線的完整編碼器,可以對(duì) 0~9 進(jìn)行編碼。

七段顯示器

有了編碼器,自然就有譯碼器。但是在介紹譯碼器之前,我們得先了解一下七段顯示器。

七段數(shù)字顯示器由七個(gè)發(fā)光二極管構(gòu)成,七段 a,b,c,d,e,f,g 分別對(duì)應(yīng)一只發(fā)光二極管,利用不同段的組合,可以顯示十進(jìn)制數(shù)字 0 到 9。

七段數(shù)字

在我的世界里面,可以將三個(gè)紅石燈利用紅石連成一段,當(dāng)成一個(gè)發(fā)光二極管。

下面則是七段顯示器正面圖:

七段顯示器正面

下面則是七段顯示器背面圖:

七段顯示器背面

這樣,只要信號(hào)從輸入端輸入,屏幕上對(duì)應(yīng)輸出端的那一段就會(huì)亮起。

二線七段驅(qū)動(dòng)/譯碼器

現(xiàn)在,編碼器和七段顯示器已經(jīng)完成,剩下了最關(guān)鍵的一個(gè)電路——顯示譯碼器,也可以稱之為顯示驅(qū)動(dòng)器。

顯示譯碼器把 BCD 碼作為輸入編碼,通過(guò)譯碼器產(chǎn)生一組信號(hào),用于驅(qū)動(dòng)七段數(shù)字顯示器。

七段顯示器

A、B 為輸入的 BCD 碼,a,b,c,d,e,f,g 則是對(duì)應(yīng)編碼的輸出信號(hào)。

比如輸入的 A、B 是 0 0,代表著要將 0 顯示出來(lái)。于是 0 所對(duì)應(yīng)的 a,b,c,d,e,f 段二極管要亮起來(lái),剛好組成一個(gè)「0」的形狀,要亮起來(lái)輸出就要為 1 ,所以 a,b,c,d,e,f 都為1。

以下為完整的功能表:

根據(jù)功能表,寫出與非邏輯表達(dá)式:

譯碼器邏輯表達(dá)式

按表達(dá)式將譯碼器搭建完成,效果圖如下所示:

譯碼器輸入端

下圖是譯碼器的俯視視角圖:

譯碼器

現(xiàn)在一個(gè)顯示器的基本功能有了,可是還有一點(diǎn)不足,就是無(wú)法將屏幕完全熄滅。沒有任何輸入的情況也代表著 0 ,所以屏幕上會(huì)一直顯示 「0」。

但是我們回憶一下輸入端的第一個(gè)按鈕,這個(gè)輸入就是要起到一個(gè)消隱的作用。當(dāng)消隱按鈕打開,屏幕完全熄滅,不論輸入什么都不顯示數(shù)字;關(guān)閉時(shí),才能將對(duì)應(yīng)的數(shù)字顯示出來(lái)。

編碼器輸入

根據(jù)我們的需求,要實(shí)現(xiàn)這樣的電路也很簡(jiǎn)單,只要將這個(gè)輸入端和顯示器的 a,b,c,d,e,f,g 各段分別進(jìn)行與門連接,只有兩個(gè)輸入端同時(shí)有信號(hào)才可以輸出。

顯示器消隱邏輯圖

圖中從消隱端延伸到顯示器的七段輸入,再每段連接與門。

顯示器消隱

至此,一個(gè)顯示器基本大功告成。讓我們總覽一下這件藝術(shù)品

線路總覽

尾聲

其實(shí)關(guān)于程序員要不要學(xué)習(xí)這么底層的知識(shí)向來(lái)是有些爭(zhēng)議的。

我要說(shuō)的是,盡量去打開你身邊的「盒子」。?

本文所涉及的是數(shù)電,算是最為底層的了,甚至可以說(shuō)數(shù)字電路是計(jì)算機(jī)體系結(jié)構(gòu)的基礎(chǔ)。

你會(huì)發(fā)現(xiàn)計(jì)算機(jī)的內(nèi)存,ALU 等等都是基于來(lái)實(shí)現(xiàn)的。基本的門只有與,或和非,但是他們的各種組合卻可以完成各種 NB 的功能比如說(shuō)加法器減法器時(shí)鐘。在邏輯層面進(jìn)行推導(dǎo)和組合這難道不是很有趣嗎?

他只是邏輯而已,涉及不到太多的電路和計(jì)算,很容易感興趣的。

現(xiàn)在的開發(fā)都是使用別人封裝好的包。如果只是當(dāng)碼農(nóng),數(shù)電模電底層?xùn)|西不懂也好,但這些底層?xùn)|西的學(xué)習(xí)和理解能讓你對(duì)計(jì)算機(jī)有更本質(zhì)的認(rèn)識(shí),在程序員的道路上才能走的更遠(yuǎn)。

當(dāng)你把你的底層知識(shí)征服了,你就有資本去征服更高層的知識(shí)了。

不學(xué)習(xí)底層的知識(shí)是否會(huì)阻礙成為大師?

思考中。。。


哈嘍,我是小林,就愛圖解計(jì)算機(jī)基礎(chǔ),如果覺得文章對(duì)你有幫助,歡迎分享給你的朋友,也給小林點(diǎn)個(gè)「在看」,這對(duì)小林非常重要,謝謝你們,給各位小姐姐小哥哥們抱拳了,我們下次見!


推薦閱讀

10 張圖打開 CPU 緩存一致性的大門

知道硬盤很慢,但沒想到比 CPU Cache 慢 10000000 倍

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

Popular articles

主站蜘蛛池模板: 污污免费在线观看| 亚洲大香人伊一本线| 男女无遮挡高清性视频直播| 玖玖玖影院| 国产人伦视频在线观看| 又爽又黄又无遮挡网站| www.99re.| а√天堂中文最新版地址| 九九热爱视频精品| 在线看污网站| 精品欧美一区二区在线观看| 精品福利一区二区三区免费视频| 波多野结衣视频全集| 中文在线√天堂| 久久精品国产一区二区三区肥胖| 亚洲欧洲精品成人久久曰影片| 精品一区二区三区3d动漫| 三级毛片大全| 风间由美性色一区二区三区| 中文字幕免费在线| 欧美三级在线播放| 最近中文字幕免费mv视频7| 美女被羞羞吸乳动漫视频| 第一福利官方导航| 在线免费观看你懂的| 一级影院| 恸哭の女教师大桥未久| 青青青国产免费线在| 欧美三级在线播放| 性感女邻居| 成品煮伊在2021一二三久| 波多野结衣和乡下公在线观看| 欧美精品久久天天躁| 国内黄色一级片| 国产乱子伦| 国产剧情丝袜在线观看| 日本1819| 免费看美女隐私全部| 国产精品国色综合久久| 欧洲美女与动zozo| 老公去上班的午后时光|