




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)陜西科技大學(xué)吉濤第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)內(nèi)容提要: 了解51單片機(jī)匯編語(yǔ)言指令的格式; 了解51單片機(jī)指令的7種尋址方式及其尋址范圍;(重點(diǎn)) 了解51單片機(jī)的指令系統(tǒng)五種類型111條指令的功能及用途。(重點(diǎn))學(xué)習(xí)難點(diǎn): 51單片機(jī)指令的7種尋址方式及其尋址范圍; MOV、MOVC和MOVX指令的區(qū)別; LJMP、AJMP和SJMP跳轉(zhuǎn)范圍; 各種指令的功能。 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)MCS-51的基本指令共111條;按功能分為5類:(1)數(shù)據(jù)傳送(29條)(2)算術(shù)操作(2
2、4條)(3)邏輯操作(24條)(4)控制轉(zhuǎn)移(17條)(5)布爾變量操作(17條)按指令所占的字節(jié)來(lái)分:(1) 單字節(jié)指令49條; (2) 雙字節(jié)指令45條; (3) 三字節(jié)指令17條。n 按指令的執(zhí)行時(shí)間來(lái)分: (1) 1個(gè)機(jī)器周期(12個(gè)時(shí)鐘振蕩周期)指令64條; (2) 2個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)指令45條; (3) 只有乘、除兩條指令的執(zhí)行時(shí)間為4個(gè)機(jī)器周期(48個(gè)時(shí)鐘振蕩周期)。12MHz晶振:機(jī)器周期為1s。 MCS-51匯編語(yǔ)言指令特點(diǎn):匯編語(yǔ)言指令特點(diǎn):(1) 執(zhí)行數(shù)據(jù)短;執(zhí)行數(shù)據(jù)短;(2) 占用存儲(chǔ)單元少;占用存儲(chǔ)單元少;(3) 豐富的位操作功能;豐富的位操作功能;(
3、4) 可直接用傳送指令實(shí)現(xiàn)端口的輸可直接用傳送指令實(shí)現(xiàn)端口的輸入輸出操作。入輸出操作。 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)以MCS-51為內(nèi)核的單片機(jī)指令系統(tǒng)為例,用44種操作碼助記符來(lái)描述33種操作功能,構(gòu)成了111條基本指令。 單字節(jié)指令49條;按字節(jié)分雙字節(jié)指令45條;三字節(jié)指令17條;單周期指令64條;按指令執(zhí)行時(shí)間分雙周期指令45條;111條基本指令4個(gè)機(jī)器周期指令2條; 數(shù)據(jù)傳送類指令;算術(shù)運(yùn)算類指令;按功能分邏輯運(yùn)算及移位類指令;控制轉(zhuǎn)移類指令;布爾變量操作類指令。第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.指令的語(yǔ)言形式 :編程語(yǔ)言:機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言匯編語(yǔ)
4、言、高級(jí)語(yǔ)言 機(jī)器語(yǔ)言:由計(jì)算機(jī)能夠識(shí)別的二進(jìn)制代碼描述指令功能的語(yǔ)言,用機(jī)器語(yǔ)言寫出的程序稱為目標(biāo)程序;優(yōu)點(diǎn):程序簡(jiǎn)潔、執(zhí)行快、體積小、控制能力強(qiáng); 缺點(diǎn):難寫、難懂、不便記憶、很難進(jìn)行程序設(shè)計(jì)。匯編語(yǔ)言:為便于記憶,采用助記符來(lái)代替二進(jìn)制代碼指令進(jìn)行程序編寫;特點(diǎn): 匯編語(yǔ)言程序代碼生成效率高,運(yùn)行速度快; 匯編語(yǔ)言控制的實(shí)時(shí)性好; 匯編語(yǔ)言程序的開發(fā)難度較大; 匯編語(yǔ)言的可移植性較差; 高級(jí)語(yǔ)言:接近自然語(yǔ)言的編程語(yǔ)言。第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)2.51系列單片機(jī)指令的格式 :匯編語(yǔ)言的語(yǔ)句格式: 【標(biāo)號(hào):】 操作碼 【目的操作數(shù) 】 【,源操作數(shù) 】 【;注釋】 LOO
5、P:ADD A ,#10H ;(A) (A)+10H 關(guān)于語(yǔ)句格式的說(shuō)明: 1、標(biāo)號(hào):標(biāo)號(hào)是由1-8個(gè)ASCII字符組成,頭一個(gè)字符必須是字母; 標(biāo)號(hào)不能使用系統(tǒng)中已經(jīng)定義的助記符、偽指令及其它標(biāo)號(hào); 標(biāo)號(hào)的后面必須加冒號(hào); 標(biāo)號(hào)并不是每一條語(yǔ)句都需要; 2、操作碼:表明指令的作用與功能,不能缺少。 3、目的操作數(shù):是指令中的操作對(duì)相,指出目標(biāo)地址。4、源操作數(shù):是指令中的操作對(duì)相,指出來(lái)自何處。5、注釋:不生成可執(zhí)行的機(jī)器代碼,但是能增加程序的可閱讀性,便于程序的調(diào)試與交流。每條指令由兩部分組成:操作碼:指令的功能操作數(shù):指令的操作對(duì)象(地址或數(shù)字)操作碼 1B操作數(shù) 12B操作數(shù)設(shè):fos
6、c=12MHz,則對(duì)應(yīng)的機(jī)器周期為單機(jī)器周期=1s雙機(jī)器周期=2 s4個(gè)機(jī)器周期=4 s第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)符號(hào)意義說(shuō)明Rn當(dāng)前寄存器R0R7RiR0或R1間址內(nèi)低內(nèi)低128BRAM、外、外256B RAMdirect直接地址內(nèi)部RAM#data8位立即數(shù)在指令中#data1616位立即數(shù)在指令中addr1111位目的地址2K ROMaddr1616位目的地址64K ROMrel8位相對(duì)地址-128127Bbit位地址內(nèi)部RAM(X):X中的內(nèi)容;(X):(X)作地址,該地址內(nèi)容為(X)匯編語(yǔ)言中常用符號(hào)匯編語(yǔ)言中常用符號(hào)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)3.尋址
7、方式 :指令的尋址方式就是如何獲得操作數(shù)的方法。計(jì)算機(jī)指令系統(tǒng)提供的尋址方式越多,計(jì)算機(jī)的功能越強(qiáng),靈活性越強(qiáng)。 序號(hào)序號(hào)尋址方式尋址方式尋址存儲(chǔ)器空間尋址存儲(chǔ)器空間1寄存器尋址寄存器尋址R0R7(Rn)A,B,C,DPTR2直接尋址直接尋址內(nèi)部?jī)?nèi)部RAM(低(低128B)特殊功能寄存器特殊功能寄存器(SFR)3寄存器間接寄存器間接尋尋 址址內(nèi)部?jī)?nèi)部RAM(R0,R1(Ri),SP)外部外部RAM(R0,R1,DPTR)4立即數(shù)尋址立即數(shù)尋址程序存儲(chǔ)器程序存儲(chǔ)器ROM中的常數(shù)中的常數(shù)(#data)5變址尋址變址尋址程序存儲(chǔ)器程序存儲(chǔ)器(A+PC,A+DPTR)6相對(duì)尋址相對(duì)尋址ROM256B范
8、圍范圍(基址基址PC+偏移偏移)7位尋址位尋址內(nèi)部?jī)?nèi)部RAM的的20H2FH,16B(0127)可位尋址的可位尋址的SFR(21個(gè))(個(gè))(128255)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)5151單片機(jī)尋址方式(單片機(jī)尋址方式(7 7種)種)1、 立即數(shù)尋址:立即數(shù)尋址:指令中直接給出操作數(shù)的尋址方式。立即操作數(shù)用前面加有指令中直接給出操作數(shù)的尋址方式。立即操作數(shù)用前面加有#號(hào)來(lái)表示。號(hào)來(lái)表示。 MOV A,# 60H;A60H 2、 直接尋址:直接尋址:指令中直接給出操作數(shù)地址的尋址方式。指令中直接給出操作數(shù)地址的尋址方式。訪問:訪問:SFR,片內(nèi)片內(nèi)128B。 MOV A,P1;
9、A(P1)3、 寄存器尋址:寄存器尋址:以通用寄存器的內(nèi)容為操作數(shù)的尋址方式。以通用寄存器的內(nèi)容為操作數(shù)的尋址方式。 通用寄存器指通用寄存器指A、B 、DPTR以及以及R0R7 。 MOV A,R1; A(R1)4、 寄存器間接尋址:寄存器間接尋址:以寄存器中內(nèi)容為地址,以該地址中內(nèi)容為操作數(shù)的尋址方以寄存器中內(nèi)容為地址,以該地址中內(nèi)容為操作數(shù)的尋址方式。式。 訪問所有RAM空間。 MOV R0 , A ;(;(R0) AMOV R0,A間接尋址示意圖片內(nèi)RAM30HR034HA30H34H第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)5、 基址基址+變址尋址:變址尋址:基址:基址:PCDPTR
10、變址:變址:A 訪問:程序存儲(chǔ)器,訪問:程序存儲(chǔ)器,MOVC指令。指令。 MOVC A, A+DPTR; A(A+DPTR)6、 相對(duì)尋址:相對(duì)尋址:以當(dāng)前程序計(jì)數(shù)器以當(dāng)前程序計(jì)數(shù)器PC的內(nèi)容為基礎(chǔ),加上指令給出的一字節(jié)的內(nèi)容為基礎(chǔ),加上指令給出的一字節(jié)補(bǔ)碼數(shù)(偏移量)形成新的補(bǔ)碼數(shù)(偏移量)形成新的PC值的尋址方式。用于實(shí)現(xiàn)程序值的尋址方式。用于實(shí)現(xiàn)程序的分支轉(zhuǎn)移。的分支轉(zhuǎn)移。 SJMP 08H ;PCPC+2+08H7、 位尋址:位尋址:位尋址其實(shí)是一種直接尋址方式,不過(guò)其地址是位地址。位尋址其實(shí)是一種直接尋址方式,不過(guò)其地址是位地址。 MOV 32H,C ;32H進(jìn)位位進(jìn)位位CMOVC
11、A, A+DPTR變址尋址示意圖程序存儲(chǔ)器2000HDPTR64H(10H)A2010H64H10H2000HSJMP 08H相對(duì)尋址示意圖程序存儲(chǔ)器(2000H)200AHSJMP200AH08H2000H+208HPC2000H5151單片機(jī)尋址方式(單片機(jī)尋址方式(7 7種)種)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)功能:將一個(gè)單元中的數(shù)據(jù)傳送到另一個(gè)單元中。CPU在進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算時(shí)總需要有操作數(shù)據(jù),所以數(shù)據(jù)傳送是一種最基本最主要的操作。在MCS-51系列單片機(jī)中的數(shù)據(jù)傳送指令相當(dāng)豐富。按照其操作方式,又可分為3類:數(shù)據(jù)傳送、數(shù)據(jù)交換和堆棧操作。共有8種助記符:MOV、 MO
12、VX、 MOVC、 XCH、 XCHD、 SWAP、 PUSH及POP。數(shù)據(jù)傳送指令按數(shù)據(jù)傳送的區(qū)域可分為3組:一組:內(nèi)部數(shù)據(jù)傳送;二組:與片外RAM或I/O接口之間的數(shù)據(jù)傳送;三組:ROM到累加器(A)的傳送。 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.數(shù)據(jù)傳送指令 :向累加器A的傳送(目的)MOV A, Rn ;(A)(Rn)MOV A, direct;(A) (direct)MOV A, Ri ;(A)(Ri)MOV A,#data; (A)data向通用寄存器傳送MOV Rn, A ;(Rn)(A)MOV Rn, direct; (Rn)(direct)MOV Rn, #data
13、;(Rn)data內(nèi)部數(shù)據(jù)傳送關(guān)系第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.數(shù)據(jù)傳送指令 :向直接地址傳送(不經(jīng)過(guò)ACC、Ri,執(zhí)行效率高)MOV direct,A ;(direct)(A)MOV direct,Rn ;(direct)(Rn)MOV direct,direct ;(direct)(direct)MOV direct,Ri ;(direct)(Ri)MOV direct,#data ;(direct)data間址傳送MOV Ri,A ;(Ri)(A)MOV Ri,direct ;(Ri)(direct)MOV Ri,#data;(Ri)data內(nèi)部數(shù)據(jù)傳送關(guān)系第第3章章51
14、單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)例1:片內(nèi)RAM(30H)=40H, (40H)=10H, (10H)=00H,端口(P1)=0CAH,分析程序執(zhí)行后各單元內(nèi)容:MOV R0,#30H; (R0) 30HMOV A,R0MOV R1,AMOV B,R1MOV R1, P1MOV P2,P1MOV 10H,#20H結(jié)果: (R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P1)=(P2)=0CAH,(10H)=20H第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.數(shù)據(jù)傳送指令 :累加器與外部RAM的傳送nMOVX A,Ri ;(A) (Ri)nMOVX A,DPTR; (A)
15、(DPTR)nMOVX Ri,A;(Ri) (A),WR有效nMOVX DPTR,A ;WR有效, (DPTR) (A)累加器與程序存儲(chǔ)器傳送MOVC A,A+DPTR ; (A) (A)+(DPTR)MOVC A,A+PC;(PC) (PC)+1, ;(A) (A)+(PC)目標(biāo)地址傳送指令MOV DPTR,#data16 ;(DPTR) data16唯一的16位數(shù)據(jù)的傳送指令第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)2.堆棧操作(FILO) 指令 :a)入棧指令入棧指令PUSH direct ;(sp)(sp)+1, ;(sp)(direct)b)出棧指令出棧指令POP direct ;(
16、direct)(sp), ;(sp)(sp)-13.累加器交換指令字節(jié)交換指令字節(jié)交換指令XCH A,Rn ;(A)(Rn)XCH A,direct ;(A) (direct)XCH A,Ri ;(A) (Ri)半字節(jié)交換指令半字節(jié)交換指令XCHD A,Ri ; (A03) (Ri) 03)累加器高累加器高4位與低位與低4位數(shù)據(jù)互換位數(shù)據(jù)互換SWAP A ;(A03) (A47)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)訪問外部訪問外部RAM的的MOVX指令指令功能:讀外部功能:讀外部RAM存儲(chǔ)器或存儲(chǔ)器或I/O中的一個(gè)字節(jié),或把中的一個(gè)字節(jié),或把A中一個(gè)中一個(gè)字節(jié)的數(shù)據(jù)寫到外部字節(jié)的數(shù)據(jù)寫到
17、外部RAM存儲(chǔ)器或存儲(chǔ)器或I/O中。中。 注意:注意:RD* P3.7或或WR* P3.6信號(hào)有效。信號(hào)有效。采用采用DPTR間接尋址,高間接尋址,高8位地址(位地址(DPH)由)由P2口輸出,低口輸出,低8位地址(位地址(DPL)由)由P0口輸出??谳敵觥2捎貌捎肦i(i=0,1)間接尋址,可尋址片外)間接尋址,可尋址片外256個(gè)單元的數(shù)據(jù)存儲(chǔ)個(gè)單元的數(shù)據(jù)存儲(chǔ)器。器。Ri內(nèi)容由內(nèi)容由P0口輸出,形成低口輸出,形成低8位地址,由位地址,由ALE信號(hào)鎖存在信號(hào)鎖存在地址鎖存器中;地址鎖存器中;8數(shù)據(jù)再由數(shù)據(jù)再由P0口輸出,此時(shí)可選用其它任何輸口輸出,此時(shí)可選用其它任何輸出口線來(lái)輸出高于出口線來(lái)輸
18、出高于8位的地址(一般選用位的地址(一般選用P2口輸出高口輸出高8位的地位的地址)。址)。MOV后后 “X”表示單片機(jī)訪問的是片外表示單片機(jī)訪問的是片外RAM存儲(chǔ)器或存儲(chǔ)器或I/O。自習(xí)討論:例自習(xí)討論:例1 1、2 2訪問程序存儲(chǔ)器的訪問程序存儲(chǔ)器的MOVC指令指令-查表指令查表指令 用于讀程序存儲(chǔ)器中的數(shù)據(jù)表格的指令,均采用基址寄存器加用于讀程序存儲(chǔ)器中的數(shù)據(jù)表格的指令,均采用基址寄存器加變址寄存器間接尋址方式。變址寄存器間接尋址方式。 (偏移量偏移量A為無(wú)符號(hào)數(shù)為無(wú)符號(hào)數(shù)) (1) MOVC A,A+PC 注意:注意:/PSEN信號(hào)有效信號(hào)有效。例如例如: (A)=30H,執(zhí)行地址執(zhí)行地
19、址1000H處的指令處的指令 1000H: MOVC A,A+PC執(zhí)行結(jié)果將程序存儲(chǔ)器中執(zhí)行結(jié)果將程序存儲(chǔ)器中1031H的內(nèi)容送入的內(nèi)容送入A。優(yōu)點(diǎn):優(yōu)點(diǎn):不改變特殊功能寄存器及不改變特殊功能寄存器及PC的狀態(tài),根據(jù)的狀態(tài),根據(jù)A的內(nèi)容就可的內(nèi)容就可以取出表格中的常數(shù)。以取出表格中的常數(shù)。缺點(diǎn):缺點(diǎn):表格只能存放在該條查表指令后面的表格只能存放在該條查表指令后面的256個(gè)單元之內(nèi)個(gè)單元之內(nèi),表格的大小受到限制,且表格只能被一段程序所利用。表格的大小受到限制,且表格只能被一段程序所利用。訪問程序存儲(chǔ)器的訪問程序存儲(chǔ)器的MOVC指令指令-查表指令查表指令 用于讀程序存儲(chǔ)器中的數(shù)據(jù)表格的指令,均采用
20、基址寄存器加用于讀程序存儲(chǔ)器中的數(shù)據(jù)表格的指令,均采用基址寄存器加變址寄存器間接尋址方式。變址寄存器間接尋址方式。(偏移量偏移量A為無(wú)符號(hào)數(shù)為無(wú)符號(hào)數(shù)) (2) MOVC A,A+DPTR例如例如 (DPTR)=8100H (A)=40H 執(zhí)行指令執(zhí)行指令 MOVC A,A+DPTR 本指令的執(zhí)行結(jié)果只和指針本指令的執(zhí)行結(jié)果只和指針DPTR及累加器及累加器A的內(nèi)容有關(guān),與的內(nèi)容有關(guān),與該指令存放的地址及常數(shù)表格存放的地址無(wú)關(guān),該指令存放的地址及常數(shù)表格存放的地址無(wú)關(guān),因此表格的大因此表格的大小和位置可以在小和位置可以在64K程序存儲(chǔ)器中任意安排程序存儲(chǔ)器中任意安排,一個(gè)表格可以為,一個(gè)表格可以
21、為各個(gè)程序塊公用。各個(gè)程序塊公用。兩條指令是在兩條指令是在MOV的后面加的后面加C,“C”是是CODE的第一個(gè)字母,的第一個(gè)字母,即代碼的意思。即代碼的意思。自習(xí)討論:例自習(xí)討論:例4,并與例,并與例3比較比較第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)片外數(shù)據(jù)傳送類指令例題片外數(shù)據(jù)傳送類指令例題【例】 已知:(DPTR)=3000H ,(3000H)=30H,執(zhí)行命令 : MOVX A ,DPTR;(A)(DPTR), 寄存器間接尋址 結(jié)果: (A)=30H【例】 已知(P2)=20H,(R1)=48H,(A)=66H,執(zhí)行命令: MOVX R1, A;(R1)(A),寄存器尋址結(jié)果: (20
22、48H)=66H【例】已知:(PC)=1000H,(A)=30H,(1031H)=12H,執(zhí)行指令: MOVCA,A+PC結(jié)果:(A)=12H (PC)=1001H 【例】 已知:(DPTR)=8100H,(A)=40H(8140H)=0ABH執(zhí)行指令: MOVCA,A+DPTR結(jié)果:(A)=0ABH (DPTR)=8100H第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)指令碼以累加器(A)為目的操作數(shù)的指令為例:RndirectMOV ARi#data,11101rrrB11100101B1110011iB11100100BARnA)directA)RiAdata( )()()( () )( )
23、01110100B第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.加法指令:ADD A,Rn ;(A) (A)+(Rn)ADD A,direct ;(A) (A)+(direct)ADD A,Ri ;(A) (A)+(Ri)ADD A,#data ;(A) (A)+data注:加/減法指令影響Ac,Cy,OV,P;2.帶進(jìn)位加法ADDC A,Rn ; (A) (A)+(Rn)+(C)ADDC A,direct;(A) (A)+(direct)+(C)ADDC A,Ri ;(A) (A)+(Ri)+(C)ADDC A,#data;(A) (A)+data +(C)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)
24、指令系統(tǒng)3.帶借位減法指令:SUBB A,Rn ;(A) (A)-(Rn)-(C)SUBB A,direct ; (A) (A)-(direct)-(C)SUBB A,Ri ;(A) (A)-(Ri) -(C)SUBB A,#data ;(A) (A)-data-(C)注:無(wú)不帶借位指令使用前要先CLR C,使Cy=0影響標(biāo)志位PSW:Cy,AC,OV,P4.乘法、除法指令MUL AB;(BA) (A)*(B)(A)0FFH,則OV=1,(B)=非零 否則,OV=0,(B)=0DIV AB ;(A) (A)/(B) ; (B) (A)%(B)Cy=OV=0若(B)=00H,(A)和(B)結(jié)果不
25、定, 置OV=1,表示0除數(shù)錯(cuò)誤(Cy=0)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)5.加1、減1指令:INC A ;(A) (A)+1INC Rn ;(Rn) (Rn)+1INC direct;(direct)(direct)+1INC Ri ; (Ri) (Ri)+1INC DPTR ; (DPTR) (DPTR)+1DEC A ;(A) (A)-1DEC Rn ;(Rn) (Rn)-1DEC direct ;(direct) (direct)-1DEC Ri ; (Ri) (Ri)-1不影響PSW,無(wú)DEC DPTR指令。注:加/減1指令不影響PSW(Cy)6.二十調(diào)整指令DA A ;
26、對(duì)(A)的加結(jié)果進(jìn)行十進(jìn)制調(diào)整第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng) 【例【例】 (A)=53H(A)=53H,(R0)=0FCH(R0)=0FCH,執(zhí)行指令,執(zhí)行指令 ADD A,ADD A,R0R0結(jié)果結(jié)果: (A)=4FH: (A)=4FH,Cy=1Cy=1,Ac=0Ac=0,OV=0OV=0,P=1P=1注意:注意:上面的運(yùn)算中,由于位上面的運(yùn)算中,由于位6 6和位和位7 7同時(shí)有進(jìn)位,所以標(biāo)志位同時(shí)有進(jìn)位,所以標(biāo)志位OV=0OV=0。 【例【例】 (A)= 85H,(R0)=20H,(A)= 85H,(R0)=20H,(20H20H)=AFH=AFH,執(zhí)行指令:,執(zhí)行指令: AD
27、D A,R0ADD A,R0結(jié)果結(jié)果: :(A A)=34H=34H,Cy=1Cy=1,Ac=1Ac=1,OV=1OV=1,P=1P=1注意:注意:由于位由于位7 7有進(jìn)位,而位有進(jìn)位,而位6 6無(wú)進(jìn)位,所以標(biāo)志位無(wú)進(jìn)位,所以標(biāo)志位OV=1 OV=1 【例例】 (A A)=56H,=56H,(R5R5)=67H=67H,把它們看作為兩個(gè)壓縮的,把它們看作為兩個(gè)壓縮的BCDBCD數(shù),進(jìn)行數(shù),進(jìn)行BCDBCD數(shù)的加法。執(zhí)行指令:數(shù)的加法。執(zhí)行指令: ADD A,R5ADD A,R5 DA A DA A由于高、低由于高、低4 4位分別大于位分別大于9 9,所以要分別加,所以要分別加6 6進(jìn)行十進(jìn)制調(diào)
28、整。進(jìn)行十進(jìn)制調(diào)整。結(jié)果:結(jié)果: (A A)= 23H= 23H,Cy=1Cy=1 可見,可見,56+67=12356+67=123,結(jié)果是正確的。,結(jié)果是正確的。【例【例】 已知:已知:(A)=85H (20H)=0FFH CY=1,執(zhí)行指令:,執(zhí)行指令:ADDCA,20H結(jié)果:結(jié)果:(A)=85H CY=1 AC=1 OV=0 P=1(A)=85H CY=1 AC=1 OV=0 P=1例如,設(shè)(A)=0C9H,(R2)=20H,(20H)=54H,CY=1, 執(zhí)行指令 SUBB,R2后,A=74H。 (A):1100 1001 (CY):0000 0001 1100 1000 (R2):0
29、101 0100 0111 0100標(biāo)志位CY=0,AC=0第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)邏輯運(yùn)算及移位指令共有24條,其中邏輯指令有“與”、“或”、 “異或”、累加器A清零和求反20條,移位指令4條。 6、累加器A帶進(jìn)位循環(huán)右移RRC A;一、單操作數(shù)邏輯運(yùn)算指令1、累加器A清零CLR A ;(A) 03、累加器A循環(huán)左移 RL A;D 7 D 0 A D 7 D 0 A 4、累加器A循環(huán)右移 RR A;D7 D0 C A 5、累加器A帶進(jìn)位循環(huán)左移RLC A;D7 D0 C A 2、累加器A取反CPL A ;(A) (A)算術(shù)左移:左移操作,低位補(bǔ)0RLC A:可以實(shí)現(xiàn)快速(A
30、) 2RRC A:可以實(shí)現(xiàn)快速(A)/2第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1、邏輯“與”指令A(yù)NL A, Rn ;(A) (A)&(Rn)ANL A, direct ;(A) (A)&(direct)ANL A, Ri ;(A) (A)&(Ri)ANL A, #data ;(A) (A)&dataANL direct, A ;(direct) (direct)&(A)ANL direct, #data ;(direct) (direct)&data作屏蔽處理,屏:0 留:1第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1、邏輯“或”指令ORL
31、 A, Rn;(A) (A)|(Rn)ORL A, direct;(A) (A)|(direct)ORL A, Ri ;(A) (A)|(Ri)ORL A, #data;(A) (A)|dataORL direct, A ;(direct) (direct)|(A)ORL direct,#data;(direct) (direct)|data作置位處理,置:1 留:0第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1、邏輯“異或”指令XRL A, Rn ;(A) (A)(Rn)XRL A, direct; (A) (A)(direct)XRL A, Ri; (A) (A)(Ri)XRL A, #da
32、ta; (A) (A)dataXRL direct, A; (direct) (direct)(A)XRL direct, #data; (direct) (direct)data作取反處理,反:1 留:0第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)位操作又稱為布爾變量操作,它是以位(bit)作為單位來(lái)進(jìn)行運(yùn)算和操作的。 8051的位(布爾)處理器具有一系列位指令集布爾變量傳送位狀態(tài)控制布爾邏輯運(yùn)算位條件轉(zhuǎn)移位變量地址空間片內(nèi)低RAM,Bit地址范圍:00H7FH(128位)片內(nèi)高RAM,地址能被8整除的SFR中對(duì)應(yīng)各位(11個(gè)): 80HF7H圖3.3內(nèi)部RAM區(qū) 寄存器組0(R0R7) 00
33、H 07H 08H 0FH 10H 17H 18H 1FH 20H 2FH 30H 7FH 00 78 07 06 05 04 03 02 01 7F 7E 7D 7C 7B 7A 79 寄存器組1(R0R7) 寄存器組2(R0R7) 寄存器組3(R0R7) 位地址區(qū)(007F) 字節(jié)尋址(307F) 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)MOV C,bit ;(C) (bit)MOV bit,C ;(bit) (C) C為進(jìn)位標(biāo)志位Cy(不影響PSW)二、布爾狀態(tài)控制1、位清“0”指令CLR C ;(C) 0CLR bit ;(bit) 02、位置“1”指令SETB C ;(C) 1SE
34、TB bit ;(bit) 13、位取反指令 CPL C ;(C) (C) CPL bit ;(bit) (bit)三、位邏輯運(yùn)算1、位邏輯“與”指令A(yù)NL C,bit ;(C) (C)&(bit)ANL C,/bit ;(C) (C)&(bit)2、位邏輯“或”指令 ORL C,bit ;(C) (C)|(bit) ORL C,/bit ;(C) (C)|(bit)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)四、位條件轉(zhuǎn)移指令1、判斷C轉(zhuǎn)移 JC rel ;當(dāng)(C)為1,則(pc) (pc)+rel ;否則,順序執(zhí)行 JNC rel;當(dāng)(C)為0,則(pc) (pc)+rel
35、;否則,順序執(zhí)行2、判斷位變量轉(zhuǎn)移指令uJB bit, rel;當(dāng)(bit)為1,則(pc) (pc)+rel;否則,順序執(zhí)行uJNB bit, rel;當(dāng)(bit)為0,則(pc) (pc)+rel;否則,順序執(zhí)行3、判斷位變量轉(zhuǎn)移并清0指令uJBC bit, rel;當(dāng)(bit)為1,則(bit) 0,(pc)(pc)+rel;否則,順序執(zhí)行第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)例題: 比較內(nèi)部比較內(nèi)部RAM的的DATA1和和DATA2 中的兩個(gè)無(wú)符號(hào)數(shù)的大小,中的兩個(gè)無(wú)符號(hào)數(shù)的大小,大數(shù)存入單元大數(shù)存入單元M,小數(shù)存入單元,小數(shù)存入單元N,若兩數(shù)相等使內(nèi)部,若兩數(shù)相等使內(nèi)部RAM位單
36、元位單元127置置1。COMP:MOV A, DATA1CJNE A, DATA2, BIGSETB 127 ;兩數(shù)相等RETBIG:JCLESS ;若Cy=1則DATA1小MOVM, AMOVN, DATA2RETLESS: MOVN, AMOVM, DATA2RET第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.無(wú)條件轉(zhuǎn)移指令:絕對(duì)轉(zhuǎn)移(短轉(zhuǎn)移,該頁(yè)面2K范圍) AJMPadd11;(pc010) addr010 ;(pc1115)不變A10 A9 A8 0 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0 長(zhǎng)轉(zhuǎn)移LJMP add16;add16(PC) 短轉(zhuǎn)移SJMP rel
37、;(PC)2rel(PC)相對(duì)轉(zhuǎn)移JMPA+DPTR;(A)+(DPTR)(PC) 控制轉(zhuǎn)移類指令共計(jì)23條,可分為無(wú)條件轉(zhuǎn)移指令、子程序調(diào)用及返回指令、條件轉(zhuǎn)移指令和空操作指令。 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)2.條件轉(zhuǎn)移指令:累加器A判零轉(zhuǎn)移指令(1)JZ rel;當(dāng)(A)為0,則(pc) (pc)+rel;否則,順序執(zhí)行(2)JNZ rel;當(dāng)(A)非0,則(pc) (pc)+rel;否則,順序執(zhí)行比較轉(zhuǎn)移指令(-128B+127B)CJNE A,direct,relCJNE A,#data,relCJNE Rn,#data,relCJNE Rn,#data,rel ;若不相等,(pc) (pc)+rel ;否則,順序執(zhí)行跳轉(zhuǎn)循環(huán)指令(減1不為0轉(zhuǎn)移指令)DJNZ direct,relDJNZ Rn,rel;(Rn) (Rn)-1,若(Rn)非0,則(pc) ;(pc)+rel ;否則, 順序執(zhí)行第第3章章51單片機(jī)指令系
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鈑金安全考試題及答案
- 安全技術(shù)試題及答案
- 安全管護(hù)培訓(xùn)試題及答案
- 不良資產(chǎn)處置行業(yè)創(chuàng)新模式與市場(chǎng)拓展路徑研究報(bào)告
- 便利店智能支付與無(wú)感購(gòu)物體驗(yàn)研究報(bào)告(2025年)
- 門店運(yùn)營(yíng)課程培訓(xùn)課件
- 中國(guó)南方地區(qū)課件
- 中國(guó)單一制課件
- 護(hù)理文書書寫規(guī)范
- 原發(fā)性肝癌護(hù)理課件
- 2023年晉江市醫(yī)院醫(yī)護(hù)人員招聘筆試題庫(kù)及答案解析
- 結(jié)構(gòu)設(shè)計(jì)總說(shuō)明(帶圖完整版)分解
- 第二外語(yǔ)(日語(yǔ))試卷
- 食品營(yíng)養(yǎng)標(biāo)簽的解讀課件
- 二手新能源汽車充電安全承諾書
- 品質(zhì)異常8D報(bào)告 (錯(cuò)誤模板及錯(cuò)誤說(shuō)明)指導(dǎo)培訓(xùn)
- 公共關(guān)系學(xué)-實(shí)訓(xùn)項(xiàng)目1:公關(guān)三要素分析
- 網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)ppt課件(完整版)
- 貴陽(yáng)市建設(shè)工程消防整改驗(yàn)收申請(qǐng)表
- 2021-2022學(xué)年云南省昆明市高一下冊(cè)物理期末調(diào)研試題(含答案)
- 吉安土地利用總體規(guī)劃
評(píng)論
0/150
提交評(píng)論