




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2019/10/30,email:qinyemei,1,單片機原理及應用,主講:覃業(yè)梅 中南林業(yè)科技大學涉外學院,第三章 mcs-51的指令系統(tǒng),2019/10/30,2,3.1 指令系統(tǒng)概述,mcs51單片機共有111條指令 單字節(jié)指令49條 雙字節(jié)指令45條 三字節(jié)指令17條 單周期指令64條 雙周期指令45條 四周期指令2條(乘法、除法) 數(shù)據(jù)傳送類指令28條 算術運算類指令24條 邏輯操作類指令25條 位操作指令17條 控制轉移類指令17條,2019/10/30,3,3.2 指令格式,mcs51單片機匯編語言指令由操作碼和操作數(shù)兩部分組成。 指令的格式為: 【標號】:操作碼 【目的操作數(shù)】,【源操作數(shù)】;注釋 標號表示該指令的符號地址,可以是數(shù)字和字母或字母和數(shù)字的組合 操作碼規(guī)定了指令所實現(xiàn)的操作功能 目的操作數(shù)指令執(zhí)行后結果的存放的地方 源操作數(shù)參加指令執(zhí)行的數(shù)據(jù)來源 注釋是為方便用戶閱讀而加的注釋,可有可無,注意:一條指令中可以沒有標號、操作數(shù)和注釋,但是一定要有操作碼。,2019/10/30,4,3.3 指令系統(tǒng)的尋址方式,尋址方式:在指令中說明操作數(shù)所在地址的方法 單片機存儲數(shù)的地方有:片內(nèi)ram(地址為00h7fh)、通用寄存器(r0r7)、特殊功能寄存器(地址在80hffh)以及片外ram,除此以外,程序存儲器還可以存放表格等數(shù)據(jù)。,2019/10/30,5,2019/10/30,6,-128127,2019/10/30,7,尋址問題,如果某條指令還有兩個操作數(shù),例如mov a,data,它究竟屬于立即尋址還是寄存器尋址?,這要看以哪個操作數(shù)為參照物了。因為操作數(shù)分為源操作數(shù)(數(shù)據(jù)從哪來)和目的操作數(shù)(數(shù)據(jù)準備送到哪去),所以在討論上面這條指令時,對于源操作數(shù)data是“立即尋址”,但對于操作數(shù)a來說是“寄存器尋址”,2019/10/30,8,3.5 mcs-51指令系統(tǒng)分類介紹,符號指令的操作數(shù)中使用的符號 rn當前寄存器組r0r7 ri間接尋址的2個通用寄存器r1和r0 direct內(nèi)部ram或sfr,表示對它們直接尋址 data立即數(shù) rel相對轉移偏移量 bit內(nèi)部ram或sfr中的位地址 /bit對bit取反 addr11,addr1611或16位目的地址 間址寄存器的前綴標志 (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單片機片內(nèi)ram中,已知(30h)38h,(38h)40h,(40h)48h,(48h)90h,寫出下列指令按順序執(zhí)行后的結果,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、算術操作類,(1) 加法類 add/addc a,#data direct rn ri,* 對cy、ac、ov、p 均有影響 * psw的組成,第6、7位不同時進位,則ov=1,2019/10/30,15,subb a,,#data direct rn ri,* 對cy、ac、ov、p 均有影響 * psw的組成,第6、7位不同時借位,則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 * 僅當兩個bcd碼相加時,才對其結果進行調(diào)整,該指令僅接在add/addc后 * 低半字節(jié)9或ac=1時,低4位+6,即(a)+6a 高半字節(jié)9或c=1時,高4位+6,即(a)+60ha,bcd碼(binary-coded decimal)或稱二-十進制代碼,是一種二進制的數(shù)字編碼形式,用二進制編碼的十進制代 碼。這種編碼形式利用了四個位元來儲存一個十進制的數(shù)碼,使二進制和十進制之間的轉換得以快捷的進行。逢9(1001)進1。,2019/10/30,18,(5) 乘除法,mul ab ;(a) (b) (b)(a) * 當乘積255時,ov=1。 div ab ;(a) (a)為商 ;(b) (b)為余數(shù) * 當(b)=0時,ov=1。,a存低8位,b存高8位,2019/10/30,19,例題,1、設(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í)行結果: (a) 01010011 +(r0) = +11111100 (a) 01001111 cy=1,ac=0,ov=0,p=1。,執(zhí)行結果: (a)=2fh,2019/10/30,20,3、邏輯運算類,clr cpl rl rlc rr rrc swap,a,anl orl a, xrl,direct rn ri #data,anl orl direct, xrl,a #data,一個操作數(shù),兩個操作數(shù),帶進位,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、控制轉移類,ajmp addr11 ;低11位地址變,高5位不變 sjmp rel ljmp addr16 ;16位地址 jmp a+dptr jz(jnz) rel ;對a的判斷 cjne a, direct, rel a, cjne rn, #data ri, djnz rn,rel djnz direct,rel,無條件跳轉,條件跳轉,addr11,addr16,rel都可用標號表示,間接地址作為下條指令的地址送入pc,2019/10/30,23,acall addr11 ;低11位地址變,高5位不變 lcall addr16 ;16位地址 ret reti nop,調(diào)用,子程序,注意: 在調(diào)用子程序時(sp)+1sp,(pcl) sp; (sp)+1sp,(pch) sp; 在子程序返回時 (sp) pch, (sp)-1sp; (sp) pcl, (sp)-1sp;,2019/10/30,24,例題,1、kwr:ajmp 100h kwr地址為1030h,執(zhí)行后程序轉移到 ; kwr地址為3030h,執(zhí)行后程序轉移到 ; 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 ;轉向命令0處理入口 ljmp pm1 ;轉向命令1處理入口 ljmp pm2 ;轉向命令2處理入口 ljmp pm3 ;轉向命令3處理入口,1100h,3100h,2019/10/30,25,例題,4、若(sp)=60h,標號ma值為1123h,子程序sub位于0345h,執(zhí)行: ma:acall sub 結果: (sp)= , (61h)= , (62h)= , (pc)= 。 5、若(sp)=60h,標號strt值為0100h,子程序dir位于8100h,執(zhí)行: strt:acall dir 結果: (sp)= , (61h)= , (62h)= , (pc)= 。 6、若(sp)=62h, (62h)=07h, (61h)=30h,執(zhí)行: ret 結果: (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 ;對c的操作 jb(jnb) bit, rel jbc bit, rel,位傳送,位條件轉移,2019/10/30,27,指令練習,rr34:clr a mov r0,#30h mo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025企業(yè)租賃居間合同范本
- 2025企業(yè)管理資料大學生村官聘用合同書文檔范本
- 幼兒常見傳染病防控要點
- 人教版小學英語四年級下學期末測試卷
- 高中歷史選修一表格總結模版
- 互聯(lián)網(wǎng)常見術語
- 復習課生活與哲學求索真理的歷程教學設計
- 淚溢的臨床護理
- CSS樣式總結模版
- 透層試驗段施工總結
- 知行合一:王陽明傳
- 廣告宣傳欄及雕塑采購項目服務投標方案(技術標)
- 波浪理論基礎圖解
- 基于單片機的五岔路口交通燈方案設計
- 角的度量說課PPT
- 肥皂盒模具畢業(yè)設計
- 【輔助投籃機器人設計7600字(論文)】
- 山東財經(jīng)大學輔導員考試真題2022
- 電力QC小組成果報告電力QC小組成果報告八篇
- 《團結友愛,和睦相處,建和諧班級》主題班會課件
- 新能源汽車故障診斷與排除課件:項目三 高壓互鎖故障診斷
評論
0/150
提交評論