版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.2MCS-51單片機(jī)指令系統(tǒng)MCS-51單片機(jī)指令系統(tǒng)特點(diǎn)(1)指令執(zhí)行時(shí)間快。(2)指令短,約有一半的指令為單字節(jié)指令。(3)用一條指令即可實(shí)現(xiàn)2個(gè)一字節(jié)的相乘或相除。(4)具有豐富的位操作指令。(5)可直接用傳送指令實(shí)現(xiàn)端口的輸入輸出操作。1.2.1MCS-51指令系統(tǒng)的分類、格式及一般說(shuō)明1.2.1.1指令分類 數(shù)據(jù)傳遞與交換算術(shù)運(yùn)算邏輯運(yùn)算程序轉(zhuǎn)移布爾處理操作(位操作指令)1.2.1.2指令格式在MCS-51指令中,一般指令主要由操作碼、操作數(shù)組成。(1)操作碼指明執(zhí)行什么性質(zhì)和類型的操作。例如,數(shù)的傳送、加法、減法等。(2)操作數(shù)指明操作的數(shù)本身或者是操作數(shù)所在的地址。(3)指定操作結(jié)果存放的地址。1.2.1.3指令描述符號(hào)介紹
Rn——當(dāng)前選中的寄存器區(qū)中的8個(gè)工作寄存器R0~R7(n=0~7)。Ri——當(dāng)前選中的寄存器區(qū)中的2個(gè)工作寄存器R0、R1(i=0,1)。direct—8位的內(nèi)部數(shù)據(jù)存儲(chǔ)器單元中的地址。#data——包含在指令中的8位常數(shù)。#data16——包含在指令中的16位常數(shù)。addr16——16位目的地址。addr11——11位目的地址。rel——8位帶符號(hào)的偏移字節(jié),簡(jiǎn)稱偏移量。DPTR——數(shù)據(jù)指針,可用作16位地址寄存器指令描述符號(hào)介紹bit——內(nèi)部RAM或?qū)S眉拇嫫髦械闹苯訉ぶ肺?。A——累加器。B——專用寄存器,用于乘法和除法指令中。C——進(jìn)位標(biāo)志或進(jìn)位位,或布爾處理機(jī)中的累加器。@——間址寄存器或基址寄存器的前綴,如@Ri,@DPTR。/——位操作數(shù)的前綴,表示對(duì)該位操作數(shù)取反,如/bit?!痢瑑?nèi)RAM的直接地址或寄存器。(×)——由×尋址的單元中的內(nèi)容?!^左邊的內(nèi)容被箭頭右邊的內(nèi)容所代替1.2.2分類指令1.2.2.1數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令共28條,是將源操作數(shù)送到目的操作數(shù)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)被源操作數(shù)取代。數(shù)據(jù)傳送類指令用到的助記符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8種。源操作數(shù)可采用寄存器、寄存器間接、直接、立即、變址5種尋址方式尋址,目的操作數(shù)可以采用寄存器、寄存器間接、直接尋址3種尋址方式。1.以A為目的操作數(shù)(機(jī)器碼)MOVA,Rn ;A←Rn,(A)=(Rn)MOVA,direct ;A←(direct),(A)=(direct)MOVA,#data ;A←#data,(A)=#dataMOVA,@Ri(重點(diǎn));A←(Ri),(A)=((Ri))以Ri中的內(nèi)容為地址,取該地址的內(nèi)容送給A。注意:是from、copy操作,2.以Rn為目的操作數(shù)
MOVRn,A ;Rn←(A)MOVRn,direct ;Rn←(direct)MOVRn,#data ;Rn←#data如MOVR6,#45H注意:Rn為R0—R73.以直接地址為目的操作數(shù)MOVdirect,A ;direct←(A)MOVdirect,@Ri;direct←((Ri))MOVdirect,#data;direct←#dataMOVdirect,Rn ;direct←(Rn)MOVdirect1,direct2 ;direct1←(direct2)如:MOV30H,56H4.以間接地址為目的操作數(shù)MOV@Ri,A ;(Ri)←(A)MOV@Ri,direct ;(Ri)←(direct)MOV@Ri,#data ;(Ri)←#data以Ri的內(nèi)容為地址,把#data的送入該單元中。例如:設(shè)(30H)=6FH,R1=40H,(40H)=26H執(zhí)行MOV@R1,30H后,30H單元中數(shù)據(jù)取出送入R1間接尋址的40H單元,(40H)=6FH,而不是26H=6FH.5.以DPTR為目的操作數(shù)MOVDPTR,#data16;DPTR←#data16例如執(zhí)行MOVDPTR,#2000H后,(DPTR)=2000H。注意:其他MOV指令均為1字節(jié)數(shù)。直接地址direct累加器A直接地址direct間接地址@Ri寄存器Rn立即數(shù)#data寄存器DPTR6.訪問(wèn)外部數(shù)據(jù)RAMMOVXA,@DPTR ;A←(DPTR)MOVX@DPTR,A ;(DPTR)←AMOVXA,@Ri ;A←(P2Ri)MOVX@Ri,A ;(P2Ri)←A特點(diǎn):雙向傳送,必須由A傳送,外地址由DPTR及P2Ri確定把外部ram單元3000h的內(nèi)容寫入A中(1)MOVDPTR,#3000HMOVXA,@DPTR(2)MOVP2,#30HMOVR1,#00HMOVXA,@R1(3)MOVXA,@3000H(錯(cuò))7.讀程序存儲(chǔ)器
MOVCA,@A+DPTR ;A←((A)+(DPTR))MOVCA,@A+PC ;A←((A)+(PC))注意:只有對(duì)ROM的讀(無(wú)寫)指令,PC為當(dāng)前指令所在ROM空間的地址+1例如已知A=30H,DPTR=3000H,程序存儲(chǔ)器單元(3030H)=50H,執(zhí)行MOVCA,@A+DPTR后例如MOVCA,@A+PC存在ROM空間1203H,(A)=30H,(A)+(PC)=1233H,(A)=8.?dāng)?shù)據(jù)交換
字節(jié)交換XCHA,Rn ;A<=>RnXCHA,direct ;A<=>(direct)XCHA,@Ri ;A<=>(Ri)如:XCHA,30H ;設(shè)(A)=98H,(30H)=07H結(jié)果(A)=,(30H)=半字節(jié)交換(低4位互換)XCHDA,@Ri ;A0~3<=>(Ri)0~3SWAPA ;A0~3<=>A4~7如:設(shè)(A)=98H;SWAPA ;(A)=89H9.堆棧操作(難點(diǎn))所謂堆棧是在片內(nèi)RAM中按“先進(jìn)后出,后進(jìn)先出”原則設(shè)置的專用存儲(chǔ)區(qū)。數(shù)據(jù)的進(jìn)棧出棧由指針SP統(tǒng)一管理。隊(duì)列:先進(jìn)先出的存儲(chǔ)結(jié)構(gòu)管理。堆棧的操作有如下兩條專用指令:
PUSHdirect;SP←(SP)+1,(SP)←(direct)POP direct ;direct←((SP)),SP←(SP)-1堆棧指令主要用于子程序和數(shù)據(jù)保護(hù),保證程序的正常執(zhí)行。PUSH進(jìn)棧指令執(zhí)行過(guò)程片內(nèi)RAM30H11H10HSP××片內(nèi)RAM50H40H11H10HSP××40H30H片內(nèi)RAM50H40H11H10H50H××SP30H片內(nèi)RAM40H11H10H34H××SP30H34H34H××××執(zhí)行前執(zhí)行前執(zhí)行前PUSH指令后執(zhí)行POP指令后【例1】將片內(nèi)RAM30H單元與40H單元中的內(nèi)容互換。方法1(直接地址傳送法):MOV 31H,30HMOV 30H,40HMOV 40H,31HSJMP $方法2(間接地址傳送法):MOV R0,#40HMOV R1,#30HMOV A,@R0MOV B,@R1MOV @R1,AMOV @R0,BSJMP $方法3(字節(jié)交換傳送法):MOV A,30HXCH A,40HMOV 30H,ASJMP $方法4(堆棧傳送法):PUSH 30HPUSH 40HPOP 30HPOP 40HSJMP $1.2.2.2算術(shù)運(yùn)算類指令1.加法指令(對(duì)PSW的影響)ADDA,Rn ;A←(A)+(Rn)ADDA,direct ;A←(A)+(direct)ADDA,@Ri ;A←(A)+((Ri))ADDA,#data ;A←(A)+#data注意:加法操作在A中完成。并對(duì)PSW中的CY,AC,OV,P產(chǎn)生影響。如:ADDA,#28H;設(shè)(A)=B9H則結(jié)果(A)=E1H;CY=0,AC=1,OV=1,P=02.帶進(jìn)位加指令
ADDCA,Rn ;A←(A)+(Rn)+(C)ADDCA,direct ;A←(A)+(direct)+(C)ADDCA,@Ri ;A←(A)+((Ri))+(C)ADDCA,#data ;A←(A)+data+(C)C為來(lái)自PSW狀態(tài)寄存器中的進(jìn)位位C,是運(yùn)算前的C,運(yùn)算后的C不參加運(yùn)算。例如,設(shè)(A)=20H,(R0)=21H,(C)=1,執(zhí)行指令A(yù)DDCA,R0后,A=42H。3.帶借位減指令SUBBA,Rn ;A←(A)–(Rn)–(C)SUBBA,direct ;A←(A)-(direct)-(C)SUBBA,@Ri ;A←(A)–((Ri))-(C)SUBBA,#data ;A←(A)-#data–(C)注意:?jiǎn)纹瑱C(jī)沒(méi)有不帶借位的減法??梢韵仁筩=0后再使用SUBB指令例如,設(shè)A=39H,R0=20H,(20H)=32H,C=1,4乘法指令MULAB ;BA←(A)×(B)A和B中各存放一個(gè)8位無(wú)符號(hào)數(shù),指令執(zhí)行后,16位乘積的高8位在B中,低8位存A中。例如,A=30H,B=60H,執(zhí)行MULAB后,A=00H,B=12H注意MUL對(duì)PSW的影響.5.除法指令
DIVAB ;(A)÷(B)→AB,商在A中,余數(shù)在B中A和B中各存放一個(gè)8位無(wú)符號(hào)數(shù),A放被除數(shù),B放除數(shù)。指令執(zhí)行后,A中存放商,B中存入余數(shù)。若B=00H,則指令執(zhí)行后OV=1,A與B不變。例如,A=30H,B=07H,執(zhí)行DIVAB后,A=06H,B=06H。6.加1指令
INCA ;A←(A)+1INCRn ;Rn←(Rn)+1INCdirect ;direct←((direct))+1INC@Ri ;(Ri)←((Ri))+1INCDPTR ;DPTR←(DPTR)+1例如,(30H)=22H,執(zhí)行INC30H后,(30H)=23H。7.減1指令
DECA ;A←(A)-1DECRn ;Rn←(Rn)-1DECdirect ;direct←(direct)-1DEC@Ri ;(Ri)←((Ri))-1例如,R0=30H,(30H)=22H,執(zhí)行DEC@R0后,(30H)=21H。注意:沒(méi)有DECDPTR的指令??捎肈ECDPL指令8.十進(jìn)制調(diào)整指令DAA;把A中按二進(jìn)制相加的結(jié)果調(diào)整成按BCD碼相加的結(jié)果例如,A=65BCD,B=78BCD,C=0,執(zhí)行下列語(yǔ)句ADD A,B;ADD后,DA A前不能使用對(duì)C或AC有影響的指令。DA A;A=43BCD,C=1。DA操作核心:(1)對(duì)低半字節(jié)>09HORAC=1的數(shù)進(jìn)行+06H的操作。
(2)對(duì)高字節(jié)>90HORC=1的數(shù)進(jìn)行+60H的操作?!纠?】試把存放在R1R2和R3R4中的兩個(gè)16位數(shù)相加,結(jié)果存于R5R6中。解:參考程序如下:MOV A,R2 ;取第一個(gè)數(shù)的低8位ADD A,R4 ;兩數(shù)的低8位相加MOV R6,A ;保存和的低8位MOV A,R1 ;取第一個(gè)數(shù)的高8位ADDC A,R3 ;兩數(shù)的高8位相加,并把低8位相加時(shí)的進(jìn)位位加進(jìn)來(lái)MOV R5,A ;把相加的高8位存入R5寄存器中SJMP$1.2.2.3邏輯運(yùn)算與循環(huán)類指令1.“與”操作指令A(yù)NLA,#data;(A)=(A)∧#dataANLA,direct;(A)=(A)∧(direct)ANLA,Rn;(A)=(A)∧(Rn)ANLA,@Ri;(A)=(A)∧((Ri))ANLdirect,#data;(direct)=(direct)∧#dataANLdirect1,direct2;(direct1)=(direct1)∧(direct2)2.“或”操作指令
ORLA,#data;(A)=(A)∨#dataORLA,direct;(A)=(A)∨(direct)ORLA,Rn;(A)=(A)∨
(Rn)ORLA,@Ri;(A)=(A)∨((Ri))ORLdirect,#data;(direct)=(direct)∨#dataORLdirect1,direct2;(direct1)=(direct1)∨(direct2)3.“異或”操作指令
XRLA,#data;(A)=(A)∨#dataXRLA,direct;(A)=(A)∨(direct)XRLA,Rn;(A)=(A)∨
(Rn)XRLA,@Ri;(A)=(A)∨((Ri))XRLdirect,#data;(direct)=(direct)∨#dataXRLdirect1,direct2;(direct1)=(direct1)∨(direct2)4.求反與清除指令
CLRA;(A)=0CPLA;(A)=(/A)5.循環(huán)指令RRA;右移操作RLA;左移操作RRCA;帶進(jìn)位的右移操作RLCA;帶進(jìn)位的左移操作注意:該指令常用于乘、除2的n次冪的操作。并且只能在A中進(jìn)行。例:將30H的內(nèi)容*4放入31H和32H中,31H為高位。1.2.2.4位操作指令
1.位數(shù)據(jù)傳送指令MOV C,bit ;C←(bit)MOV bit,C ;bit←(C)2.位狀態(tài)修改指令CLR C ;C←0CLR bit ;bit←0CPL C ;C←CPL bit ;bit←(bit)SETB C ;C←1SETB bit ;bit←13.位邏輯運(yùn)算指令A(yù)NL C,bit ;C←(C)∧(bit)ANL C,/bit ;C←(C)∧(bit)ORL C,bit ;C←(C)∨(bit)ORL C,/bit ;C←(C)∨(bit)1.2.2.5程序轉(zhuǎn)移類指令1.無(wú)條件轉(zhuǎn)移指令絕對(duì)(短)轉(zhuǎn)移指令A(yù)JMP addr11 ;PC10~0←addr11長(zhǎng)轉(zhuǎn)移指令LJMP addr16 ;PC←addr16短(相對(duì))轉(zhuǎn)移指令SJMP rel ;PC←PC+2+rel間接轉(zhuǎn)移指令JMP @A+DPTR ;PC←A+DPTR無(wú)條件轉(zhuǎn)移指令區(qū)別地址范圍地址空間地址計(jì)算相對(duì)偏移量rel的求法2.條件轉(zhuǎn)移指令累加器為零(非零)轉(zhuǎn)移指令JZ rel ;若(A)=0,則轉(zhuǎn)移;PC←(PC)+2+rel;否則程序順序執(zhí)行JNZ rel ;若(A)?0,則轉(zhuǎn)移;PC←(PC)+2+rel;否則程序順序執(zhí)減1非零轉(zhuǎn)移指令DJNZRn,rel;
DJNZdirect,rel;(Rn)=(Rn)-1;if(Rn)〉0轉(zhuǎn)移;否則順序執(zhí)行。兩數(shù)不等轉(zhuǎn)移指令
CJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel三分支指令ifA>=datac=0;否則c=1;ifA=data,則順序執(zhí)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智慧城市建設(shè)項(xiàng)目投資入股協(xié)議書范本3篇
- 2025年度工錢墊付與勞動(dòng)保障政策執(zhí)行協(xié)議范本2篇
- 2025版國(guó)際能源合作習(xí)協(xié)議書3篇
- 2025版小麥種子進(jìn)出口貿(mào)易合同樣本3篇
- 2025年度個(gè)人房屋買賣綠色環(huán)保協(xié)議3篇
- 2025-2030全球一次性使用2D儲(chǔ)液袋行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)濕式無(wú)線遠(yuǎn)傳智能水表行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年秋季江蘇七年級(jí)入學(xué)分班考試語(yǔ)文模擬卷2(解析版)
- 2024年煤礦安全生產(chǎn)知識(shí)競(jìng)賽題庫(kù)及答案(共80題)
- 2025版新能源汽車租賃與保險(xiǎn)代理服務(wù)合同3篇
- 2024版塑料購(gòu)銷合同范本買賣
- 2024-2025學(xué)年人教新版高二(上)英語(yǔ)寒假作業(yè)(五)
- YY/T 1496-2016紅光治療設(shè)備
- 鄭州小吃詳細(xì)地點(diǎn)
- 上海高考英語(yǔ)詞匯手冊(cè)
- 2021年江蘇省淮安市淮陰中學(xué)高一政治下學(xué)期期末試題含解析
- 2021年道路交通安全法期末考試試題含答案
- 自帶藥物治療告知書
- 建筑制圖與陰影透視-第3版-課件12
- 2023年最新的校長(zhǎng)給教師春節(jié)祝福語(yǔ)
- 吞咽解剖和生理研究
評(píng)論
0/150
提交評(píng)論