新聞中心

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

        51單片機(jī)位及位操作指令

        作者: 時(shí)間:2013-01-05 來(lái)源:網(wǎng)絡(luò) 收藏

        位或指令

        ORL C,bit

        ORL C,/bit

        這個(gè)的功能大家自行分析吧,然后對(duì)照上面的例程,編一個(gè)驗(yàn)證程序,看看你相得對(duì)嗎?

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

        判CY轉(zhuǎn)移指令

        JC rel

        JNC rel

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

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

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

        JB bit,rel

        JNB bit,rel

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

        第二條指令請(qǐng)大家先自行分析

        下面我們舉個(gè)例子說(shuō)明:

        ORG 0000H

        LJMP START

        ORG 30H

        START:MOV SP,#5FH

        MOV P1,#0FFH

        MOV P3,#0FFH

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

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

        LJM P L1

        L2: MOV P1,#00H

        LJMP L1

        L3: MOV P1,#0FFH

        LJMP L1

        END

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

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

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

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



        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 玉龙| 南安市| 县级市| 伊金霍洛旗| 安远县| 读书| 安义县| 嵩明县| 隆尧县| 左云县| 保靖县| 来宾市| 普格县| 璧山县| 铜川市| 南川市| 资中县| 万盛区| 开封县| 闻喜县| 雅安市| 盐源县| 会昌县| 宿州市| 黔西| 禹州市| 乌审旗| 嵊州市| 科尔| 项城市| 平乡县| 商河县| 扶绥县| 东辽县| 来安县| 蕲春县| 常德市| 铜梁县| 丹巴县| 汨罗市| 西充县|