• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機控制引腳相關(guān)教程

    51單片機控制引腳相關(guān)教程

    作者: 時間:2018-08-07 來源:網(wǎng)絡(luò) 收藏

    教程第1講中,我已經(jīng)說過,學(xué)就是兩個內(nèi)容,一個是學(xué)習(xí)控制引腳,一個是學(xué)習(xí)單片機內(nèi)部寄存器的配置。這一講,來學(xué)習(xí)如何控制的引腳。

    本文引用地址:http://www.czjhyjcfj.com/article/201808/385687.htm

    控制單片機的引腳,分為兩個知識點,一個是怎么讓引腳單片機輸出高低電平,一個是怎么檢測接入到引腳上的電平是高還是低。我們有時候會聽到這樣的話: “此單片機有幾個IO口?”這里說的IO口,就是輸入(input)輸出(output)接口。一般情況下,單片機的引腳當(dāng)中,除了電源引腳和晶振引腳,其它的都是IO口。當(dāng)我們控制單片機的引腳高低時,我們把引腳當(dāng)做輸出引腳;當(dāng)我們需要檢測連接到單片機引腳上的電平時,我們把引腳當(dāng)做輸入引腳使用。

    使引腳P1.5輸出高電平,可以這樣寫:

    P1=0x20;

    或者:

    sbit XXX=P1^5;

    XXX=1;

    第一種寫法,在20前面加0x,表示這是一個十六進(jìn)制數(shù),把這個十六進(jìn)制數(shù)0x20寫成二進(jìn)制數(shù)就是0010 0000,從左到右代表了P1.7~P1.0,我們發(fā)現(xiàn),在P1.5的位置為1。

    第二種寫法,把P1.5命名為XXX,再給XXX寫1,同樣可以使得P1.5=1,讓P1.5輸出高電平。

    第一種寫法直接操作P1寄存器,第二種寫法叫做“位操作”。sbit是一個“偽關(guān)鍵字”,并不是c語言標(biāo)準(zhǔn)的關(guān)鍵字。這個偽關(guān)鍵字是專門為準(zhǔn)備的,大家不用擔(dān)心,51單片機的偽關(guān)鍵字一共沒有幾個。

    檢測P1.5引腳的電平高低,可以這樣寫:

    if((P10x20)==0x20) // 如果是高電平

    else // 如果是低電平

    或者:

    sbit XXX=P1^5;

    if(XXX==1) // 如果是高電平

    else // 如果是低電平

    第一種寫法依然是使用觀察P1寄存器。第二種寫法依然是使用“位操作”。



    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 黄平县| 大名县| 府谷县| 新巴尔虎左旗| 武胜县| 鸡东县| 延寿县| 洪雅县| 潼南县| 太仓市| 北票市| 会理县| 凤阳县| 读书| 疏附县| 南澳县| 桂阳县| 镇沅| 喀喇| 安陆市| 呼图壁县| 双桥区| 开江县| 诸城市| 汝城县| 隆安县| 綦江县| 砀山县| 高邑县| 台南市| 南宁市| 福鼎市| 靖远县| 牙克石市| 柳州市| 阳高县| 赤水市| 龙门县| 贡山| 祁连县| 柳河县|