單片機原理及接口技術(shù)_第1頁
單片機原理及接口技術(shù)_第2頁
單片機原理及接口技術(shù)_第3頁
單片機原理及接口技術(shù)_第4頁
單片機原理及接口技術(shù)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理及接口技術(shù)

前修課程:數(shù)模電、微機原理

學(xué)習(xí)目的:掌握MCS-51單片機的硬件組成、運行原理和指令集,提高軟硬件應(yīng)用技術(shù)。應(yīng)用對象:家用電器、儀器儀表、自動控制系統(tǒng)。優(yōu)勢:價格便宜、功能齊全。

第一章微機基礎(chǔ)知識

§1-1微處理器、微機和單片機的概念§1-2

計算機中數(shù)制和編碼§1-3

計算機中數(shù)的表示方法§1-4

二進制數(shù)的運算§1-1微處理器、微機和單片機的概念一、微處理器:(芯片)

微處理器(CPU)是微機的核心部件,完成控制和運算功能。

1.運算器(ALU):完成算術(shù)運算和邏輯運算的場所算術(shù)運算:加、減、乘、除,BCD碼運算邏輯運算:與、或、異或、測試

2.控制器:由計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器、操作控制器。負責(zé)整機控制,協(xié)調(diào)各部件工作。二、微型計算機:(計算機)

微處理器(CPU)存儲器:存放程序和數(shù)據(jù)輸入輸出接口:用于將外部設(shè)備與CPU和存儲器相連接系統(tǒng)總線:CPU向存儲器及接口電路提供地址、數(shù)據(jù)及控制信息的通路三、微型計算機系統(tǒng)

微型計算機輸入輸出設(shè)備系統(tǒng)軟件

四、單片機

單片機的全稱為單片微型計算機(SingleChipMicrocomputer)。將微處理器(CPU)、一定容量的ROM和RAM、定時/計數(shù)器、并/串行口等電路集成在一塊芯片上,構(gòu)成單片微型計算機,簡稱單片機。第一階段:單片機初級階段。單片機的發(fā)展始于1974年,到了1976年,Intel公司推出了MCS-48系列單片機,將CPU、存儲器、I/O接口、定時器/計數(shù)器集成在一塊芯片上,使計算機完成了單芯片化。第二階段:單片機完善階段。此階段單片機的功能及體系結(jié)構(gòu)得到了不斷的完善。1980年,Intel公司在MCS-48系列單片機的基礎(chǔ)上增添了I/O串行口,增大了存儲器容量,完善了中斷系統(tǒng)(設(shè)置了5個中斷源,2個優(yōu)先級),定時器/計數(shù)器為16位的,在內(nèi)部存儲器上設(shè)置了位地址空間,提供位操作指令,推出了高性能的MCS-51系列單片機。五、單片機的發(fā)展史四個階段第三階段:微控制器形成階段。為了更高的測控應(yīng)用,需要對單片機的外圍接口電路進行增強與完善,如數(shù)模轉(zhuǎn)換器(D/A)、模數(shù)轉(zhuǎn)換器(A/D)、高速I/O接口、程序監(jiān)視定時器(WDT)等,盡量將外圍功能集成在芯片內(nèi)部。

第四階段:微控制器技術(shù)成熟階段。隨著技術(shù)的不斷成熟,國內(nèi)外對單片機的開發(fā)和研制競爭異常激烈,極大地豐富了微控制器的類型,功能不斷地完善,成本降低,外圍電路減少,可靠性不斷提高。

§1-2

計算機中數(shù)制和編碼1、數(shù)制

所謂的數(shù)制是指數(shù)的制式,是人們利用符號計數(shù)的一種科學(xué)方法。一個r進制數(shù)按權(quán)展開,其表達式為:

一、數(shù)制及數(shù)制轉(zhuǎn)化

二進制B

(Binary)

八進制Q或O(Octal)

十六進制H(Hexadecimal)

十進制D或者省略(Decimal)2、進制轉(zhuǎn)換

不同數(shù)制之間的相互轉(zhuǎn)換

1)任意進制轉(zhuǎn)換十進制(N-十轉(zhuǎn)換)

加權(quán)求和

N——計數(shù)的基數(shù)Ni——第i位的權(quán)

a.11010.01B

=1×24+1×23+0×22+1×21+0×20+0×2-1+1×2-2

=26.25Db.19B.ABH=1×162+9×161+11×160+10×16-1+11×16-2=256+144+11+0.625+0.04296875=411.66796875D2972482242122623210余數(shù)為1,

余數(shù)為0,

余數(shù)為0,

余數(shù)為0,

余數(shù)為0,

余數(shù)為1,

余數(shù)為1,

2)十-二轉(zhuǎn)換

整數(shù)部分——除2(基)取余法小數(shù)部分——乘2(基)取整法

a.97.6875=?B

整數(shù)部分97

97D=1100001B小數(shù)部分0.6875

0.6875

×?2

1.3750 整數(shù)部分為1,

0.3750 余下的小數(shù)部分

×2

0.7500 整數(shù)部分為0,

0.7500 余下的小數(shù)部分

×2

1.5000 整數(shù)部分為1,

0.5000 余下的小數(shù)部分

×?2

1.0000 整數(shù)部分為1,

0.0000 余下的小數(shù)部分為0,結(jié)束

0.6875D=0.1011B97.6875=1100001.1011B注意:

任何十進制整數(shù)都可以精確地轉(zhuǎn)換成一個二進制整數(shù),但任何十進制小數(shù)卻不一定可以精確地轉(zhuǎn)換成一個二進制小數(shù)。3)二-十六轉(zhuǎn)換

1110110101100.10101B=?H

1110110101100.10101

0001110110101100.10101000

1DAC.A8

↓↓↓↓↓↓1110110101100.10101B=1DAC.A8H四位一畫,兩頭補04)十六-二轉(zhuǎn)換(注意舍0)39F.E1AH=?B

3

9

F.E

1

A001110011111.111000011010↓

=1110011111.11100001101B39F.E1AH=0011

1001

1111.11100001

1010B5)十-十六、十-八轉(zhuǎn)換

余數(shù)為1,

余數(shù)為6,

1697

166商為0

0.6875

1611.000

0.000整數(shù)部分為11,即B余下的小數(shù)部分為0,結(jié)束余數(shù)為1,余數(shù)為4,余數(shù)為1,8

97

812

81

商為0

0.6875 ×8 5.5000整數(shù)部分為5,

0.5000余下的小數(shù)部分

×8 4.0000整數(shù)部分為4,

0.0000余下的小數(shù)部分

結(jié)束97.6875=?H97.6875=?Q97.6875=61.BH=141.54Q二進制數(shù)、八進制數(shù)、十進制數(shù)和十六進制數(shù)之間的對應(yīng)關(guān)系

整數(shù)小數(shù)二進制八進制十進制十六進制二進制八進制十進制十六進制0000B00Q00H0B0Q00H0001B01Q11H0.1B0.4Q0.50.8H0010B02Q22H0.01B0.2Q0.250.4H0011B03Q33H0.001B0.1Q0.1250.2H0100B04Q44H0.0001B0.04Q0.06250.1H0101B05Q55H0.00001B0.02Q0.031250.08H0110B06Q66H0.000001B0.01Q0.0156250.04H0111B07Q77H…………1000B10Q88H1001B11Q99H1010B12Q10AH1011B13Q11BH1100B14Q12CH1101B15Q13DH1110B16Q14EH1111B17Q15FH

1、BCD碼——二-十進制碼

一種二進制形式的十進制碼,用4位二進制數(shù)表示一位十進制數(shù),最常用的是8421BCD碼。1)非壓縮(非組合)的BCD碼:一個字節(jié)內(nèi)只表示一位BCD碼,高位空。2)壓縮(組合)的BCD碼:一個字節(jié)內(nèi)有兩位BCD碼83.123D=0000100000000011.000000010000001000000011BCD(非壓縮形式)=10000011.0001001000110000BCD

(壓縮形式)二、計算機中常用編碼8421BCD碼表

2、ASCII碼

字母、數(shù)字、符號等的二進制編碼。是一種字符編碼,是美國信息交換標(biāo)準(zhǔn)代碼的簡稱。

共128種字符,每個ASCII碼占用1個字節(jié),最高位為0,后7位進行編碼。

當(dāng)作符號的數(shù)字0~9的ASCII碼:30H~39H

字母A~Z的ASCII碼:41H~5AH

字母a~z的ASCII碼:61H~7AHASCII碼表§1-3

計算機中數(shù)的表示方法

以二進制形式存儲和運算每類數(shù)據(jù)占據(jù)固定長度的二進制數(shù)位。處理整數(shù)(無符號數(shù),帶符號數(shù)),浮點數(shù)。一、機器數(shù)與真值

1.機器數(shù) 規(guī)定帶符號數(shù)的最高位為符號位,通常用“0”表示正數(shù),“1”表示負數(shù)。例如:8位計算機中+65D=01000001B,

-65D=11000001B。這些連同符號位一起作為能被計算機識別的數(shù)稱為機器數(shù),而把這個數(shù)本身代表的真實值稱為機器數(shù)的真值(一般用十進制表示)。2.機器數(shù)的字長

1word=16bit1byte=8bit1doubleword=32bit

二、數(shù)的定點和浮點表示

用機器數(shù)來表示帶小數(shù)點的數(shù)通常有兩種表示方法,即定點表示法和浮點表示法。定點表示法的優(yōu)點是運算規(guī)則簡單,但它能表示數(shù)的范圍沒有相同位數(shù)的浮點表示法大。

浮點數(shù)是都由階碼和尾數(shù)兩部分組成,其中階碼部分包括階符和階碼,尾數(shù)部分包括數(shù)符和尾數(shù)。在定點表示法中,小數(shù)點在數(shù)中的位置是固定不變的。浮點表示法的優(yōu)點是數(shù)的表示范圍大,缺點是運算規(guī)則復(fù)雜,通常要階碼和尾數(shù)分別進行運算。三、帶符號數(shù)

用0表示正數(shù),用1表示負數(shù),這種表示數(shù)的方法,稱為帶符號數(shù),帶符號數(shù)有3種表示形式。1.原碼記作(±N)原碼最高位是符號位,符號位之后是該數(shù)的絕對值。01101000符號位數(shù)值部分①+2201101001符號位數(shù)值部分②-228位原碼表示數(shù)的范圍:-127~+12700000000B~01111111B0~127即0~27-110000000B~11111111B0~-127即0~-(27-1)n位原碼表示數(shù)的范圍:

-(2n-1-1)~2n-1-10有兩種表示方式:(+0)原碼=00000000B

(-0)原碼=10000000B不適合進行計算

原碼表示帶符號帶符號數(shù)相當(dāng)簡便、直觀,適用乘法、除法或同符號數(shù)相加。但對于不同符號的數(shù)進行加、減運算時就變得復(fù)雜了。

例:N1=+10101B,N2=-10101B,試寫出N1和N2在8為字長的計算機中原碼。解:

(N1)原=00010101B數(shù)值不變“0”表示正數(shù)(N2)原=100010101B數(shù)值不變“1”表示正數(shù)2.反碼記作(±N)反碼正數(shù)的反碼與其原碼相同;負數(shù)的反碼在其正數(shù)原碼的基礎(chǔ)上按位求反。

0有兩種表示方式:(+0)反碼=00000000B

(-0)反碼=11111111B不適合進行計算n位原碼表示數(shù)的范圍:

-(2n-1-1)~2n-1-1。例:求+13,-13的反碼。解:

(+13)反碼

=(+13)原碼

=00001101B(-13)原=10001101B(-13)反=11110010B各位取反符號位不變正數(shù)的補碼與其原碼相同;負數(shù)的補碼在其正數(shù)原碼(無符號數(shù))的基礎(chǔ)上求反加1。①

+112②-112(+112)原碼=01110000B(+112)補碼=01110000B(-112)補碼=10010000B01110000B→(求反)10001111B→(+1)10010000B

求補運算←→求反加13.補碼記作(±N)補碼

0的表示方式只有一種:(+0)補碼=00000000B

(-0)補碼=11111111B+1=(1)00000000B

=00000000B

求補的方法二:從右邊開始首先碰到的0和第一個1不變,其余按位求反。(+112)原碼=01110000B

(-112)補碼=10010000B右左8位補碼表示數(shù)的范圍:-128~+127n位補碼表示數(shù)的范圍:-2n-1~2n-1-1

注意:

1)補碼≠負數(shù)

2)求補≠補碼

3)使用補碼可以把兩個數(shù)的減法化為加法

98-76=98+(-76)01100010B-01001100B=01100010B+10110100B01100010B01100010B

-01001100B+10110100B00010110B00010110B

對于正數(shù),機器數(shù)所表示的真值均相等。對于負數(shù),機器數(shù)所表示的真值不一定相等,由機器碼的類型決定。

例:二進制數(shù)10000000B分別作原碼、反碼和補碼看,其十進制真值分別是多少?

判斷:1開頭,負數(shù)原碼:真值:-0

反碼:在正數(shù)原碼的基礎(chǔ)上按位求反得到正數(shù)原碼:真值:-127

補碼:在正數(shù)原碼的基礎(chǔ)上求反+1得到減1:正數(shù)原碼(無符號數(shù)):

真值:-12800000001符號位數(shù)值部分011111110111111110000000四、無符號數(shù)

無符號數(shù)二進制表示沒有符號位,皆為數(shù)值位。8位無符號二進制數(shù)表示數(shù)的范圍:0~+255n位無符號二進制數(shù)表示數(shù)的范圍:0~+2n-1

一些典型值§1-4

二進制數(shù)的運算一、算術(shù)運算1.加法運算 二進制加法運算的法則為:0+0=01+0=0+1=11+1=10 (向近鄰高位有進位)1+1+1=11 (向近鄰高位有進位)

例:設(shè)有兩個二進制數(shù)X=10110110,Y=11011001,試求該兩個二進制數(shù)的相加和,X+Y=?解:按照二進制數(shù)加法運算法則,得到:

10110110BX+11011001BY110001111BX+Y2.減法運算 二進制數(shù)減法法則:0-0=01-0=11-1=0 0-1=1 (向近鄰高位借位1)例:設(shè)有兩個二進制數(shù)X=11011001,Y=10010111,試求該兩個二進制數(shù)的相減,X-Y=?解:按照二進制數(shù)的減法法則,得到:11011001B-10010111BX-Y=01000010B3.乘法運算 二進制數(shù)乘法法則:1×0=0×1=01×1=1例:設(shè)有兩個二進制數(shù)X=1101,Y=1011,試求該兩個二進制數(shù)的相乘,X×Y=?解:

1101

0000+11011101B×1011BX×Y=10001111B

11014.除法運算 除法運算是乘法運算的逆運算。與十進制數(shù)除法運算類似。

溫馨提示

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

評論

0/150

提交評論