<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)教程第3講-控制引腳

          51單片機(jī)教程第3講-控制引腳

          作者: 時(shí)間:2016-12-13 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201612/341530.htm

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

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

            P1=0x20;

            或者:

            sbit XXX=P1^5;

            XXX=1;

            第一種寫法,在20前面加0x,表示這是一個(gè)十六進(jìn)制數(shù),把這個(gè)十六進(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是一個(gè)“偽關(guān)鍵字”,并不是c語言標(biāo)準(zhǔn)的關(guān)鍵字。這個(gè)偽關(guān)鍵字是專門為單片機(jī)準(zhǔn)備的,大家不用擔(dān)心,51單片機(jī)的偽關(guān)鍵字一共沒有幾個(gè)。

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

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

            else // 如果是低電平

            或者:

            sbit XXX=P1^5;

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

            else // 如果是低電平

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



          關(guān)鍵詞: 51 引腳

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();