單片機原理與實踐 C語言 高衛(wèi)東 單片機基礎_第1頁
單片機原理與實踐 C語言 高衛(wèi)東 單片機基礎_第2頁
單片機原理與實踐 C語言 高衛(wèi)東 單片機基礎_第3頁
單片機原理與實踐 C語言 高衛(wèi)東 單片機基礎_第4頁
單片機原理與實踐 C語言 高衛(wèi)東 單片機基礎_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

會計學1單片機原理與實踐C語言高衛(wèi)東單片機基礎1.3.1進位計數制(進位制)基本概念(1)數碼:數制中表示基本數值大小的不同數字符號。例如,十進制有10個數碼:0、1、2、3、4、5、

6、7、8、9(2)基數:數制所使用數碼的個數。例如,二進制的基數為2;十進制的基數為10。(3)數位:指數碼在一個數中的位置。(4)位權:每一個數位上的數碼所表示數值的大小。例如,十進制的123,1的位權是100,2的位權是10,3的位權是1。第一章單片機基礎1.3數制與數制轉換第1頁/共29頁1.3.1計算機中常用的幾種計數制1.十進制特點:(1)有10個基本數碼:0、1、2、3、4、5、6、7、8、9(2)加法運算中,逢10進1,減法運算中,借1當10。

一個十進制數P,可以簡計為(P)10或PD,也可省略為P。如:(10086)10、10086D或100861.3數制與數制轉換第一章單片機基礎第2頁/共29頁1.3.1計算機中常用的幾種計數制2.二進制特點:(1)只有兩個數碼0和1

(2)加法運算中,逢2進1;減法運算中,借1當2。一個二進制數P,可以簡計為(P)2或PB。如:(101011)2

、101011B1.3數制與數制轉換第一章單片機基礎第3頁/共29頁1.3數制與數制轉換1.3.1計算機中常用的幾種計數制

3、十六進制◆十六進制有16個數碼:0、1、2、3、4、5、6、7、8、9、

A、B、C、D、E、F;進位基數為16;一個十六進制數P,可以簡計為(P)16或PH。如:(FFFF)16、0A9DH

◆加法運算為“逢十六進一”;減法運算為“借一為十六”。其中:A-10、B-11、C-12、D-13、E-14、F-15

第一章單片機基礎第4頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

1、二進制數與十進制數的相互轉換⑴二進制數轉換為十進制數:將二進制數按權展開相加即可。二進制的數按權展開的表示法:

D=Dn-1.2n-1+Dn-2.2n-2+…+D0.20+D-1.2-1+…+D-m.2-m

如:(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2=8+0+2+1+0.25=(11.25)10

第一章單片機基礎第5頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

1、二進制數與十進制數的相互轉換⑵十進制數轉換為二進制數:①整數的轉換將十進制數反復除以2,直至商為0,然后把第一次相除得到的余數作為最低位K0,最后一次得到的余數作為最高位Kn-1,將每次相除所得的余數按次序排列起來,Kn-1Kn-2…K0,即為所求的二進制數。第一章單片機基礎第6頁/共29頁20=1;21=2;22=4;23=8;24=16;25=32;26=64;27=128;28=256;29=512;210=1024;211=2048;212=4096;213=8192。1.3數制與數制轉換第一章單片機基礎二進制與十進制的轉換第7頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

1、二進制數與十進制數的相互轉換⑵十進制數轉換為二進制數:①整數的轉換例:將(121)10轉換為二進制數

2121…余數為1(K0)60…余數為0(K1)2302…余數為0(K2)15…余數為1(K3)27…余數為1(K4)23…余數為1(K5)21…余數為1(K6)20低位高位(121)10=K6K5K4K3K2K1K0=(1111001)2第一章單片機基礎第8頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

1、二進制數與十進制數的相互轉換⑵十進制數轉換為二進制數:③對于既有整數又有小數的十進制數,可將其整數部分和小數部分分別轉換成二進制數,然后加起來即可。例:將(241.43)10轉換為二進制數,保留到小數點后4位:

(11110001.0110)2

第一章單片機基礎第9頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

4、二進制數與十六進制數之間的轉換⑴二進制數轉換為十六進制數:“四位并一位”即以小數點為基準,整數部分從右至左,每四位為一組,最左邊不足四位的添0補足四位;小數部分從左至右,每四位為一組,最右邊不足四位,后面添0補足四位,然后按組轉換成十六進制數,連接起來就是得到的十六進制數。例:將(10110101011.011101)2轉換為十六進制:010110101011.011101005A(10)B(11)74(10110101011.011101)2=(5AB.74)16第一章單片機基礎第10頁/共29頁1.3數制與數制轉換1.3.2各進制數之間的轉換

4、二進制數與十六進制數之間的轉換⑵十六進制數轉換為二進制數:“一位并拆四位”把每一位16進制數都寫成相應的四位二進制數,連接起來就是轉換得到的二進制數。例:將(5A0B.0C)16轉換為二進制數:01011010000010110000(5A0B.0C)16=(101101000001011.00001100)25A0B.0C1100第一章單片機基礎第11頁/共29頁二進制與十六進制的轉換表十六進制數二進制數十六進制數二進制數

0000081000

1000191001

20010A1010

30011B1011

40100C110050101D110160110E111070111F11111.3數制與數制轉換第一章單片機基礎第12頁/共29頁1.3.3單片機中常用編碼1、二—十進制碼(8421BCD)目的:簡化人—機聯系。方法:用4位的二進制數來表示1位十進制數。十進制數二進制數十進制數二進制數

00000501011000160110200107011130011810004010091001第一章單片機基礎1.3數制與數制轉換第13頁/共29頁例如:4+3即:(0100)BCD+(0011)BCD=(0111)BCD=7

15+12即:(00010101)BCD+(00010010)BCD

=(00100111)BCD=27第一章單片機基礎1.3數制與數制轉換第14頁/共29頁2、二—十進制調整

8421BCD碼可表示數的范圍為0000~1111(即十進制的0~15),而十進制數為0000~1001(即0~9)。所以,在運算時,必須注意以下兩點:

1.3數制與數制轉換第一章單片機基礎第15頁/共29頁①當兩個BCD數相加結果大于1001(即大于十進制數9)時,為使其符合十進制運算和進位規(guī)律,需對BCD碼的二進制運算結果加0110(加6)調整。例如:4+8:(0100)BCD+(1000)BCD=(1100)BCD>1001,

調整后,其結果為:(1100)BCD+(0110)BCD=(00010010)BCD=12。1.3數制與數制轉換第一章單片機基礎第16頁/共29頁②當兩個BCD數相加結果在高位上并不大于1001,但有低位進位發(fā)生,使得兩個BCD數與進位一起相加,其結果大于1001,這時也要作加0110(加6)調整。例如:用BCD數完成54+48的運算。解:54=(01010100)BCD,48=(01001000)BCD1.3數制與數制轉換第一章單片機基礎第17頁/共29頁1.3數制與數制轉換01010100+)01001000

10011100(低4位大于9)+)0110(低4位加6調整)10100010(低4位有進位)+)0110(高4位加6調整)000100000010

則(000100000010)BCD=102第一章單片機基礎第18頁/共29頁數據的單位

1、bit(位):二進制數的一個數位(1或0)

2、Byte(字節(jié)):計算機中最小的容量單位(簡稱B)

101100111個字節(jié)由8個位組成(1B=8bits)

1KB=210B=1024B,1MB=220B=1024KB1GB=230B=1024MB,1TB=240B=1024GB3、Word(字):在計算機中作為一個整體被存取、傳送、處理的二進制數字串叫做一個字或單元,每個字中二進制位數的長度,稱為字長。一個字由若干個字節(jié)組成,不同的計算機系統的字長是不同的,常見的有8位、16位、32位、64位等,字長越長,存放數的范圍越大,精度越高。1.3數制與數制轉換第一章單片機基礎第19頁/共29頁機器數與真值計算機內部的數值均用二進制來表示。通常用一個數的最高位作為符號位:

0表示正數,1表示負數;如:+18=00010010

-18=10010010

機器數:在計算機內部使用的、連同符號位一起數字化的數字。真值:機器數表示的真實值;機器數10110101->真值-53(十進制)或-0110101;機器數00101010->真值+42(十進制)或+0101010

可見,在機器數中,用0、1取代了真值的正負號。

1.3數制與數制轉換第一章單片機基礎第20頁/共29頁1.4.1無符數和有符數

有符號定點數的機器數表示方法

①原碼:符號位用0表示正,用1表示負,數值部分為該數值的絕對值二進制形式。

如:1的原碼表示方法:

[+1]原=00000001[-1]原=10000001例如:當n=8,十進制數+19和-19的原碼表示為:[+19]原=00010011[-19]原=100100111.4單片機中數的表示第一章單片機基礎第21頁/共29頁1.4.1無符數和有符數有符號定點數的機器數表示方法

②反碼:正數表示與原碼相同,

負數的反碼是將其原碼除符號位外,各位取反得到的。

如:[+1]原=

00000001[+1]反=[+1]原=

00000001

[-1]原=10000001[-1]反=11111110例如:當n=8,十進制數+19和-19的反碼表示為:[+19]反=00010011[-19]反=11101100第一章單片機基礎1.4單片機中數的表示第22頁/共29頁1.4.1無符數和有符數

有符號定點數的機器數表示方法

③補碼:正數的補碼與原碼相同

負數是將其原碼除符號位外,各位取反加1得到的。即在反碼的基礎上加1

如:[+1]原=

00000001[+1]補=[+1]原=

00000001

[-1]原=10000001[-1]反=11111110[-1]補=[-1]反+1=11111110+1=11111111例如:當n=8,十進制數+19和-19的補碼表示為:[+19]補=00010011[-19]補=11101101第一章單片機基礎1.4單片機中數的表示第23頁/共29頁

①一個正數的原碼、反碼和補碼的表示形式相同,符號位置0,其它位是數的真值。負數的原碼符號位→1其余位是該數的絕對值負數的反碼符號位→1其余各位逐位取反負數的補碼符號位→1其余各位逐位取反,末位加1[+0]原=000…0[-0]原=100…0不唯一[+0]反=000…0[-0]反=111…1不唯一[+0]補=00…0[-0]補=00…0唯一

②真值零的表示:小結第一章單片機基礎1.4單片機中數的表示第24頁/共29頁補碼的代數加減運算(1)補碼加法

[X+Y]補

=

溫馨提示

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

評論

0/150

提交評論