單片機技術及應用第一章單片機基礎知識課件_第1頁
單片機技術及應用第一章單片機基礎知識課件_第2頁
單片機技術及應用第一章單片機基礎知識課件_第3頁
單片機技術及應用第一章單片機基礎知識課件_第4頁
單片機技術及應用第一章單片機基礎知識課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

單片機技術及應用第1章單片機基礎知識第1章單片機基礎知識

1.1單片微型計算機

單片微型計算機是制作在一塊集成電路芯片上的計算機,簡稱單片機。它包括中央處理器(CPU),用RAM構成的數據存儲器,用ROM構成的程序存儲器,定時/計數器,各種輸入/輸出(I/O)接口和時鐘電路。

1.1.1單片機最小系統單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統。對一般的51系列單片機來說,由單片機、晶振電路和復位電路,便組成了一個最小系統.但是一般我們在設計中總是喜歡把按鍵輸入、顯示輸出等加到上述電路中,成為最小系統。1.1.2單片機的基本知識

1.單片機單片機是微型計算機中的一種,是把微型計算機中的微處理器、存儲器、I/O接口、定時器/計數器、串行接口、中斷系統等電路集成在一塊集成電路芯片上形成的微型計算機。因而被稱為單片微型計算機,簡稱為單片機。2.單片機和單片機系統單片機只是一個芯片,而單片機系統則是在單片機芯片的基礎上擴展其他電路或芯片構成的具有一定應用功能的計算機系統。通常所說的單片機系統都是為實現某一控制應用需要由用戶設計的,是一個圍繞單片機芯片而組建的計算機應用系統。在單片機系統中,單片機處于核心地位,是構成單片機系統的硬件和軟件基礎。

3.單片機應用系統和單片機開發系統單片機應用系統是為控制應用而設計的,該系統與控制對象結合在一起使用,是單片機開發應用的成果。但由于軟硬件資源所限,單片機系統本身不能實現自我開發,要進行系統開發設計,必須使用專門的單片機開發系統。1.1.3單片機的發展概況目前國際市場上8位、16位單片機系列已有很多,但是,在國內使用較多的系列是Intel公司的產品,其中又以MCS-51系列單片機應用尤為廣泛,二十幾年經久不衰,而且還在更進一步發展完善,價格越來越低,性能越來越好。單片機技術正以驚人的速度向前發展,就市場上已出現的單片機而言,其技術革新與進步主要表現在以下幾個方面:1.CPU的發展2.片內存儲器的發展(1)片內存儲器的發展(2)片內EPROM開始E2PROM化(3)閃速存儲器(4)串行存儲器(5)片內程序的保密措施3.片內輸入輸出接口功能單片機在工藝上的提高5.片內固化應用軟件和系統軟件1.1.4單片機主要品種簡介

1.4位單片機高檔8位單片機的巨大產量擠占了部分4位機的市場。為了保住自己的領地,4位機的結構和功能也發生了很大的改進。其一是增強片內I/O功能,把應用系統所需的LED、LCD、VFD(FIP)顯示器驅動電路都集成在單片機芯片內,使其成為“單片”控制器。目前8位單片機和16位單片機還很少做到這點。其二是提高指令執行速度,新型的4位單片機采用1.5μmCOMS工藝,其指令執行速度小于1μs。其三是增大片內ROM、RAM,有的ROM已達到32KB,RAM已達到1K×4位。其四是低壓低功耗,有的在2.2V下也能正常工作,有的甚至在μA級電流時也能正常工作。其實有的4位單片機性能已不低于8位單片機。

3.16位單片機16位單片機目前產量只占整個單片機市場的5%。16位單片機的性能都較高,有乘除指令、快速I/O功能。有的還有DMA傳送,可支持C或者FORTH語言等等。其主要機型是Intel的8096。美國國家半導體公司的HPC單片機性能價格比較高,已占CMOS工藝16位單片機銷售量的首位。日本Hitachi公司的H8/500單片機的性能目前最高,其指令執行速度為200ns,片內FPROM/ROM達62K字節,片內RAM為2K字節,A/D為10位,轉換時間為13.8μs,還有DMA功能。4.32位單片機32位單片機更多地稱作32位嵌入式控制器。它主要應用于機器人、光盤、激光打印機等的控制器。這些控制器的地址線為24~32位,尋址能力為16~400MB,并且都有很高的指令執行速度和快速運算能力。例如,Intel公司的80960KB在20MHz時鐘下,其指令速度為7.5MIPS,在它內部還有IEEE-754標準的80位浮點運算部件,在25MHz時鐘下,可以達到5.2Mwhetstones/s.這些控制器都能直接支持高級語言和實時多任務處理。1.1.5單片機的應用單片機是在一塊芯片上集成了一臺微型計算機所需的CPU、存儲器、輸入/輸出部件和時鐘電路等。因此它具有體積小,使用靈活、成本低、易于產品化、抗干擾能力強,可在各種惡劣環境下可靠地工作等特點。特別是它應用面廣,控制能力強,使它在工業控制、智能儀表、外設控制、家用電器、機器人、軍事裝置等方面得到了廣泛的應用。

2.智能儀表中的應用用單片機制作的測量、控制儀表,能使儀表向數字化、智能化、多功能化、柔性化發展,并使監測、處理、控制等功能一體化,使儀表重量大大減輕,便于攜帶和使用,同時降低了成本,提高了性能價格比。如數字式RLC測量儀、智能轉速表、計時器等。3.智能產品

單片機與傳統的機械產品結合,使傳統機械產品結構簡化、控制智能化,構成新型的機、電、儀一體化產品。如數控車床、智能電動玩具、各種家用電器和通信設備等。

4.在智能計算機外設中的應用在計算機應用系統中,除通用外部設備(鍵盤、顯示器、打印機)外,還有許多用于外部通信、數據采集、多路分配管理、驅動控制等接口。如果這些外部設備和接口全部由主機管理,勢必造成主機負擔過重、運行速度降低,并且不能提高對各種接口的管理水平。如果采用單片機專門對接口進行控制和管理,則主機和單片機就能并行工作,這不僅大大提高系統的運算速度,而且單片機還可對接口信息進行預處理,以減少主機和接口間的通信密度、提高接口控制管理的水平。如繪圖儀控制器,磁帶機、打印機的控制器等等。一、計算機中數和字符的存放

數據存放于存儲器或寄存器中。數據按字長一般分為:

8位(字節BYTE,簡寫為B)

16位(字WORD)

32位(雙字DWORD)

64位、128位、256位概述二、數制及其轉換

1、數制 十進制(Decimal)后綴加“D”

例如:25D或25(后綴可略) 二進制(Binary)后綴加“B”

例如:11010001B 八進制(Octonary)后綴加“O”或“Q”

例如:76Q 十六進制(Hexadecimal)后綴加“H”

例如:0F6H(字符開頭的數前需加“0”)2、數制之間的轉換任意進制轉換為十進制

例如:10101101B=27+25+23+22+20=1794F.8H=4*161+15*160+8*16-1=79.5十進制轉換為任意進制 整數部分:連續除以基數取余倒計法小數部分:連續乘以基數取整順計法加法運算:11010011

+101011111

進位

減法運算:-1借位三、二進制數的運算

1、二進制數的算術運算特點:按一定字長進行,運算結果超過字長則產生進位、借位或自動丟失。1)邏輯乘(與)AND

AND110000012)邏輯加(或)OR

OR11110011

2、二進制數的邏輯運算特點:按位進行,無進位或借位

4)邏輯異或XOR

XOR 001101003)邏輯反(非)NOT NOT11010011=00101100

計算機中數和字符的表示1.概述2.無符號數的表示3.有符號數的表示4.定點數和浮點數5.計算機中的二進制編碼當n=8時,可表示的無符號數的范圍為0~255,當n=16時,可表示的無符號數的范圍為0~65535。

在計算機中最常用的無符號整數是表示地址的數

無符號數的表示機器字長的所有位都參與表示數值。若計算機的字長為n位,則n位無符號數可表示的數X的范圍是0≤X≤2

-1n

計算機中數和字符的表示1.概述2.無符號數的表示3.有符號數的表示4.定點數和浮點數5.計算機中的二進制編碼1.機器數與真值計算機中的數是用二進制表示的,數的符號也是用二進制表示的。通常一個數的最高位為符號位,為0表示正數,為1表示負數。若字長為8位的計算機,則D7為符號位,D6~D0為數值位。

D7D6D5D4D3D2D1D0符號位數值位有符號數的表示這種符號數碼化的數稱為機器數。機器數所代表的實際數值稱為真值。若計算機的字長為n位,則n位有符號數可表示的數X的范圍是-2n-1≤X≤+(2n-1–1)當n=8時,可表示的有符號數的范圍為-128~127,當n=16時,可表示的有符號數的范圍為-32768~32767。

機器數可以用不同的碼制來表示,常用的有原碼和補碼表示法。2.原碼表示法

最高位為符號位,0表示正數,1表示負數,其余各位為數值位,這種表示法稱為原碼表示法。

例:若X=+97則[X]原=01100001B

若X=-97則[X]原=11100001B

原碼表示數0有兩種表示形式:

[+0]原=00000000B[-0]原=10000000B注意:n位原碼可表示的數X的范圍是:-2n-1+1≤X≤+2n-1-13.反碼表示法反碼表示法中,正數的反碼和原碼相同;負數的反碼可由其原碼除符號位,保持不變外,其余各位按位取反,即0變1、1變0

。例:若X=+45,

[X]反=00101101BX=-45,[X]反=11010010B

4.補碼表示法

補碼表示法中,正數的補碼和原碼相同;負數的補碼可由其原碼除符號位,保持不變外,其余各位按位取反,再在最末位加1而形成。

例:假設機器字長為8位,則[X]原=01100001B則[+97]補=01100001B[X]原=11100001B則[-97]補=10011111B

10011110B+1補碼具有以下特點:①[+0]補=[-0]補=00000000B②n位二進制補碼所能表示的數值范圍為:-2n-1≤X≤+2n-1-1若n=8,則8位二進制補碼所能表示的數值范圍為-128~+127。③對于一個用補碼表示的負數,如果將[X]補再求一次補,即將[X]補除符號位外取反并在最末位加1就可得到[X]原。用下式表示為:[[X]補]補=[X]原[[-15]補]補=[[10001111B]補]補=[11110001B]補

=10001111B=[-15]原注意:[10000000]補=[-128]原=10000000B二進制數碼無符號數原碼反碼補碼00000000 0 +0 +0 +000000001 1 +1 +1 +100000010 2 +2 +2 +2 :01111110 126+126 +126 +12601111111 127+127 +127 +12710000000 128-0 -127 -12810000001 129-1 -126 -12710000010 130-2-125 -126 :11111110 254-126 -1 -211111111 255-127 -0 -15.補碼的加減運算(1)補碼的加法運算規則是:[X+Y]補=[X]補+[Y]補

該式表明,當有符號的兩個數采用補碼形式表示時,進行加法運算可以把符號位和數值位一起進行運算(若符號位有進位,則丟掉),結果為兩數之和的補碼形式。例:用補碼進行下列運算:(+33)+(+15);(+33)+(-15)

解:(2)補碼的減法運算規則是:[X-Y]補=[X]補+[-Y]補

該式表明,求[X-Y]補可以用[X]補與[-Y]補相加來實現[-Y]補是對減數進行求負操作。一般稱已知[Y]補求得[-Y]補的過程叫變補或求負。變補運算(NEG)——已知[+X]補求[-X]補規則:全部位(含符號位)按位取反后再加1例:已知[+15]補=00001111B則[-15]補=11110000B+1=11110001B或:0-[+15]補=0-00001111B=11110001B解:若X=+33,Y=+15[X]補=00100001B[Y]補=00001111B[-Y]補=11110001B

00100001B[X]

+11110001B[-Y]補

自然丟失100010010B[+18]

例:用補碼進行X-Y運算若X=-33Y=-15

則[-33]補=11011111B[-15]補=11110001B[+15]補=00001111B

11011111B[-33]

+00001111B[+15]補

11101110[-18]補

補碼的作用:1、引入補碼后,將減法運算轉化為易于實現的加法運算,且符號位也當作數據相加,從而可簡化運算器的結構,提高運算速度。因此,在微型計算機中,有符號數通常都用補碼表示,得到的是補碼表示的結果。2、當字長由8位擴展到16位時,對于用補碼表示的數,正數的符號擴展應該在前面補0,而負數的符號擴展應該在前面補1。例:機器字長為8位,[+46]補=00101110B,[-46]=11010010B,從8位擴展到16位[+46]補=0000000000101110B=002EH[-46]補=1111111111010010B=FFD2H6.有符號數運算時的溢出問題當兩個有符號數進行加減運算時,如果運算結果超出可表示的有符號數的范圍時,就會發生溢出,使計算結果出錯。顯然,只有兩個同符號數相加或兩個異號數相減時,才會產生溢出。例:設機器字長為8位,以下運算都會發生溢出(+88)+(+65)=+153>127(+88)-(-65)=+153>127(-83)-(+80)=-163<-128(1)無符號數的溢出——最高位的進位位CFCF=CYD7(MOD28)或CF=CYD15(MOD216);例如,250=11111010B+50=00110010B44=100101100B(進位CF=CYD7=1丟失)(2)帶符號數的溢出——OFOF=CYD7

CYD6(MOD28)或OF=CYD15

CYD14(MOD216)例:[+65]補=01000001+[-15]補=11110001[+50]補=100110010OF=CYD7

CYD6=11=0(無溢出,結果正確)[+96]補=01100000+[+65]補=01000001[-95]補=010100001OF=CYD7

CYD6=01=1(有溢出,結果錯誤)CYD6=1CYD7=1

計算機中數和字符的表示1.概述2.無符號數的表示3.有符號數的表示4.定點數和浮點數5.計算機中的二進制編碼

在計算機中,數值數據有兩種表示法:定點表示法和浮點表示法。分別稱為定點數和浮點數。1.定點數

定點數是指小數點在數中的位置是固定不變的,常用的定點數有純小數和純整數兩種。純小數:小數點固定在符號位之后,如1.1100111B,此時機器中所有數均為小數。純整數;小數點固定在最低位之后,如111001l1.B,此時機器中所有數均為整數。定點數和浮點數2.浮點數

浮點數由階碼和尾數兩部分組成。對任意一個有符號的二進制數N的普遍形式可表示為

N=2E×M式中E稱為N的階碼,是一個有符號的可變整數。設E=ejek-1……e0ej為階符:若ej=0,則E是正數;若ej=1,則E為負數。ek-1…e0是階值。式中M稱為N的尾數,是一個有符號的純小數。設M=mjm1……mnmj為尾符:若mj=0,則M為正數;若mj=1,則M為負數。尾數M的符號就是浮點數N的符號。m1…mn是尾值。例:科學計數法:3.14159=0.314159×10+1高級語言中的格式:+0.314159E+01

尾符尾數階符階碼浮點數N在計算機內的表示形式如下所示。

ek-1ek-2…e0ejmjek-1ek-2…e0m1m2…mn一位階符m位階值一位尾符n位尾值3.規格化數與溢出

為了便于浮點數的運算,數采用規格化表示。對尾數規格化作如下定義:若mj≠m1,則稱尾數M為規格化數;若mj=m1,則稱尾數M為非規格化數。例如,N=2011×0.0010100,顯然尾數0.001010為非規格化數。如果尾數不是規格化數,那么要用移位手段把它變為規格化數。尾數每左移一位,階碼就減1,尾數每右移一位,階碼就加1,直至mj≠m1為止。以左移操作實現尾數的規格化稱為左規,以右移實現規格化稱為右規。如上例中的N為非規格化數,則將0.0010100左移兩位后,變成0.1010000,此數已是規格化數,不再左移,從階碼011中減去010,得001。所以規格化后的N應為2001×0.1010000。

存儲在計算機中的數一定是規格化數。兩數的運算結果也應為規格化數,如果不是,那么必須通過移位方式把它變為規格化數。

當浮點數超出機器所能表示數的范圍時,我們稱為溢出。對規格化的浮點數,當階碼小于機器所能表示的最小數時,稱為下溢,此時機器將把此數作0處理;若階碼大于機器所能表示的最大范圍時,稱為上溢。溢出發生時,機器就產生溢出中斷,進入中斷處理。浮點表示法比定點表示法所表示的數的范圍大,精度高,但運算規則比較復雜,成本較高。早期的微型計算機采用定點表示,機器中數均為整數,沒有處理浮點數的指令。為了彌補這方面的不足,專門設計了相應的數值協處理器(8087、80287、80387等)來實現對浮點數的運算。80486、80586的數值協處理器已集成在CPU芯片內部。在本教材中,若無特別說明,數據均采用純整數定點表示。

計算機中數和字符的表示1.概述2.無符號數的表示3.有符號數的表示4.定點數和浮點數5.計算機中的二進制編碼

1.BCD碼(BinaryCodedDecimal)

BCD碼是以四位二進制的不同組合表示十進制數十個數碼的方法,又稱二—十進制編碼。常用的BCD碼為8421BCD碼,即每位十進制數碼用四位二進制數來表示,四位二進制數從高到低的權值分別為23、22、21、20即8421。8421BCD碼如表所示。

計算機中的二進制編碼表:8421BCD碼十進制數

8421BCD碼

十進制數8421BCD碼00000501011000160110200107011130011810004010091001例:十進制數和BCD碼相互轉換。將十進制數86.5轉換為BCD碼:86.5=(10000110.0101)BCD將BCD碼10010111.0100轉換為十進制數:(10010111.0100)BCD=97.4根據在存儲器中的不同存放格式,BCD碼又分為壓縮型BCD碼:一個字節中存放兩個十進制數碼非壓縮型BCD碼:每個字節只存放一

溫馨提示

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

評論

0/150

提交評論