【大學課件】單片機基礎知識_第1頁
【大學課件】單片機基礎知識_第2頁
【大學課件】單片機基礎知識_第3頁
【大學課件】單片機基礎知識_第4頁
【大學課件】單片機基礎知識_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1章章 基礎知識基礎知識第1章 基礎知識 1.1 碼制1.1.1 英文字符的表示方法-asc碼1.1.2 bcd碼(二進制編碼的十進制數(shù))1.1.3 計算機中帶符號數(shù)的表示方法1.2 計算機的基本認識1.2.1 計算機的工作過程及其內部結構1.2.2 指令及其指令系統(tǒng)1.3 尋址方式1.4單片機及其發(fā)展概況1.4.1單片機及其特點1.4.2 單片機技術現(xiàn)狀及將來發(fā)展趨勢1.4.3增強型mcs-51單片機芯片特征及主流第第1章章 基礎知識基礎知識1.1 碼制 在這一節(jié)中,主要介紹本課程常用到的ascii碼,以及原碼、反碼、補碼,十進制數(shù)的二進制表示法bcd碼等方面的基本知識。第第1章章 基礎

2、知識基礎知識 由于計算機只能處理二進制數(shù),因此除了數(shù)值本身需要用二進制數(shù)形式表示外,字符,包括數(shù)碼(如0,1,2,3,4,5,6,7,8,9)、字母(如a,b,c,d,x,y,z及a,b,c,d,x,y,z)、特殊符號(如%,!,+,-,=等)也必須用二進制數(shù)表示,即在計算機中需將數(shù)碼、字母、特殊符號等代碼化,以便于計算機識別、存儲和處理。 為了便于不同計算機系統(tǒng)和不同操作者之間的信息交換,有必要規(guī)范字母與7位二進制數(shù)之間的對應關系。目前在計算機系統(tǒng)中普遍采用美國標準信息交換代碼(american standard code for information interchange ii,簡稱a

3、scii碼)。 該標準用7位二進制數(shù)表示一個字符,最多可以表示128個字符,編碼與字符之間的對應關系如附錄a所示。 1.1.1 英文字符的表示方法字符的表示方法asc碼碼第第1章章 基礎知識基礎知識 十進制畢竟是人們最習慣的記數(shù)方式,在向計算機輸入數(shù)據(jù)時,常用十進制數(shù)輸入,但計算機只認識二進制數(shù),因此每一位十進制數(shù)必須用二進制數(shù)表示。一位十進制數(shù)包含09十個數(shù)碼,必須用4位二進制數(shù)表示,這樣就需要確定09與4位二進制數(shù)0000b1111b之間的對應關系,其中較常用的8421 bcd碼規(guī)定了十進制數(shù)09與4位二進制數(shù)編碼之間的對應關系如下:十進制數(shù)8421 bcd碼十進制數(shù)8421 bcd碼00

4、0005010110001601102001070111300118100040100910011.1.2 bcd碼(二進制編碼的十進制數(shù))碼(二進制編碼的十進制數(shù))第第1章章 基礎知識基礎知識1. 原碼原碼 對于帶符號數(shù)來說,用最高位表示數(shù)的正負,其余各位表示該數(shù)的絕對值,這種表示方法稱為原碼表示法 2. 反碼反碼 帶符號數(shù)也可以用反碼表示,反碼與原碼的關系是: 正數(shù)的反碼與原碼相同,如56h反=56h原=0 1010110b。 負數(shù)的反碼等于對應正數(shù)原碼按位取反。 3. 補碼補碼 在計算機內,帶符號數(shù)并不是用原碼或反碼表示,而是用補碼表示,引入“原碼”、“反碼”的目的只是為了方便理解補碼概

5、念而已。 補碼的定義如下:正數(shù)的補碼與反碼、原碼相同;負數(shù)的補碼等于它的反碼加1。 在計算機內帶符號數(shù)使用補碼表示后,減法運算就可以轉化為加法運算。1.1.3 計算機中帶符號數(shù)的表示方法計算機中帶符號數(shù)的表示方法第第1章章 基礎知識基礎知識1.2 計算機的基本認識 計算機系統(tǒng)的基本結構如圖1-1所示 在計算機中,往往把運算器、控制器做在一個芯片上,稱為中央處理器(central processor unit,簡稱cpu),有時也稱為微處理器(micro processor unit,mpu)。為了進一步減小電路板面積,提高系統(tǒng)可靠性、降低成本,將輸入、輸出接口電路、時鐘電路以及存儲器、運算器、

6、控制器等部件集成到一個芯片內,就成為單片機(也稱為微控制單元,即microcontroller unit,簡稱mcu),其含義是一個芯片就具備了一部完整計算機系統(tǒng)所必須的基本部件。為了適應不同的需求,將不同功能的外圍電路,如定時器、中斷控制器、a/d及d/a轉換器、串行(如uart、spi或i2c等)通信接口電路,甚至lcd顯示驅動電路等集成在一個管芯內,形成系列化產(chǎn)品,就構成了所謂“嵌入式”單片機控制器(embedded microcontroller)。 1. 三總線概念 (1) 地址總線(address bus,簡稱ab),單向,用于傳送地址信息,如圖1-1中運算器與存儲器之間的地址線,

7、地址線的數(shù)目決定了可以尋址的存儲空間。 (2) 數(shù)據(jù)總線(data bus,簡稱db),一般為雙向,用于cpu與存儲器、cpu與外設,或外設與外設之間的傳送數(shù)據(jù)(包括實際意義的數(shù)據(jù)和指令碼)信息。 (3) 控制總線(control bus,簡稱cb),是計算機系統(tǒng)中所有控制信號線的總稱,在控制總線中傳送的信息是控制信息。 在模擬電路中,器件、部件一般按“串聯(lián)”方式連接。而在計算機電路中卻采用總線連接方式:每一器件的數(shù)據(jù)線并接在一起,構成數(shù)據(jù)總線;地址線接在一起,構成地址總線,然后與cpu的數(shù)據(jù)、地址總線相連,屬“并聯(lián)”關系。為避免混亂,任何時候只允許一個設備與cpu通信,因此需要用控制線進行控

8、制、選擇,系統(tǒng)(包括器件)所有的控制線被稱為控制總線。 。 第第1章章 基礎知識基礎知識2. 時鐘周期、機器周期及指令周期 (1) 時鐘周期:計算機在時鐘信號的作用下,以節(jié)拍方時鐘周期:計算機在時鐘信號的作用下,以節(jié)拍方式工作。因此,必須有一個時鐘生發(fā)器電路,輸入微處理式工作。因此,必須有一個時鐘生發(fā)器電路,輸入微處理器的時鐘信號的周期稱為時鐘周期。器的時鐘信號的周期稱為時鐘周期。 (2) 機器周期:機器完成一個機器周期:機器完成一個基本基本動作所需的時間稱為動作所需的時間稱為機器周期,一般由一個或一個以上的時鐘周期組成,例如機器周期,一般由一個或一個以上的時鐘周期組成,例如在標準在標準mcs

9、-51系列單片機中,一個機器周期由系列單片機中,一個機器周期由12個時鐘個時鐘周期組成。周期組成。 (3) 指令周期:執(zhí)行一條指令(如指令周期:執(zhí)行一條指令(如“mov a,#34h”,該,該指令的含義是將立即數(shù)指令的含義是將立即數(shù)34h傳送到微處理器內的累加器傳送到微處理器內的累加器a中)所需時間稱為指令周期,它由一個到數(shù)個機器周期組中)所需時間稱為指令周期,它由一個到數(shù)個機器周期組成。成。 1.2.1 計算機的工作過程及其內部結構 1. 8位通用微處理器內部結構8位通用微處理器內部基本結構可用圖1-2描述。圖1-2 cpu的內部結構簡圖 第第1章章 基礎知識基礎知識 由算術邏輯運算單元(a

10、rithmetic logic unit,簡稱alu)、累加器a(8位)、寄存器b(8位)、程序狀態(tài)字寄存器psw(8位)、程序計數(shù)器pc(有時也稱為指令指針,即ip,16位)、地址寄存器ar(16位)、數(shù)據(jù)寄存器dr(8位)、指令寄存器ir(8位)、指令譯碼器id、控制器等部分組成。第第1章章 基礎知識基礎知識2. 存儲器 存儲器是計算機系統(tǒng)中必不可少的存儲設備,主要用于存放程序(指令)和數(shù)據(jù)。盡管寄存器和存儲器均用于存儲信息,但cpu內的寄存器數(shù)量少,存取速度快,它主要用于臨時存放參加運算的操作數(shù)和中間結果;而存儲器一般在cpu外(但單片機cpu例外,其內部一般均含有一定容量的存儲器),單

11、獨封裝。 存儲器的種類很多,根據(jù)存儲器能否隨機讀寫,將存儲器分為兩大類: 只讀存儲器(read only memory,簡稱rom)。 隨機讀寫存儲器(random access memory,簡稱ram)。第第1章章 基礎知識基礎知識 在單片機應用系統(tǒng)中,所需的存儲器容量不大,常用prom(可編程的只讀存儲器)、eprom(紫外光可擦寫的只讀存儲器)、otp rom(一次性編程的只讀存儲器,內部結構、工作原理與eprom相似,是一種沒有擦寫窗口的eprom)、eeprom(也稱為e2prom,是一種電可擦寫的只讀存儲器,其結構與eprom類似,但絕緣柵很薄,高速電子可穿越絕緣層,中和浮柵上的

12、正電荷,起到擦除目的,也就是說可通過高電壓擦除)、flash rom(電可擦寫只讀存儲器,寫入速度比eeprom快,因此也稱為閃爍存儲器)等只讀存儲器作為程序存儲器,使用sram(靜態(tài)存儲器)作隨機讀寫ram,使用e2prom或fram(鐵電存儲器,讀寫速度快,操作方法與sram相似)作非易失的數(shù)據(jù)存儲器。盡管這些存儲器工作原理不同,但內部結構基本相同。 圖1-3 存儲器芯片及內部結構 (1) 內部結構 eprom、eeprom、flash rom、sram、fram等存儲器內部結構可以用圖1-3描述,由地址譯碼器、存儲單元、讀寫控制電路等部分組成。 第第1章章 基礎知識基礎知識(2) 存儲器

13、工作狀態(tài) csoewe工作模式控制信號輸出片選信號輸出允許寫允許信號讀llh數(shù)據(jù)輸出輸出禁止lhh高阻態(tài)待用(功率下降)h高阻態(tài)寫入lhl數(shù)據(jù)輸入存儲器芯片工作狀態(tài)由存儲器控制信號電平狀態(tài)決定 (3) 存儲器讀操作 下面以cpu讀取存儲器中地址編號為0000h的存儲單元的內容為例,說明cpu讀存儲器中某一存儲單元信息的操作過程(如圖1-4所示)。 圖1-4 cpu讀取存儲器操作過程示意圖 第第1章章 基礎知識基礎知識1.2.2 指令及其指令系統(tǒng)指令及其指令系統(tǒng)1.1.指令及指令系統(tǒng)指令及指令系統(tǒng) 將cpu所執(zhí)行的各種操作,如從指定的存儲器單元中取數(shù)據(jù)、將cpu內特定寄存器內容寫入存儲器某一指定

14、的存儲單元中以及算術或邏輯運算等操作,用命令的形式記錄下來,就稱為指令(instruction),一條指令與計算機的一種基本操作相對應。當然,指令也只能用二進制代碼表示,例如在mcs-51系列單片機中,累加器a中的內容除以寄存器b中的內容(即ab)的操作用84h作為指令代碼。 一條指令通常由操作碼和操作數(shù)兩部分組成: 操作碼(operation code)規(guī)定了指令要執(zhí)行的動作,一般用一個字節(jié)表示 ;操作數(shù)(operand)指定了參加操作的數(shù)據(jù)或數(shù)據(jù)所在的存儲單元的地址。 在計算機中,所有指令的集合稱為指令系統(tǒng)。 第第1章章 基礎知識基礎知識 不同計算機指令系統(tǒng)所包含的指令種類、數(shù)目、指令代碼

15、對應的操作由cpu設計人員指定。因此,不同種類的cpu具有不同的指令系統(tǒng)。一般說來,不同系列cpu的指令系統(tǒng)不一定相同,除非它們彼此兼容。根據(jù)計算機指令系統(tǒng)的特征,可以將計算機指令系統(tǒng)分為兩大類,即復雜指令系統(tǒng)(complex instruction set computer,簡稱cisc指令結構)和精簡指令系統(tǒng)(reduced instruction set computer,簡稱risc指令結構)。 第第1章章 基礎知識基礎知識 采用復雜指令結構的計算機系統(tǒng),如mcs-51系列單片機具有如下特點: (1)指令機器碼長短不一,簡單指令碼只有一個字節(jié),而復雜指令可能需要兩個或兩個以上字節(jié)描述。

16、 根據(jù)指令代碼的長短,可將指令分為: 單字節(jié)指令:這類指令僅有操作碼,沒有操作數(shù),或者操作數(shù)隱含在操作碼字節(jié)中。 雙字節(jié)指令:這類指令第一字節(jié)為操作碼,第二個字節(jié)為操作數(shù)。 多字節(jié)指令:這類指令第一字節(jié)為操作碼,第二、三字節(jié)為操作數(shù)或操作數(shù)所在存儲單元地址。 (2)可選擇兩條或兩條以上指令完成同一操作,程序設計靈活性大,但缺點是指令數(shù)目較多(這類cpu一般具有數(shù)十條百余條指令) 第第1章章 基礎知識基礎知識 采用精簡指令技術的計算機指令系統(tǒng)情況剛好相反:完成同一操作,一般只有一條指令可供選擇,指令數(shù)目相對較少,尤其是采用了精簡指令的單片機cpu,如pic系列、atmel的avr系列單片機,指令

17、數(shù)目僅為數(shù)十條,但程序設計的靈活性相對較差;另外,在采用精簡指令技術的計算機系統(tǒng)中,指令機器碼長度相同,例如pic16c54單片機任一指令機器碼的長度均為12位(1.5字節(jié)),由于所有指令碼長度相同,取指、譯碼過程中不必做更多的判斷,因而指令執(zhí)行速度較快。 但無論采用何種類型的指令系統(tǒng),任何cpu的指令系統(tǒng)都會提供:數(shù)據(jù)傳送指令、算術/邏輯運算指令、控制轉移指令等四種基本類型指令。此外,在單片機系統(tǒng)中,還要提供位操作指令,以簡化控制系統(tǒng)的程序設計。 第第1章章 基礎知識基礎知識 用二進制代碼表示的指令稱為機器語言指令,其中的二進制代碼稱為指令的機器碼。機器語言指令是計算機系統(tǒng)惟一能夠理解和執(zhí)行

18、的指令。正因如此,形象地將二進制代碼形式的指令稱為機器語言指令。 由于機器語言指令中的操作碼和操作數(shù)均用二進制數(shù)表示、書寫,沒有明顯的特征,一般人很難理解和記憶。為此,人們想出了一個辦法:將每條指令操作碼所要完成的動作指令功能的英文縮寫替代指令操作碼,形成了指令操作碼的助記符;并將機器語言指令中的操作數(shù)也用cpu內寄存器名、存儲單元地址或i/o端口號代替,這樣便形成了操作數(shù)助記符,于是就獲得了“匯編語言指令”。例如,將累加器a內容清零,記為“clr a”;用“mov”作為數(shù)據(jù)傳送指令的助記符,于是將立即數(shù)23h傳送到累加器a中的指令,就可以用“mov a,#23h”(#是立即數(shù)標志)表示;將存

19、儲器4fh單元中的內容傳送到累加器a中,可用“mov a, 4fh”表示??梢?,匯編語言指令比機器語言指令容易理解和記憶。 第第1章章 基礎知識基礎知識2. 程序程序 程序(program)就是指令的有機組合,是完成特定工作所用到的指令(這些指令當然是某個特定計算機系統(tǒng)的指令)的總稱。一段程序通常由多條指令組成,程序中所包含的指令數(shù)目及種類由程序功能決定。 用機器語言指令碼編寫的程序,就稱為機器語言程序 ,如:機器語言指令 含義(即對應匯編語言指令)74 aa;mov a, #0aahe4;cle a85 40 30;mov 30h,40h 第第1章章 基礎知識基礎知識3. 匯編語言及匯編語言

20、程序匯編語言及匯編語言程序 將每條指令操作碼所要完成的動作用特定符號表示,即用指令功能的英文縮寫替代指令操作碼,形成了指令操作碼的助記符;并將機器語言指令中的操作數(shù)也用cpu內寄存器名、存儲單元地址或i/o端口號代替,這樣便形成了操作數(shù)助記符,于是就獲得了“匯編語言指令”。例如,將累加器a內容清零,記為“clr a”;用“mov”作為數(shù)據(jù)傳送指令的助記符,于是將立即數(shù)23h傳送到累加器a中的指令,就可以用“mov a,#23h”(#是立即數(shù)標志)表示;將存儲器4fh單元中的內容傳送到累加器a中,就用“mov a, 4fh”表示??梢?,匯編語言指令比機器語言指令容易理解和記憶。 用指令助記符(由

21、操作碼助記符和操作數(shù)助記符組成)表示的指令稱為匯編語言指令,由匯編語言指令構成的程序,稱為匯編語言程序(有時也稱為匯編語言源程序)??梢姡瑓R編語言程序容易理解、可讀性強,方便了程序的編寫和維護。 第第1章章 基礎知識基礎知識 當然,計算機只能理解和執(zhí)行二進制代碼形式的機器語言指令,不能理解和執(zhí)行匯編語言指令。但可以通過專門軟件或手工查表方式將匯編語言程序中的匯編語言指令逐條翻譯成對應的機器語言指令,即可獲得計算機能理解和執(zhí)行的機器語言程序。將匯編語言程序轉換為機器語言程序的過程就稱為匯編過程,將完成匯編語言指令轉換為機器語言指令的程序稱為匯編程序,可見匯編程序的功能就是逐一讀出匯編語言源程序中

22、的匯編語言指令,再通過查表比較方式,將其中的匯編語言指令逐一轉換成機器語言指令。當然這一過程也可以由人工查表完成,即所謂的人工匯編。 第第1章章 基礎知識基礎知識4. 偽指令偽指令 在匯編語言源程序中,除了包含可以轉化為特定計算機系統(tǒng)的機器語言指令所對應的匯編語言指令外,還可能包含一些偽指令,如“org 2000h”、“end”等。“偽”者,假也,盡管它不是計算機系統(tǒng)對應的指令,匯編時也不產(chǎn)生機器碼。但匯編語言程序中的偽指令并非可有可無,偽指令的作用是:指導匯編程序對源程序的匯編。 下面是mcs-51匯編程序支持的、常見的偽指令:(1)org nnnn ;其中nnnn是16位二進制數(shù),該指令的

23、含義是隨后的匯編語言指令機器碼從nnnn單元開始存放。(2)db n1,n2,n3,;字節(jié)定義偽指令,將隨后的一串8位二進制數(shù)(字節(jié),彼此由逗號隔開)連續(xù)存放在存儲器中,用于定義字節(jié)常數(shù)表。第第1章章 基礎知識基礎知識 (3) dw nn1,nn2,nn3,;字定義偽指令,將隨后的一串16位二進制數(shù)(兩個字節(jié),彼此由逗號隔開)連續(xù)存放在存儲器中,用于定義字常數(shù)表。 (4) ds n ;保留n個存儲單元偽指令。(5) “符號名 equ 數(shù)或匯編符號 ”;等值定義偽指令,將某一常數(shù)或匯編符號用另一字符串代替,其中的匯編符號可以是寄存器名,存儲單元地址,甚至是指令操作碼助記符。(6) “符號名符號名

24、 bit bit ”;位定義偽指令,將某一位存儲單元地址用字符串代替。(7) “符號名符號名 data nn ”;地址定義偽指令,將某一存儲單元地址用字符串代替。例如“timel data 30h”偽指令的含義是存儲器30h單元用“timel”地址變量表示。(8) end ;匯編結束偽指令,該指令將告訴匯編程序下面沒有需要匯編的指令。第第1章章 基礎知識基礎知識5. 匯編語言指令的一般格式匯編語言指令的一般格式 intel系列cpu匯編語言指令格式為: 標號: 指令操作碼助記符 第一操作數(shù) ,第二操作數(shù) ,第三操作數(shù) ;注釋 6. 指令的執(zhí)行過程指令的執(zhí)行過程 指令執(zhí)行過程可用如圖1-5描述。

25、可見,一條指令的執(zhí)行過程包括了:取操作碼(取指令第一字節(jié))譯碼(對指令操作碼進行翻譯,指示控制器給出相應的控制信號)取操作數(shù)(取出指令第二、三字節(jié),指令第一字節(jié),即操作碼字節(jié)將告訴cpu該指令的長短)執(zhí)行指令規(guī)定的操作。然后,不斷重復“取操作碼譯碼取操作數(shù)執(zhí)行”的過程,執(zhí)行隨后的指令,直到程序結束(如遇到停機或暫停指令)。 在指令取出過程中,程序計數(shù)器pc每輸出一個地址編碼到地址寄存器ar后,pc內容自動加1,指向下一個存儲單元。 圖1-5 指令執(zhí)行過程示意圖 第第1章章 基礎知識基礎知識1.3 尋址方式 指令由操作碼和操作數(shù)組成,確定指令中操作數(shù)所在存儲單元地址的方式,就是尋址方式。對于只有

26、操作碼的指令,不存在尋址方式問題;對于雙操作數(shù)指令來說,每一操作數(shù)都有自己的尋址方式。 例如,在含有兩個操作數(shù)的指令中,第一操作數(shù)(也稱為目的操作數(shù))有自己的尋址方式;第二操作數(shù)(稱為源操作數(shù))也有自己的尋址方式。 在現(xiàn)代計算機系統(tǒng)中,為減少指令碼的長度,對于算術、邏輯運算指令,一般將第一操作數(shù)和第二操作數(shù)的運算結果經(jīng)alu數(shù)據(jù)輸出口回送cpu內部數(shù)據(jù)總線,再存放到第一操作數(shù)所指定的存儲單元中。 第第1章章 基礎知識基礎知識指令中的操作數(shù)只能是下列內容之一:(1)cpu內某一寄存器名,如累加器a、通用寄存器b、堆棧指針sp等。cpu內含有什么寄存器由cpu類型決定。例如,在mcs-51系列單片

27、機cpu內,就含有累加器a、通用寄存器b、堆棧指針sp、程序狀態(tài)字寄存器psw以及工作寄存器組r7r0。(2)存儲單元。存貯單元地址范圍由cpu尋址范圍以及實際安裝的存儲器容量、連接方式?jīng)Q定。(3)i/o端口號。在通用微機系統(tǒng)中,i/o地址空間與存儲器地址空間相互獨立;不過在單片機系統(tǒng)中,i/o端口地址空間往往與外存儲器地址空間連在一起,不再區(qū)分。(4)常數(shù)。常數(shù)類型及范圍也與cpu類型有關。 第第1章章 基礎知識基礎知識1. 立即尋址方式立即尋址方式 當指令第二操作數(shù)(源操作數(shù))為8位或16位常數(shù)時,就稱為立即尋址方式,其中的常數(shù)稱為立即數(shù)。如:mov a,#23h ;其中第二操作數(shù)“23h

28、”就是立即數(shù),含義是將立即數(shù)23h傳送到累加器a(目的操作數(shù))中。又如:mov dptr, #2000h ;將立即數(shù)2000h送到數(shù)據(jù)指針dptr(16位寄存器)寄存器中。在立即尋址方式中,立即數(shù)包含在指令碼中,取出指令碼時也就取出了可以立即使用的操作數(shù)(也正因如此,該操作數(shù)被稱為“立即數(shù)”,并把這一尋址方式形象地稱為“立即尋址”方式)。例如“mov a,#23h”指令機器碼為“74 23”,在存儲器中的存放位置及執(zhí)行結果可用圖1-6表示。 第第1章章 基礎知識基礎知識圖1-6 立即尋址示意圖 2. 直接尋址方式直接尋址方式 在直接尋址方式中,操作數(shù)是某一存儲單元的地址碼。例如:mov a,0

29、023h ;直接使用存儲單元地址作為源操作數(shù)。該指令的含義是將0023h存儲單元中的內容傳送到累加器a中,其中的“0023h”不再是立即數(shù),而是存儲單元的地址編碼。假設存儲器中0023h單元的內容為55h,則該指令執(zhí)行后,累加器a中的內容將變?yōu)?5h,指令代碼和執(zhí)行結果可用圖1-7表示。 圖1-7 直接尋址示意圖 在直接尋址方式中,存儲單元地址一般為16位,但在mcs-51系列單片機中,直接尋址方式僅適用于內部ram前128(00h7fh)字節(jié)存儲單元、片內位存儲單元(00h7fh)、特殊功能寄存器(80hffh),因此地址編碼僅為8位,如: mov 23h,a第第1章章 基礎知識基礎知識 3

30、. 寄存器尋址方式寄存器尋址方式 在寄存器尋址方式中,操作數(shù)是cpu內的某一寄存器名。例如:mov a,23h ;在這條指令中,目的操作數(shù)是累加器a。因此,這條指令目的操作數(shù)采用寄存器尋址方式。寄存器尋址方式可以用在目的操作數(shù)中,也可以用在源操作數(shù)中,如:mov 23h,a ;在這條指令中,累加器a是源操作數(shù)。因此,這條指令源操作數(shù)采用寄存器尋址方式。 在mcs-51中,可用于寄存器尋址方式的寄存器有:累加器a、寄存器b(但僅限于乘法指令)、數(shù)據(jù)指針dptr、位操作指令中的進位標志cy、工作組寄存器r7r0。 第第1章章 基礎知識基礎知識4. 寄存器間接尋址方式寄存器間接尋址方式 將寄存器內容

31、作為指令中操作數(shù)所在存儲單元地址編碼的尋址方式,稱為寄存器間接尋址方式。例如:mov a,r0 該指令的含義是將寄存器r0內容指定的內部ram單元的內容傳送到累加器a中。假設r0=23h,而內部ram 23h單元的內容為55h,則指令執(zhí)行后,累加器a的內容將為55h。指令中的“”是間接尋址標志,該指令與“mov a,r0”不同,“mov a,r0”指令源操作數(shù)采用寄存器尋址方式,含義是將寄存器r0內容傳送到累加器中,因此“mov a,r0”指令執(zhí)行后,a的內容將是23h。 一般說來,cpu內僅有部分寄存器可用作間接尋址寄存器,至于哪些寄存器可用作間接尋址寄存器由cpu指令系統(tǒng)決定。例如,在mc

32、s-51系列單片機中,只能使用寄存器r0、r1以及dptr作為間接尋址寄存器。 第第1章章 基礎知識基礎知識5. 變址尋址方式變址尋址方式 將某一寄存器作為基址寄存器,另一寄存器作為變址寄存器,兩者相加后作為操作數(shù)所在存儲單元地址的尋址方式就稱為變址尋址方式。例如:movc a,a+dptr 數(shù)據(jù)指針寄存器dptr(16位,作為基址寄存器)加上累加器a(作為變址寄存器)后獲得存儲器單元地址,并將該單元內容傳送到累加器a中。在這一指令中,源操作數(shù)采用了變址尋址方式。 第第1章章 基礎知識基礎知識6. 相對尋址相對尋址 相對尋址的含義是以程序計數(shù)器pc的當前值加上指令中給出的相對偏移量rel作為程

33、序計數(shù)器pc的值,這一尋址方式用在條件轉移指令中。例如:jz lable;其中l(wèi)able為轉移的目標地址 第第1章章 基礎知識基礎知識7. 位尋址方式位尋址方式 位尋址方式是mcs-51系列單片機特有的一種尋址方式,盡管目前控制系統(tǒng)中多用4位、8位、16位,甚至32位單片機芯片,但有時只需要完成簡單的邏輯控制,如電機的開、關;指示燈的亮、滅,為此8位單片機系統(tǒng)也支持位尋址功能,例如:mov c,23h ;指令中的“c”是進位標志cy的簡稱,23h是位尋址空間內的位地址。操作碼與操作數(shù)不同尋址方式的組合就構成了特定cpu的指令系統(tǒng),但在特定cpu指令系統(tǒng)內,操作碼支持何種類型的尋址方式,由cpu

34、決定。例如在mcs-51指令系統(tǒng)中,push指令(將操作數(shù)壓入堆棧)只支持直接尋址方式。 第第1章章 基礎知識基礎知識1.4單片機及其發(fā)展概況 計算機技術三個發(fā)展方向: 巨型化 微型化 單片化:1.4.1單片機及其特點 1. 單片機概念 在通用微機中央處理器基礎上,將輸入/輸出(i/o)接口電路、時鐘電路以及一定容量的存儲器等部件集成在同一芯片上,再加上必要的外圍器件,如晶體振蕩器,就構成了一個較為完整的計算機硬件系統(tǒng)。由于這類計算機系統(tǒng)的基本部件均集成在同一芯片內,因此被稱為單片微控制器(single-chip-micro controller,簡稱單片機國內習慣稱謂)、微控制單元(micr

35、ocontroller unit,簡稱mcu)或嵌入式控制器(embedded controller)。 第第1章章 基礎知識基礎知識2. 單片機芯片主要特征單片機芯片主要特征(1)抗干擾性強,工作溫度范圍寬(按工作溫度分類,有民用級、工業(yè)級、汽車級及軍用級)。(2)可靠性高。在工業(yè)控制中,任何差錯都可能造成極其嚴重的后果,因此在單片機芯片中普遍采用硬件看門狗技術,通過“復位”喚醒處于“失控”狀態(tài)下單片機芯片。(3)電磁輻射量小。(4)控制功能往往很強,數(shù)值計算能力較差。(5)指令系統(tǒng)比通用微機系統(tǒng)簡單。(6)單片機芯片往往不是單一數(shù)字電路芯片,而是數(shù)字、模擬混合電路系統(tǒng),即單片機芯片內常集成

36、了一定數(shù)量的模擬比較器、ad及da轉換電路等。(7)采用嵌入式結構。 (8) 更新?lián)Q代速度比通用微處理器慢得多。第第1章章 基礎知識基礎知識1.4.2 單片機技術現(xiàn)狀及將來發(fā)展趨勢單片機技術現(xiàn)狀及將來發(fā)展趨勢 單片機芯片系列、品種、規(guī)格繁多,先后經(jīng)歷單片機芯片系列、品種、規(guī)格繁多,先后經(jīng)歷4位機、位機、8位機、位機、16位機、新一代位機、新一代8位機、位機、32位機等幾個具有代表性位機等幾個具有代表性的發(fā)展階段。的發(fā)展階段。 目前主流品種主要是新一代目前主流品種主要是新一代8位單片機芯片、位單片機芯片、32位嵌入位嵌入式單片機芯片。式單片機芯片。第第1章章 基礎知識基礎知識1. 8位單片機芯片的主流品種位單片機芯片的主流品種 mcs-51系列最先由intel公司開發(fā),后來其他公司通過技術轉讓、交換等方式取得了mcs-51內核技術。生產(chǎn)廠家很多,目前主要有philips、

溫馨提示

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

評論

0/150

提交評論