新聞中心

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

        51單片機位及位操作指令

        作者: 時間:2013-01-05 來源:網絡 收藏

        位或指令

        ORL C,bit

        ORL C,/bit

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

        位條件轉移指令

        判CY轉移指令

        JC rel

        JNC rel

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

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

        判位變量轉移指令

        JB bit,rel

        JNB bit,rel

        第一條指令是如果指定的bit位中的值是1,則轉移,否則順序執行。同樣,我們可以這樣理解這條指令: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

        把上面的例子寫入片子,看看有什么現象………

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

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

        51單片機相關文章:51單片機教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇沅| 惠水县| 丰镇市| 宽城| 麻城市| 江永县| 花莲县| 张家港市| 邹城市| 田阳县| 禹州市| 日照市| 清河县| 建湖县| 绥德县| 华蓥市| 淮北市| 辛集市| 恩平市| 锡林郭勒盟| 阿合奇县| 长顺县| 扶沟县| 务川| 抚远县| 个旧市| 湾仔区| 彰武县| 临武县| 周至县| 商都县| 绥滨县| 沂水县| 增城市| 济源市| 长丰县| 浙江省| 灵丘县| 遵化市| 阜康市| 德保县|