日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
51單片機的位及位操作指令介紹
51單片機的位及位操作指令介紹
 更新時間:2008-7-27 16:00:07  點擊數(shù):4
【字體: 字體顏色

位及位操作指令通過前面那些流水燈的例子,我們已經(jīng)習(xí)慣了“位”一位就是一盞燈的亮和滅,而我們學(xué)的指令卻全都是用“字節(jié)”來介紹的:字節(jié)的移動、加法、減法、邏輯運算、移位等等。用字節(jié)來處理一些數(shù)學(xué)問題,比如說:控制冰箱的溫度、電視的音量等等很直觀,可以直接用數(shù)值來表在?墒侨绻盟鼇砜刂埔恍╅_關(guān)的打開和合上,燈的亮和滅,就有些不直接了,記得我們上次課上的流水燈的例子嗎?我們知道送往P1口的數(shù)值后并不能馬上知道哪個燈亮和來滅,而是要化成二進制才知道。工業(yè)中有很多場合需要處理這類開關(guān)輸出,繼電器吸合,用字節(jié)來處理就顯示有些麻煩,所以在8031單片機中特意引入一個位處理機制。

1.       位尋址區(qū)在8031中,有一部份RAM和一部份SFR是具有位尋址功能的,也就是說這些RAM的每一個位都有自已的地址,可以直接用這個地址來對此進行操作。

字節(jié)地址位地址
2FH7FH      78H
2EH77H      70
2DH6FH      68H
2CH67H      60H
2BH5FH      58H
2AH57H      50H
29H4FH      48H
28H47H      40H
27H3FH      38H
26H37H      30H
25H2FH      28H
24H27H      20H
23H1FH      18H
22H17H      10H
21H0FH      08H
20H07H06H05H04H03H02H01H00H

圖1內(nèi)部RAM的20H-2FH這16個字節(jié),就是8031的位尋址區(qū)。看圖1。可見這里面的每一個RAM中的每個位我們都可能直接用位地址來找到它們,而不必用字節(jié)地址,然后再用邏輯指令的方式。

2.       可以位尋址的特殊功能寄存器8031中有一些SFR是可以進行位尋址的,這些SFR的特點是其字節(jié)地址均可被8整除,如A累加器,B寄存器、PSW、IP(中斷優(yōu)先級控制寄存器)、IE(中斷允許控制寄存器)、SCON(串行口控制寄存器)、TCON(定時器/計數(shù)器控制寄存器)、P0-P3(I/O端口鎖存器)。以上的一些SFR我們還不熟,等我們講解相關(guān)內(nèi)容時再作詳細解釋。

3.       位操作指令MCS-51單片機的硬件結(jié)構(gòu)中,有一個位處理器(又稱布爾處理器),它有一套位變量處理的指令集。在進行位處理時,CY(就是我們前面講的進位位)稱“位累加器”。有自已的位RAM,也就是我們剛講的內(nèi)部RAM的20H-2FH這16個字節(jié)單元即128個位單元,還有自已的位I/O空間(即P0.0…..P0.7,P1.0…….P1.7,P2.0……..P2.7,P3.0……..P3.7)。當(dāng)然在物理實體上它們與原來的以字節(jié)尋址用的RAM,及端口是完全相同的,或者說這些RAM及端口都可以有兩種用法。

1.       位傳送指令MOV  C,BITMOV  BIT,C這組指令的功能是實現(xiàn)位累加器(CY)和其它位地址之間的數(shù)據(jù)傳遞。例:MOV  P1.0,CY         ;將CY中的狀態(tài)送到P1.0引腳上去(如果是做算術(shù)運算,我們就可以通過觀察知道現(xiàn)在CY是多少啦)。         MOV P1.0,CY         ;將P1.0的狀態(tài)送給CY。

2.       位修正指令1.       位清0指令CLR      C     ;使CY=0CLR      bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0變?yōu)?2.       位置1指令      SETB C ;使CY=1SETB bit ;使指定的位地址等于1。例:SETB P1.0 ;使P.0變?yōu)?3.       位取反指令CPL      C ;使CY等于原來的相反的值,由1變?yōu)?,由0變?yōu)?。CPL      bit ;使指定的位的值等于原來相反的值,由0變?yōu)?,由1變?yōu)?。例:CPL      P1.0以我們做過的實驗為例,如果原來燈是亮的,則執(zhí)行本指令后燈滅,反之原來燈是滅的,執(zhí)行本指令后燈亮。

1.       位邏輯運算指令1.       位與指令A(yù)NL  C,bit ;CY與指定的位地址的值相與,結(jié)果送回CYANL  C,/bit ;先將指定的位地址中的值取出后取反,再和CY相與,結(jié)果送回CY,但注意,指定的位地址中的值本身并不發(fā)生變化

。例:ANL  C,/P1.0設(shè)執(zhí)行本指令前,CY=1,P1.0等于1(燈滅),則執(zhí)行完本指令后CY=0,而P1.0也是等于1?捎孟铝谐绦蝌炞C:  ORG 0000HAJMP    STARTORG 30HSTART:    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上的燈還是不亮。

  • 上一篇: 單片機C51言學(xué)習(xí)
  • 下一篇: 流復(fù)雜一點的水燈程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1