新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機位及位操作指令

51單片機位及位操作指令

作者: 時間:2013-01-05 來源:網(wǎng)絡 收藏

位或指令

ORL C,bit

ORL C,/bit

這個的功能大家自行分析吧,然后對照上面的例程,編一個驗證程序,看看你相得對嗎?

位條件轉(zhuǎn)移指令

判CY轉(zhuǎn)移指令

JC rel

JNC rel

第一條指令的功能是如果CY等于1就轉(zhuǎn)移,如果不等于1就順序執(zhí)行。那么轉(zhuǎn)移到什么地方去呢?我們可以這樣理解:JC 標號,如果等于1就轉(zhuǎn)到標號處執(zhí)行。這條指令我們在上節(jié)課中已講到,不再重復。

第二條指令則和第一條指令相反,即如果CY=0就轉(zhuǎn)移,不等于0就順序執(zhí)行,當然,我們也同樣理解: JNC 標號

判位變量轉(zhuǎn)移指令

JB bit,rel

JNB bit,rel

第一條指令是如果指定的bit位中的值是1,則轉(zhuǎn)移,否則順序執(zhí)行。同樣,我們可以這樣理解這條指令:JB bit,標號

第二條指令請大家先自行分析

下面我們舉個例子說明:

ORG 0000H

LJMP START

ORG 30H

START:MOV SP,#5FH

MOV P1,#0FFH

MOV P3,#0FFH

L1: JNB P3.2,L2 ;P3.2上接有一只按鍵,它按下時,P3.2=0

JNB P3.3,L3 ;P3.3上接有一只按鍵,它按下時,P3.3=0

LJM P L1

L2: MOV P1,#00H

LJMP L1

L3: MOV P1,#0FFH

LJMP L1

END

把上面的例子寫入片子,看看有什么現(xiàn)象………

按下接在P3.2上的按鍵,P1口的燈全亮了,松開或再按,燈并不熄滅,然后按下接在P3.3上的按鍵,燈就全滅了。這像什么?這不就是工業(yè)現(xiàn)場經(jīng)常用到的“啟動”、“停止”的功能嗎?

怎么做到的呢?一開始,將0FFH送入P3口,這樣,P3的所有引線都處于高電平,然后執(zhí)行L1,如果P3.2是高電平(鍵沒有按下),則順序執(zhí)行JNB P3.3,L3語句,同樣,如果P3.3是高電平(鍵沒有按下),則順序執(zhí)行LJMP L1語句。這樣就不停地檢測P3.2、P3.3,如果有一次P3.2上的按鍵按下去了,則轉(zhuǎn)移到L2,執(zhí)行MOV P1,#00H,使燈全亮,然后又轉(zhuǎn)去L1,再次循環(huán),直到檢測到P3.3為0,則轉(zhuǎn)L3,執(zhí)行MOV P1,#0FFH,例燈全滅,再轉(zhuǎn)去L1,如此循環(huán)不已。

51單片機相關(guān)文章:51單片機教程



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉