日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]控制轉(zhuǎn)移類(lèi)指令計(jì)算機(jī)運(yùn)行過(guò)程中,有時(shí)因?yàn)椴僮鞯男枰绦虿荒馨错樞蛑饤l執(zhí)行指令,需要改變程序運(yùn)行方向,即將程序跳轉(zhuǎn)到某個(gè)指定的地址再順序執(zhí)行下去。控制轉(zhuǎn)移類(lèi)指令的功能就是根據(jù)要求修改程序計(jì)數(shù)器PC的內(nèi)容

控制轉(zhuǎn)移類(lèi)指令

計(jì)算機(jī)運(yùn)行過(guò)程中,有時(shí)因?yàn)椴僮鞯男枰绦虿荒馨错樞蛑饤l執(zhí)行指令,需要改變程序運(yùn)行方向,即將程序跳轉(zhuǎn)到某個(gè)指定的地址再順序執(zhí)行下去。

控制轉(zhuǎn)移類(lèi)指令的功能就是根據(jù)要求修改程序計(jì)數(shù)器PC的內(nèi)容,以改變程序運(yùn)行方向,實(shí)現(xiàn)轉(zhuǎn)移。

控制轉(zhuǎn)移類(lèi)指令可分為:無(wú)條件轉(zhuǎn)移、條件轉(zhuǎn)移、絕對(duì)轉(zhuǎn)移、相對(duì)轉(zhuǎn)移和調(diào)用、返回指令。下面我們將分類(lèi)介紹。

1.無(wú)條件轉(zhuǎn)移指令(4條)

LJMP   add16           ;add16→PC,無(wú)條件跳轉(zhuǎn)到add16地址,可在64KB范圍內(nèi)

轉(zhuǎn)移,稱(chēng)為長(zhǎng)轉(zhuǎn)移指令

AJMP   add11          ;add11→PC,無(wú)條件轉(zhuǎn)向add11地址,在2KB范圍內(nèi)轉(zhuǎn)移

SJMP   rel           ;PC+2+rel→PC,相對(duì)轉(zhuǎn)移,rel是偏移量,8 位有符號(hào)

數(shù),范圍-128~127,即可向后跳轉(zhuǎn)128,向前可跳轉(zhuǎn)127

JMP    @A+DPTR         ;A+DPTR→PC ,屬散轉(zhuǎn)指令,無(wú)條件轉(zhuǎn)向A與DPTR內(nèi)容相

加后形成的新地址

例1  執(zhí)行指令

LJMP   9100H

不管這條指令存放在哪里,執(zhí)行時(shí)將使程序轉(zhuǎn)移到9100H,和AJMP,SJMP指令是有差別的。

例2  程序

2000H   MOV   R0 , #10H  ;10H→PC

2002H   SJMP  03H   ;PC+2+rel=2002H+2+03H=2007H→PC

┇        ┇

2006H     ┇

2007H     ┇

從說(shuō)明中可見(jiàn),執(zhí)行SJMP  03H 指令后,馬上跳轉(zhuǎn)到2007H地址執(zhí)行程序。

2.條件轉(zhuǎn)移指令(8條)

條件轉(zhuǎn)移指令是根據(jù)某種特定條件轉(zhuǎn)移的指令。條件滿(mǎn)足時(shí)轉(zhuǎn)移,條件不滿(mǎn)足時(shí)則順序

執(zhí)行下面的指令。

JZ   rel           ;A=0轉(zhuǎn)向PC+2+rel→PC,A≠0順序執(zhí)行

JNZ  rel           ;A≠轉(zhuǎn)向PC+2+rel→PC ,A=0順序執(zhí)行

CJNE A, direct, rel     ;A≠ (direct)轉(zhuǎn)向PC+3+rel→PC且當(dāng)A>(direct),Cy=0

;當(dāng)A<(direct),Cy=1

;否則A=(direct),PC+3→PC即順序執(zhí)行

CJNE A, #data, rel      ;A data P轉(zhuǎn)向PC+3+rel→PC且當(dāng)A >data,Cy=0

;當(dāng)A <data,Cy=1,

;A=data,PC+3→PC順序執(zhí)行

CJNZ  Rn, #data, rel  ;Rn≠data轉(zhuǎn)向PC+3+rel→PC

;且當(dāng)Rn>data,Cy=0,當(dāng)Rn<data,Cy=1

;Rn=data,PC+3→PC順序執(zhí)行

CJNE  @Ri,#data, rel  ;(Ri) ≠data ,PC+3+rel→PC

;且當(dāng)(Ri)>data ,Cy=0,當(dāng)(Ri)<data,Cy=1

;(Ri)=data, PC+3→PC順序執(zhí)行

DJNZ  Rn, rel       ;Rn-1→Rn ,Rn ≠0轉(zhuǎn)向PC+2+rel→PC

;Rn=0,PC+2→PC順序執(zhí)行

DJNZ direct, rel      ;(direct)-1→(direct),(direct) ≠0轉(zhuǎn)向 PC+2+rel

→PC

;(direct)=0 ,PC+2→PC順序執(zhí)行

注意:

1)CJNE類(lèi)指令借用進(jìn)位標(biāo)志Cy作為比較結(jié)果的標(biāo)志位。從指令中可知,目的操作數(shù)內(nèi)容小于原操作數(shù)內(nèi)容Cy置1,反之Cy清0,該類(lèi)指令多用于分支程序。

2) DJNZ指令執(zhí)行時(shí)Rn或direct先減1,然后再判斷Rn或direct內(nèi)容是否等于0。不為0則轉(zhuǎn),為0順序執(zhí)行。DJNZ用在循環(huán)程序中,控制循環(huán)次數(shù)很方便。

3) JZ和JNZ的操作數(shù)只有一個(gè),是對(duì)A的內(nèi)容的進(jìn)行判斷的指令。

例1 以下程序的循環(huán)次數(shù)是多少,最后(R0)=?

MOV  R0 , #0

LL:     ┇

DJNZ  R0 , LL

分析:由于DJNZ是減1再判斷大小的,因?yàn)镽0=0,所以第一次執(zhí)行DJNZ  R0 , LL后R0=FFH=255,則程序要執(zhí)行的次數(shù)為256次,R0最后的值為0。

解:程序要循環(huán)的次數(shù)為256次,最后R0=0

3.調(diào)用、返回、控操作指令

在程序設(shè)計(jì)中,常常要把具有一定功能的公用程序編制成子程序。當(dāng)主程序轉(zhuǎn)至子

程序時(shí)用調(diào)用指令,而在子程序的最后安排一條返回指令,使執(zhí)行完子程序后再返回到主程序。

(1) LCALL    addr16    ;調(diào)用入口地址為addr16的子程序

這是一條長(zhǎng)調(diào)指令,可調(diào)用64KB范圍內(nèi)的子程序,因此,可放在程序的任何位置。

指令的執(zhí)行過(guò)程分兩步:第一步把斷點(diǎn)(當(dāng)前執(zhí)行指令的下一條指令地址)壓入堆棧。第二步將調(diào)用的子程序的入口地址裝入PC。即addr16(16位地址)→PC,轉(zhuǎn)向執(zhí)行子程序。

(2) ACALL    addr11      ;子程序入口地址為addr11的子程序

這是一條短調(diào)指令,只能實(shí)現(xiàn)2KB范圍內(nèi)的子程序的調(diào)用。其指令執(zhí)行過(guò)程與LCALL

指令一樣。但是需要注意的是:ACALL中addr11只占用PC的PC.0~PC.10位。

(3) RET         ;放在子程序最后,使程序準(zhǔn)確返回到主程序斷點(diǎn)處

執(zhí)行過(guò)程為:(SP)→PC.8~PC.15斷點(diǎn)地址高字節(jié)送入PC

SP-1→SP,(SP) →PC.0~PC.7斷點(diǎn)低字節(jié)送入PC,

這時(shí)PC中為主程序斷點(diǎn)地址,程序準(zhǔn)確返回到調(diào)用指令的下一條。

例  設(shè)SP=62H,(62H)=07H,(61H)=30H,執(zhí)行指令RET

結(jié)果:SP=60H,(PC)=0730H,CPU從0730H開(kāi)始執(zhí)行程序。

(4) RETI     ;中斷返回指令

該指令用于中斷服務(wù)程序,使中斷程序結(jié)束后準(zhǔn)確返回到主程序斷點(diǎn)處,執(zhí)行過(guò)程同RET,它還能清除優(yōu)先級(jí)狀態(tài)。

(5) NOP         ;空操作

執(zhí)行該指令時(shí),CPU只進(jìn)行取指令、譯碼,而不進(jìn)行任何操作,故稱(chēng)為控操作。常用于產(chǎn)生一個(gè)機(jī)器周期延時(shí)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉