單片機(jī)原理及應(yīng)用PPT電子教案-第三章 MCS-51的指令系統(tǒng).ppt_第1頁(yè)
單片機(jī)原理及應(yīng)用PPT電子教案-第三章 MCS-51的指令系統(tǒng).ppt_第2頁(yè)
單片機(jī)原理及應(yīng)用PPT電子教案-第三章 MCS-51的指令系統(tǒng).ppt_第3頁(yè)
單片機(jī)原理及應(yīng)用PPT電子教案-第三章 MCS-51的指令系統(tǒng).ppt_第4頁(yè)
單片機(jī)原理及應(yīng)用PPT電子教案-第三章 MCS-51的指令系統(tǒng).ppt_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2019/10/30,email:qinyemei,1,單片機(jī)原理及應(yīng)用,主講:覃業(yè)梅 中南林業(yè)科技大學(xué)涉外學(xué)院,第三章 mcs-51的指令系統(tǒng),2019/10/30,2,3.1 指令系統(tǒng)概述,mcs51單片機(jī)共有111條指令 單字節(jié)指令49條 雙字節(jié)指令45條 三字節(jié)指令17條 單周期指令64條 雙周期指令45條 四周期指令2條(乘法、除法) 數(shù)據(jù)傳送類指令28條 算術(shù)運(yùn)算類指令24條 邏輯操作類指令25條 位操作指令17條 控制轉(zhuǎn)移類指令17條,2019/10/30,3,3.2 指令格式,mcs51單片機(jī)匯編語(yǔ)言指令由操作碼和操作數(shù)兩部分組成。 指令的格式為: 【標(biāo)號(hào)】:操作碼 【目的操作數(shù)】,【源操作數(shù)】;注釋 標(biāo)號(hào)表示該指令的符號(hào)地址,可以是數(shù)字和字母或字母和數(shù)字的組合 操作碼規(guī)定了指令所實(shí)現(xiàn)的操作功能 目的操作數(shù)指令執(zhí)行后結(jié)果的存放的地方 源操作數(shù)參加指令執(zhí)行的數(shù)據(jù)來(lái)源 注釋是為方便用戶閱讀而加的注釋,可有可無(wú),注意:一條指令中可以沒(méi)有標(biāo)號(hào)、操作數(shù)和注釋,但是一定要有操作碼。,2019/10/30,4,3.3 指令系統(tǒng)的尋址方式,尋址方式:在指令中說(shuō)明操作數(shù)所在地址的方法 單片機(jī)存儲(chǔ)數(shù)的地方有:片內(nèi)ram(地址為00h7fh)、通用寄存器(r0r7)、特殊功能寄存器(地址在80hffh)以及片外ram,除此以外,程序存儲(chǔ)器還可以存放表格等數(shù)據(jù)。,2019/10/30,5,2019/10/30,6,-128127,2019/10/30,7,尋址問(wèn)題,如果某條指令還有兩個(gè)操作數(shù),例如mov a,data,它究竟屬于立即尋址還是寄存器尋址?,這要看以哪個(gè)操作數(shù)為參照物了。因?yàn)椴僮鲾?shù)分為源操作數(shù)(數(shù)據(jù)從哪來(lái))和目的操作數(shù)(數(shù)據(jù)準(zhǔn)備送到哪去),所以在討論上面這條指令時(shí),對(duì)于源操作數(shù)data是“立即尋址”,但對(duì)于操作數(shù)a來(lái)說(shuō)是“寄存器尋址”,2019/10/30,8,3.5 mcs-51指令系統(tǒng)分類介紹,符號(hào)指令的操作數(shù)中使用的符號(hào) rn當(dāng)前寄存器組r0r7 ri間接尋址的2個(gè)通用寄存器r1和r0 direct內(nèi)部ram或sfr,表示對(duì)它們直接尋址 data立即數(shù) rel相對(duì)轉(zhuǎn)移偏移量 bit內(nèi)部ram或sfr中的位地址 /bit對(duì)bit取反 addr11,addr1611或16位目的地址 間址寄存器的前綴標(biāo)志 (x)x中的內(nèi)容 (x)由x尋址的單元中的內(nèi)容,2019/10/30,9,1、數(shù)據(jù)傳送類,dptr,a+dptr,a+pc,movc,空間是256b,空間是64kb,2019/10/30,10,堆棧操作 push direct ;(sp)+1sp, (direct) sp pop direct ;(sp)direct,(sp)-1sp 字節(jié)交換 xch a, xchd a, ri,注意:順序,rn direct ri,2019/10/30,11,例題,在8051單片機(jī)片內(nèi)ram中,已知(30h)38h,(38h)40h,(40h)48h,(48h)90h,寫(xiě)出下列指令按順序執(zhí)行后的結(jié)果,mov a,40h mov r1,a mov p1,0f0h mov r1,#30h mov dptr,1234h mov 40h,38h mov r1,30h mov 90h,r1 mov 48h,30h mov a,r1 mov p0,p1,; ( a)48h,; ( r1)48h,; ( p1)0f0h,; ( 90h)30h,; ( dptr ) 1234h,;(40h)40h,; ( r1)38h,; ( p1)38h,;(48h)38h,; ( a)40h,; ( p0)38h,執(zhí)行后:(a)=40h, (dptr)=1234h, (30h)=38h, (38h)=40h, (40h)=40h, (48h)=38h, (p1)=38h, (p0)=38h,2019/10/30,12,例題,1、 (a)=85h,(dptr)=2100h,執(zhí)行movc a,a+dptr 2、a=12h,ri=50h,(50h)=34h,則執(zhí)行完指令xchd a,ri后的a,ri,50h,執(zhí)行后a51h,a14h,ri50h,(50h)32h,2019/10/30,13,例題,mov a,0 mov r0,61h mov r0,0 xch a,50h xchd a,r0 mov 60h,a,;r061h,;(61h)00h,;a37h,(50h)00h,;a30h,(61h)07h,若執(zhí)行下列程序前,(50h)37h,,;a00h,;(60h)30h,執(zhí)行完本段程序后,(50h)00h,(a)30h,(r0)61h,(61h)07h,(60h)30h。既這段程序的作用是:將片內(nèi)ram50h單元的8位數(shù)據(jù)中的低4位取出,送片內(nèi)ram61h,而高4位取出,送片內(nèi)ram60h,2019/10/30,14,2、算術(shù)操作類,(1) 加法類 add/addc a,#data direct rn ri,* 對(duì)cy、ac、ov、p 均有影響 * psw的組成,第6、7位不同時(shí)進(jìn)位,則ov=1,2019/10/30,15,subb a,,#data direct rn ri,* 對(duì)cy、ac、ov、p 均有影響 * psw的組成,第6、7位不同時(shí)借位,則ov=1,(2) 減法類,2019/10/30,16,(3) 加1,減1類,inc dec * 影響p,a direct rn ri dptr,a direct rn ri,例:若a32h,(50h)f3h 則執(zhí)行完下列指令后,a?,50h? inc a inc 50h,解:a33h,(50h)f4h,2019/10/30,17,(4) bcd碼調(diào)整,da a * 僅當(dāng)兩個(gè)bcd碼相加時(shí),才對(duì)其結(jié)果進(jìn)行調(diào)整,該指令僅接在add/addc后 * 低半字節(jié)9或ac=1時(shí),低4位+6,即(a)+6a 高半字節(jié)9或c=1時(shí),高4位+6,即(a)+60ha,bcd碼(binary-coded decimal)或稱二-十進(jìn)制代碼,是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代 碼。這種編碼形式利用了四個(gè)位元來(lái)儲(chǔ)存一個(gè)十進(jìn)制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。逢9(1001)進(jìn)1。,2019/10/30,18,(5) 乘除法,mul ab ;(a) (b) (b)(a) * 當(dāng)乘積255時(shí),ov=1。 div ab ;(a) (a)為商 ;(b) (b)為余數(shù) * 當(dāng)(b)=0時(shí),ov=1。,a存低8位,b存高8位,2019/10/30,19,例題,1、設(shè)(a)=53h,(r0)=0fch執(zhí)行指令:add a,r0 2、c=1,執(zhí)行指令后a的內(nèi)容 mov a,#20h mov b,a add a,b subb a,#10h,執(zhí)行結(jié)果: (a) 01010011 +(r0) = +11111100 (a) 01001111 cy=1,ac=0,ov=0,p=1。,執(zhí)行結(jié)果: (a)=2fh,2019/10/30,20,3、邏輯運(yùn)算類,clr cpl rl rlc rr rrc swap,a,anl orl a, xrl,direct rn ri #data,anl orl direct, xrl,a #data,一個(gè)操作數(shù),兩個(gè)操作數(shù),帶進(jìn)位,2019/10/30,21,例題,1、若a36h,(30h)=1eh,則執(zhí)行下列指令后,a=?,(30h)=? anl a,0fh anl 30h,f0h,(a)06h,(30h)10h,執(zhí)行完該指令后,(a)47h,則執(zhí)行完該指令后,ac7h,cy0,2、若a8eh,則執(zhí)行指令 rr a后,a?,3、上題中,c=1,執(zhí)行rrc a后,a=?c=?,2019/10/30,22,4、控制轉(zhuǎn)移類,ajmp addr11 ;低11位地址變,高5位不變 sjmp rel ljmp addr16 ;16位地址 jmp a+dptr jz(jnz) rel ;對(duì)a的判斷 cjne a, direct, rel a, cjne rn, #data ri, djnz rn,rel djnz direct,rel,無(wú)條件跳轉(zhuǎn),條件跳轉(zhuǎn),addr11,addr16,rel都可用標(biāo)號(hào)表示,間接地址作為下條指令的地址送入pc,2019/10/30,23,acall addr11 ;低11位地址變,高5位不變 lcall addr16 ;16位地址 ret reti nop,調(diào)用,子程序,注意: 在調(diào)用子程序時(shí)(sp)+1sp,(pcl) sp; (sp)+1sp,(pch) sp; 在子程序返回時(shí) (sp) pch, (sp)-1sp; (sp) pcl, (sp)-1sp;,2019/10/30,24,例題,1、kwr:ajmp 100h kwr地址為1030h,執(zhí)行后程序轉(zhuǎn)移到 ; kwr地址為3030h,執(zhí)行后程序轉(zhuǎn)移到 ; 2、krd:sjmp pkrd pkrd地址為0123h,目的地址;krd值為0100h。 rel=0123h-(0100h+2)=21h 3、pm: mov r1,a rl a add a,r1 mov dptr,#pmtb jmp a+dptr pmtb: ljmp pm0 ;轉(zhuǎn)向命令0處理入口 ljmp pm1 ;轉(zhuǎn)向命令1處理入口 ljmp pm2 ;轉(zhuǎn)向命令2處理入口 ljmp pm3 ;轉(zhuǎn)向命令3處理入口,1100h,3100h,2019/10/30,25,例題,4、若(sp)=60h,標(biāo)號(hào)ma值為1123h,子程序sub位于0345h,執(zhí)行: ma:acall sub 結(jié)果: (sp)= , (61h)= , (62h)= , (pc)= 。 5、若(sp)=60h,標(biāo)號(hào)strt值為0100h,子程序dir位于8100h,執(zhí)行: strt:acall dir 結(jié)果: (sp)= , (61h)= , (62h)= , (pc)= 。 6、若(sp)=62h, (62h)=07h, (61h)=30h,執(zhí)行: ret 結(jié)果: (sp)= , (pc)= 。,62h,25h,11h,1345h,62h,03h,01h,8100h,60h,0730h,2019/10/30,26,5、位操作類,mov c,bit mov bit ,c clr cpl c或bit setb anl c, bit或/bit orl jc(jnc) rel ;對(duì)c的操作 jb(jnb) bit, rel jbc bit, rel,位傳送,位條件轉(zhuǎn)移,2019/10/30,27,指令練習(xí),rr34:clr a mov r0,#30h mo

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論