單片機程序中的各種數(shù)字_第1頁
單片機程序中的各種數(shù)字_第2頁
單片機程序中的各種數(shù)字_第3頁
單片機程序中的各種數(shù)字_第4頁
單片機程序中的各種數(shù)字_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

單片機程序中的各種數(shù)字第一頁,共三十九頁,2022年,8月28日程序中的各種數(shù)字用單片機對目標設(shè)備進行控制是我們學習單片機的目的。一個單片機控制系統(tǒng)除必要的硬件支撐外,還需要軟件支持。那么軟件是什么呢?如果抽象地回答:軟件就是指揮控制系統(tǒng)協(xié)調(diào)工作的程序。我們將要介紹的單片機是數(shù)字計算機的范疇,它只能識別數(shù)字,所以我們的軟件基礎(chǔ)的學習還是從數(shù)字、數(shù)制以及如何存放著手。第二頁,共三十九頁,2022年,8月28日任意一個十進制數(shù)N都可以表示成按權(quán)展開的多項式:

其中,di是0~9共10個數(shù)字中的任意一個,m是小數(shù)點右邊的位數(shù),n是小數(shù)點左邊的位數(shù),i是數(shù)位的序數(shù)。例如,543.21可表示為:

543.21=5×102+4×101+3×100+2×10-1+1×10-2第三頁,共三十九頁,2022年,8月28日任意一個十六進制數(shù)N可以表示成按權(quán)展開的多項式:其中,di是0~F共16個數(shù)字中的任意一個,m是小數(shù)點右邊的位數(shù),n是小數(shù)點左邊的位數(shù),i是數(shù)位的序數(shù)。例如,54E.21H可表示為:

54E.21H=5×162+4×161+14×160+2×16-1+1×16-2第四頁,共三十九頁,2022年,8月28日任意一個二進制數(shù)N都可以表示成按權(quán)展開的多項式:

其中,di是0、1兩個數(shù)字中的任意一個,m是小數(shù)點右邊的位數(shù),n是小數(shù)點左邊的位數(shù),i是數(shù)位的序數(shù)。例如,101.01B可表示為:

101.01B

=1×22+0×21+1×20+0×2-1+1×2-2第五頁,共三十九頁,2022年,8月28日一般而言,對于用R進制表示的數(shù)N,可以按權(quán)展開為式中,ai

是0、1、…、(R-1)中的任一個,m、n是正整數(shù),R是基數(shù)。在R進制中,每個數(shù)字所表示的值是該數(shù)字與它相應的權(quán)Ri的乘積,計數(shù)原則是“逢R進一”。第六頁,共三十九頁,2022年,8月28日十六進制Hexadecimal十進制Decimal二進制Binary數(shù)制及其數(shù)制之間的轉(zhuǎn)換計算機只識別二進制十六進制書寫起來比二進制方便日常生活中人們習慣用十進制第七頁,共三十九頁,2022年,8月28日

二進制數(shù)與十六進制數(shù)二進制與十六進制數(shù)有什么關(guān)系?

四位二進制數(shù)剛好是一位十六進制數(shù)。同一個數(shù),用二進制表示需要8位,但用十六進制表示只需要2位。計算機使用二進制,我們書寫時采用十六進制。這叫“各取所需”。第八頁,共三十九頁,2022年,8月28日實際上:

n位二進制數(shù)可以表示2n種組合。1位能表示21種組合(0、1,在計算機中稱作位)4位能表示24=16種組合(0~15的整數(shù)即1位16進制數(shù))。0000B=0(H)0001B=1(H)0010B=2(H)0011B=3(H)0100B=4(H)0101B=5(H)0110B=6(H)0111B=7(H)1000B=8(H)1001B=9(H)1010B=A(H)1011B=B(H)1100B=C(H)1101B=D(H)1110B=E(H)1111B=F(H)4位二進制(1位16進制數(shù))在計算機中稱作半字節(jié)第九頁,共三十九頁,2022年,8月28日數(shù)制之間的轉(zhuǎn)換十進制數(shù)轉(zhuǎn)換成非十進制數(shù)整數(shù)部分采用除基數(shù)取余法,直至商為0,先得到的余數(shù)為低位,后得到的余數(shù)為高位。小數(shù)部分采用乘基數(shù)取整法,直至乘積為整數(shù)或達到控制精度。除基取余法乘基取整法整數(shù)部分小數(shù)部分對于R進制基=R第十頁,共三十九頁,2022年,8月28日

將(168)10轉(zhuǎn)換成二、十六進制數(shù)。

第十一頁,共三十九頁,2022年,8月28日

將0.625D轉(zhuǎn)換成二進制和十六進制:

二進制:乘2取整

0.625×2=1.25…1,0.25×2=0.50…0,0.5×2=1…1

0.625D=0.101B十六進制:乘16取整0.625X16=10…A0.625D=0.AH第十二頁,共三十九頁,2022年,8月28日表2.1十進制與二進制數(shù)、十六進制數(shù)對應關(guān)系

十進制二進制十六進制十進制二進制十六進制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008第十三頁,共三十九頁,2022年,8月28日二進制數(shù)與十六進制數(shù)轉(zhuǎn)換

將二進制數(shù)轉(zhuǎn)換成十六進制數(shù)可按四位一組進行分組,每一組對應十六進制的相應數(shù)碼,組合即得轉(zhuǎn)換結(jié)果。分組時如果位數(shù)不夠(即:位數(shù)不是4的倍數(shù)),整數(shù)部分在最左邊補0,小數(shù)部分在最右邊補0分組法4位二進制組成1位十六進制例如:把二進制數(shù)1011010.101B轉(zhuǎn)換成十六進制數(shù)。解:將1011010.101B按4位分組成0101

1010.1010

查表得:5AA

所以:1011010.101B=5A.AH第十四頁,共三十九頁,2022年,8月28日

將十六進制數(shù)轉(zhuǎn)換成二進制數(shù),只需將其每一位對應轉(zhuǎn)換成二進制數(shù)四位即可。展開法1位十六進制展開成4位二進制例如:將十六進制數(shù)8E.38H轉(zhuǎn)換成二進制數(shù)。解:展開十六進制數(shù)

8E.38H

查表:1000

1110.0011

1000H

所以:8E.38H=10001110.00111B

第十五頁,共三十九頁,2022年,8月28日1、將十進制數(shù)128D轉(zhuǎn)換成二進制數(shù)。2、將十進制數(shù)142D轉(zhuǎn)換成十六進制數(shù)。3、將十進制數(shù)112.25D轉(zhuǎn)換成二進制數(shù)。4、直接將11001010B寫成十六進制數(shù)。5、直接將68H寫成二進制數(shù)。6、直接將65.8H寫成二進制數(shù)。思考題第十六頁,共三十九頁,2022年,8月28日1、128D=10000000B2、142D=8EH3、112.25D=1110000.01B4、11001010B=CAH5、68H=1101000B6、65.8H=1100101.1B答案第十七頁,共三十九頁,2022年,8月28日機器數(shù)什么是機器數(shù)?數(shù)在計算機中的二進制表示形式稱為機器數(shù)

機器數(shù)的特征:將數(shù)的符號也數(shù)字化(原碼)。一般用最高有效位表示數(shù)的符號,“0”代表正數(shù),“1”代表負數(shù)。機器數(shù)的表示還與存儲位數(shù)有關(guān)。字節(jié)(8位二進制數(shù))、字(十六位二進制數(shù))、雙字(32位二進制數(shù))······有區(qū)別。例如:

-110101B:以字節(jié)存放表示為:10110101以字存放表示為:1000000000110101以雙字存放表示為:10000000000000000000000000110101

······“1”為符號位第十八頁,共三十九頁,2022年,8月28日原碼:將數(shù)的真值的符號數(shù)字化稱為原碼。

反碼:負數(shù)的反碼是其原碼的符號位不變,其他位按位求反.補碼:負數(shù)的補碼是其原碼的符號位不變,其他位按位求反后末位加1(即反碼加1)。

正數(shù)的原碼=反碼=補碼?;蛘哒f正數(shù)沒有反碼和補碼

例如:-110101B的原碼以字節(jié)存放表示為:10110101-110101B的反碼以字節(jié)存放表示為:11001010-110101B的補碼以字節(jié)存放表示為:11001011

在教科書中為了便于理解,常將數(shù)用中括號括起來,在尾部加注下標原、反、補來明確碼制?!荆亍吭?、【X】反、【X】補

第十九頁,共三十九頁,2022年,8月28日如:-110101B的原碼為:【-110101B】原=10110101-110101B的反碼為:【-110101B】反

=11001010-110101B的補碼為:【-110101B】補=11001011

值得注意的是:由于[+0]原=00000000B,

而[-0]原=10000000B,所以數(shù)值0的原碼不唯一。

8位二進制原碼能表示的范圍是:11111111~01111111即:十進制的-127~+127。

第二十頁,共三十九頁,2022年,8月28日n位原碼表示的數(shù)的范圍是:[-(2n-1-1),(2n-1-1)]8位原碼表示的數(shù)的范圍是:[-(27-1),(27-1)]即:十進制的[-127,127]16位原碼表示的數(shù)的范圍是:[-(215-1),(215-1)]即:十進制的[-32767,32767]對于正數(shù)而言:【X】原=【X】反=【X】補=真值對于負數(shù)而言:【X】原≠【X】反≠【X】補≠真值已知負數(shù)真值可直接寫出原碼,其方法是最高位寫“1”,其余位不變已知負數(shù)原碼求反碼的方法是:符號位不變,數(shù)值位對應“0”變“1”、“1”變“0”。已知負數(shù)原碼求補碼的方法是:符號位不變,數(shù)值位對應“0”變“1”、“1”變“0”后末位加1。第二十一頁,共三十九頁,2022年,8月28日例如:求-56的原碼、反碼、補碼。解:1、將十進制的-56轉(zhuǎn)換成二進制數(shù)即:56D=111000B-56D=-111000B2、將真值寫成原碼后求反碼和補碼

【-111000B】原=10111000以字節(jié)表示

【-111000B】反=11000111以字節(jié)表示

【-111000B】補=11001000

第二十二頁,共三十九頁,2022年,8月28日二進制數(shù)原碼補碼反碼00000000+0+0+000000001+1+1+100000010+2+2+2…………01111110+126+126+12601111111+127+127+12710000000-0-128-12710000001-1-127-126…………11111101-125-3-211111110-126-2-111111111-127-1-0表2.28位二進制數(shù)的原碼、反碼和補碼對照表第二十三頁,共三十九頁,2022年,8月28日例如:求-273的原碼、反碼、補碼。解:1、將273轉(zhuǎn)換成二進制數(shù)即:-273D=-100010001B

注意:在計算機中數(shù)的存放是以字節(jié)為單位,每字節(jié)8位。數(shù)的有效位為9位,必須占用兩個字節(jié)(實際上如果一個數(shù)的有效位為N,只要15≥N≥8,這個數(shù)存放在計算機中必須占用兩個字節(jié))。本例N=9,所以原碼、反碼、補碼必須占用16位(即兩個字節(jié))

2、將-100010001B用原碼表示后求反碼和補碼

【-100010001B】原【-100010001B】反【-100010001B】補第二十四頁,共三十九頁,2022年,8月28日1、如果一個二進制負數(shù)的有效位N=6,那么它的原碼在計算機中應該占用幾個字節(jié)。2、如果一個二進制負數(shù)的有效位N=14,那么它的原碼在計算機中應該占用幾個字節(jié)。。3、如果一個二進制負數(shù)的有效位N=20,那么它的原碼在計算機中應該占用幾個字節(jié)。4、求139的原碼、反碼、補碼。5、求-139的原碼、反碼、補碼。6、求-1139的原碼、反碼、補碼。思考題第二十五頁,共三十九頁,2022年,8月28日無符號數(shù)什么是無符號數(shù)?正整數(shù)在計算機中被稱作無符號數(shù)

在某些情況下,要處理的數(shù)據(jù)全是正整數(shù),此時保留符號位毫無意義。如將符號位也作為數(shù)據(jù)位處理,可形成無符號數(shù),同時擴大數(shù)據(jù)范圍。例如:10011001B,表示無符號整數(shù)是1×27+1×24+1×23+1,即153表示有符號整數(shù)是-(1×24+1×23+1),即-25n位無符號整數(shù)的范圍為[0~2n-1],8位(一個字節(jié))無符號整數(shù)范圍為[0~255],16位(兩個字節(jié))無符號整數(shù)范圍為[0~65535]。在計算機中,用無符號數(shù)常用來表示存儲空間的地址。第二十六頁,共三十九頁,2022年,8月28日BCD碼什么是BCD碼?

使用4位二進制數(shù)來表示一位十進制數(shù),常稱為二進制編碼的十進制數(shù)4位二進制數(shù)能表示16種狀態(tài),可用其中任意10種狀態(tài)表示十進制數(shù)字0~9,由此形成8421碼、2421碼、余3碼等多種BCD碼,最常用的是8421碼。所謂8421碼是由二進制數(shù)的權(quán)來描述的。

例如:4位二進制數(shù)

8421碼編碼方法見表1-3,8421是指用于編碼的4位二進制各位的權(quán)。第二十七頁,共三十九頁,2022年,8月28日十進制數(shù)

8421BCD碼

十進制數(shù)

8421BCD碼

000005010110001601102001070111300118100040100910018421BCD編碼表第二十八頁,共三十九頁,2022年,8月28日字符數(shù)據(jù)編碼什么是字符數(shù)據(jù)編碼?

我們知道計算機只能識別二進制數(shù),不能識別字符,所以字符進入計算機前必須進行二進制編碼。這種編碼成為字符數(shù)據(jù)編碼。目前廣泛應用的是美國信息交換標準代碼(AmericanStandardCodeInformationInterchange)。簡稱ASCII碼。ASCII碼采用1個字節(jié)的低7位進行編碼,能完成27=128個字符的編碼,以十六進制書寫。例如:字符“A”的ASCII碼:1000001B

書寫成41H

字符“=”的ASCII碼:0111101B

書寫成3DH

字符“@”的ASCII碼:1000000B

書寫成40H

常用ASCII碼見下表:第二十九頁,共三十九頁,2022年,8月28日字符ASCII字符ASCII字符ASCII字符ASCII字符ASCII字符ASCIINUL00+2B:3BK4B[5Bk6BBEL07,2C<3CL4C\5Cl6CLF0A-2D=3DM4D]5Dm6DFF0C/2E>3EN4E↑5En6ECR0D。2F?3FO4F←5Fo6FSP20030@40P50,60p70!21131A41Q51a61q71“22232B42R52b62r72#23333C43S53c63s73$24434D44T54d64t74%25535E45U55e65u75&26636F46V56f66v76'27737G47W57g67w77(28838H48X58h68x78)29939I49Y59i69y79*2A:3AJ4AZ5Aj6Az7A第三十頁,共三十九頁,2022年,8月28日內(nèi)存中的數(shù)據(jù)

數(shù)據(jù)在計算機內(nèi)部以何種方式存放,依賴于程序執(zhí)行情況,可用二進制(原碼、反碼、補碼)、BCD碼、ASCII碼。例如:2006二進制存儲為:字節(jié)壓縮BCD碼存儲為:字節(jié)非壓縮BCD碼儲為:字節(jié)ASCII碼存儲為:字節(jié)1個字節(jié)存放兩位BCD碼1個字節(jié)存放一位BCD碼第三十一頁,共三十九頁,2022年,8月28日存儲器存儲器是計算機的記憶單元,以8位二進制為一個基本單元

如果我們把8位二進制數(shù)10110011B存入一個存儲單元

10110011第三十二頁,共三十九頁,2022年,8月28日

把16位二進制數(shù)存入存儲器,需要占用2個存儲單元。

0號單元稱作地址01號單元稱作地址10號單元中的”101

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論