![3章 51單片機(jī)指令系統(tǒng)教學(xué)課件教學(xué)課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/31/2732723b-f1c4-45d3-bff9-cdbfff8708e9/2732723b-f1c4-45d3-bff9-cdbfff8708e91.gif)
![3章 51單片機(jī)指令系統(tǒng)教學(xué)課件教學(xué)課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/31/2732723b-f1c4-45d3-bff9-cdbfff8708e9/2732723b-f1c4-45d3-bff9-cdbfff8708e92.gif)
![3章 51單片機(jī)指令系統(tǒng)教學(xué)課件教學(xué)課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/31/2732723b-f1c4-45d3-bff9-cdbfff8708e9/2732723b-f1c4-45d3-bff9-cdbfff8708e93.gif)
![3章 51單片機(jī)指令系統(tǒng)教學(xué)課件教學(xué)課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/31/2732723b-f1c4-45d3-bff9-cdbfff8708e9/2732723b-f1c4-45d3-bff9-cdbfff8708e94.gif)
![3章 51單片機(jī)指令系統(tǒng)教學(xué)課件教學(xué)課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/31/2732723b-f1c4-45d3-bff9-cdbfff8708e9/2732723b-f1c4-45d3-bff9-cdbfff8708e95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
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ī)匯編語言指令的格式; 了解51單片機(jī)指令的7種尋址方式及其尋址范圍;(重點) 了解51單片機(jī)的指令系統(tǒng)五種類型111條指令的功能及用途。(重點)學(xué)習(xí)難點: 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é)來分:(1) 單字節(jié)指令49條; (2) 雙字節(jié)指令45條; (3) 三字節(jié)指令17條。n 按指令的執(zhí)行時間來分: (1) 1個機(jī)器周期(12個時鐘振蕩周期)指令64條; (2) 2個機(jī)器周期(24個時鐘振蕩周期)指令45條; (3) 只有乘、除兩條指令的執(zhí)行時間為4個機(jī)器周期(48個時鐘振蕩周期)。12MHz晶振:機(jī)器周期為1s。 MCS-51匯編語言指令特點:匯編語言指令特點:(1) 執(zhí)行數(shù)據(jù)短;執(zhí)行數(shù)據(jù)短;(2) 占用存儲單元少;占用存儲單元少;(3) 豐富的位操作功能;豐富的位操作功能;(
3、4) 可直接用傳送指令實現(xiàn)端口的輸可直接用傳送指令實現(xiàn)端口的輸入輸出操作。入輸出操作。 第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)以MCS-51為內(nèi)核的單片機(jī)指令系統(tǒng)為例,用44種操作碼助記符來描述33種操作功能,構(gòu)成了111條基本指令。 單字節(jié)指令49條;按字節(jié)分雙字節(jié)指令45條;三字節(jié)指令17條;單周期指令64條;按指令執(zhí)行時間分雙周期指令45條;111條基本指令4個機(jī)器周期指令2條; 數(shù)據(jù)傳送類指令;算術(shù)運算類指令;按功能分邏輯運算及移位類指令;控制轉(zhuǎn)移類指令;布爾變量操作類指令。第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)1.指令的語言形式 :編程語言:機(jī)器語言、匯編語言、高級語言匯編語
4、言、高級語言 機(jī)器語言:由計算機(jī)能夠識別的二進(jìn)制代碼描述指令功能的語言,用機(jī)器語言寫出的程序稱為目標(biāo)程序;優(yōu)點:程序簡潔、執(zhí)行快、體積小、控制能力強(qiáng); 缺點:難寫、難懂、不便記憶、很難進(jìn)行程序設(shè)計。匯編語言:為便于記憶,采用助記符來代替二進(jìn)制代碼指令進(jìn)行程序編寫;特點: 匯編語言程序代碼生成效率高,運行速度快; 匯編語言控制的實時性好; 匯編語言程序的開發(fā)難度較大; 匯編語言的可移植性較差; 高級語言:接近自然語言的編程語言。第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)2.51系列單片機(jī)指令的格式 :匯編語言的語句格式: 【標(biāo)號:】 操作碼 【目的操作數(shù) 】 【,源操作數(shù) 】 【;注釋】 LOO
5、P:ADD A ,#10H ;(A) (A)+10H 關(guān)于語句格式的說明: 1、標(biāo)號:標(biāo)號是由1-8個ASCII字符組成,頭一個字符必須是字母; 標(biāo)號不能使用系統(tǒng)中已經(jīng)定義的助記符、偽指令及其它標(biāo)號; 標(biāo)號的后面必須加冒號; 標(biāo)號并不是每一條語句都需要; 2、操作碼:表明指令的作用與功能,不能缺少。 3、目的操作數(shù):是指令中的操作對相,指出目標(biāo)地址。4、源操作數(shù):是指令中的操作對相,指出來自何處。5、注釋:不生成可執(zhí)行的機(jī)器代碼,但是能增加程序的可閱讀性,便于程序的調(diào)試與交流。每條指令由兩部分組成:操作碼:指令的功能操作數(shù):指令的操作對象(地址或數(shù)字)操作碼 1B操作數(shù) 12B操作數(shù)設(shè):fos
6、c=12MHz,則對應(yīng)的機(jī)器周期為單機(jī)器周期=1s雙機(jī)器周期=2 s4個機(jī)器周期=4 s第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)符號意義說明Rn當(dāng)前寄存器R0R7RiR0或R1間址內(nèi)低內(nèi)低128BRAM、外、外256B RAMdirect直接地址內(nèi)部RAM#data8位立即數(shù)在指令中#data1616位立即數(shù)在指令中addr1111位目的地址2K ROMaddr1616位目的地址64K ROMrel8位相對地址-128127Bbit位地址內(nèi)部RAM(X):X中的內(nèi)容;(X):(X)作地址,該地址內(nèi)容為(X)匯編語言中常用符號匯編語言中常用符號第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)3.尋址
7、方式 :指令的尋址方式就是如何獲得操作數(shù)的方法。計算機(jī)指令系統(tǒng)提供的尋址方式越多,計算機(jī)的功能越強(qiáng),靈活性越強(qiáng)。 序號序號尋址方式尋址方式尋址存儲器空間尋址存儲器空間1寄存器尋址寄存器尋址R0R7(Rn)A,B,C,DPTR2直接尋址直接尋址內(nèi)部內(nèi)部RAM(低(低128B)特殊功能寄存器特殊功能寄存器(SFR)3寄存器間接寄存器間接尋尋 址址內(nèi)部內(nèi)部RAM(R0,R1(Ri),SP)外部外部RAM(R0,R1,DPTR)4立即數(shù)尋址立即數(shù)尋址程序存儲器程序存儲器ROM中的常數(shù)中的常數(shù)(#data)5變址尋址變址尋址程序存儲器程序存儲器(A+PC,A+DPTR)6相對尋址相對尋址ROM256B范
8、圍范圍(基址基址PC+偏移偏移)7位尋址位尋址內(nèi)部內(nèi)部RAM的的20H2FH,16B(0127)可位尋址的可位尋址的SFR(21個)(個)(128255)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)5151單片機(jī)尋址方式(單片機(jī)尋址方式(7 7種)種)1、 立即數(shù)尋址:立即數(shù)尋址:指令中直接給出操作數(shù)的尋址方式。立即操作數(shù)用前面加有指令中直接給出操作數(shù)的尋址方式。立即操作數(shù)用前面加有#號來表示。號來表示。 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 訪問:程序存儲器,訪問:程序存儲器,MOVC指令。指令。 MOVC A, A+DPTR; A(A+DPTR)6、 相對尋址:相對尋址:以當(dāng)前程序計數(shù)器以當(dāng)前程序計數(shù)器PC的內(nèi)容為基礎(chǔ),加上指令給出的一字節(jié)的內(nèi)容為基礎(chǔ),加上指令給出的一字節(jié)補(bǔ)碼數(shù)(偏移量)形成新的補(bǔ)碼數(shù)(偏移量)形成新的PC值的尋址方式。用于實現(xiàn)程序值的尋址方式。用于實現(xiàn)程序的分支轉(zhuǎn)移。的分支轉(zhuǎn)移。 SJMP 08H ;PCPC+2+08H7、 位尋址:位尋址:位尋址其實是一種直接尋址方式,不過其地址是位地址。位尋址其實是一種直接尋址方式,不過其地址是位地址。 MOV 32H,C ;32H進(jìn)位位進(jìn)位位CMOVC
11、A, A+DPTR變址尋址示意圖程序存儲器2000HDPTR64H(10H)A2010H64H10H2000HSJMP 08H相對尋址示意圖程序存儲器(2000H)200AHSJMP200AH08H2000H+208HPC2000H5151單片機(jī)尋址方式(單片機(jī)尋址方式(7 7種)種)第第3章章51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)功能:將一個單元中的數(shù)據(jù)傳送到另一個單元中。CPU在進(jì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)過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)累加器與程序存儲器傳送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存儲器或存儲器或I/O中的一個字節(jié),或把中的一個字節(jié),或把A中一個中一個字節(jié)的數(shù)據(jù)寫到外部字節(jié)的數(shù)據(jù)寫到
17、外部RAM存儲器或存儲器或I/O中。中。 注意:注意:RD* P3.7或或WR* P3.6信號有效。信號有效。采用采用DPTR間接尋址,高間接尋址,高8位地址(位地址(DPH)由)由P2口輸出,低口輸出,低8位地址(位地址(DPL)由)由P0口輸出??谳敵觥2捎貌捎肦i(i=0,1)間接尋址,可尋址片外)間接尋址,可尋址片外256個單元的數(shù)據(jù)存儲個單元的數(shù)據(jù)存儲器。器。Ri內(nèi)容由內(nèi)容由P0口輸出,形成低口輸出,形成低8位地址,由位地址,由ALE信號鎖存在信號鎖存在地址鎖存器中;地址鎖存器中;8數(shù)據(jù)再由數(shù)據(jù)再由P0口輸出,此時可選用其它任何輸口輸出,此時可選用其它任何輸出口線來輸出高于出口線來輸
18、出高于8位的地址(一般選用位的地址(一般選用P2口輸出高口輸出高8位的地位的地址)。址)。MOV后后 “X”表示單片機(jī)訪問的是片外表示單片機(jī)訪問的是片外RAM存儲器或存儲器或I/O。自習(xí)討論:例自習(xí)討論:例1 1、2 2訪問程序存儲器的訪問程序存儲器的MOVC指令指令-查表指令查表指令 用于讀程序存儲器中的數(shù)據(jù)表格的指令,均采用基址寄存器加用于讀程序存儲器中的數(shù)據(jù)表格的指令,均采用基址寄存器加變址寄存器間接尋址方式。變址寄存器間接尋址方式。 (偏移量偏移量A為無符號數(shù)為無符號數(shù)) (1) MOVC A,A+PC 注意:注意:/PSEN信號有效信號有效。例如例如: (A)=30H,執(zhí)行地址執(zhí)行地
19、址1000H處的指令處的指令 1000H: MOVC A,A+PC執(zhí)行結(jié)果將程序存儲器中執(zhí)行結(jié)果將程序存儲器中1031H的內(nèi)容送入的內(nèi)容送入A。優(yōu)點:優(yōu)點:不改變特殊功能寄存器及不改變特殊功能寄存器及PC的狀態(tài),根據(jù)的狀態(tài),根據(jù)A的內(nèi)容就可的內(nèi)容就可以取出表格中的常數(shù)。以取出表格中的常數(shù)。缺點:缺點:表格只能存放在該條查表指令后面的表格只能存放在該條查表指令后面的256個單元之內(nèi)個單元之內(nèi),表格的大小受到限制,且表格只能被一段程序所利用。表格的大小受到限制,且表格只能被一段程序所利用。訪問程序存儲器的訪問程序存儲器的MOVC指令指令-查表指令查表指令 用于讀程序存儲器中的數(shù)據(jù)表格的指令,均采用
20、基址寄存器加用于讀程序存儲器中的數(shù)據(jù)表格的指令,均采用基址寄存器加變址寄存器間接尋址方式。變址寄存器間接尋址方式。(偏移量偏移量A為無符號數(shù)為無符號數(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ù)表格存放的地址無關(guān),該指令存放的地址及常數(shù)表格存放的地址無關(guān),因此表格的大因此表格的大小和位置可以在小和位置可以在64K程序存儲器中任意安排程序存儲器中任意安排,一個表格可以為,一個表格可以
21、為各個程序塊公用。各個程序塊公用。兩條指令是在兩條指令是在MOV的后面加的后面加C,“C”是是CODE的第一個字母,的第一個字母,即代碼的意思。即代碼的意思。自習(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)注:無不帶借位指令使用前要先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ù)錯誤(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,無DEC DPTR指令。注:加/減1指令不影響PSW(Cy)6.二十調(diào)整指令DA A ;
26、對(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注意:注意:上面的運算中,由于位上面的運算中,由于位6 6和位和位7 7同時有進(jìn)位,所以標(biāo)志位同時有進(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無進(jìn)位,所以標(biāo)志位無進(jìn)位,所以標(biāo)志位OV=1 OV=1 【例例】 (A A)=56H,=56H,(R5R5)=67H=67H,把它們看作為兩個壓縮的,把它們看作為兩個壓縮的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)邏輯運算及移位指令共有24條,其中邏輯指令有“與”、“或”、 “異或”、累加器A清零和求反20條,移位指令4條。 6、累加器A帶進(jìn)位循環(huán)右移RRC A;一、單操作數(shù)邏輯運算指令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:可以實現(xiàn)快速(A
30、) 2RRC A:可以實現(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)作為單位來進(jìn)行運算和操作的。 8051的位(布爾)處理器具有一系列位指令集布爾變量傳送位狀態(tài)控制布爾邏輯運算位條件轉(zhuǎn)移位變量地址空間片內(nèi)低RAM,Bit地址范圍:00H7FH(128位)片內(nèi)高RAM,地址能被8整除的SFR中對應(yīng)各位(11個): 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)三、位邏輯運算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 中的兩個無符號數(shù)的大小,中的兩個無符號數(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.無條件轉(zhuǎn)移指令:絕對轉(zhuǎn)移(短轉(zhuǎn)移,該頁面2K范圍) AJMPadd11;(pc010) addr010 ;(pc1115)不變A10 A9 A8 0 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0 長轉(zhuǎn)移LJMP add16;add16(PC) 短轉(zhuǎn)移SJMP rel
37、;(PC)2rel(PC)相對轉(zhuǎn)移JMPA+DPTR;(A)+(DPTR)(PC) 控制轉(zhuǎn)移類指令共計23條,可分為無條件轉(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容儀器市場營銷推廣合同2025年度
- 2025年度辦公樓智能化裝修升級服務(wù)合同
- 加入籃球隊申請書
- 入電競社申請書
- 環(huán)保視角下的石墨行業(yè)發(fā)展趨勢
- 2025年度企業(yè)研發(fā)項目借款合同模板
- 2025年度水電消防設(shè)備研發(fā)與生產(chǎn)質(zhì)量保證合同
- 大學(xué)生貸款的申請書
- 2025年度新型環(huán)保材料授權(quán)銷售代理協(xié)議
- 籌建藥店申請書
- (完整word版)手卡模板
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗方法
- 統(tǒng)編教學(xué)小學(xué)語文課外閱讀《細(xì)菌世界歷險記》導(dǎo)讀課課件
- 幼兒剪紙-打印版
- 中小學(xué)2021年秋季開學(xué)第一課手心班會圖文精品
- 高三英語閱讀專項訓(xùn)練之說明文(含答案及部分解析)
- 中國移動CHBN試題題庫大全(含答案)
- 醫(yī)學(xué)課件:介入放射學(xué)(全套課件328張)
- 2022年同等學(xué)力人員申請碩士學(xué)位日語水平統(tǒng)一考試真題
- 病毒性感染性腹瀉醫(yī)學(xué)課件
- 水泥攪拌樁記錄表格范本
評論
0/150
提交評論