版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、MCS-51 單片機原理及應(yīng)用教程 本書主要內(nèi)容 單片機基礎(chǔ)知識 單片機的組成與結(jié)構(gòu)分析 MCS-51 單片機的指令系統(tǒng) 單片機的程序設(shè)計 MCS-51單片機的中斷系統(tǒng) 定時/計數(shù)器 單片機的串行通信及接口 MCS-51單片機的系統(tǒng)擴展 接口技術(shù) MCS-51兼容機及串行總線擴展 第第1章章 單片機的基礎(chǔ)知識單片機的基礎(chǔ)知識 微型計算機的系統(tǒng)組成微型計算機的系統(tǒng)組成 單片機概述單片機概述 不同計數(shù)制之間的轉(zhuǎn)換 數(shù)的表示方法數(shù)的表示方法 思考練習(xí)題思考練習(xí)題 1.1 微型計算機的系統(tǒng)集成 運算器 控制器 主存儲器 外存儲器 輸入設(shè)備 輸出設(shè)備 操作系統(tǒng) 匯編程序 裝配程序 調(diào)試程序 匯編語言 B
2、ASIC 語言 FORTRAN語言 C 語言 財務(wù)軟件 教學(xué)軟件 管理軟件 應(yīng)用軟件 程序設(shè)計語言 系統(tǒng)軟件 外部設(shè)備 主機 硬件系統(tǒng) 軟件系統(tǒng) 微型計算機系統(tǒng) 1.1 微型計算機的系統(tǒng)組成微型計算機的系統(tǒng)組成 1.1.1 主機主機 主機一般由運算器、控制器和主存儲器組成。 1. 運算器 運算器是進行算術(shù)和邏輯運算的部件,它由完成加法運算的加法器、 存放操作數(shù)和運算結(jié)果的寄存器和累加器等組成。 2. 控制器 它是整個計算機硬件系統(tǒng)的指揮中心,根據(jù)不同的指令產(chǎn)生不 同的動作,指揮整個機器有條不紊地自動地進行工作。 3. 主存儲器 主存儲器又稱為內(nèi)存儲器,它由大量的存儲單元組成,用以 存儲大量的數(shù)
3、據(jù)及程序。 1.1.2 外部設(shè)備 1. 輸入設(shè)備 目前常用的有鍵盤、軟驅(qū)、磁帶機、光驅(qū)等 2. 輸出設(shè)備 常用的有顯示器、打印機、繪圖儀等 3.外存儲器 常用的外存有磁帶、磁盤、光盤,其中磁盤又可分為硬盤及軟 盤。 1.2 單片機概述單片機概述 1.2.1 單片機的發(fā)展概況 第一階段 (19711976) 第二階段 (1976 1979) 第三階段 (19791982) 第四階段 (1982 1990) 第五 階段 (1990 至今) 1.2.2 1.2.2 單片機的應(yīng)用單片機的應(yīng)用 1. 在工業(yè)測控中的應(yīng)用 2. 在智能產(chǎn)品中的應(yīng)用 3. 在計算機網(wǎng)絡(luò)與通信技術(shù)中的應(yīng)用 1.2.3 1.2.
4、3 單片機的發(fā)展趨勢單片機的發(fā)展趨勢 1.3 不同計數(shù)制之間的轉(zhuǎn)換不同計數(shù)制之間的轉(zhuǎn)換 1.3.1 1.3.1 十進制數(shù)十進制數(shù) 一個十進制數(shù),它的數(shù)值是由數(shù)碼0,1,2,8,9來表示的。數(shù) 碼所處的位置不同,代表數(shù)的大小也不同。 例如:53478=5104+3103+4102+7101+8100,對應(yīng)于: 53478 萬 千 百 十 個 十進制 104103102101100 1.3.2 1.3.2 二進制數(shù)二進制數(shù) 二進制是按“逢二進一”的原則進行計數(shù)的。二進制數(shù)的基為“2”, 即其使用的數(shù)碼為0、1,共兩個。二進制數(shù)的權(quán)是以2為底的冪。 例如:10110100=127+026+125+1
5、24+023+122+021+020, 對應(yīng)于: 其各位的權(quán)為1,2,4,8,即以2為底的0次冪、1次冪、2次 冪等。 (10110100)2 127+026+125+124+023+122+021+020=180 10111000二進制 27 26252423222120 1.3.3 1.3.3 十六進制數(shù)十六進制數(shù) 十六進制數(shù)的基為16,即基數(shù)碼共有l(wèi)6個:0,1,2,3,4,5,6,7, 8,9,A,B,C,D,E,F(xiàn)。其中A,B,C,D,E,F(xiàn)分別代表值為 十進制數(shù)中的10,11,12,13,14,15。十六進制的權(quán)為以16為底 的冪。 例如:4F8E=4163+F162+8161+E
6、160=20366,對應(yīng)于: 4EF8十六進制 16 3 16 2 16 1 16 0 常用計數(shù)制表示數(shù)的方法比較常用計數(shù)制表示數(shù)的方法比較 十進制二進制十六進制 0 00 1 11 2 102 3 113 4 1004 5 1015 6 1106 7 1117 8 10008 9 10019 10 1010A 11 1011B 12 1100C 13 1101D 14 1110E 15 1111F 16 1000010 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 1. 十進制數(shù)轉(zhuǎn)換成二進制數(shù)的方法 就是用2去除該十進制數(shù),得商和余數(shù),此余數(shù)為二進制代碼的最小 有效位(L
7、SB)或最低位的值;再用2除該商數(shù),又可得商數(shù)和余數(shù),則 此余數(shù)為LSB左鄰的二進制代碼(次低位)。依此類推,從低位到高位 逐次進行,直到商是0為止,就可得到該十進制數(shù)的二進制代碼。 除二取余法除二取余法 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 例如:將(67)10轉(zhuǎn)換成二進制數(shù),過程如下: 672 2331 0 2 2 2 161 8 4 22 0 0 12 10 0 余數(shù) 余數(shù) 余數(shù) 余數(shù) 余數(shù) 余數(shù) 余數(shù) 低位 高位 即:(67)10=(1000011)2。 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 1. 十進制數(shù)轉(zhuǎn)換成二進制數(shù)的方法 將
8、已知十進制的小數(shù)乘以2之后,可能有進位,使整數(shù)位為1(當(dāng)該小 數(shù)大于0.5時),也可能沒有進位,其整數(shù)位仍為零。該整數(shù)位的值為 二進制小數(shù)的最高位。再將乘積的小數(shù)部分乘以2,所得整數(shù)位的值 為二進制小數(shù)的次高位。依此類推,直到滿足精度要求或乘2后的小 數(shù)部分為0為止。 乘二取整法乘二取整法 例如:將(0.625)10轉(zhuǎn)換成二進制數(shù),其過程如下: 0.625 2 1.250 0.250 2 0.500 0.500 2 1.000 整數(shù)部分為 1 就是二進制小數(shù)的第一位為 1 整數(shù)部分為 0 就是二進制小數(shù)的第二位為 0 整數(shù)部分為 1 就是二進制小數(shù)的第三位為 1 即:(0.625)10=(0.
9、101)2 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 2. 二進制數(shù)轉(zhuǎn)換為十進制數(shù)的方法 將二進制數(shù)轉(zhuǎn)換成十進制數(shù)時,只要將二進制數(shù)各位的權(quán)乘以各位的 數(shù)碼(0或1)再相加即可。 例如:將(1101.1001)2制轉(zhuǎn)換成十進制數(shù): (1101.1001)2123+122+021+120+12-1+02-2+02- 3+12-48+4+0+1+0.5+0+0+0.0625=(13.5625)10 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 3. 二進制與十六進制數(shù)之間的轉(zhuǎn)換方法 二進制數(shù)轉(zhuǎn)換成十六進制數(shù) 例如:把(101101101.1100101)
10、2轉(zhuǎn)換成十六進制數(shù)。 1 0 1 1 0110 1.1111000 1 0 1 1 0110 1.11110000 0 00 二進制 十六進制 二進制 16DCA . 即:(101101101.1100101)2=(16D.CA)16。 1.3.4 1.3.4 不同進制數(shù)之間的轉(zhuǎn)換不同進制數(shù)之間的轉(zhuǎn)換 2)十六進制數(shù)轉(zhuǎn)換成二進制數(shù) 將十六進制數(shù)轉(zhuǎn)換成二進制數(shù)時,只要將每1位十六進制數(shù)用4位相應(yīng) 的二進制數(shù)表示即可完成轉(zhuǎn)換。 例如:將(ECA16)16轉(zhuǎn)換成二進制數(shù)。 101 100101011100 0 二進制 十六進制ECA16 1 1 00 即:(ECA16)16=(11101100101
11、000010110)2。 1.3.5 1.3.5 二進制數(shù)的算術(shù)運算規(guī)則二進制數(shù)的算術(shù)運算規(guī)則 1. 二進制加法基本規(guī)則 0+0=0 0+1=1+0=1 1+1=0向鄰近高位有進位 1+1+1=1向鄰近高位有進位 2. 二進制減法基本規(guī)則 0-0=0 1-1=0 1-0=1 0-1=1向鄰近高位有借位 3. 二進制乘法基本規(guī)則 00=0 01=10=0 11=1 4. 二進制除法基本規(guī)則 1/1=1 0/1=0 1. 邏輯與運算基本規(guī)則 00=0 10=01=0 11=1 2. 邏輯或運算基本規(guī)則 00=0 10=01=1 11=1 1.3.6 1.3.6 邏輯運算邏輯運算 3. 邏輯非運算基
12、本規(guī)則 /0=1 /1=0 4. 邏輯異或運算基本規(guī)則 0 0=1 1=0 1 0=0 1=1 1.4.1 1.4.1 真值與機器數(shù)真值與機器數(shù) 單片機用來表示數(shù)的形式稱為機器數(shù),也稱為機器碼。而 把對應(yīng)于該機器數(shù)的算術(shù)值稱為真值。 設(shè): N1=+1010101 N2=-1010101 這兩個數(shù)在機器中表示為: N1:01010101 N2:11010101 1.4 數(shù)的表示方法數(shù)的表示方法 01010101 符號位數(shù)值部分 11010101 符號位數(shù)值部分 在計算機中還有一種數(shù)的表示方法,即機器中的全部有 效位均用來表示數(shù)的大小,此時無符號位,這種表示方 法稱為無符號數(shù)的表示方法。 0101
13、010111010101 8位全用來表示一個數(shù) 表示無符號數(shù)55 8位全用來表示一個數(shù) 表示無符號數(shù)D5 1.4.2 1.4.2 原碼、反碼、補碼原碼、反碼、補碼 1. 原碼表示法 原碼表示法是最簡單的一種機器數(shù)表示法,只要把 真值的符號部分用0或1表示即可。 例如:真值為+34與-34的原碼形式為: +34原=00100010 -34原=10100010 0的原碼有兩種形式: +0原=00000000 -0原=10000000 1.4 數(shù)的表示方法數(shù)的表示方法 8位二進制數(shù)原碼的表示范圍為: 1111111101111111,對應(yīng)于-127+127。 2. 反碼表示法 反碼是二進制數(shù)的另一種
14、表示形式,正數(shù)的反碼與原碼相 同;負(fù)數(shù)的反碼是將其原碼除符號位外按位求反。即原來 為1變?yōu)?,原來為0變?yōu)?。 例如: +34反=+34原=00100010 -34原=10100010,-34反=11011101 0的反碼也有兩種形式: +0反=00000000 -0反=11111111 8位二進制數(shù)反碼的表示范圍為:1000000001111111,對 應(yīng)于-127+127。 1.4 數(shù)的表示方法數(shù)的表示方法 3. 補碼表示法 1.4 數(shù)的表示方法數(shù)的表示方法 96 21 75 01100000 00010101 01001011 96 235 75 01100000 11101011 01
15、001011 1 丟失 正數(shù)的補碼表示方法與原碼相同,負(fù)數(shù)的補碼表示方法為它的反碼 加1。 例如:-21原=10010101 -21反=11101010 -21補=11101011 0的補碼只有一種表示方法,即+0補=-0補=00000000。 8位二進制數(shù)的補碼所能表示的范圍為1000000101111111,對應(yīng)于- 128+127。 1.4.3 BCD1.4.3 BCD碼碼 十進制8421BCD碼二進制 0 00000000 1 00010001 2 00100010 3 00110011 4 01000100 5 01010101 6 01100110 7 01110111 8 100
16、01000 9 10011001 10 0001 00001010 11 0001 00011011 12 0001 00101100 13 0001 00111101 14 0001 01001110 15 0001 01011111 1.4.4 ASCII1.4.4 ASCII碼碼 ASCII碼是一種8位代碼,最高位一般用 于奇偶校驗,用其余的7位代碼來對128 個字符編碼,其中32個是控制字符,96 個是圖形字符。 1.5 思考練習(xí)題思考練習(xí)題 (1)微型計算機由哪幾部分組成? (2)什么是單片機?它與一般微型計算機在結(jié)構(gòu)上有什 么區(qū)別? (3)單片機主要應(yīng)用在哪些方面? (4)將下面的
17、一組十進制數(shù)轉(zhuǎn)換成二進制數(shù): 56 74 23 19 89 68 142 76.87 0.375 9.325 83.625 134.0625 (5)將下面的二進制數(shù)轉(zhuǎn)換成十進制數(shù)和十六進制數(shù): 10110011 10100101 11101001 10011110 10000101 11000101 11101110 10001100 11011.11101.01101 (6)原碼已經(jīng)在下面列出,試寫出各數(shù)的反碼與補碼: 10001101101011001110101110001001 11111111011000010111000111111001 第第2章章 單片機的組成與結(jié)構(gòu)分析單片機的
18、組成與結(jié)構(gòu)分析 MCS-51單片機的內(nèi)部結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu) CPU的結(jié)構(gòu)和功能的結(jié)構(gòu)和功能 存儲器的組織結(jié)構(gòu)存儲器的組織結(jié)構(gòu) MCS-51單片機的并行輸入輸出端口單片機的并行輸入輸出端口 MCS-51 單片機的外部引腳及功能單片機的外部引腳及功能 單片機指令時序單片機指令時序 思考練習(xí)題思考練習(xí)題 2.1 MCS-51單片機的內(nèi)部結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu) 2.1 MCS-51單片機的內(nèi)部結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu) 其基本特性如下8051: 8位CPU,含片內(nèi)振蕩器; 4KB的程序存儲器ROM (Read-only Memory)、 ; 128B的數(shù)據(jù)存儲器RAM (Random Access Memo
19、ry)、 64KB的外部程序存儲器尋址能力; 64KB的外部數(shù)據(jù)存儲器尋址能力; 32根輸入輸出(I/O)線; 2個16位定時/計數(shù)器; 1個全雙工異步串行口; 21個特殊功能寄存器; 5個中斷源,2個優(yōu)先級; 具有位尋址功能。 單片機的組成 中央處理器CPU 存儲器 輸入輸出端口 運算器 控制器 ROM RAM 總線 數(shù)據(jù)總線 DB 雙向 控制總線 CB 固定 地址總線 AB 單向 2.2 CPU的結(jié)構(gòu)和功能的結(jié)構(gòu)和功能 2.2.1 2.2.1 運算器運算器 8051單片機的運算器由算術(shù)/邏輯運算單元ALU、累加器A、寄存 器B、暫存器1、暫存器2以及程序狀態(tài)字寄存器PSW組成。 CYACR
20、S0RS1FOOVP 圖2.2 PSW寄存器各位的標(biāo)志符號 表2.1 寄存器PSW各位的功能、標(biāo)志符號與相應(yīng)的位地址 功 能標(biāo)志符號位地址 進位標(biāo)志(又是C寄存器) CYPSW.7 輔助進位標(biāo)志ACPSW.6 用戶標(biāo)志FOPSW.5 工作寄存器組選擇RS1PSW.4 工作寄存器組選擇RS0PSW.3 溢出標(biāo)志OVPSW.2 保留PSW.1 奇偶標(biāo)志PPSW.0 2.2.2 2.2.2 控制器控制器 2.3 存儲器的組織結(jié)構(gòu)存儲器的組織結(jié)構(gòu) 存儲器的功能是存儲信息(即程序與數(shù)據(jù))。存儲器是組成計算機的 主要部件,目前所使用的存儲器以半導(dǎo)體存儲器為主。從功能上來 劃分,半導(dǎo)體存儲器可分為兩大類:即
21、只讀存儲器(ROM),和隨機 存儲器(RAM)。 8051單片機的控制器由指令寄存器、指令譯碼器、堆棧指針 SP、程序計數(shù)器PC、數(shù)據(jù)指針DPTR、RAM地址寄存器以及 16位地址緩沖器等組成。 2.3.1 MCS-512.3.1 MCS-51單片機的存儲器結(jié)構(gòu)單片機的存儲器結(jié)構(gòu) 0000H FFH FFFFH 64KB RAM ( I/O) 數(shù) 據(jù) 存 儲 器 00H 7FH 80H 內(nèi) 部 RAM 專 用 寄 存 器 片 外 片 內(nèi) 0000H 片 內(nèi) EA=1 0000H 0FFFH 片 外 EA=0 0FFFH FFFFH 64KB ROM 4KB ROM 程 序 存 儲 器 圖2.3
22、 8051存儲器配置圖 2.3.2 2.3.2 程序存儲器程序存儲器 程序是控制計算機運行的一系列命令。計算機能夠識別 并執(zhí)行的命令是由代碼“0”和“1”組成的一組機器指令。 2.3.3 2.3.3 數(shù)據(jù)存儲器數(shù)據(jù)存儲器 單片機的數(shù)據(jù)存儲器由可讀可寫的存儲器RAM組成,最多 可擴展到64KB,用于存儲數(shù)據(jù)。 2.3.4 MCS-512.3.4 MCS-51單片機的內(nèi)部數(shù)據(jù)存儲器單片機的內(nèi)部數(shù)據(jù)存儲器 MCS-51單片機的內(nèi)部數(shù)據(jù)存儲器由地址00HFFH共有256個字節(jié) 的地址空間組成,這256個字節(jié)的地址空間被分為兩部分,其中內(nèi) 部數(shù)據(jù)RAM地址為00H7FH(即0127)。 00H 1FH
23、20H 2FH 30H 7FH 0組 1組 2組 3組 位 地 址 為 00 H 7FH 只 能 按 字 節(jié) 尋 址 的 RAM區(qū) 既 可 按 位 也 可 按 字 節(jié) 尋 址 的 16字 節(jié) (128位 ) 4組 工 作 寄 存 器 每 組 為 R0R7 (也 可 作 按 字 節(jié) 尋 址 的 RAM用 ) 32字 節(jié) FFH B8H B0H A8H A0H 98H 90H 88H 80H F0H E0H D0H C8H 專 用 寄 存 器 中 的 可 尋 址 位 (93位 ) 80H 特 殊 功 能 寄 存 器 128255 內(nèi) 部 數(shù) 據(jù) RAM 0127 通 用 RAM區(qū) 圖2.4 內(nèi)部數(shù)
24、據(jù)存儲器地址空間 1. 內(nèi)部數(shù)據(jù)RAM單元 內(nèi) 部 數(shù) 據(jù) RAM分為 工 作 寄 存 器 區(qū) 、 位 尋 址 區(qū) 、 通用RAM 區(qū) 三 個 部 分。 7F7E7D7C7B7A7978 7776757473727170 6F6E6D6C6B6A6968 6766656463626160 5F5E5D5C5B5A5958 5756555453525150 4F4E4D4C4B4A4948 4746454443424140 3F3E3D3C3B3A3938 3736353433323130 2F2E2D2C2B2A2928 2726252423222120 1F1E1D1C1B1A1918 17
25、16151413121110 0F0E0D0C0B0A0908 0706050403020100 3區(qū) 2區(qū) 1區(qū) 0區(qū) 07H 00H 0FH 08H 17H 10H 1FH 18H 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH 2FH 7FH MSBLSB 圖2.5 RAM位 地址 (低 128位 在 00H7 FH) 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 00000111 SP(07H) 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H
26、 0AH 00001000 SP(08H) 10101011 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 00000111 SP(07H) 壓棧操作:PUSH A出棧操作:POP A系統(tǒng)復(fù)位 (a)系統(tǒng)復(fù)位后,未改變SP初值時的堆棧操作(設(shè)(A)=0ABH) 執(zhí)行指令:MOV SP,#60H 5FH 60H 61H 62H 63H 64H 01100000 SP(60H) 5FH 60H 61H 62H 63H 64H 01100001 SP(61H) A1 5FH 60H 61H 62H 63H 64H 01100011 SP(63H) A1 A2
27、 壓入數(shù)據(jù)A1相繼壓入數(shù)據(jù)A2、A3 5FH 60H 61H 62H 63H 64H 01100001 SP(61H) A1 5FH 60H 61H 62H 63H 64H 01100010 SP(62H) A1 A2 彈出數(shù)據(jù)A3 A3 彈出數(shù)據(jù)A2彈出數(shù)據(jù)A1 5FH 60H 61H 62H 63H 64H 01100000 SP(60H) (b)系統(tǒng)復(fù)位后,改變SP初值為60H時的堆棧操作 圖2.6 堆棧操作示例 2. 特殊功能寄存器 特殊功能寄存器SFR的地址空間是80HFFH。 表2.3 特殊功能寄存器的名稱、符號與地址 特殊功能 寄存器名稱 符 號 位地址與位名稱字節(jié) 地址 D7D
28、6D5D4D3D2D1D0 B寄存器BF7F6F5F4F3F2F1F0F0H 累加器AE7E6E5E4E3E2E1E0E0H 程序狀態(tài)字PS W D7D6D5D4D3D2D1D0D0H CACF0RS1RS0OVP 中斷優(yōu)先級 控制 IPBFBEBDBCBBBAB9B8B8H PSPT1PX1PT0PX0 D7D6D5D4D3D2D1D0 P3口P3B7B6B5B4B3B2B1B0B0H P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0 2. 特殊功能寄存器 中斷允許 控制 IEAFAEADACABAAA9A8A8H EAESET1EX1ET0EX0 P2口P2A7A6A5A4
29、A3A2A1A0A0H P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 串行數(shù)據(jù) 緩沖器 SBUF99H 串行控制SCON9F9E9D9C9B9A999898H SM0SM1SM2RENTB8RB8TIRI P1口P1979695949392919090H P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0 定時/計數(shù) 器1高字節(jié) TH18DH 定時/計數(shù) 器0高字節(jié) TH08CH 2. 特殊功能寄存器 定時/計數(shù) 器1低字 節(jié) TL18BH 定時/計數(shù) 器0低字 節(jié) TL08AH 定時/計數(shù) 方式控制 TMODGATEC/TM1M0GATEC/TM1M089H
30、 2. 特殊功能寄存器 特殊功能 寄存器名 稱 符號位地址與位名稱字節(jié) 地址 D7D6D5D4D3D2D1D0 定時器控 制寄存器 TCON8F8E8D8C8B8A898888H TF1TR1TF0TR0IE1IT1IE0IT0 電源控制PCONSMOD87H 數(shù)據(jù)指針 高字節(jié) DPH83H 數(shù)據(jù)指針 低字節(jié) DPL82H 堆棧指針SP81H P0口P0878685848382818080H P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 2.4 MCS-51單片機的并行輸入輸出端口單片機的并行輸入輸出端口 2.4.1 P02.4.1 P0口結(jié)構(gòu)口結(jié)構(gòu) 1. P0用作通用I/
31、O口 2. P0用作地址/數(shù)據(jù)總線分時復(fù)用方式 D CL Q Q P0.X 鎖存器 MUX P0.X 引腳 T1 T2 讀引腳 寫鎖存器 內(nèi)部總線 讀鎖存器 1 2 3 4 地址/數(shù)據(jù)控制C VCC 2.4.2 P22.4.2 P2口結(jié)構(gòu)口結(jié)構(gòu) 1. P2口用作地址總線 2. P2口用作通用I/O口 D CL Q Q P2.X 鎖存器 MUX 讀引腳 寫鎖存器 內(nèi)部總線 讀鎖存器 1 2 地址控制C P2.X 引腳 T VCC R 3 2.4.3 P32.4.3 P3口結(jié)構(gòu)口結(jié)構(gòu) 2.4.4 P12.4.4 P1口結(jié)構(gòu)口結(jié)構(gòu) D CL Q Q P3.X 鎖存器 讀引腳 寫鎖存器 內(nèi)部總線 讀鎖
32、存器 1 2 P3.X 引腳 T VCC R 第二輸出功能 第二輸入功能 3 4 D CL Q Q P1.X 鎖存器 讀引腳 寫鎖存器 內(nèi)部總線 讀鎖存器 1 2 P1.X 引腳 T VCC R 2.5 MCS-51單片機的外部引腳及功能單片機的外部引腳及功能 2.5.1 2.5.1 電源引腳電源引腳 (b)雙列直插式封裝 (a)方形封裝 2.5.2 2.5.2 外接晶振或外部時鐘信號輸入端外接晶振或外部時鐘信號輸入端 (a)內(nèi)部振蕩器方式 (b)外部振蕩器方式 圖2.12 8051單片機的振蕩器方式 表2.4 按不同工藝制造的單片機芯片外接振蕩器時的接法 芯片類 型 接 法 XTAL1XTA
33、L2 CHMOS接外部振蕩器脈沖輸入端(帶 上拉電阻) 懸浮 HMOS接地接外部振蕩器脈沖輸入端(帶 上拉電阻) 2.5.3 2.5.3 輸入輸出引腳輸入輸出引腳 P0.0P0.7:通道0是一個8位漏極開路的雙向輸入輸出通道。在外接存 儲器或者擴展I/O接口時,P0口作為復(fù)用的低8位地址總線和雙向數(shù)據(jù) 總線。在不擴展存儲器或者I/O接口時,作為準(zhǔn)雙向輸入輸出接口。 P1.0P1.7:只有一種功能,即準(zhǔn)雙向I/O口。 P2.0P2.7:可作為準(zhǔn)雙向I/O口使用;但在接有片外存儲器或擴展I/O 接口范圍超過256B時,則該口一般只能作為高8位地址總線使用。 P3.0P3.7:該口除了作為準(zhǔn)雙向口外
34、,還具有第二功能。 2.5.4 2.5.4 控制線控制線 1. ALE/ 2. PSEN 3. EA/VPP 4. RST (a)上電復(fù)位 (b)電平開關(guān)復(fù)位 圖2.13 復(fù)位電路 2.6 單片機指令時序單片機指令時序 S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2P2P1 S1 OSC ALE S1S2S3S4S5S6 讀操作碼 讀下一個操作碼 (丟棄) 讀下一個操作碼 A:單字節(jié)單周期指令 如:INC A S1S2S3S4S
35、5S6 讀操作碼讀第2字節(jié)讀下一個操作碼 B:雙字節(jié)單周期指令 如:ADD A,#data S1S2S3S4S5S6 讀操作碼讀下一個操作碼 C:單字節(jié)雙周期指令 如:INC DPTR S1S2S3S4S5S6 讀操作碼 讀下一個操作碼 D:單字節(jié)雙周期指令 如:MOVX類指令 讀下一個操作碼(丟棄) S1S2S3S4S5S6 S1S2S3S4S5S6 讀下一個操作碼(丟棄)不取指 無ALE信號 不取指 S1 S1 地址數(shù)據(jù) 訪問外部存儲器 2.7 思考練習(xí)題思考練習(xí)題 (1)MCS-51單片機包含哪些主要邏輯功能部件? (2)程序狀態(tài)字寄存器PSW包含哪幾個標(biāo)志位?各位的含義是什么?各 有何
36、作用? (3)什么叫單片機? (4)MCS-51單片機的存儲結(jié)構(gòu)有何特點? (5)單片機的端有何作用?在8031組成的單片機應(yīng)用系統(tǒng)中,其端怎樣 處理?為什么? (6)單片機內(nèi)部RAM分為哪幾個部分?各有何作用? (7)MCS-51單片機的堆棧SP在操作中遵循什么原則?在開機復(fù)位時,其 初值是多少?是否可以通過程序重新設(shè)置? (8)怎樣確定和改變單片機當(dāng)前的工作寄存器組? (9)簡要說明單片機的位地址分配。 (10)試畫出常用的單片機復(fù)位電路,并說明復(fù)位后各個寄存器的狀態(tài)。 第3章 MCS-51單片機的指令系統(tǒng) u 匯編語言的指令格式及符號簡介匯編語言的指令格式及符號簡介 u 尋址方式 u 數(shù)
37、據(jù)傳送類指令 u算術(shù)運算類指令 u邏輯運算類指令 u位操作類指令 u控制轉(zhuǎn)移類指令 u思考練習(xí)題 3.1 匯編語言的指令格式及符號簡介匯編語言的指令格式及符號簡介 3.1.1 指令格式指令格式 標(biāo)號: 操作碼助記符 第一操作數(shù) ,第二操作數(shù) ,第三操作數(shù) ;注釋 例如: LOOP:MOV A, #50H;(A)50H DECR0;(R0)(R0)-1 DJNZ R0, LOOP ;(R0)-10,則程序轉(zhuǎn)移到LOOP地址;否則順序執(zhí)行 END;結(jié)束 3.1.2 本章中符號的定義本章中符號的定義 3.2 尋尋 址址 方方 式式 MCS-51單片機有7種尋址方式,見表3.1。 表3.1 7種尋址方
38、式的比較 序 號 尋址方式利用的寄存器和存儲空間 1立即尋址程序存儲器ROM 2直接尋址內(nèi)部RAM、特殊功能寄存器SFR 3寄存器尋 址 寄存器R0R7、A、B、DPTR和C(布爾累加 器) 4寄存器間 接尋址 內(nèi)部RAM(R0、R1、SP)、外部 RAM(R0、R1、DPTR) 5變址尋址程序存儲器ROM(A+DPTR、A+PC) 6相對尋址程序存儲器ROM(PC+偏移量) 7位尋址內(nèi)部RAM的20H2FH單元和部分SFR 3.2.1 立即尋址立即尋址 例如:MOV A, #23H ; (A)23H,即累加器A的內(nèi)容被替換為立即數(shù)23H。 01110100 00100011 PC 操作碼 立
39、即數(shù) ACCE0H 圖3.1 MOV A,#23H的執(zhí)行示意圖 該指令的功能是將8位的立即數(shù)23H傳 送到累加器A中。如圖3.1所示。其中, 目的操作數(shù)采用寄存器尋址,源操作數(shù) 采用立即尋址。 3.2.2 直接尋址直接尋址 直接尋址是指在指令中包含了操作數(shù)的地址,該地址直接給出了參加運算 或傳送的單元或位。直接尋址方式可訪問三種地址空間: 特殊功能寄存器SFR(該空間只能采用直接尋址)。 內(nèi)部數(shù)據(jù)RAM的低128個字節(jié)單元(該空間還可以采用寄存器間接尋址)。 221個位地址空間。 例如例如:MOV A, 40H ;把40H單元的內(nèi)容送到累加器中,即 (A)(40H)。 11100101 010
40、00000 PC 操作碼 直接地址 ACCE0H 40H ROM 內(nèi)部RAM 圖3.2 MOV A,40H的執(zhí)行示意圖 3.2.3 寄存器尋址寄存器尋址 寄存器尋址是指定某一可尋址的寄存器的內(nèi)容為操作數(shù)。 例如:MOV A, R0 ;(A)(R0) 該指令的功能是將R0中的數(shù)據(jù)傳送到累加器A中。源操作數(shù) 與目的操作數(shù)都采用了寄存器尋址。 在MCS-51單片機中,能夠用來間接尋址的寄存器有:用戶所選定 的工作寄存器組的R0、R1,堆棧指針SP和16位的數(shù)據(jù)指針DPTR。 內(nèi)部數(shù)據(jù)RAM的寄存器間接尋址采用寄存器R0、R1;外部數(shù)據(jù) RAM的寄存器間接尋址有兩種形式:一是采用R0、R1作間址寄存器
41、, 這時R0或R1提供低8位地址,而高8位地址則由P2端口提供;二是采用 16位的DPTR作間址寄存器。 3.2.4 寄存器間接尋址寄存器間接尋址 例如:設(shè)R0的內(nèi)容為60H,且(60H)=10H,即60H地址單元中 的內(nèi)容為10H,則語句MOV A, R0的執(zhí)行過程如圖3.3所示。 執(zhí)行后,(A)=10H,即累加器A的內(nèi)容成為10H。 01100000 ACC R0 60H10H 00010000 00010000 內(nèi)部RAM 圖3.3 MOV A,R0的執(zhí)行示意圖 又如:MOVX A, R0;(A)(R0),用R0間接尋址的單元中的內(nèi)容替換A的 ;內(nèi)容。 MOVX A, DPTR;(A)(
42、DPTR),用DPTR間接尋址的單元中的內(nèi)容替換 ;A的內(nèi)容。 3.2.5 變址尋址變址尋址 這種尋址方式是以數(shù)據(jù)指針DPTR或程序計數(shù)器PC作為基址寄存器, 以累加器A作為偏移量寄存器,將一個基址寄存器的內(nèi)容與偏移量寄 存器的內(nèi)容之和作為操作數(shù)地址。 例如:MOVC A, A+DPTR 設(shè)(A)=10H,(DPTR)=1000H,程序存儲器的(1010H)=45H,則上面程序語句的 功能是將A的內(nèi)容與DPTR的內(nèi)容相加形成操作數(shù)地址(1010H),把該地址中的 數(shù)據(jù)傳送到累加器A。即(A)(A)+(DPTR)。結(jié)果: (A)=45H。 00010000DPH ROM 00000000DPL
43、00010000ACC 00010000 + 00010000 (DPTR)=1010H DPH DPL 01000101 ACC 01000101 圖 3.4 MOVC A,A+DPTR的執(zhí)行示意圖 相對尋址相對尋址是把指令中給定的地址偏移量rel與程序計數(shù)器 PC的當(dāng)前 值(讀出該雙字節(jié)或三字節(jié)的跳轉(zhuǎn)指令后,PC指向的下條指令的地址)相 加,得到真正的程序轉(zhuǎn)移地址。 例如:JC 80H 若C=0,則PC值不變,若C=1,則以當(dāng)前PC值為基地址,加上80H 得到新的PC值。設(shè)該轉(zhuǎn)移指令存放在1005H單元,取出操作碼后 PC指向1006H單元,取出偏移量后PC指向1007H單元,所以計算 偏
44、移量時PC當(dāng)前地址為1007H,已經(jīng)為轉(zhuǎn)移指令首地址加2,這里 的偏移量以補碼給出,所以80H代表著-80H,補碼運算后,就形 成跳轉(zhuǎn)地址0F87H。其過程如圖3.5所示。 3.2.6 相對尋址相對尋址 3.2.6 相對尋址相對尋址 01000000 10000000 0F87H 1005 PC PC PC 1006 1007 ALU 1007 操作碼 偏移量 PC 圖3.5 JC 80H的執(zhí)行示意圖 3.2.7 位尋址位尋址 MCS-51單片機可對片內(nèi)RAM的兩個區(qū)域進行位尋址:一 個是20H2FH單元的128位,另一個是特殊功能寄存器 的93位。 在尋址時,同一個位地址可以有多種標(biāo)識方式,
45、讀者可 參看后面3.6節(jié)“位操作指令”的相關(guān)內(nèi)容。 3.3.1 通用傳送指令通用傳送指令 格式:MOV 目的操作數(shù),源操作數(shù) 功能:把第二操作數(shù)指定的字節(jié)內(nèi)容傳送到第一操作數(shù)指定的單 元中。不影響源操作數(shù)內(nèi)容,不影響別的寄存器和標(biāo)志。 1. 以累加器A為目的操作數(shù)的傳送類指令 3.3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 指令助記符及功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方 式 MOVA,direct;(A)(direct)直接尋址 MOVA,Ri;(A)(Ri)寄存器間接尋址 MOVA,Rn;(A)(Rn)寄存器尋址 MOVA,#data;(A)data立即尋址 例例1 若(50H)
46、=10H,則執(zhí)行指令MOV A, 50H之后,(A)=10H。 例例2 若(R0)=20H,(20H)=39H,則執(zhí)行指令MOV A, R0后, (A)=39H。 例例3 若(R5)=55H,則執(zhí)行指令MOV A, R5后,(A)=55H。 2. 以Rn為目的操作數(shù)的傳送類指令 例例1 若(A)=20H,則執(zhí)行指令MOV R3, A后,(R3)=20H。 例例2 若(30H)=01H,則執(zhí)行指令MOV R7, 30H后,(R7)=01H。 指令助記符及功能說明如下: 目的操作數(shù) 源操作數(shù)功能說明源操作數(shù)尋址方 式 MOVRn,A;(Rn)(A)寄存器尋址 MOVRn,direct;(Rn)(d
47、irect)直接尋址 MOVRn,#data;(Rn)data立即尋址 例例1 若(30H)=20H,(R0)=30H,則執(zhí)行指令MOV 90H, R0的結(jié)果為 (90H)=20H。 例例2 若例1中的條件不變,而執(zhí)行指令MOV P1, R0,則(P1)=20H。 3. 以直接地址directX為目的操作數(shù)的傳送類指令 指令助記符及功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 MOVdirectX,A;(directX)(A)寄存器尋址 MOVdirectX,Rn;(directX)(Rn)寄存器尋址 MOVdirectX,directY;(directX)(directY)直接
48、尋址 MOVdirectX,Ri;(directX)(Ri)寄存器間接尋址 MOVdirectX,#data;(directX)data立即尋址 例例1 若(R0)=50H,(50H)=20H,(A)=10H,則執(zhí)行指令“MOV R0, A”后,50H單元的內(nèi)容由原來的20H變?yōu)?0H。 4. 以寄存器間接地址Ri為目的操作數(shù)的傳送類指令 指令助記符及功能說明如下: 目的操作 數(shù) 源操作數(shù)功能說明源操作數(shù)尋址方 式 MOV Ri,A;(Ri)(A)寄存器尋址 MOV Ri,direct;(Ri)(direc t) 直接尋址 MOV Ri,#data;(Ri)data立即尋址 5. 16位目標(biāo)地
49、址傳送指令 這條指令的功能是:把16位立即數(shù)送入DPTR中。而16位的數(shù) 據(jù)指針DPTR由DPH與DPL組成,該指令執(zhí)行后,16位立即數(shù)的 高8位送入DPH中,低8位送入DPL中。 該指令的執(zhí)行,不影響程序狀態(tài)寄存器PSW。 指令助記符及功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 MOVDPTR,#data16;(DPTR)data16立即尋址 3.3.2 外部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器(或或I/O口口)與累加器與累加器A傳送指令傳送指令 例例1 設(shè)(P2)=20H,現(xiàn)將A中數(shù)據(jù)存儲到20FFH單元中去。 可用以下程序?qū)崿F(xiàn): MOV R1, #0FFH ;(R1)0FFH MOV
50、X R1, A ;(20FFH)(A) 也可采用下述程序?qū)崿F(xiàn): MOV DPTR, #20FFH ;(DPTR)20FFH MOVX DPTR, A ;(DPTR)(A),即(20FFH)(A) 指令助記符與功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 MOVXA,DPTR;(A)(DPTR)寄存器間接尋址 MOVXA,Ri;(A)(Ri)寄存器間接尋址 MOVXDPTR,A;(DPTR)(A)寄存器尋址 MOVXRi,A;(Ri)(A)寄存器尋址 3.3.2 外部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器(或或I/O口口)與累加器與累加器A傳送指令傳送指令 例例2 將外部數(shù)據(jù)存儲器7FF0H單元
51、中的數(shù)據(jù)取出,存放到 外部數(shù)據(jù)存儲器2000H單元中去。 MOV DPTR, #7FF0H MOVX A, DPTR MOV DPTR, #2000H MOVX DPTR, A 例例1 在外部程序存儲器2000H單元開始存放了數(shù)字09的共陰極數(shù)碼 管的16進制數(shù)的字形代碼3FH、06H、6FH。要求根據(jù)A中的值 (09)來查找該數(shù)字所對應(yīng)的代碼以便顯示。 若用PC作基址寄存器,則需要在MOVC A, A+PC指令前用一加法指 令對地址進行調(diào)整: ADD A, #data MOVC A, A+PC 3.3.3 程序存儲器向累加器程序存儲器向累加器A傳送數(shù)據(jù)指令傳送數(shù)據(jù)指令 指令助記符與功能說明如
52、下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 MOVCA,A+PC;(A)(A)+(PC)+1)變址尋址 MOVCA,A+DPTR;(A)(A)+(DPTR)變址尋址 1. 字節(jié)交換指令 例例1 設(shè)(R1)=30H,(30H)=45H,(A)=7FH,則執(zhí)行指令: XCH A, R1 結(jié)果:(A)=45H,而(30H)=7FH,從而實現(xiàn)了累加器A與內(nèi)部數(shù)據(jù) 存儲器RAM中30H單元的數(shù)據(jù)交換。 3.3.4 數(shù)據(jù)交換指令數(shù)據(jù)交換指令 指令助記符與功能說明如下: 目的操作 數(shù) 源操作數(shù)功能說明源操作數(shù)尋址方 式 XCH A,direct(direct)直接尋址 XCH A,Ri(Ri)間接尋址
53、 XCH A,Rn(Rn)寄存器尋址 2. 半字節(jié)交換指令 例例1 設(shè)(30H)=6FH,(R0)=30H,(A)=0F6H,則執(zhí)行指令: XCHD A, Ri 結(jié)果:(A)=0FFH,(30H)=66H 數(shù)據(jù)交換指令除了影響始終跟蹤A中數(shù)據(jù)奇偶性的P標(biāo)志外,對PSW中 其他標(biāo)志位均無影響。 指令助記符與功能說明如下: 目的操作 數(shù) 源操作 數(shù) 功能說明源操作數(shù)尋址 方式 XCHDA,Ri(Ri)間接尋址 3. 累加器A中高四位與低四位交換指令 SWAP A 該指令所執(zhí)行的操作是累加器A中的高4位與低4位的內(nèi)容互換,其 結(jié)果仍存放在累加器A中。 例例1 設(shè)(A)=0A5H(10100101B)
54、,則執(zhí)行指令: SWAP A 結(jié)果:(A)=5AH(01011010B) 指令SWAP交換了A中高、低半字節(jié)(30和74),結(jié)果不影響 標(biāo)志寄存器PSW。 3.3.5 堆棧操作指令堆棧操作指令 堆棧操作指令只有2條,即:壓入(PUSH)和彈出(POP)。 壓入指令:PUSH direct ;SPSP+1,(SP)(direct) 彈出指令:POP direct ;(SP)(direct),SPSP-1 例1PUSH A ;保護A中數(shù)據(jù) PUSH PSW ;保護標(biāo)志寄存器中數(shù)據(jù) ;執(zhí)行服務(wù)程序 POP PSW ;恢復(fù)標(biāo)志寄存器中數(shù)據(jù) POP A ;恢復(fù)A中數(shù)據(jù) 例2PUSH A PUSH PSW
55、 POP A POP PSW 例3 PUSH DPH PUSH DPL POP DPL POP DPH 3.4.1 加減運算指令加減運算指令 1. 加法指令 這類指令所完成的操作是把源操作數(shù)(立即數(shù)、直接地址單元內(nèi)容、 間接地址單元內(nèi)容、工作寄存器內(nèi)容)與累加器A的內(nèi)容相加,將結(jié)果保 存在累加器A中。 3.4 算術(shù)運算類指令算術(shù)運算類指令 指令助記符與功能說明如下: 目的操作 數(shù) 源操作數(shù)功能說明源操作數(shù)尋址方 式 ADDA,#data;(A)(A)+data立即尋址 ADDA,direct;(A)(A)+(dire ct) 直接尋址 ADDA,Ri;(A)(A)+(Ri) 寄存器間接尋址 A
56、DDA,Rn;(A)(A)+(Rn)寄存器尋址 例例1 執(zhí)行指令: MOV A, #0A9H ADD A, #0B8H 對程序狀態(tài)寄存器的影響如圖3.6所示。 運算結(jié)果:(A)=61H,CY=1,AC=1,OV=1,P=1,(PSW)=0C5H 例例2 8位數(shù)加法程序片斷1: MOVA, #23H ADDA, #5AH 運算結(jié)果:(A)=7DH,CY=0,OV=0,AC=0,P=0,(PSW)=00H。 00 000 0000 0 0 11111 1 1 11 11 1 1 d7d0d4d3 無進位AC=0 0 =0,OV=0 無進位CY=0 P=0 0 例例3 8位數(shù)加法程序片斷2: MOV
57、A, #0ABH ADDA, #9AH 運算結(jié)果:(A)=45H,CY=1,OV=1,AC=1,P=1,(PSW)=0C5H。 00 000 1000 1 1 10001 1 1 10 11 1 1 d7d0d4d3 有進位AC=1 1 =1,OV=1 有進位CY=1 P=11 0 帶進位加法指令與前述加法指令的區(qū)別僅為考慮進位位,其他與加法 指令相同。 2. 帶進位加法指令 指令助記符與功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 ADDCA,#data;(A)(A)+data+(C)立即尋址 ADDCA,direct;(A)(A)+(direct)+(C)直接尋址 ADDCA
58、,Ri;(A)(A)+(Ri)+(C)寄存器間接尋址 ADDCA,Rn;(A)(A)+(Rn)+(C)寄存器尋址 例例3 利用ADDC指令可以進行多字節(jié)的加法運算。 設(shè)有兩個16位數(shù)相加,被加數(shù)的高8位放在41H,低8位放在40H,加 數(shù)的高8位放在43H,低8位放在42H,和的低8位存放在50H,高8位 存放在51H,進位位存放在52H??删幊绦蛉缦拢?例例1 設(shè)(A)=0AAH,(R0)=55H,C=1,則執(zhí)行指令: ADDC A, R0 運算結(jié)果:(A)=00000000B,AC=1,CY=1,OV=1。 例例2 設(shè)(A)=35H,(40H)=21H,C=0,則執(zhí)行指令: ADDC A,
59、 40H 運算結(jié)果:(A)=56H,AC=0,CY=0,OV=0。 這與執(zhí)行指令“ADD A, 40H”的結(jié)果是一樣的。 SHJ: MOV A, 40H;(A)被加數(shù)低8位 ADD A, 42H;與加數(shù)低8位相加 MOV 50H, A;和的低8位存入50H MOV A, 41H;(A)被加數(shù)高8位 ADDC A, 43H ;被加數(shù)高8位與加數(shù)高8位以及低位來的進位相加 MOV 51H, A;和的高8位存入51H單元 MOV A, #00H ;(A)00H ADDC A, #00H ;(A)(A) +00H+高8位來的進位 MOV 52H, A;進位位C內(nèi)容存入52H單元 3. 帶借位減指令 指
60、令助記符與功能說明如下: 目的操作數(shù)源操作數(shù)功能說明源操作數(shù)尋址方式 SUBB A,#data;(A)(A)-data-(C)立即尋址 SUBB A,direct;(A)(A)-(direct)-(C)直接尋址 SUBB A,Ri;(A)(A)-(Ri)-(C)寄存器間接尋址 SUBB A,Rn;(A)(A)-(Rn)-(C)寄存器尋址 例例1 設(shè)(40H)=0BAH,(41H)=98H,試編寫40H內(nèi)容減去41H內(nèi) 容后,結(jié)果再存入40H單元的程序。 MOVA, 40H ;(A)(40H) CLRC;進位位C清0 SUBBA, 41H ;(A)(A)-(41H) -(C) MOV40H, A
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)課基礎(chǔ)主題課程設(shè)計
- 書出版定價合同范例
- 供電局的合同工工資待遇3篇
- 商務(wù)會館員工勞動合同3篇
- 南京審計大學(xué)合同管理辦法試行3篇
- 產(chǎn)品分銷鋪貨合同模板3篇
- 公司放款合同樣式3篇
- 孩子成年后離婚協(xié)議3篇
- 化妝品店員工合同3篇
- 勞動合同補充協(xié)議工資調(diào)整3篇
- 詩歌鑒賞題目和注釋的作用
- 【2022秋期版】1377國開電大本科【理工英語3】期末一體化、紙質(zhì)考試第一大題交際用語題庫
- 消防安全設(shè)備設(shè)施臺賬表
- 空壓機安全安全檢查表
- 同濟大學(xué)鋼結(jié)構(gòu)課程設(shè)計
- 大學(xué)生就業(yè)創(chuàng)業(yè)與指導(dǎo)王
- 談中考復(fù)習(xí)備考策略
- 青島版五四制四年級上冊課件- 小數(shù)的意義和性質(zhì)
- 電生理發(fā)展史
- 質(zhì)量管理體系模型
- CRH380B(L)動車組信息網(wǎng)絡(luò)
評論
0/150
提交評論