版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
控制轉(zhuǎn)移指令1、無(wú)條件轉(zhuǎn)移指令:長(zhǎng)轉(zhuǎn)移類(lèi)指令:LJMPaddr16絕對(duì)轉(zhuǎn)移類(lèi)指令:AJMPaddr11短轉(zhuǎn)移指令:SJMPrel間接轉(zhuǎn)移指令:JMP@A+DPTR我們?cè)诰帉?xiě)匯編語(yǔ)言源程序時(shí),可以直接寫(xiě)成:
LJMP標(biāo)號(hào) ;即轉(zhuǎn)移到標(biāo)號(hào)處AJMP標(biāo)號(hào)SJMP標(biāo)號(hào)JMP標(biāo)號(hào)2.條件轉(zhuǎn)移指令(8條)條件轉(zhuǎn)移指令是指在滿(mǎn)足一定條件時(shí)進(jìn)行相對(duì)轉(zhuǎn)移,否則程序繼續(xù)執(zhí)行本指令的下一條指令。(1)判A內(nèi)容是否為0轉(zhuǎn)移指令(2條)
JZrel;如果A=0,則轉(zhuǎn)移,否則順序執(zhí)行。JNZrel
;如果A≠0,就轉(zhuǎn)移。我們?cè)诰帉?xiě)匯編語(yǔ)言源程序時(shí),可以直接寫(xiě)成:
JZ標(biāo)號(hào) ;即轉(zhuǎn)移到標(biāo)號(hào)處。JNZ標(biāo)號(hào) ;即轉(zhuǎn)移到標(biāo)號(hào)處(2)比較轉(zhuǎn)移指令(4條)CJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel我們?cè)诰帉?xiě)匯編語(yǔ)言源程序時(shí),可以直接寫(xiě)成: CJNEA,#data,標(biāo)號(hào) CJNEA,direct,標(biāo)號(hào) CJNERn,#data,標(biāo)號(hào) CJNE@Ri,#data,標(biāo)號(hào)(3)減1條件轉(zhuǎn)移指令(2條)DJNZRn,relDJNZdirect,rel我們?cè)诰帉?xiě)匯編語(yǔ)言源程序時(shí),可以直接寫(xiě)成:DJNZRn,標(biāo)號(hào)DJNZdirect,標(biāo)號(hào)3、常用子程序子程序是能夠完成某一專(zhuān)用任務(wù)的程序段,其代碼為所有的主程序共享,因此,子程序在結(jié)構(gòu)上應(yīng)具有通用性和獨(dú)立性。編寫(xiě)子程序時(shí)應(yīng)注意的問(wèn)題1、子程序的第一條指令地址為子程序的入口地址,該指令前必須有標(biāo)號(hào)。2、主程序通過(guò)調(diào)用指令來(lái)調(diào)用子程序,子程序末尾必須要有返回指令來(lái)返回主程序。3、主程序調(diào)用子程序后,單片機(jī)可以自動(dòng)保護(hù)斷點(diǎn)地址,但對(duì)于R0-R7,SFR以及某些內(nèi)存單元內(nèi)容需要保存的話(huà),就需要在子程序開(kāi)頭寫(xiě)保存它們的指令(進(jìn)棧)、在末尾寫(xiě)恢復(fù)它們的指令(出棧)。4、入口參數(shù):將輸入數(shù)據(jù)存放到子程序指定的位置出口參數(shù):子程序?qū)⑻幚斫Y(jié)果存放到指定的位置。延遲子程序系統(tǒng)設(shè)計(jì)中的顯示、鍵盤(pán)及數(shù)據(jù)采集中經(jīng)常要用到延遲。DELAY:MOVR3,#98LOOP:DJNZR3,LOOPDJNZR2,DELAYRET入口參數(shù)就是R2,根據(jù)單片機(jī)的時(shí)鐘頻率,只要在主程序中給R2不同的值,就能實(shí)現(xiàn)不同時(shí)間長(zhǎng)度的延遲。3.空操作指令(1條)
NOP
例:從P1口的P1.0管腳輸出周期為10個(gè)機(jī)器周期的方波CLRP1.0LOOP:CPLP1.0NOPNOPSJMPLOOP練習(xí):1、已知某單片機(jī)監(jiān)控程序始址為A080H,問(wèn)用什么辦法使單片機(jī)開(kāi)機(jī)后自動(dòng)執(zhí)行監(jiān)控程序2、已知MA=0500H,問(wèn)8051單片機(jī)執(zhí)行如下指令MOVSP,#70HMA:LCALL8192H堆棧中數(shù)據(jù)如何變化,PC中內(nèi)容是什么3、已知外部RAM中以3000H為始址的數(shù)據(jù)塊以零為結(jié)束標(biāo)志,試編程將之傳送到以30H為始址的內(nèi)部RAM區(qū)位操作指令1.位傳送指令
(2條)
MOVC,bit ;bit→CMOVbit,C ;C→bit這組指令的功能是實(shí)現(xiàn)CY和其它位地址之間的數(shù)據(jù)傳遞。例:MOVC,P1.0 ;將P1.0的狀態(tài)送給C。MOVP1.0,C;將C中的狀態(tài)送到P1.0;引腳上去。2位變量修改指令(4條)
位清0指令
:CLRCCLRbit
位置1指令:SETBCSETBbit
位取反指令:CPLC
CPLbit
3.位邏輯運(yùn)算指令
(4條)
ANLC,bitANLC,/bitORLC,bitORLC,/bit4.位控制轉(zhuǎn)移指令(5條)
(1)判Cy轉(zhuǎn)移指令
JCrel JNCrel第一條指令的功能是如果Cy=1就轉(zhuǎn)移,否則就順序執(zhí)行。第二條指令則和第一條指令相反,即如果Cy=0就轉(zhuǎn)移,否則就順序執(zhí)行。同樣也可寫(xiě)成:JC標(biāo)號(hào)
JNC標(biāo)號(hào)(2)判位直接尋址位轉(zhuǎn)移指令JBbit,relJNBbit,relJBCbit,rel第一條指令:如果指定的(bit)=1,則轉(zhuǎn)移,否則順序執(zhí)行,第二條指令功能相反。第三條指令是如果指定的(bit)=1,則轉(zhuǎn)移,并把該位清0,否則順序執(zhí)行。編寫(xiě)程序時(shí),可以寫(xiě)成:JBbit,標(biāo)號(hào)JNBbit,標(biāo)號(hào)JBCbit,標(biāo)號(hào)例1:內(nèi)部RAM的M1和M2單元各有一個(gè)無(wú)符號(hào)8位二進(jìn)制數(shù),試編程比較它們的大小,并把大數(shù)送到MAX單元MOVA,M1CJNEA,M2,LOOPLOOP:JNCLOOP1MOVA,M2LOOP1:MOVMAX,A
例2:已知外部RAM以2000H開(kāi)始有一個(gè)數(shù)據(jù)緩沖區(qū),該緩沖區(qū)中數(shù)據(jù)以回車(chē)符(ASCII碼為0DH)為結(jié)束標(biāo)志,試編一程序把正數(shù)送入片內(nèi)RAM以30H為起始地址的正數(shù)區(qū),把負(fù)數(shù)送入片內(nèi)RAM以50H為起始地址的負(fù)數(shù)區(qū)。(假設(shè)輸入數(shù)據(jù)不超過(guò)32個(gè))ORG0100HMOVDPTR,#2000HMOVR0,#30HMOVR1,#50HNEXT:MOVXA,@DPTRCJNEA,#0DH,COMPSJMPDONECOMP:JBACC.7,LOOPMOV@R0,AINCR0INCDPTRSJMPNEXTLOOP:MOV@R1,AINCR1INCDPTRSJMPNEXTDONE:SJMPDONE
偽指令
1起始地址偽指令:確定程序或程序段的起始地址。格式為:
ORGnn
;nn為16位地址值。
如:ORG0100H2匯編結(jié)束偽指令:匯編語(yǔ)言程序結(jié)束偽指令。
格式為:
END;一定放在程序末尾!3定義字節(jié)偽指令
格式為:標(biāo)號(hào):DB n1,n2,…,nn
此指令用于定義8位數(shù)據(jù)的地址4定義字偽指令
格式為:標(biāo)號(hào):DW nn1,nn2,…,nnN
高八位先存入,低八位后存入5位地址賦值偽指令
格式:字符名稱(chēng) BIT 位地址
6數(shù)據(jù)地址賦值偽指令
格式為:
字符名 DATA nn
7賦值偽指令
格式為:
字符名EQU數(shù)值或匯編符號(hào)
EQU所定義的字符名必須先定義后使用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)園區(qū)場(chǎng)地租賃及農(nóng)業(yè)技術(shù)服務(wù)協(xié)議3篇
- 二零二五年度酒店客房消毒承包協(xié)議4篇
- 2025年度高新技術(shù)有限責(zé)任公司股東權(quán)益保障協(xié)議4篇
- 二零二四年度智慧城市建設(shè)關(guān)鍵軟硬件采購(gòu)服務(wù)協(xié)議2篇
- 2025版新風(fēng)系統(tǒng)零配件銷(xiāo)售與供應(yīng)協(xié)議3篇
- 二零二五年度電商平臺(tái)虛擬貨幣交易合作合同2篇
- 2025年度城市更新改造項(xiàng)目合作開(kāi)發(fā)合同3篇
- 二零二五年度鉆井安全環(huán)境保護(hù)合同范本4篇
- 二零二五年度家庭廚房整體設(shè)計(jì)施工合同4篇
- 二零二五年度變壓器行業(yè)人才培養(yǎng)合作合同2篇
- 紀(jì)委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 醫(yī)藥高等數(shù)學(xué)智慧樹(shù)知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 初中英語(yǔ)-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 【公司利潤(rùn)質(zhì)量研究國(guó)內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國(guó)地區(qū)碼
- 新疆2022年中考物理試卷及答案
- 地暖工程監(jiān)理實(shí)施細(xì)則
- 頂部板式吊耳計(jì)算HGT-20574-2018
- 《內(nèi)證觀察筆記》
評(píng)論
0/150
提交評(píng)論