




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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條(乘法、除法) 數據傳送類指令28條 算術運算類指令24條 邏輯操作類指令25條 位操作指令17條 控制轉移類指令17條,2019/10/30,3,3.2 指令格式,mcs51單片機匯編語言指令由操作碼和操作數兩部分組成。 指令的格式為: 【標號】:操作碼 【目的操作數】,【源操作數】;注釋 標號表示該指令的符號地址,可以是數字和字母或字母和數字的組合 操作碼規(guī)定了指令所實現的操作功能 目的操作數指令執(zhí)行后結果的存放的地方 源操作數參加指令執(zhí)行的數據來源 注釋是為方便用戶閱讀而加的注釋,可有可無,注意:一條指令中可以沒有標號、操作數和注釋,但是一定要有操作碼。,2019/10/30,4,3.3 指令系統(tǒng)的尋址方式,尋址方式:在指令中說明操作數所在地址的方法 單片機存儲數的地方有:片內ram(地址為00h7fh)、通用寄存器(r0r7)、特殊功能寄存器(地址在80hffh)以及片外ram,除此以外,程序存儲器還可以存放表格等數據。,2019/10/30,5,2019/10/30,6,-128127,2019/10/30,7,尋址問題,如果某條指令還有兩個操作數,例如mov a,data,它究竟屬于立即尋址還是寄存器尋址?,這要看以哪個操作數為參照物了。因為操作數分為源操作數(數據從哪來)和目的操作數(數據準備送到哪去),所以在討論上面這條指令時,對于源操作數data是“立即尋址”,但對于操作數a來說是“寄存器尋址”,2019/10/30,8,3.5 mcs-51指令系統(tǒng)分類介紹,符號指令的操作數中使用的符號 rn當前寄存器組r0r7 ri間接尋址的2個通用寄存器r1和r0 direct內部ram或sfr,表示對它們直接尋址 data立即數 rel相對轉移偏移量 bit內部ram或sfr中的位地址 /bit對bit取反 addr11,addr1611或16位目的地址 間址寄存器的前綴標志 (x)x中的內容 (x)由x尋址的單元中的內容,2019/10/30,9,1、數據傳送類,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單片機片內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。既這段程序的作用是:將片內ram50h單元的8位數據中的低4位取出,送片內ram61h,而高4位取出,送片內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碼調整,da a * 僅當兩個bcd碼相加時,才對其結果進行調整,該指令僅接在add/addc后 * 低半字節(jié)9或ac=1時,低4位+6,即(a)+6a 高半字節(jié)9或c=1時,高4位+6,即(a)+60ha,bcd碼(binary-coded decimal)或稱二-十進制代碼,是一種二進制的數字編碼形式,用二進制編碼的十進制代 碼。這種編碼形式利用了四個位元來儲存一個十進制的數碼,使二進制和十進制之間的轉換得以快捷的進行。逢9(1001)進1。,2019/10/30,18,(5) 乘除法,mul ab ;(a) (b) (b)(a) * 當乘積255時,ov=1。 div ab ;(a) (a)為商 ;(b) (b)為余數 * 當(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的內容 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,一個操作數,兩個操作數,帶進位,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,調用,子程序,注意: 在調用子程序時(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壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC GUIDE 21-2:2005 FR Regional or national adoption of International Standards and other International Deliverables - Part 2: Adoption of International Deliverables ot
- 企業(yè)戰(zhàn)略管理模擬試卷
- 各行業(yè)綜合知識總結
- 描述家鄉(xiāng)的景物美景寫景作文5篇范文
- 生物學生態(tài)學知識點總結
- 銀行理論考試試題及答案
- 六一亞運活動方案
- 醫(yī)藥初級考試試題及答案
- 六一商業(yè)活動策劃方案
- 六一學校防疫活動方案
- 2024年重慶公務員考試試題及答案
- 小學生玩手機危害課件
- 2025年中國石油集團招聘筆試參考題庫含答案解析
- 數字金融發(fā)展與跨境貿易人民幣結算
- 智能制造能力成熟度模型(-CMMM-)介紹及評估方法分享
- 子宮腺肌病三級管理專家共識解讀
- 鋼材采銷方案
- 上海市2025年中考模擬初三英語試卷試題及答案
- 長租公寓管理制度
- 華東理工大學《藥劑學》2023-2024學年第一學期期末試卷
- 保安保潔物業(yè)服務招投標書范本
評論
0/150
提交評論