新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機控制引腳相關教程

        51單片機控制引腳相關教程

        作者: 時間:2018-08-07 來源:網絡 收藏

        教程第1講中,我已經說過,學就是兩個內容,一個是學習控制引腳,一個是學習單片機內部寄存器的配置。這一講,來學習如何控制的引腳。

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

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

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

        P1=0x20;

        或者:

        sbit XXX=P1^5;

        XXX=1;

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

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

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

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

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

        else // 如果是低電平

        或者:

        sbit XXX=P1^5;

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

        else // 如果是低電平

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮北市| 商都县| 东海县| 巩留县| 同心县| 勃利县| 黔西县| 乌拉特前旗| 陕西省| 五原县| 五台县| 三明市| 吴江市| 利辛县| 博爱县| 沙坪坝区| 抚顺县| 荃湾区| 巴楚县| 梓潼县| 肃北| 独山县| 成都市| 阿巴嘎旗| 故城县| 蒲城县| 东兴市| 遂昌县| 沐川县| 淮北市| 文昌市| 民丰县| 莱西市| 镇雄县| 黔西| 余干县| 阜阳市| 江陵县| 巩义市| 河南省| 柘荣县|