新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)教程:?jiǎn)纹瑱C(jī)位操作指令

        51單片機(jī)教程:?jiǎn)纹瑱C(jī)位操作指令

        作者: 時(shí)間:2012-07-10 來源:網(wǎng)絡(luò) 收藏

        位取反

        CPL C ;使CY等于原來的相反的值,由1變?yōu)?,由0變?yōu)?。

        CPL bit ;使指定的位的值等于原來相反的值,由0變?yōu)?,由1變?yōu)?。

        例:CPL P1.0

        以我們做過的實(shí)驗(yàn)為例,如果原來燈是亮的,則執(zhí)行本后燈滅,反之原來燈是滅的,執(zhí)行本后燈亮。

        位邏輯運(yùn)算指令

        位與指令

        ANL C,bit ;CY與指定的位地址的值相與,結(jié)果送回CY

        ANL C,/bit ;先將指定的位地址中的值取出后取反,再和CY相與,結(jié)果送回CY,但注意,指定的位地址中的值本身并不發(fā)生變化。

        例:ANL C,/P1.0

        設(shè)執(zhí)行本指令前,CY=1,P1.0等于1(燈滅),則執(zhí)行完本指令后CY=0,而P1.0也是等于1。

        可用下列程序驗(yàn)證:

        ORG 0000H

        AJMP START

        ORG 30H

        START: MOV SP,#5FH

        MOV P1,#0FFH

        SETB C

        ANL C,/P1.0

        MOV P1.1,C ;將做完的結(jié)果送P1.1,結(jié)果應(yīng)當(dāng)是P1.1上的燈亮,而P1.0上的燈還是不亮

        位或指令

        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)



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 重庆市| 江门市| 宽甸| 改则县| 忻州市| 贺州市| 万盛区| 邓州市| 济源市| 南昌市| 泰州市| 芮城县| 青神县| 临桂县| 铅山县| 高邑县| 南部县| 慈溪市| 宜良县| 韶山市| 抚顺市| 长阳| 上虞市| 会宁县| 嵊泗县| 沁阳市| 玛曲县| 鄂托克前旗| 嘉兴市| 松滋市| 沙洋县| 丹巴县| 尼勒克县| 淮南市| 嘉兴市| 永年县| 永靖县| 墨竹工卡县| 台南市| 什邡市| 交城县|