1 數(shù)字值
數(shù)字值以整數(shù)值的形式表示。用二進(jìn)制數(shù)制表示的數(shù)字值稱為二進(jìn)制數(shù)。微控制器能夠理解,例如:“電壓的高低”,“電流是否流動(dòng)”,“按鍵是否按下”,“1還是0”等一些問(wèn)題。
2 數(shù)字值:二進(jìn)制和十進(jìn)制
讓我們來(lái)思考一下二進(jìn)制數(shù)和十進(jìn)制數(shù)之間的關(guān)系。首先,我們來(lái)看看日常使用的十進(jìn)制數(shù)。例如,如果數(shù)字是1359(十進(jìn)制),加1,就變成了1360。這樣,當(dāng)十進(jìn)制數(shù)超過(guò)9時(shí),它就變成了10,也就發(fā)生了進(jìn)位。1359可以如圖中的公式進(jìn)行拆解。這里使用的10^3、10^2、10^1、10^0稱為“權(quán)重”。
現(xiàn)在,讓我們看看二進(jìn)制數(shù)。二進(jìn)制是由0和1組成的數(shù)字,當(dāng)它變成2時(shí),就會(huì)發(fā)生進(jìn)位。例如,我們將權(quán)重添加到1110(二進(jìn)制)。在二進(jìn)制數(shù)時(shí),權(quán)重變成了2^3、2^2、2^1、2^0。計(jì)算這個(gè)公式時(shí),它可以轉(zhuǎn)換為十進(jìn)制數(shù)。在這種情況下,8+4+2+0就變成了14。這樣,十進(jìn)制數(shù)最多可增加到1、10、100、1000位,而二進(jìn)制數(shù)最多可增加到1、2、4、8位。
3 數(shù)字值:二進(jìn)制數(shù)據(jù)單位
微控制器使用的數(shù)據(jù)有單位。當(dāng)數(shù)據(jù)用二進(jìn)制數(shù)表示時(shí),一個(gè)數(shù)字稱為一位。可由4位、8位、16位、32位等處理。1024位稱為1K(Kilo)位。請(qǐng)注意,1K并不是1000。半字節(jié)(nibble)是一個(gè)4位的二進(jìn)制數(shù),代表1個(gè)半字節(jié)(4位)的數(shù)據(jù)。字節(jié)(byte)是一個(gè)8位的二進(jìn)制數(shù),代表1個(gè)字節(jié)(8位)的數(shù)據(jù)。此外,還可以使用“字”。沒(méi)有“1個(gè)字=多少位”的規(guī)定,1個(gè)字代表1個(gè)數(shù)據(jù)。例如,在4位微控制器中,4位數(shù)據(jù)有時(shí)稱為1個(gè)字;在16位微控制器中,16位數(shù)據(jù)有時(shí)稱為1個(gè)字。因此,要提前查看在微控制器中1個(gè)字的位數(shù)是多少,以及如何處理它們。
4 數(shù)字值:數(shù)據(jù)的表示法
下表是十進(jìn)制數(shù)、二進(jìn)制數(shù)和十六進(jìn)制數(shù)的對(duì)比表。例如,數(shù)字8可以用1位十進(jìn)制數(shù)表示,但二進(jìn)制數(shù)必須用4位表示。256需要十進(jìn)制數(shù)為3位,二進(jìn)制數(shù)為9位。因此,我們采用十六進(jìn)制數(shù),使二進(jìn)制數(shù)的處理更容易。因?yàn)槎M(jìn)制數(shù)的4位可以用十六進(jìn)制數(shù)中的1位來(lái)表示,所以處理起來(lái)很方便。
5 數(shù)字值:數(shù)據(jù)的轉(zhuǎn)換方法
本節(jié)內(nèi)容中,我們將介紹如何輕松地將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)和十六進(jìn)制數(shù)。要將十進(jìn)制數(shù)100表示為二進(jìn)制數(shù),首先要用100除以2。它能被50整除,余數(shù)為0。然后,用50除以2得到25,再用25除以2,去掉余數(shù)1,繼續(xù)計(jì)算,直到不被整數(shù)除掉為止。計(jì)算結(jié)果的余數(shù)從下往上逆序排,便將其轉(zhuǎn)換為了二進(jìn)制數(shù)。當(dāng)十進(jìn)制數(shù)100轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),就變成了(1100100)。
那么如何轉(zhuǎn)換為十六進(jìn)制數(shù)呢?如果用100除以16,就是6,余數(shù)為4。因此,當(dāng)十進(jìn)制數(shù)100轉(zhuǎn)換為十六進(jìn)制數(shù)時(shí),就變成了(64)。如下:
6 邏輯電路
下面,我們來(lái)了解一下微控制器的邏輯電路。這里的邏輯是指,按照某個(gè)理論,執(zhí)行電子電路所處理的數(shù)字信號(hào)的輸入與輸出之間的關(guān)系。執(zhí)行該操作的電子電路稱為邏輯電路。微控制器由極其復(fù)雜的邏輯電路組成。每個(gè)邏輯電路都由三種基本邏輯元素組合而成。
7 邏輯電路:與門(mén)(AND)電路
與門(mén)(AND)也稱為邏輯與門(mén)電路。與門(mén)(AND)邏輯可以看作是一個(gè)在滿足所有輸入條件時(shí)輸出信號(hào)的電路。例如,當(dāng)你想打開(kāi)燈泡時(shí),即使開(kāi)關(guān)A為“ON”時(shí),如果開(kāi)關(guān)B為“OFF”,燈泡也不亮。相反,即使開(kāi)關(guān)B為“ON”時(shí),如果開(kāi)關(guān)A“OFF”,燈泡仍然不亮。所以,這意味著只有當(dāng)開(kāi)關(guān)A和B都為“ON”時(shí),燈泡才會(huì)亮。如真值表所示,只有當(dāng)A和B都輸入1時(shí),輸出Y才為1。電路圖可用MIL符號(hào)(*)表示,如圖所示。*由美國(guó)軍用標(biāo)準(zhǔn)“MIL標(biāo)準(zhǔn)”定義的數(shù)字電路圖中使用的符號(hào)。MIL標(biāo)準(zhǔn)(軍用標(biāo)準(zhǔn)):美國(guó)國(guó)防部統(tǒng)一的軍事用品采購(gòu)標(biāo)準(zhǔn)。
8 邏輯電路:或門(mén)(OR)電路
或門(mén)(OR)電路稱為邏輯或門(mén)電路。或門(mén)(OR)電路可以看作一個(gè)輸入任何信號(hào)時(shí)都會(huì)輸出的電路。和與門(mén)一樣,我們以開(kāi)燈泡來(lái)舉例說(shuō)明。與門(mén)(AND)電路是串聯(lián)的,但或門(mén)(OR)電路按鍵是并聯(lián)的。換言之,如果A或B中的任何一個(gè)為“ON”時(shí),燈泡都會(huì)亮。如真值表所示,向A或B輸入1時(shí),輸出Y都為1。原理圖可用MIL符號(hào)表示,如圖所示。
9 邏輯電路:非門(mén)(NOT)電路
非門(mén)(NOT)電路也稱為邏輯非門(mén)電路。向A輸入1時(shí),輸出變?yōu)?,向A輸入0時(shí),輸出變?yōu)?。這樣,輸入信號(hào)反轉(zhuǎn)后輸出。原理圖可用MIL符號(hào)表示,如圖所示。
與非門(mén)(NAND)電路由非門(mén)(NOT)電路和與門(mén)(AND)電路組合而成。
或非門(mén)(NOR)電路由非門(mén)(NOT)電路和或門(mén)(OR)電路組合而成。
10 邏輯電路:異或(XOR)電路
通過(guò)結(jié)合以上所述基本邏輯電路,可以配置具有特定功能的電路。此處,我們將說(shuō)明用于比較器的異或(XOR)()電路,該比較器用于檢查數(shù)據(jù)不匹配和加法器。圖中,開(kāi)關(guān)按下的狀態(tài)定義為打開(kāi),拉起的狀態(tài)定義為關(guān)閉。當(dāng)開(kāi)關(guān)A為“ ON”時(shí),上電路接通,下電路斷開(kāi)。反過(guò)來(lái),當(dāng)開(kāi)關(guān)A為“ OFF”時(shí),下電路接通,上電路斷開(kāi)。當(dāng)開(kāi)關(guān)B為“ ON”時(shí),上電路斷開(kāi),下電路接通。反過(guò)來(lái),當(dāng)開(kāi)關(guān)B為“ OFF”時(shí),下電路斷開(kāi),上電路接通。如圖所示,如果將開(kāi)關(guān)A、B組合在一起,則當(dāng)A、B均為“ ON”或“ OFF”時(shí),無(wú)電流流過(guò),燈泡不亮。只有當(dāng)A、B不匹配時(shí)(例如A為“ ON”且B為“ OFF”),電路才會(huì)接通,燈泡才會(huì)亮。如真值表所示,向A或B輸入1時(shí),輸出Y都為1。原理圖可用MIL符號(hào)表示,如右圖所示。 為Exclusive OR的縮寫(xiě)
11 邏輯電路:三態(tài)緩沖器(1)
在一般邏輯元件中,輸出信號(hào)由輸入信號(hào)決定,狀態(tài)為“1”或“0”。但是,有些邏輯元件除了“1”和“0”之外,還有其他狀態(tài)。例如,下圖中的電路與非門(mén)(NOT)電路相似,但與非門(mén)(NOT)電路不同。非門(mén)(NOT)電路通過(guò)將輸入信號(hào)反相輸出數(shù)據(jù),該電路將輸入數(shù)據(jù)原樣輸出。
如果控制部分設(shè)置為“1”(高電平),則輸入數(shù)據(jù)按原樣輸出。但是,如果控制部分設(shè)置為“0”(低電平),如圖2所示,則輸出部分將斷開(kāi)連接,數(shù)據(jù)無(wú)法輸出。這種斷開(kāi)狀態(tài)稱為高阻抗。像這樣可以有“1”(高電平)狀態(tài)、“0”(低電平)狀態(tài)、高阻抗?fàn)顟B(tài)這三種輸出狀態(tài)的電路,稱為三態(tài)輸出。
12 邏輯電路:三態(tài)緩沖器(2)
當(dāng)通過(guò)一條信號(hào)線發(fā)送雙向信號(hào)時(shí)使用該電路。通過(guò)這種方式配置電路,將控制信號(hào)從“0”切換到“1”或從“1”切換到“0”,就可以切換信號(hào)的方向。
13 邏輯電路:邏輯電路應(yīng)用實(shí)例
微控制器采用以上所述各種邏輯電路的組合。在這些邏輯電路中,如果輸入發(fā)生變化,輸出也會(huì)同時(shí)發(fā)生變化,其數(shù)據(jù)無(wú)法存儲(chǔ)。另一方面,存儲(chǔ)過(guò)去輸入信息的電路稱為時(shí)序電路(反饋電路)。時(shí)序電路的輸出不僅取決于當(dāng)前時(shí)刻的輸入,還取決于電路之前的狀態(tài)。觸發(fā)器(flip-flop)電路是與微控制器密切相關(guān)的存儲(chǔ)電路的原型。flip-flop一詞原意是指“噼啪聲”或“狀態(tài)突然變化”。其還有一個(gè)名稱,叫做雙穩(wěn)態(tài)多諧振蕩器。顧名思義,它有兩種穩(wěn)定的狀態(tài)。它由決定狀態(tài)的輸入條件設(shè)置。此狀態(tài)被保留或存儲(chǔ),直到給出決定其他狀態(tài)的輸入條件。觸發(fā)器有RS、T、D、JK等,取決于0和1的存儲(chǔ)方式。
14 邏輯電路:RS觸發(fā)器電路
RS觸發(fā)器的“R”和“S”分別是“Reset”(復(fù)位)和“Set”(設(shè)置)的縮寫(xiě)。要使觸發(fā)器具有記憶功能,需要將輸出狀態(tài)反饋給輸入端,從而保持輸出狀態(tài)。當(dāng)R和S都是“0”時(shí),如果Q是“1”,則保留“1”,如果Q是“0”,則保留“0”。Q存儲(chǔ)“1”的狀態(tài)稱為設(shè)置狀態(tài),存儲(chǔ)“0”的狀態(tài)稱為復(fù)位狀態(tài)。輸出端有Q和Q~,但是Q和Q~之間的關(guān)系始終相反。在真值表的運(yùn)行條件中有禁止條件,但如果在該條件下使用,則無(wú)法確定下一個(gè)輸出。下圖是RS觸發(fā)器電路的時(shí)序圖。設(shè)置輸入信號(hào)“1”設(shè)置為S時(shí),輸出端Q被設(shè)置。此后,如果S和R都繼續(xù)為“0”,則Q保持設(shè)置狀態(tài)。接下來(lái),如果R變?yōu)椤?”,則被復(fù)位,復(fù)位狀態(tài)保留,直到輸入信號(hào)再次被設(shè)置為S。這樣,RS觸發(fā)器電路就具有將瞬時(shí)信號(hào)存儲(chǔ)為數(shù)據(jù)的特性。
-
微控制器
+關(guān)注
關(guān)注
48文章
7566瀏覽量
151603 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41681 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1608瀏覽量
80682
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論