單片機(jī)數(shù)制與碼制_第1頁(yè)
單片機(jī)數(shù)制與碼制_第2頁(yè)
單片機(jī)數(shù)制與碼制_第3頁(yè)
單片機(jī)數(shù)制與碼制_第4頁(yè)
單片機(jī)數(shù)制與碼制_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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)介

單片機(jī)原理及應(yīng)用主講:劉春梅單片機(jī)的預(yù)備知識(shí)(數(shù)制與碼制)進(jìn)位計(jì)數(shù)制及各計(jì)數(shù)制間的轉(zhuǎn)換二進(jìn)制數(shù)的運(yùn)算

帶符號(hào)數(shù)的表示方法——原碼、反碼、補(bǔ)碼BCD碼和ASCII碼進(jìn)位計(jì)數(shù)制及各計(jì)數(shù)制間的轉(zhuǎn)換按進(jìn)位原則進(jìn)行計(jì)數(shù)的方法,稱(chēng)為進(jìn)位計(jì)數(shù)制。十進(jìn)制數(shù)有兩個(gè)主要特點(diǎn):

(1)有10個(gè)不同的數(shù)字符號(hào):0、1、2、…、9;(2)低位向高位進(jìn)位的規(guī)律是“逢十進(jìn)一”。因此,同一個(gè)數(shù)字符號(hào)在不同的數(shù)位所代表的數(shù)值是不同的。如555.5中4個(gè)5分別代表500、50、5和0.5,這個(gè)數(shù)可以寫(xiě)成:式中的10稱(chēng)為十進(jìn)制的基數(shù),102、101、100、10-1稱(chēng)為各數(shù)位的權(quán)。進(jìn)位計(jì)數(shù)制任意一個(gè)十進(jìn)制數(shù)N都可以表示成按權(quán)展開(kāi)的多項(xiàng)式:其中,di是0~9共10個(gè)數(shù)字中的任意一個(gè),m是小數(shù)點(diǎn)右邊的位數(shù),n是小數(shù)點(diǎn)左邊的位數(shù),i是數(shù)位的序數(shù)。例如,543.21可表示為:

543.21=5×102+4×101+3×100+2×10-1+1×10-2一般而言,對(duì)于用R進(jìn)制表示的數(shù)N,可以按權(quán)展開(kāi)為式中,ai

是0、1、…、(R-1)中的任一個(gè),m、n是正整數(shù),R是基數(shù)。在R進(jìn)制中,每個(gè)數(shù)字所表示的值是該數(shù)字與它相應(yīng)的權(quán)Ri的乘積,計(jì)數(shù)原則是“逢R進(jìn)一”。二進(jìn)制數(shù)當(dāng)R=2時(shí),稱(chēng)為二進(jìn)位計(jì)數(shù)制,簡(jiǎn)稱(chēng)二進(jìn)制。在二進(jìn)制數(shù)中,只有兩個(gè)不同數(shù)碼:0和1,進(jìn)位規(guī)律為“逢二進(jìn)一”。任何一個(gè)數(shù)N,可用二進(jìn)制表示為例如,二進(jìn)制數(shù)1011.01可表示為(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2

八進(jìn)制數(shù)當(dāng)R=8時(shí),稱(chēng)為八進(jìn)制。在八進(jìn)制中,有0、1、2、…、7共8個(gè)不同的數(shù)碼,采用“逢八進(jìn)一”的原則進(jìn)行計(jì)數(shù)。如(503)8可表示為:(503)8=5×82+0×81+3×80

十六進(jìn)制

當(dāng)R=16時(shí),稱(chēng)為十六進(jìn)制。在十六進(jìn)制中,有0、1、2、…、9、A、B、C、D、E、F共16個(gè)不同的數(shù)碼,進(jìn)位方法是“逢十六進(jìn)一”。例如,(3A8.0D)16可表示為:(3A8.0D)16=3×162+10×161+8×160+0×16-1+13×16-2

各種進(jìn)位制的對(duì)應(yīng)關(guān)系十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F7111771610000201081000108不同進(jìn)制間的相互轉(zhuǎn)換二、八、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制

例1:將數(shù)(10.101)2,(46.12)8,(2D.A4)16轉(zhuǎn)換為十進(jìn)制。(10.101)2=1×21+0×20+1×2-1+0×2-2+1×2-3=2.625(46.12)8=4×81+6×80+1×8-1+2×8-2=38.15625(2D.A4)16=2×161+13×160+10×16-1+4×16-2=45.64062十進(jìn)制數(shù)轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)

任意十進(jìn)制數(shù)N轉(zhuǎn)換成R進(jìn)制數(shù),需將整數(shù)部分和小數(shù)部分分開(kāi),采用不同方法分別進(jìn)行轉(zhuǎn)換,然后用小數(shù)點(diǎn)將這兩部分連接起來(lái)。

(1)整數(shù)部分:除基取余法。分別用基數(shù)R不斷地去除N的整數(shù),直到商為零為止,每次所得的余數(shù)依次排列即為相應(yīng)進(jìn)制的數(shù)碼。最初得到的為最低有效數(shù)字,最后得到的為最高有效數(shù)字。例2:將(168)10轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)。(2)小數(shù)部分:乘基取整法。分別用基數(shù)R(R=2、8或16)不斷地去乘N的小數(shù),直到積的小數(shù)部分為零(或直到所要求的位數(shù))為止,每次乘得的整數(shù)依次排列即為相應(yīng)進(jìn)制的數(shù)碼。最初得到的為最高有效數(shù)字,最后得到的為最低有效數(shù)字。例3:將0.686轉(zhuǎn)換成二、八、十六進(jìn)制數(shù)(用小數(shù)點(diǎn)后5位表示)。例4:將168.686轉(zhuǎn)換為二、八、十六進(jìn)制數(shù)。根據(jù)例2、例3可得:二進(jìn)制與八進(jìn)制之間的相互轉(zhuǎn)換

由于23=8,故可采用“合三為一”的原則,即從小數(shù)點(diǎn)開(kāi)始分別向左、右兩邊各以3位為一組進(jìn)行二——八換算:若不足3位的以0補(bǔ)足,便可將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)。反之,采用“一分為三”的原則,每位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示,就可將八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。例6:將(123.45)8轉(zhuǎn)換成二進(jìn)制數(shù)。123.45001010011.100101即(123.45)8=(1010011.100101)2

即(101011.01101)2=(53.32)8

101011.01101053.32例5:將(101011.01101)2轉(zhuǎn)換為八進(jìn)制數(shù)。二進(jìn)制與十六進(jìn)制之間的相互轉(zhuǎn)換

由于24=16,故可采用“合四為一”的原則,即從小數(shù)點(diǎn)開(kāi)始分別向左、右兩邊各以4位為一組進(jìn)行二——十六換算:若不足4位的以0補(bǔ)足,便可將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)。反之,采用“一分為四”的原則,每位十六進(jìn)制數(shù)用四位二進(jìn)制數(shù)表示,就可將十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。例7:將(110101.011)2轉(zhuǎn)換為十六進(jìn)制數(shù)。00110101.011035.6即(110101.011)2=(35.6)16

例8:將(4A5B.6C)16轉(zhuǎn)換為二進(jìn)制數(shù)。

4A5B.6C0100101001011011.01101100即:(4A5B.6C)16=(100101001011011.011011)2

二進(jìn)制數(shù)的運(yùn)算二進(jìn)制數(shù)的算術(shù)運(yùn)算二進(jìn)制數(shù)只有0和1兩個(gè)數(shù)字,其算術(shù)運(yùn)算較為簡(jiǎn)單,加、減法遵循“逢二進(jìn)一”、“借一當(dāng)二”的原則。1.加法運(yùn)算規(guī)則:0+0=0;0+1=1;1+0=1;1+1=10(有進(jìn)位)例:求11001010B+11101B。解:被加數(shù)11001010加數(shù)11101進(jìn)位+)00110000和11100111則11001010B+11101B=11100111B。由此可見(jiàn),兩個(gè)二進(jìn)制數(shù)相加時(shí),每1位有3個(gè)數(shù)參與運(yùn)算(本位被加數(shù)、加數(shù)、低位進(jìn)位),從而得到本位和以及向高位的進(jìn)位。2.減法運(yùn)算1位二進(jìn)制數(shù)減法規(guī)則為:1-0=1,1-1=0,0-0=0,0-1=1(有借位)例:求10101010B-10101B。解:被減數(shù)10101010

減數(shù)10101

借位-)00101010

差10010101則10101010B-10101B=10010101B。3.乘法運(yùn)算規(guī)則:0×0=0;0×1=1×0=0;1×1=1例:求1011B×1101B。4.除法運(yùn)算規(guī)則:0/1=0;1/1=1例:求10100101B/1111B二進(jìn)制數(shù)的邏輯運(yùn)算1.“與”運(yùn)算(AND)“與”運(yùn)算又稱(chēng)邏輯乘,運(yùn)算符為·或∧?!芭c”運(yùn)算的規(guī)則:0·0=0;0·1=1·0=0;1·1=1

例:若二進(jìn)制數(shù)X=10101111B,Y=01011110B,求X·Y。

10101111∧0101111000001110

則X·Y=00001110B。2.“或”運(yùn)算(OR)“或”運(yùn)算又稱(chēng)邏輯加,運(yùn)算符為+或∨?!盎颉边\(yùn)算的規(guī)則:0+0=0;0+1=1+0=1;1+1=1例:若二進(jìn)制數(shù)X=10101111B,Y=01011110B,求X+Y。

10101111∨0101111011111111

則X+Y=11111111B。3.“非”運(yùn)算(NOT)“非”運(yùn)算是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,如變量A的“非”運(yùn)算記作。其運(yùn)算規(guī)則如下:A例:若A=10101B,求A4.“異或”運(yùn)算(XOR)“異或”運(yùn)算是實(shí)現(xiàn)“必須不同,否則就沒(méi)有”這種邏輯的一種運(yùn)算,運(yùn)算符為“”。其運(yùn)算規(guī)則是:例:若X=1010B,Y=0110B,求XY。101001101100即XY=1100B帶符號(hào)數(shù)的表示方法——原碼、反碼、補(bǔ)碼機(jī)器數(shù)與真值單片機(jī)在數(shù)的運(yùn)算中,不可避免地會(huì)遇到正數(shù)和負(fù)數(shù),那么正負(fù)符號(hào)如何表示呢?由于計(jì)算機(jī)只能識(shí)別0和1,因此,我們將一個(gè)二進(jìn)制數(shù)的最高位用作符號(hào)位來(lái)表示這個(gè)數(shù)的正負(fù)。規(guī)定符號(hào)位用“0”表示正,用“1”表示負(fù)。例如,X=-1101010B,Y=+1101010B,則X表示為:11101010B,Y表示為01101010B。數(shù)的碼制1.原碼當(dāng)正數(shù)的符號(hào)位用0表示,負(fù)數(shù)的符號(hào)位用1表示,數(shù)值部分用真值的絕對(duì)值來(lái)表示的二進(jìn)制機(jī)器數(shù)稱(chēng)為原碼,用[X]原表示,設(shè)X為整數(shù)。若X=+Xn-2Xn-3…X1X0,則[X]原=0Xn-2Xn-3…X1X0=X;若X=-Xn-2Xn-3…X1X0,則[X]原=1Xn-2Xn-3…X1X0=2n-1-X。其中,X為n-1位二進(jìn)制數(shù),Xn-2、Xn-3、…、X1、X0為二進(jìn)制數(shù)0或1。例如+115和-115在計(jì)算機(jī)中(設(shè)機(jī)器數(shù)的位數(shù)是8)其原碼可分別表示為[+115]原=01110011B;[-115]原=11110011B可見(jiàn),真值X與原碼[X]原的關(guān)系為值得注意的是,由于[+0]原=00000000B,而[-0]原=10000000B,所以數(shù)0的原碼不唯一。8位二進(jìn)制原碼能表示的范圍是:-127~+127。2.反碼一個(gè)正數(shù)的反碼,等于該數(shù)的原碼;一個(gè)負(fù)數(shù)的反碼,由它的正數(shù)的原碼按位取反形成。反碼用[X]反表示。若X=-Xn-2Xn-3…X1X0,則[X]反=1Xn-2Xn-3…X1X0。例如:X=+103,則[X]反=[X]原=01100111B;

X=-103,則[X]原=11100111B,則[X]反=10011000B。3.補(bǔ)碼

“?!笔侵敢粋€(gè)計(jì)量系統(tǒng)的計(jì)數(shù)量程。如,時(shí)鐘的模為12。任何有模的計(jì)量器,均可化減法為加法運(yùn)算。仍以時(shí)鐘為例,設(shè)當(dāng)前時(shí)鐘指向11點(diǎn),而準(zhǔn)確時(shí)間為7點(diǎn),調(diào)整時(shí)間的方法有兩種,一種是時(shí)鐘倒撥4小時(shí),即11-4=7;另一種是時(shí)鐘正撥8小時(shí),即11+8=12+7=7。由此可見(jiàn),在以12為模的系統(tǒng)中,加8和減4的效果是一樣的,即-4=+8(mod12)。對(duì)于n位單片機(jī)來(lái)說(shuō),數(shù)X的補(bǔ)碼定義為

即正數(shù)的補(bǔ)碼就是它本身,負(fù)數(shù)的補(bǔ)碼是真值與模數(shù)相加而得??梢?jiàn):①正數(shù)的補(bǔ)碼與其原碼相同,即[X]補(bǔ)=[X]原;②零的補(bǔ)碼為零,[+0]補(bǔ)=[-0]補(bǔ)=000…00;③負(fù)數(shù)才有求補(bǔ)碼的問(wèn)題。負(fù)數(shù)補(bǔ)碼的求法補(bǔ)碼的求法一般有兩種:①用補(bǔ)碼定義式:[X]補(bǔ)=2n+X=2n-|X|-2n-1≤X≤0(整數(shù))在用補(bǔ)碼定義式求補(bǔ)碼的過(guò)程中,由于做一次減法很不方便,故該法一般不用。例如:X=-0101111B,n=8,則[X]補(bǔ)=28+(-0101111B)

=100000000B-0101111B

=11010001B(mod28)②用原碼求反碼,再在數(shù)值末位加1可得到補(bǔ)碼,即:[X]補(bǔ)=[X]反+1。例:假設(shè)X1=+83,X2=-76,當(dāng)用8位二進(jìn)制數(shù)表示一個(gè)數(shù)時(shí),求X1、X2的原碼、反碼及補(bǔ)碼。解:[X1]原=[X1]反=[X1]補(bǔ)=01010011B

[X2]原=11001100B[X2]反=10110011B[X2]補(bǔ)=[X]反+1=10110100B

綜上所述可歸納為:正數(shù)的原碼、反碼、補(bǔ)碼就是該數(shù)本身;負(fù)數(shù)的原碼其符號(hào)位為1,數(shù)值位不變;負(fù)數(shù)的反碼其符號(hào)位為1,數(shù)值位逐位求反;負(fù)數(shù)的補(bǔ)碼其符號(hào)位為1,數(shù)值位逐位求反并在末位加1。BCD碼(BinaryCodedDecimal)

二進(jìn)制數(shù)以其物理易實(shí)現(xiàn)和運(yùn)算簡(jiǎn)單的優(yōu)點(diǎn)在計(jì)算機(jī)中得到了廣泛應(yīng)用,但人們?nèi)粘A?xí)慣最熟悉的還是十進(jìn)制。為了既滿(mǎn)足人們的習(xí)慣,又能讓計(jì)算機(jī)接受,便引入了BCD碼。它用二進(jìn)制數(shù)碼按照不同規(guī)律編碼來(lái)表示十進(jìn)制數(shù),這樣的十進(jìn)制數(shù)的二進(jìn)制編碼,既具有二進(jìn)制的形式,又具有十進(jìn)制的特點(diǎn),便于傳遞處理。BCD碼和ASCII碼1位十進(jìn)制數(shù)有0~9共10個(gè)不同數(shù)碼,需要由4位二進(jìn)制數(shù)來(lái)表示。4位二進(jìn)制數(shù)有16種組合,取其10種組合分別代表10個(gè)十進(jìn)制數(shù)碼。最常用的方法是8421BCD碼,其中8、4、2、1分別為4位二進(jìn)制數(shù)的位權(quán)值。下表給出了十進(jìn)制數(shù)和8421BCD碼的對(duì)應(yīng)關(guān)系。

從表中可看出8421BCD碼與十進(jìn)制數(shù)關(guān)系直觀,二—十間相互轉(zhuǎn)換容易。例如:將78.43轉(zhuǎn)換成相應(yīng)的BCD碼,而將(01101001.0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論