




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 第 1 章 單片機(jī)概述 本章基本要求:?jiǎn)纹瑱C(jī)是現(xiàn)代電子智能儀器儀表及嵌入式系統(tǒng)的主要組成部分,應(yīng)用 非常廣泛,是現(xiàn)代工程技術(shù)人員必須掌握的知識(shí)之一。本章要求掌握數(shù)的進(jìn)制及其相互轉(zhuǎn)換、 帶符號(hào)數(shù)的表示方法、溢出的判別方法、ASCII 碼和 BCD 碼等單片機(jī)的數(shù)學(xué)基礎(chǔ)知識(shí);掌握單 片機(jī)的概念、特點(diǎn)、應(yīng)用范圍、發(fā)展歷程等基礎(chǔ)知識(shí);了解常用單片機(jī)系列。為后續(xù)章節(jié)的 學(xué)習(xí)打下基礎(chǔ)。 1.1 單片機(jī)的數(shù)學(xué)基礎(chǔ) 1.1.1 數(shù)的進(jìn)位制及其相互轉(zhuǎn)換 (1) 數(shù)的幾種常用進(jìn)制 數(shù)制是人們利用符號(hào)來(lái)計(jì)數(shù)的方法,數(shù)制有很多種,人們熟悉的是十進(jìn)制。但由于數(shù)在 機(jī)器中是以器件的物理狀態(tài)來(lái)表示的,所以一個(gè)具有兩種穩(wěn)定狀態(tài)且能相互轉(zhuǎn)換的器件,就 可以用來(lái)表示一位二進(jìn)制數(shù)。二進(jìn)制數(shù)的表示是最簡(jiǎn)單而且是最可靠的,另外二進(jìn)制的運(yùn)算 規(guī)則也是最簡(jiǎn)單的。因此,迄今為止,所有計(jì)算機(jī)都是以二進(jìn)制進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的。 但是在使用二進(jìn)制編寫(xiě)程序時(shí)既繁鎖又容易出錯(cuò),所以人們?cè)诰帉?xiě)程序時(shí)又經(jīng)常用到十進(jìn)制、 十六進(jìn)制或八進(jìn)制。下面分別予以介紹。 任何一種數(shù)制都有兩個(gè)要素,即基數(shù)和權(quán)。基數(shù)為數(shù)制中所使用的數(shù)碼的個(gè)數(shù)。當(dāng)基數(shù) 為 R 時(shí),該數(shù)制可使用的數(shù)碼為 0(R-1) 。例如在二進(jìn)制中基數(shù)為 2,可使用 0 和 1 兩個(gè)數(shù) 碼。在進(jìn)行運(yùn)算時(shí)按逢 R 進(jìn)一,借當(dāng)?shù)囊?guī)則進(jìn)行。權(quán)是數(shù)制中某一數(shù)位上單位數(shù)的大小, 它是一個(gè)指數(shù),底是基數(shù),冪是數(shù)碼的位置號(hào),數(shù)碼的位置號(hào)從 0 開(kāi)始。將一個(gè)數(shù)中某一 位的數(shù)碼與該位的權(quán)相乘,即為該位數(shù)碼的數(shù)值。 1) 十進(jìn)制(Decimal) 十進(jìn)制是以 10 為基數(shù),逢十進(jìn)一、借一當(dāng)十的計(jì)數(shù)體制。計(jì)數(shù)符號(hào)共有十個(gè),分別為: 0、1、2、3、4、5、6、7、8、9。計(jì)數(shù)規(guī)則是逢十進(jìn)一,借一當(dāng)十。十進(jìn)制數(shù)常用下標(biāo) D 或 10 表示。 加權(quán)系數(shù)表示: MD = Ki10 i i=- Ki為第 i 位的系數(shù)可取 09 十個(gè)數(shù)字符號(hào)中的任一個(gè);10 i為第 i 位的權(quán)。顯然各位的 權(quán)是 10 的冪。 例 1.1 (42.51)10 =410 1+2100+510-1+110-2 2) 二進(jìn)制(Binary) 二進(jìn)制是以 2 為基數(shù),逢二進(jìn)一、借一當(dāng)二的計(jì)數(shù)體制。計(jì)數(shù)符號(hào)共有二個(gè),分別為:0、 1。計(jì)數(shù)規(guī)則是逢二進(jìn)一、借一當(dāng)二。二進(jìn)制數(shù)常用下標(biāo) B 或 2 表示。 2 運(yùn)算規(guī)則:0+0=0 0+1=1+0=1 1+1=10(讀“壹零” ) 00=0 10=01=0 11=1 加權(quán)系數(shù)表示: MB = Ki2 i i=- Ki為第 i 位的系數(shù)可取 0 或 1;2 i為第 i 位的權(quán),即各位的權(quán)是 2 的冪。 例 1.2 1101.01B =12 3 +122 +021+120 +02-1+12-2 下面再介紹有關(guān)二進(jìn)制的幾個(gè)概念: 位:一位二進(jìn)制信息,只能是 0 或 1,也叫比特(bit)。 字節(jié):計(jì)算機(jī)中將 8 位二進(jìn)制數(shù)稱(chēng)為一個(gè)字節(jié),也叫拜特(Byte) 。為了表示大容量存儲(chǔ) 器的需要,人們還定義了千字節(jié)(KB) 、兆字節(jié)(MB) 、吉字節(jié)(GB)等三個(gè)單位。它們的關(guān) 系為:1KB=2 10Byte=1024 Byte 1MB=2 10KB=1024KB=220 Byte 1GB=2 10MB=1024MB=230 Byte 字:計(jì)算機(jī)一次能處理的二進(jìn)制數(shù)稱(chēng)為一個(gè)字,也叫沃德(Word) ,字是計(jì)算機(jī)中參加運(yùn) 算的基本單位。由于目前微型計(jì)算機(jī)通常是 16 位的,所以通常認(rèn)為一個(gè)字為 16 位二進(jìn)制數(shù), 即 1 Word=2 Byte。 3) 八進(jìn)制 八進(jìn)制是以 8 為基數(shù),逢八進(jìn)一、借一當(dāng)八的計(jì)數(shù)體制。計(jì)數(shù)符號(hào)共有八個(gè),分別為:0、 1、2、3、4、5、6、7。計(jì)數(shù)規(guī)則是逢八進(jìn)一,借一當(dāng)八。八進(jìn)制數(shù)常用下標(biāo) O 或 8 表示。 加權(quán)系數(shù)表示: MO = Ki8 i i=- Ki為第 i 位的系數(shù)可取 07 八個(gè)數(shù)字符號(hào)中的任一個(gè);8 i為第 i 位的權(quán)。顯然各位的權(quán) 是 8 的冪。 例 1.3 236O =28 2+381+680 對(duì)八進(jìn)制數(shù)有一個(gè)重要特點(diǎn),那就是每位八進(jìn)制數(shù)可用三位二進(jìn)制數(shù)表示。例如: (6)8=(110)2 4) 十六進(jìn)制(Hexadecimal) 十六進(jìn)制是以 16 為基數(shù),逢十六進(jìn)一、借一當(dāng)十六的計(jì)數(shù)體制。計(jì)數(shù)符號(hào)共有十六個(gè), 分別為:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。計(jì)數(shù)規(guī)則是逢十六進(jìn)一,借 一當(dāng)十六。十六進(jìn)制數(shù)常用下標(biāo) H 或 16 表示。 加權(quán)系數(shù)表示: MH = Ki16 i i=- Ki為第 i 位的系數(shù)可取 0F 十六個(gè)數(shù)字符號(hào)中的任一個(gè);16 i為第 i 位的權(quán)。顯然各位 的權(quán)是 16 的冪。 例 1.4 4E6H =416 2+14161+6160 對(duì)十六進(jìn)制數(shù)有一個(gè)重要特點(diǎn),那就是每位十六進(jìn)制數(shù)可用四位二進(jìn)制數(shù)表示。例如: (E)16=(1110)2 (2) 不同進(jìn)制數(shù)之間的相互轉(zhuǎn)換 1) 任意進(jìn)制數(shù)轉(zhuǎn)為十進(jìn)制數(shù) 3 方法:按權(quán)展開(kāi)求和。 例 1.5 1101.01B =12 3+122+021+120+02-1+12-2 =8+4+0+1+0+0.25=(13.25)D 2368 =28 2+381+680 =128+24+6=(158) 10 C2H =1216 1+2160 =192+2=(194) 10 2) 十進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制數(shù) 方法:對(duì)整數(shù)部分,連續(xù)除 2 取余反排列,直到商為 0;對(duì)小數(shù)部分,連續(xù)乘 2 取整正排 列,直到乘積的小數(shù)部分為 0 或滿(mǎn)足誤差要求。 例 1.6 338.38D =101010010.01100B 25.706D =11001.10111B (保留 5 位小 數(shù))。 2 25 余 1 整數(shù)最低位 0.706 2 12 余 0 2 2 6 余 0 1.412 取整 1 小數(shù)最高位 2 3 余 1 0.412 2 1 余 1 整數(shù)最高位 2 0 0.824 取整 0 2 1.648 取整 1 0.648 2 1.296 取整 1 0.296 2 0.592 取整 0 小數(shù)最低位 由于最后舍棄的數(shù) 0.592 大于 0.5,所以按“四舍五入”原則小數(shù)最低位 0 加 1。 推廣:十進(jìn)制數(shù)轉(zhuǎn)為任意進(jìn)制數(shù)。整數(shù)部分,連續(xù)除基數(shù)取余反排列,直到商為 0;小數(shù) 部分,連續(xù)乘基數(shù)取整正排列,直到乘積的小數(shù)部分為 0 或滿(mǎn)足誤差要求。 3) 八進(jìn)制數(shù)與二進(jìn)制數(shù)之間的相互轉(zhuǎn)換 二進(jìn)制轉(zhuǎn)為八進(jìn)制:對(duì)整數(shù)部分,從最低位開(kāi)始三位三位的分組,不足三位的前面補(bǔ)零; 對(duì)小數(shù)部分,則從最高位開(kāi)始三位三位的分組,不足三位的后面補(bǔ) 0。然后每組以其對(duì)應(yīng)的八 進(jìn)制數(shù)代替,排列順序不變。 八進(jìn)制轉(zhuǎn)為二進(jìn)制:將每位八進(jìn)制數(shù)寫(xiě)成對(duì)應(yīng)的三位二進(jìn)制數(shù),再按原來(lái)的順序排列起 來(lái)即可。 例 1.7 111101000102 =36428 64038 =1101000000112 4) 十六進(jìn)制數(shù)與二進(jìn)制數(shù)之間的相互轉(zhuǎn)換 方法:跟八進(jìn)制數(shù)與二進(jìn)制數(shù)之間的相互轉(zhuǎn)換相似,只是按四位分組即可。 例 1.8 111101000102 =7A216 B5916 =1011010110012 5) 八進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換 方法:通過(guò)二進(jìn)制數(shù)作中間變量進(jìn)行變換。 例 1.9 B5916 =1011010110012 =55318 64038 =1101000000112 =D0316 1.1.2 帶符號(hào)數(shù)的表示方法 4 (1) 機(jī)器數(shù)與真值 前面提到的二進(jìn)制數(shù),沒(méi)有涉及到符號(hào)問(wèn)題,是一種無(wú)符號(hào)數(shù)。但在實(shí)際應(yīng)用中,一個(gè) 數(shù)顯然還有正、負(fù)之分,那么符號(hào)在計(jì)算機(jī)中是怎么表示的呢?計(jì)算機(jī)中采用二進(jìn)制數(shù)碼, 對(duì)于數(shù)的符號(hào)“+”或“-”也用二進(jìn)制數(shù)碼表示。規(guī)定用二進(jìn)制數(shù)碼的最高位表示符號(hào)。并 規(guī)定:用數(shù)碼“0”表示正數(shù)的符號(hào)“+” ;用數(shù)碼“1”表示負(fù)數(shù)的符號(hào)“-” 。 例 1.10 X1=+010001B ; X2=-010001B ,在 8 位機(jī)分別表示為 X1=00010001B ; X2=10010001B 。 一個(gè)數(shù)在機(jī)器中的表示形式稱(chēng)為機(jī)器數(shù),而原來(lái)的實(shí)際數(shù)本身稱(chēng)為機(jī)器數(shù)的真值。在計(jì) 算機(jī)中常用的機(jī)器數(shù)有原碼、反碼、補(bǔ)碼三種形式。當(dāng)真值為 X 時(shí),其原碼、反碼、補(bǔ)碼分 別用X原、X反、X補(bǔ)表示。 (2) 原碼(true form) 符號(hào)位用“0”表示正數(shù), “1”表示負(fù)數(shù),其余各位表示真值除符號(hào)外的尾數(shù)本身,這種 表示方法稱(chēng)為原碼表示法。即用 0、1 分別代替真值中的“+” 、 “-”即得原碼。以八位機(jī)為例 (下同) 。 1) 對(duì)于正數(shù) :X原=X 例 1.11 若 X1=+1101001B,X2=+101101B,則X1原=01101001B,X2原=00101101B(不 足 8 位應(yīng)在符號(hào)位后補(bǔ)“0” )。 2) 對(duì)于負(fù)數(shù):X原=2 8-1-X 例 1.12 若 X1=-1101001B,X2=-101101B,則 X1原 =11101001B=10000000B+1101001B=2 8-1(-1101001B)= 28-1X 1 X2原 =10101101B=10000000B+101101B=2 8-1(-101101B)= 28-1X 2 3) 對(duì)于 0 在計(jì)算機(jī)中,0 可認(rèn)為它是+0,也可認(rèn)為它是-0,故 0 在原碼中有兩種表示法。對(duì)八位 機(jī):+0原=00000000B,-0原=10000000B。 字長(zhǎng)為 n 位的原碼表示法的一般規(guī)律: X (0X2 n 1) X原 = 2 n 1-X (-2n 1 X0 ) (3) 反碼(ones complement) 1) 對(duì)于正數(shù),其反碼表示法與原碼相同,即X反=X原=X 。 例 1.13 若 X1=+1101001B,X2=+101101B,則X1反=X1原=01101001B, X2反= X2原=00101101B(不足 8 位應(yīng)在符號(hào)位后補(bǔ)“0” )。 2) 對(duì)于負(fù)數(shù), 反碼等于其原碼符號(hào)位不變, 其余各位按位取反(即 “1”換成 “0”, “0” 換成“1”)。也可按以下公式計(jì)算:X反=2 8-1+X 。 例 1.14 若 X=-1101001B,則X原 =11101001B, X反 =10010110B=2 8-1+(-1101001B)=28-1-1101001B 。 3) 對(duì)于 0,反碼有+0反和-0反兩種表示法。對(duì)于 8 位機(jī):+0反=00000000B、-0反 =11111111B 。 字長(zhǎng)為 n 位的反碼表示法的一般規(guī)律: X (0X2 n 1) X反 = 2 n 1+X (-2n 1 X0 ) (4) 補(bǔ)碼(twos complement) 5 補(bǔ)碼表示法可以把負(fù)數(shù)轉(zhuǎn)換為正數(shù),使減法轉(zhuǎn)換為加法,從而使正負(fù)數(shù)的加減運(yùn)算轉(zhuǎn)換 為單純的正數(shù)相加的運(yùn)算。因此,計(jì)算機(jī)中一般采用補(bǔ)碼表示法。 1) 對(duì)于正數(shù),其補(bǔ)碼就是該正數(shù)本身,即X補(bǔ)=X 例 1.15 若 X=+1101001B,則X補(bǔ)=01101001B 2) 對(duì)于負(fù)數(shù), 其補(bǔ)碼等于其反碼加 1。 即X補(bǔ)=X反+1=2 n 1+X+1=2n+X (對(duì)八位機(jī) n=8)。 例 1.16 若 X=-1101001B,則X原=11101001B, X反 =10010110B, X補(bǔ)=10010110B+1=10010111B=2 8+X=28+(-1101001B)= 28-1101001B 。 3) 對(duì)于 0,+0補(bǔ)=-0補(bǔ)=00000000B ,即 0 的補(bǔ)碼只有一種表示法。 字長(zhǎng)為 n 位的補(bǔ)碼表示法的一般規(guī)律: X (0X2 n 1) X補(bǔ) = 2 n +X (-2n 1 X0 ) 綜上所述,對(duì)正數(shù)有X原=X反 =X補(bǔ) = X;對(duì)負(fù)數(shù),用“1”代替負(fù)號(hào)“-”就得原碼, 再對(duì)原碼除符號(hào)位(最高位)外其余各位按位取反就得反碼,最后對(duì)反碼加 1 就得補(bǔ)碼。 (5) 已知機(jī)器數(shù)求真值 1) 先求原碼。對(duì)正數(shù)(符號(hào)位為 0),原碼、反碼、補(bǔ)碼相同,無(wú)需轉(zhuǎn)換;對(duì)負(fù)數(shù)(符號(hào) 位為 1),反碼的數(shù)值位按位取反,可轉(zhuǎn)換為原碼,補(bǔ)碼的數(shù)值位按位取反后末位加 1,可轉(zhuǎn) 換為原碼。 2) 由原碼求真值。 用 “+” 、 “-” 代替原碼的符號(hào)位 (“0”換為 “+” ,“1”換為 “-” ) 即可。 例 1.17 若X補(bǔ)=10011010B,求 X? 解 因符號(hào)位為 1,所以 X 為負(fù)數(shù)。則X原=11100101B+1=11100110B,X=-1100110B 1.1.3 溢出的判別方法 (1) 計(jì)算機(jī)中帶符號(hào)數(shù)的加減法運(yùn)算 在微型計(jì)算機(jī)中,原碼表示的數(shù)易于識(shí)別,但做加減法運(yùn)算時(shí)比較復(fù)雜,符號(hào)位和數(shù)值 位需要分別處理。首先做兩個(gè)數(shù)絕對(duì)值的減法,用絕對(duì)值大的數(shù)減去絕對(duì)值小的數(shù),然后用 絕對(duì)值大的數(shù)的符號(hào)作為結(jié)果的符號(hào)。采用補(bǔ)碼做加減法運(yùn)算時(shí),符號(hào)位與數(shù)值位同時(shí)參與 運(yùn)算,減法也轉(zhuǎn)換為加法運(yùn)算,符號(hào)位無(wú)需單獨(dú)處理。 1) 補(bǔ)碼加法運(yùn)算 補(bǔ)碼加法運(yùn)算的規(guī)則是:X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) 例 1.18 已知 X=1100011B,Y=-0011B,求 X+Y=? 解 X補(bǔ)=01100011B,Y補(bǔ)=11111001B X補(bǔ)=01100011B +) Y補(bǔ)=11111001B 模溢出 01011100B 所以X+Y補(bǔ)=X補(bǔ)+Y補(bǔ)=01011100B,X+Y=+1011100B,最高位的進(jìn)位自動(dòng)丟失(稱(chēng)為溢 出)。 2) 補(bǔ)碼減法運(yùn)算 在微型計(jì)算機(jī)中減法運(yùn)算也通過(guò)補(bǔ)碼轉(zhuǎn)換為加法運(yùn)算,減法運(yùn)算的規(guī)則是: X-Y補(bǔ)=X+(-Y)補(bǔ)=X補(bǔ)+-Y補(bǔ),其中-Y補(bǔ)可由-Y 求出,也可以由Y補(bǔ) 求出。把Y補(bǔ) 的符號(hào)位與數(shù)值位一起取反,末位加 1,結(jié)果就等于-Y補(bǔ) 。 例 1.19 已知 X=1000111B,Y=1001B,求 X-Y=? 1 6 解 X補(bǔ)=01000111B,Y補(bǔ)=00001001B,-Y補(bǔ)=11110111B X補(bǔ)=01000111B +) -Y補(bǔ)=11110111B 模溢出 00111110B X-Y補(bǔ)=00111110B,X-Y=+0111110B (2) 溢出的判別方法 1)溢出的概念 在計(jì)算機(jī)內(nèi)部表示數(shù)據(jù)與人工表示數(shù)據(jù)的情況不同,人工表示數(shù)據(jù)時(shí),數(shù)據(jù)的值可以 為任意大小,而在計(jì)算機(jī)內(nèi)只能用有限位數(shù)來(lái)表示數(shù)據(jù)。所以計(jì)算機(jī)中所能表示的數(shù)有一定 的范圍,對(duì)于絕對(duì)值太大而超過(guò)一定值的數(shù),計(jì)算機(jī)無(wú)法表示,這時(shí)會(huì)造成數(shù)據(jù)的最高位丟 失,數(shù)據(jù)產(chǎn)生錯(cuò)誤,這種情況稱(chēng)為上溢出。出現(xiàn)上溢出時(shí),應(yīng)停止運(yùn)算,進(jìn)行錯(cuò)誤處理。對(duì) 于絕對(duì)值太小的數(shù),在計(jì)算機(jī)中同樣也表示不出來(lái),此時(shí)計(jì)算機(jī)將這個(gè)數(shù)作為 0 處理,數(shù)據(jù) 產(chǎn)生誤差,這種情況稱(chēng)為下溢出。由于下溢出所帶來(lái)的誤差很小,在允許范圍之內(nèi),不作錯(cuò) 誤處理。所以在以后提到的溢出指的是上溢出。 2)溢出的判斷 當(dāng)兩個(gè)數(shù)作加減法運(yùn)算時(shí),如何判斷運(yùn)算結(jié)果是否有溢出呢?常用的方法有補(bǔ)碼和變 形補(bǔ)碼兩種方法。 補(bǔ)碼判斷法 兩個(gè)用補(bǔ)碼表示的數(shù)作加減法運(yùn)算時(shí),如果是同號(hào)相減或異號(hào)相加,只能使數(shù)據(jù)的絕 對(duì)值越來(lái)越小,運(yùn)算結(jié)果不可能產(chǎn)生溢出;如果是同號(hào)相加或異號(hào)相減,則運(yùn)算結(jié)果可能會(huì) 出現(xiàn)溢出。此時(shí),可以把運(yùn)算結(jié)果的符號(hào)與參與運(yùn)算的數(shù)據(jù)符號(hào)相比較,如果出現(xiàn)正數(shù)加正 數(shù)得負(fù)數(shù)或負(fù)數(shù)加負(fù)數(shù)得正數(shù)的情況,則可以斷定運(yùn)算結(jié)果出現(xiàn)了溢出。 例 1.20 已知 X=1110010B,Y=1001101B,求 X+Y=? 解 X補(bǔ)=01110010B,Y補(bǔ)=01001101B X補(bǔ)=01110010B +) Y補(bǔ)=01001101B 10111111B 由運(yùn)算結(jié)果可以看出,兩個(gè)正數(shù)相加,結(jié)果為負(fù)數(shù),可以斷定是溢出造成的。出現(xiàn)溢出 時(shí)運(yùn)算結(jié)果是錯(cuò)誤的,不再使用。 例 1.21 已知 X=-1100111B,Y=1001100B,求 X-Y=? 解 X補(bǔ)=10011001B,Y補(bǔ)=01001100B,-Y補(bǔ)=10110100B X補(bǔ)=10011001B +) -Y補(bǔ)=10110100B 模溢出 01001101B 由運(yùn)算結(jié)果可以看出,兩個(gè)負(fù)數(shù)相加,結(jié)果為正數(shù),可以斷定是溢出造成的。出現(xiàn)溢出 時(shí)運(yùn)算結(jié)果是錯(cuò)誤的,不再使用。 例 1.22 已知 X=1100111B,Y=1110011B,求 X-Y=? 解 X補(bǔ)=01100111B,Y補(bǔ)=01110011B,-Y補(bǔ)=10001101B X補(bǔ)=01100111B +) -Y補(bǔ)=10001101B 11110100B 由于是同號(hào)相減,運(yùn)算結(jié)果不可能產(chǎn)生溢出。所以X+Y補(bǔ)=11110100B,X+Y=-0001100B 1 1 7 變形補(bǔ)碼判斷法 變形補(bǔ)碼是采用雙符號(hào)位表示的補(bǔ)碼,用 00 表示正數(shù),用 11 表示負(fù)數(shù)。用變形補(bǔ)碼判 斷運(yùn)算結(jié)果是否有溢出時(shí),只需要判斷結(jié)果的雙符號(hào)位是否相同即可,如果雙符號(hào)位相同, 運(yùn)算結(jié)果沒(méi)有溢出,否則運(yùn)算結(jié)果有溢出。 例 1.23 已知 X=-1100111B,Y=1001100B,求 X+Y=?和 X-Y=? 解 X變形補(bǔ)=110011001B,Y變形補(bǔ)=001001100B,-Y變形補(bǔ)=110110100B X變形補(bǔ)=110011001B +) Y變形補(bǔ)=001001100B 111100101B 雙符號(hào)位相同,結(jié)果無(wú)溢出,X+Y=-0011011B 。 X變形補(bǔ)=110011001B +) -Y變形補(bǔ)=110110100B 101001101B 雙符號(hào)位不同,結(jié)果溢出。出現(xiàn)溢出時(shí)運(yùn)算結(jié)果是錯(cuò)誤的,不再使用。 1.1.4 ASCII 碼和 BCD 碼 (1) 二進(jìn)制代碼 數(shù)碼符號(hào)不僅可以用于計(jì)數(shù)表示數(shù)值的大小,而且可以用于表示特定的對(duì)象。如電話(huà)號(hào) 碼、郵政編碼、手機(jī)號(hào)碼等等就是用 09 這十個(gè)十進(jìn)制數(shù)碼符號(hào)的組合來(lái)表示特定的對(duì)象, 可以稱(chēng)為十進(jìn)制代碼。同樣,由 0 和 1 組成的二進(jìn)制數(shù)碼不僅可以表示數(shù)值的大小,而且可 以用來(lái)表示特定的信息。這種具有特定含義的二進(jìn)制數(shù)碼稱(chēng)為二進(jìn)制代碼。建立這種代碼與 它表示的對(duì)象(如十進(jìn)制數(shù)、字母、特定符號(hào)、邏輯值等)的一一對(duì)應(yīng)關(guān)系過(guò)程稱(chēng)為編碼;將 代碼所表示的特定信息翻譯出來(lái)稱(chēng)為譯碼,分別由編碼器、譯碼器來(lái)實(shí)現(xiàn)。 (2) 二十進(jìn)制碼(BCD 碼) 二十進(jìn)制碼就是用四位二進(jìn)制數(shù)來(lái)表示 09 這十個(gè)十進(jìn)制符號(hào),簡(jiǎn)稱(chēng)為 BCD 碼。由于 四位二進(jìn)制數(shù)從 00001111 共有十六種組合, 而十進(jìn)制只有十個(gè)數(shù)碼符號(hào), 因此有很多種 BCD 碼。如 8421 碼、2421 碼、5211 碼、余 3 碼等等。常用的是 8421BCD 碼。 1) 8421 碼 8421 碼是用四位二進(jìn)制數(shù)的前十種組合來(lái)表示 09 這十個(gè)十進(jìn)制數(shù)。這種代碼每一位 的權(quán)都是固定不變的,屬于恒權(quán)代碼。它和四位二進(jìn)制數(shù)一樣,從高位到低位各位的權(quán)分別 是 8、4、2、1,故稱(chēng)為 8421 碼。其特點(diǎn)是每個(gè)代碼的各位數(shù)值之和就是它所表示的十進(jìn)制數(shù)。 所以,它便于記憶,應(yīng)用也比較普遍。 例 1.24 若 X=(01001010)2 ,Y=(00110111)2 ,求 X+Y 的 BCD 碼? 解 X+Y= (01001010)2 + (00110111)2 =(10000001)2 =(129)10 =(000100101001)BCD 2) 2421 碼和 5211 碼 它們也屬于恒權(quán)代碼,從高位到低位各位的權(quán)分別是 2、4、2、1 和 5、2、1、1,故而得 名。其中 2421 碼又分為(A)和(B)兩種代碼,它們的編碼狀態(tài)不完全相同。在 2421(B)碼中,0 和 9、1 和 8、2 和 7、3 和 6、4 和 5 互為反碼,即兩碼對(duì)應(yīng)位的值相反。 3) 余 3 碼 這種代碼所組成的四位二進(jìn)制數(shù),正好比它代表的十進(jìn)制數(shù)多 3,故稱(chēng)為余 3 碼。兩個(gè)余 3 碼相加時(shí),其和要比對(duì)應(yīng)表示的十進(jìn)制數(shù)之和多 6。因而兩個(gè)十進(jìn)制數(shù)之和等于 10 時(shí),兩 個(gè)對(duì)應(yīng)余 3 碼之和相當(dāng)于四位二進(jìn)制的 16,剛好產(chǎn)生進(jìn)位信號(hào),不必進(jìn)行修正。另外,余 3 8 碼的 0 和 9、1 和 8、2 和 7、3 和 6、4 和 5 也互為反碼。余 3 碼不能由各位二進(jìn)制數(shù)的權(quán)來(lái) 決定其代表的十進(jìn)制數(shù),故屬于無(wú)權(quán)碼。各種 BCD 碼的比較見(jiàn)表 1.1。 表 1.1 幾種常用的 BCD 碼 代碼 十進(jìn) 種類(lèi) 制數(shù) 8421 碼 2421(A)碼 2421(B)碼 5211 碼 余 3 碼 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 權(quán) 8 4 2 1 2 4 2 12 4 2 15 2 1 1 (3) 邏輯數(shù)據(jù)(邏輯代碼) 邏輯數(shù)據(jù)用于表示某件事情的“真” 或“假” , “成立”或“不成立” ,只能參加邏輯運(yùn) 算?;具壿嬤\(yùn)算包括“與” 、 “或” 、 “非”三種運(yùn)算。參加邏輯運(yùn)算的數(shù)據(jù)是按位進(jìn)行的, 位與位之間沒(méi)有進(jìn)位和借位的關(guān)系。在計(jì)算機(jī)中邏輯數(shù)據(jù)也是由二進(jìn)制數(shù)所組成的,但每位 數(shù)沒(méi)有權(quán)。通常用“1”表示“邏輯真” , “0”表示“邏輯假” 。 (4) 美國(guó)標(biāo)準(zhǔn)信息交換碼(ASCII 碼) ASCII 碼, 用一個(gè)字節(jié)(8 位二進(jìn)制數(shù))來(lái)表示一個(gè)特定的字符, 其中低 7 位為字符的 ASCII 碼值,最高位一般用作校驗(yàn)位。即實(shí)際上采用 7 位二進(jìn)制數(shù),可表示 2 7 =128 個(gè)符號(hào)。這 128 個(gè)符號(hào)共分為兩類(lèi):一類(lèi)是圖形字符,共 96 個(gè);一類(lèi)是控制字符,共 32 個(gè)。96 個(gè)圖形字符 包括十進(jìn)制數(shù)碼符號(hào) 10 個(gè)、 大小寫(xiě)英文字母 52 個(gè)和其它字符 34 個(gè)。 這類(lèi)字符有特定的形狀, 可以顯示在顯示器上和打印在打印紙上,其編碼可以存儲(chǔ)、傳送和處理。32 個(gè)控制符包括回 車(chē)符、換行符、退格符、控制符和信息分隔符等。這類(lèi)字符沒(méi)有特定的形狀,其編碼雖然可 以存儲(chǔ)、傳送和起某種控制作用,但字符本身不能在顯示器上顯示和打印機(jī)上打印。人們可 通過(guò)鍵盤(pán)上的字母、符號(hào)和數(shù)值向計(jì)算機(jī)發(fā)送數(shù)據(jù)和指令,每一個(gè)鍵可用一個(gè)二進(jìn)制代碼來(lái) 表示,常用的就是 ASCII 碼。 在 ASCII 碼表(見(jiàn)本教材附錄三)中,左邊和上邊為相應(yīng)字符的 ASCII 碼,上邊為高 3 位, 左邊為低 4 位。例如:數(shù)字 09 的 ASCII 碼為 0110000B0111001B(30H39H),大寫(xiě)英文字 母 AZ 的 ASCII 碼為 1000001B1011010B(41H5AH),小寫(xiě)英文字母 az 的 ASCII 碼為 1100001B1111010B(61H7AH)??刂品⑨?zhuān)篘UL:空;SOH:標(biāo)題開(kāi)始;STX:正文結(jié)束; ETX:本文結(jié)束;EOT:傳輸結(jié)束;ENQ:詢(xún)問(wèn);ACK:承認(rèn);BEL:響鈴(Bell);BS:退一格; HT:橫向列表;LF:換行(Line Feed);VT:垂直制表;FF:走紙控制;CR: 回車(chē)(Carriage Return);SO:移位輸出;SI:移位輸入; SP:空格(Space); DLE:數(shù)據(jù)鏈換碼;DC1:設(shè) 備控制 1;DC2:設(shè)備控制 2;DC3:設(shè)備控制 3;DC4:設(shè)備控制 4;NAK:否定;SYN:空轉(zhuǎn)同 步;ETB:信息組傳送結(jié)束;CAN:作廢;EM:紙盡;SUB:減;ESC:換碼;FS:文字分隔符; 9 單元地址 n 2 1 0 GS:組分隔符;RS:記錄分隔符;US:?jiǎn)卧指舴籇EL:刪除。 1.2 單片機(jī)基礎(chǔ) 1.2.1 計(jì)算機(jī)的經(jīng)典組成 (1) 計(jì)算機(jī)的經(jīng)典組成 計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)見(jiàn)圖 1.1 所示。 這種結(jié)構(gòu)是由計(jì)算機(jī)的開(kāi)拓者數(shù)學(xué)家約翰 馮 諾 依曼最先提出的,所以就稱(chēng)之為馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu),也叫普林斯頓結(jié)構(gòu)。由該圖可 知,計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五個(gè)部分組成。至 今為止,計(jì)算機(jī)的發(fā)展已經(jīng)經(jīng)歷了四代,即電子管 時(shí)代、晶體管時(shí)代、集成電路時(shí)代、大規(guī)模及超大 規(guī)模集成電路時(shí)代,微型計(jì)算機(jī)技術(shù)也得到了充分 的發(fā)展,但仍未沖出馮諾依曼體系。當(dāng)前,市場(chǎng) 上常見(jiàn)的大多數(shù)型號(hào)的單片機(jī)也還遵循著馮諾依 曼體系。 下面簡(jiǎn)要分析計(jì)算機(jī)各部分的作用及工作原 理。如果要使計(jì)算機(jī)按照人們的需要解決某個(gè)具體 問(wèn)題,并不是把這個(gè)問(wèn)題直接讓計(jì)算機(jī)去解決,而 是要用計(jì)算機(jī)可以“理解” 的語(yǔ)言,編寫(xiě)出一系列 圖 1.1 計(jì)算機(jī)的經(jīng)典結(jié)構(gòu) 解決這個(gè)問(wèn)題的步驟(即程序)并輸入到計(jì)算機(jī)中,命令它按照這些步驟順序執(zhí)行,從而使 問(wèn)題得以解決。編寫(xiě)解決這些問(wèn)題的步驟,就是人們常說(shuō)的編寫(xiě)程序,也叫程序設(shè)計(jì)或軟件 開(kāi)發(fā)。計(jì)算機(jī)是嚴(yán)格按照程序?qū)Ω鞣N數(shù)據(jù)或者輸入信息進(jìn)行自動(dòng)加工處理的,因此必須先把 程序以及數(shù)據(jù)用“輸入設(shè)備”送入計(jì)算機(jī)內(nèi)部的“存儲(chǔ)器”中存起來(lái),處理完后還要把結(jié)果 用“輸出設(shè)備”輸送出來(lái)。輸入設(shè)備包括鍵盤(pán)、鼠標(biāo)、掃描儀等。輸出設(shè)備包括顯示器、打 印機(jī)、繪圖儀等。 “運(yùn)算器”完成程序中規(guī)定的各種算術(shù)和邏輯運(yùn)算操作。為了使計(jì)算機(jī)各部 件有條不紊地工作,由“控制器”理解程序的意圖,并指揮各部件協(xié)調(diào)完成規(guī)定的任務(wù)。通 常,在微型計(jì)算機(jī)中,把控制器和運(yùn)算器制作在一塊集成電路內(nèi),并稱(chēng)之為中央處理器或中 央處理單元(CPU) 。CPU 是計(jì)算機(jī)中最重要的部件,被喻為計(jì)算機(jī)的大腦和心臟。其具體功能 有:程序控制、操作控制、時(shí)間控制、數(shù)據(jù)加工、控制程序和數(shù)據(jù)的輸入與結(jié)果的輸出、對(duì) 異常情況和請(qǐng)求的處理等等。目前微機(jī)常用的 CPU 芯片主要有 Intel 公司的 C800、C850、P 866、P1G、P1.3G、P1.4G、P1.7G、P1.8G 等等。 (2) 計(jì)算機(jī)的存儲(chǔ)器結(jié)構(gòu) 存儲(chǔ)器是計(jì)算機(jī)的記憶部件, 存儲(chǔ)單元 人們編寫(xiě)的程序就存放在這里,同時(shí) 存放程序中所用的數(shù)據(jù)及中間結(jié)果。 計(jì)算機(jī)之所以能脫離人的干預(yù)而高速 自動(dòng)地工作,其中一個(gè)必要條件就是 計(jì)算機(jī)中有一個(gè)能夠存放程序和數(shù)據(jù) 的存儲(chǔ)器。計(jì)算機(jī)的存儲(chǔ)器通常用半 導(dǎo)體存儲(chǔ)器。半導(dǎo)體存儲(chǔ)器內(nèi)部有很 圖 1.2 存儲(chǔ)單元示意圖 D7D6D5D4D3 D2 D1 D0 運(yùn)算器 控制器 存儲(chǔ)器 輸 出 設(shè) 備 輸 入 設(shè) 備 10 多存儲(chǔ)單元,每個(gè)單元可存放若干位(如 4、8、16、32 等,具體由字長(zhǎng)決定)二進(jìn)制數(shù)。如 8 位機(jī)每個(gè)單元可存放 8 位二進(jìn)制數(shù),也就是一個(gè)字節(jié)。為區(qū)分各個(gè)存儲(chǔ)單元,將每個(gè)單元賦 以一個(gè)二進(jìn)制代碼,稱(chēng)為存儲(chǔ)器的存儲(chǔ)單元地址,簡(jiǎn)稱(chēng)為地址。如圖 1.2 所示。 半導(dǎo)體存儲(chǔ)器按其存取方式可分為兩大類(lèi),即隨機(jī)存儲(chǔ)器 RAM(Random Access Memory) 和只讀存儲(chǔ)器 ROM(Read Only Memory)。RAM 在程序運(yùn)行過(guò)程中可讀可寫(xiě),但掉電后信息丟失, 常用來(lái)存放數(shù)據(jù),因此也叫數(shù)據(jù)存儲(chǔ)器。ROM 在程序運(yùn)行過(guò)程中存儲(chǔ)單元內(nèi)的內(nèi)容只能讀出而 不能存入,但掉電后信息不丟失,常用來(lái)存放程序,因此也叫程序存儲(chǔ)器。 至今為止,微型計(jì)算機(jī)的存儲(chǔ)器有兩種結(jié)構(gòu)形式。一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器采取 統(tǒng)一的地址編碼結(jié)構(gòu),即傳統(tǒng)微型計(jì)算機(jī)的存儲(chǔ)器結(jié)構(gòu),稱(chēng)為馮 諾依曼結(jié)構(gòu),也叫普林斯頓 結(jié)構(gòu)。另一種是將程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開(kāi)的地址編碼結(jié)構(gòu),稱(chēng)為哈佛結(jié)構(gòu)。見(jiàn)圖 1.3 所示。單片機(jī)通常采用哈佛結(jié)構(gòu), 但也有采用普林斯頓結(jié)構(gòu)的。如 Intel 公司的 MCS-48 系列單片機(jī)以 及 MCS-51 系列單片機(jī)均采用哈佛結(jié) 構(gòu),而 MCS-96 系列單片機(jī)則采用普 林斯頓結(jié)構(gòu)。 (a) 哈佛結(jié)構(gòu) (b) 普林斯頓結(jié)構(gòu) 圖 1.3 微機(jī)的存儲(chǔ)器結(jié)構(gòu) 1.2.2 單片機(jī)的概念 (1) 單片機(jī)的概念 在當(dāng)今的工作和生活環(huán)境中,有越來(lái)越多的單片機(jī)在為我們服務(wù),我們卻意識(shí)不到它的 存在。如:當(dāng)用搖控操縱電視或 VCD 機(jī)享受其多彩的畫(huà)面時(shí),我們并沒(méi)有意識(shí)到這是單片機(jī) 在接受我們的遙控指令;當(dāng)我們?cè)谙硎苋詣?dòng)洗衣機(jī)的先進(jìn)功能時(shí),并不知道這是單片機(jī)在 代替我們控制洗衣機(jī)運(yùn)作;單片機(jī)在 Call 機(jī)和手機(jī)等現(xiàn)代通信設(shè)備中亦發(fā)揮著重要的作用; 就連曾一度令許多青少年著迷的電子寵物,也是單片機(jī)在大顯神威??傊?,處處都有單片機(jī) 的身影。為什么我們意識(shí)不到他的存在呢?因?yàn)閱纹瑱C(jī)只是一小塊集成電路,而且是計(jì)算機(jī)。 要了解他,不僅需要硬件知識(shí),而且還要軟件知識(shí),這一般人是難以做到的。那么,單片機(jī) 究竟是什么呢?單片機(jī)就是將計(jì)算機(jī)的中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ) 器(ROM)、定時(shí)器/計(jì)數(shù)器和多種輸入/輸出接口(I/O)以及相互連接的總線(xiàn)(BUS)等集成在一塊 芯片上,形成了芯片級(jí)的計(jì)算機(jī)。又叫單片微型計(jì)算機(jī)(single chip microcomputer)或微 控制器(microcontroller),縮寫(xiě)為 MCU(microcontroller Unit)。實(shí)際上,單片機(jī)是微機(jī)的 一個(gè)分支。鑒于此,一般微機(jī)也叫多片微機(jī)。 (2) 單片機(jī)的特點(diǎn) 一塊單片機(jī)芯片就是一臺(tái)計(jì)算機(jī)。由于單片機(jī)的這種特殊的結(jié)構(gòu)形式,在某些應(yīng)用領(lǐng)域 中,它承擔(dān)了大中型計(jì)算機(jī)和通用微型計(jì)算機(jī)無(wú)法完成的一些工作。使其具有很多顯著的優(yōu) 點(diǎn)和特點(diǎn),因此在各個(gè)領(lǐng)域中都得到了迅猛的發(fā)展。單片機(jī)的特點(diǎn)歸納起來(lái)有以下幾個(gè)方面。 1) 具有優(yōu)異的性能價(jià)格比 單片機(jī)盡可能地把應(yīng)用所需的存儲(chǔ)器,各種功能的 I/O 接口集成在一塊芯片內(nèi),因而其性 能很高,而價(jià)格卻相對(duì)較低廉,即性能價(jià)格比很高。 2) 集成度高、體積小、可靠性高 單片機(jī)把各種功能部件集成在一塊芯片上,因而集成度高,均為大規(guī)?;虺笠?guī)模集成 存儲(chǔ)器 CPU 程序 存儲(chǔ)器 程序 存儲(chǔ)器 CPU 11 電路。又內(nèi)部采用總線(xiàn)結(jié)構(gòu),減少了芯片之間的連線(xiàn),這大大提高了單片機(jī)的可靠性與抗干 擾能力。同時(shí),其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。 3) 控制功能強(qiáng) 單片機(jī)體積雖小,但“五臟俱全” ,它非常適用于專(zhuān)門(mén)的控制用途。為了滿(mǎn)足工業(yè)控制要 求,一般單片機(jī)的指令系統(tǒng)中有極豐富的轉(zhuǎn)移指令,I/O 口的邏輯操作指令以及位操作指令。 其邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。 4) 低電壓、低功耗 單片機(jī)大量用于攜帶式產(chǎn)品和家用消費(fèi)類(lèi)產(chǎn)品,低電壓和低功耗尤為重要。目前,許多 單片機(jī)已可在 2.2V 電壓下運(yùn)行,有的已能在 1.2V 或 0.9V 下工作,功耗降至 A 級(jí),一粒鈕扣電 池就可長(zhǎng)期使用。 (3) 單片機(jī)的分類(lèi) 目前單片機(jī)品種很多,至少有 50 多個(gè)系列,300 多個(gè)品種。對(duì)這些單片機(jī)可按以下標(biāo)準(zhǔn) 進(jìn)行分類(lèi)。 1) 按生產(chǎn)廠(chǎng)家分 美國(guó)的英特爾(Intel) 公司、摩托羅拉(Motorola)公司、國(guó)家辦導(dǎo)體(NS) 公司、Atmel 公司、微芯片(Microchip) 公司、洛克威爾(Rockwell)公司、莫斯特克公司(Mostek)、齊洛 格(Zilog)公司、仙童(Fairchid)公司、德州儀器(TI)公司等等。日本的電氣(NS)公司、東芝 (Toshiba)公司、富士通(Fujitsu)公司、松下公司、日立(Hitachi)公司、日電(NEC)公司、 夏普公司等等。荷蘭的飛利浦(Philips)公司。德國(guó)的西門(mén)子(Siemens)公司等等。 2) 按字長(zhǎng)分 4 位單片機(jī) 4 位單片機(jī)的控制功能較弱,CPU 一次只能處理 4 位二進(jìn)制數(shù)。 這類(lèi)單片 機(jī)常用于計(jì)算器、各種形態(tài)的智能單元以及作為家用電器中的控制器。典型產(chǎn)品有 NEC 公司 的 UPD 75系列、 NS 公司的 COP400 系列、 松下公司的 MN1400 系列、 ROCKWELL 公司的 PPS/1 系列、富士通公司的 MB88 系列、夏普公司的 SM系列、Toshiba 公司的 TMP47系列 等等。 8 位單片機(jī) 8 位單片機(jī)的控制功能較強(qiáng),品種最為齊全。和 4 位單片機(jī)相比,它不 僅具有較大的存儲(chǔ)容量和尋址范圍,而且中斷源、并行 I/O 接口和定時(shí)器/計(jì)數(shù)器個(gè)數(shù)都有了 不同程度的增加,并集成有全雙工串行通信接口。在指令系統(tǒng)方面,普遍增設(shè)了乘除指令和 比較指令。特別是 8 位機(jī)中的高性能增強(qiáng)型單片機(jī),除片內(nèi)增加了 A/D 和 D/A 轉(zhuǎn)換器外,還 集成有定時(shí)器捕捉/比較寄存器、監(jiān)視定時(shí)器(Watchdog)、總線(xiàn)控制部件和晶體振蕩電路等。 這類(lèi)單片機(jī)由于其片內(nèi)資源豐富和功能強(qiáng)大,主要在工業(yè)控制、智能儀表、家用電器和辦公 自動(dòng)化系統(tǒng)中應(yīng)用。代表產(chǎn)品有 Intel 公司的 MCS-48 系列和 MCS-51 系列 、Microchip 公司 的 PIC16C系列和 PIC17C系列以及 PIC1400 系列、Motorola 公司的 M68HC05 系列和 M68HC11 系列、 Zilog 公司的 Z8 系列、 荷蘭 Philips 公司的 80C51 系列(同 MCS-51 兼容)、 Atmel 公司的 AT89 系列(同 MCS-51 兼容)、NEC 公司的 UPD78系列等等。 16 位單片機(jī) 16 位單片機(jī)是在 1983 年以后發(fā)展起來(lái)的。這類(lèi)單片機(jī)的特點(diǎn)是:CPU 是 16 位的,運(yùn)算速度普遍高于 8 位機(jī),有的單片機(jī)的尋址能力高達(dá) 1MB,片內(nèi)含有 A/D 和 D/A 轉(zhuǎn)換電路,支持高級(jí)語(yǔ)言。這類(lèi)單片機(jī)主要用于過(guò)程控制、智能儀表、家用電器以及作為計(jì) 算機(jī)外部設(shè)備的控制器等。 典型產(chǎn)品有Intel公司的MCS-96/98系列、 Motorola公司的M68HC16 系列、NS 公司的 783系列、Mostek 公司的 MC68200 系列等等。 32 位單片機(jī) 32 位單片機(jī)的字長(zhǎng)為 32 位,是單片機(jī)的頂級(jí)產(chǎn)品,具有極高的運(yùn)算 速度。近年來(lái),隨著家用電子系統(tǒng)的新發(fā)展,32 位單片機(jī)的市場(chǎng)前景看好。這類(lèi)單片機(jī)的代 表產(chǎn)品有 Intel 公司的 MCS-80960 系列、 Motorola 公司的 M68300 系列、 Hitachi 公司的 Super 12 H(簡(jiǎn)稱(chēng) SH)系列等等。 3) 按制造工藝分 HMOS 工藝 高密度短溝道 MOS 工藝,具有高速度、高密度的特點(diǎn)。 CHMOS(或 HCMOS)工藝 互補(bǔ)的金屬氧化物的 HMOS 工藝,是 CMOS 和 HMOS 的結(jié)合,具 有高密度、高速度、低功耗的特點(diǎn)。Intel 公司產(chǎn)品型號(hào)中若帶有字母“C” ,Motorola 公 司產(chǎn)品型號(hào)中若帶有字母“HC”或“L” ,通常為 CHMOS 工藝。 4) 按使用范圍分 通用單片機(jī) 把開(kāi)發(fā)資源(如 ROM、I/O 口等)全部提供給用戶(hù)使用,其適應(yīng)性較強(qiáng), 應(yīng)用非常廣泛。本教材主要介紹通用單片機(jī)。 專(zhuān)用單片機(jī) 是針對(duì)各種特殊需要而專(zhuān)門(mén)設(shè)計(jì)的芯片。如電視機(jī)、空調(diào)、洗衣機(jī)等 家用電器通常使用專(zhuān)用單片機(jī)。 1.2.3 單片機(jī)的應(yīng)用范圍 單片機(jī)的特點(diǎn)決定其應(yīng)用領(lǐng)域非常寬廣。無(wú)論是工業(yè)部門(mén)、國(guó)防部門(mén)、民用部門(mén)乃至事 業(yè)部門(mén),到處都有他的身影?,F(xiàn)將單片機(jī)的應(yīng)用大致歸納為以下幾個(gè)方面。 (1) 在智能儀器儀表中的應(yīng)用 這是單片機(jī)應(yīng)用最多,最活躍的領(lǐng)域之一。在各類(lèi)儀器儀表中引入單片機(jī),使其智能化, 提高測(cè)試的自動(dòng)化程度和精度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性?xún)r(jià)比。同時(shí)便于使用、 維修和改進(jìn)。如用 MCS-51 系列單片機(jī)控制的“汽車(chē)發(fā)動(dòng)機(jī)綜合測(cè)試儀” 、 “煙葉水分測(cè)試儀” 、 “智能超聲波測(cè)試儀”等。 (2) 在機(jī)電一體化中的應(yīng)用 機(jī)電一體化是指集機(jī)械技術(shù)、微電子技術(shù)、自動(dòng)化技術(shù)和計(jì)算機(jī)技術(shù)于一體,具有智能 化特征的機(jī)電產(chǎn)品。這是機(jī)械工業(yè)發(fā)展的方向。單片機(jī)的出現(xiàn)促進(jìn)了機(jī)電一體化,他作為機(jī) 電產(chǎn)品中的控制器,能充分發(fā)揮其體積小、可靠性高、功能強(qiáng)、安裝方便等到特點(diǎn),大大強(qiáng) 化了機(jī)器的功能,提高了機(jī)器的自動(dòng)化、智能化程度。 (3) 在實(shí)時(shí)過(guò)程控制中的應(yīng)用 單片機(jī)也廣范地應(yīng)用于各種實(shí)時(shí)控制系統(tǒng)中,例如對(duì)工業(yè)上各種窯爐、鍋爐的溫度、酸 度、化學(xué)成分的測(cè)量和控制。將測(cè)量技術(shù)、自動(dòng)控制技術(shù)和單片機(jī)技術(shù)相結(jié)合,充分發(fā)揮其 數(shù)據(jù)處理和實(shí)時(shí)控制功能,使系統(tǒng)工作于最佳狀態(tài),提高系統(tǒng)的生產(chǎn)效率和產(chǎn)品的質(zhì)量。在 航空航天、通訊、遙控、遙測(cè)等各種實(shí)時(shí)控制系統(tǒng)中都可以用單片機(jī)作為控制器。 (4) 在分布式多機(jī)系統(tǒng)中的應(yīng)用 分布式多機(jī)系統(tǒng)具有功能強(qiáng)可靠性高的特點(diǎn),在比較復(fù)雜的系統(tǒng)中,都采用分布式多機(jī) 系統(tǒng)。系統(tǒng)中有若干臺(tái)功能各異的計(jì)算機(jī),各自完成特定的任務(wù),它們又通過(guò)通訊線(xiàn)路相互 聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種多機(jī)系統(tǒng)中,往往作為一個(gè)終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn) 上,對(duì)現(xiàn)場(chǎng)信息進(jìn)行實(shí)時(shí)的測(cè)量和控制。高檔的單片機(jī)多機(jī)通訊(并行或串行)功能很強(qiáng),它 們?cè)诜植际蕉鄼C(jī)系統(tǒng)中能發(fā)揮很大作用。 (5) 在家用電器中的應(yīng)用 家用電器涉及到千家萬(wàn)戶(hù),生產(chǎn)規(guī)模大。目前國(guó)內(nèi)外各種家用電器都已普遍采用單片機(jī) 代替?zhèn)鹘y(tǒng)的控制電路。如洗衣機(jī)、電冰箱、空調(diào)、電飯煲、收音機(jī)、功放、電風(fēng)扇、電視機(jī)、 VCD、DVD 及許許多多的電子玩具等等都配上了單片機(jī)。從而提高了自動(dòng)化程度,增強(qiáng)了功能, 深受用戶(hù)的歡迎。 (6) 在其它方面的應(yīng)用 除以上之外,單片機(jī)還廣泛用于辦公自動(dòng)化、商業(yè)營(yíng)銷(xiāo)、汽車(chē)及通信系統(tǒng)、計(jì)算機(jī)外設(shè)、 13 模糊控制等各種領(lǐng)域中。 1.2.4 單片機(jī)的發(fā)展 自從 1974 年美國(guó)仙童(Fairchild)公司的第一臺(tái)單片機(jī)問(wèn)世以來(lái),單片機(jī)的發(fā)展特別迅 速,各種新、高性能單片機(jī)不斷推陳出新沖向市場(chǎng)。迄今為止已有 30 多年歷史,經(jīng)歷了五個(gè) 發(fā)展階段。 第一階段(19711974):?jiǎn)纹瑱C(jī)萌芽階段。1971 年 11 月美國(guó) Intel 公司設(shè)計(jì)成集成度 為 2000 只晶體管/片的 4 位微處理器 Intel4004,并且配有隨機(jī)存儲(chǔ)器 RAM,只讀存儲(chǔ)器 ROM 和移位寄存器等芯片,構(gòu)成第一臺(tái) MCS-4 微型計(jì)算機(jī)。隨后又研制成了 8 位微處理器 Intel8008。在此期間 Fairchild 公司也研制成了 8 位微處理器 F8。這些微處理器雖說(shuō)還不是 單片機(jī),但從此拉開(kāi)了研制單片機(jī)的序幕。 第二階段(19741978):初級(jí)單片機(jī)階段。 以 Intel 公司的 MCS-48 為代表。 它將 8 位 CPU、 并行 I/O 口、8 位定時(shí)器/計(jì)數(shù)器和 28 字節(jié)的 RAM 集成在一個(gè)芯片內(nèi)。尋址范圍不大于 4KB, 且無(wú)串行口。使用的是 NMOS 工藝。 第三階段(19781983):高性能單片機(jī)階段。這一階段單片機(jī)和前階段相比,不僅存儲(chǔ)容 量和尋址范圍大,而且中斷源、并行 I/O 口和定時(shí)器/計(jì)數(shù)器個(gè)數(shù)有了增加,集成了全雙工串 行通信接口。在指令系統(tǒng)方面,普遍增設(shè)了乘除法和比較指令。這類(lèi)單片機(jī)代表產(chǎn)品有 Intel 公司的 MCS-51 系列機(jī)、Motorola 公司的 MC6801 系列機(jī)、Zilog 公司的 Z8 系列機(jī)、TI 公司的 TMS7000 系列機(jī)等。此外,Rockwell、NS、GI 和日本松下公司也先后生產(chǎn)了自己的單片機(jī)系 列。由于這類(lèi)單片機(jī)應(yīng)用領(lǐng)域極其廣泛,各大公司都大力改進(jìn)其結(jié)構(gòu)與性能。所以,這個(gè)系 列的各類(lèi)產(chǎn)品目前仍是國(guó)內(nèi)外產(chǎn)品的主流。其中 MCS-51 系列產(chǎn)品由于其優(yōu)良的性能價(jià)格比, 有可能在相當(dāng)長(zhǎng)一段時(shí)間內(nèi)處于主流產(chǎn)品地位。因此,本教材重點(diǎn)介紹 MCS-51 單片機(jī)。 第四階段(1983) :8 位單片機(jī)鞏固發(fā)展及 16 位單片機(jī)推出階段。16 位單片機(jī)工藝先 進(jìn)、集成度高、內(nèi)部功能強(qiáng),加法運(yùn)算速度可達(dá) 1s 以上,而且允許用戶(hù)采用面向工業(yè)控制的 專(zhuān)用語(yǔ)言。代表產(chǎn)品有 Intel 公司的 MCS-96 系列、TI 公司的 TMS9900、NEC 公司的 783 系列和 NS 公司的 HPC16040 等。 現(xiàn)階段:32 位單片微機(jī)系列。繼 16 位單片機(jī)出現(xiàn)后不久,幾大公司先后推出了代表當(dāng) 前最高性能和技術(shù)水平的 32 位單片微機(jī)系列。32 位單片機(jī)具有極高的集成度,內(nèi)部采用新穎 的 RISC(精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī))結(jié)構(gòu),CPU 可與其他微控制器兼容,主頻頻率可達(dá) 33MHz 以 上,指令系統(tǒng)進(jìn)一步優(yōu)化,運(yùn)算速度可動(dòng)態(tài)改變,設(shè)有高級(jí)語(yǔ)言編譯器,具有性能強(qiáng)大的中 斷控制系統(tǒng)、定時(shí)/事件控制系統(tǒng)、同步/異步通信控制系統(tǒng)。代表產(chǎn)品有 Intel 公司的 MCS-80960 系列、Motorola 公司的 M68300 系列、Hitachi 公司的 Super H(簡(jiǎn)稱(chēng) SH)系列等等。 這類(lèi)單片機(jī)主要應(yīng)用于汽車(chē)、航空航天、高級(jí)機(jī)器人、軍事裝備等方面。它代表著單片 機(jī)發(fā)展中的高、新技術(shù)水平。 1.2.5 單片機(jī)系統(tǒng) (1) 微型計(jì)算機(jī)系統(tǒng)的組成 微型計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。 1) 硬件系統(tǒng)(hardware system) 硬件是指構(gòu)成微型計(jì)算機(jī)系統(tǒng)的物理實(shí)體或稱(chēng)物理裝置,是看得見(jiàn),摸得著的。微型計(jì) 算機(jī)系統(tǒng)的常用硬件主要由主機(jī)箱、CRT 或 LCD 顯示器、鍵盤(pán)、鼠標(biāo)、打印機(jī)、繪圖儀、掃描 儀等組成。主機(jī)箱內(nèi)裝有主機(jī)板、硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器和電源等。微處理 器、存儲(chǔ)器(即內(nèi)存)和 I/O 接口等裝在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市場(chǎng)開(kāi)發(fā)合作協(xié)議及附件
- 專(zhuān)業(yè)技能培訓(xùn)合格證明書(shū)(8篇)
- 農(nóng)業(yè)養(yǎng)殖技術(shù)改良與應(yīng)用協(xié)議
- 行政管理市場(chǎng)營(yíng)銷(xiāo)試題及答案總結(jié)
- 企業(yè)戰(zhàn)略與資源配置的動(dòng)態(tài)關(guān)系試題及答案
- 2025年農(nóng)村住宅建設(shè)規(guī)范:自建住宅買(mǎi)賣(mài)合同
- 行政管理本科課程試題及答案總結(jié)
- 行政管理學(xué)考試常見(jiàn)題型試題及答案
- 2025年行政管理考核模式試題及答案
- 建筑工程考試前沿試題及答案分析
- 2025年北京市西城區(qū)高三二模語(yǔ)文試卷(含答案)
- 冀教英語(yǔ)六年級(jí)下冊(cè)作文范文
- 10x2000對(duì)稱(chēng)式三輥卷板機(jī)設(shè)計(jì)機(jī)械畢業(yè)設(shè)計(jì)論文
- 講課資料全文解讀《公務(wù)員回避規(guī)定》PPT課件
- GB∕T 8334-2022 液化石油氣鋼瓶定期檢驗(yàn)與評(píng)定
- 律師事務(wù)所勞動(dòng)合同范本2(律師助理和實(shí)習(xí)律師參照適用
- 可以復(fù)制、輸入文字的田字格WORD模板++(共11頁(yè))
- 施工單位動(dòng)火申請(qǐng)書(shū)內(nèi)容
- 歐洲家族性腺瘤性息肉病處理指南
- 不銹鋼板墻面施工工藝
- 電子客票業(yè)務(wù)介紹課件
評(píng)論
0/150
提交評(píng)論