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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > PIC單片機之16C84單片機介紹(二)

          PIC單片機之16C84單片機介紹(二)

          作者: 時間:2012-11-14 來源:網(wǎng)絡(luò) 收藏
          五 I/O端口

            PIC16C84具有兩個I/O端口,PORTA,PORTB。某些端口的引腳用來與另外一些功能復(fù)用。

            5-1 PORTA和TRISA寄存器

            PIC16C84的 PORTH是5位寬度的鎖存器。RA4是施密特觸發(fā)器輸入,一個集電極開路輸出。端口A的所有其它的引腳為TTL電平輸入,含CMOS輸出驅(qū)動。所有引腳有數(shù)據(jù)方向位(TRISA寄存器),可通過TRI SA來配置PORTA的引腳是輸入式輸出。設(shè)置TRISA的某位為1,則對應(yīng)的 PORTA的位為輸入,若設(shè)置為0,對應(yīng)的PORTA的某位為輸出。

            讀PORTA寄存器,讀入引腳的狀態(tài),向PORTA寫入,則寫到PORTA的鎖存器。所有的寫操作都是讀--修改--寫操作。當向端口寫時,它首先讀端口引腳,然后修改其位,再寫入端口的數(shù)據(jù)鎖存器。下面這段程序是對端口A的初始化:

            CLRF PORTA;初始化端口A

            BSF STATUS,RPO;選擇1塊

            MovLW CFH ;用于初始化數(shù)據(jù)方向的值

            MOVWF TRISA;設(shè)置RA3:0>為輸入;RA5:4>為輸出 ; 7:6>總是為0(無用)

            RA4是為TMRO的時鐘輸入復(fù)用。即如果這一位用作TMRO的時鐘輸入,則端口A就不能用RA4。

            5-2 PROTB和TRISB寄存器

            PORTB是8位寬度的雙向端口。相應(yīng)的數(shù)據(jù)由TRISB決定,方法用端口A。

            端口B的每一個引腳都具有內(nèi)部弱的上拉電阻。通過一個控制位可以打開所有上拉電阻。這可通過對OPTION7>RBPU位的置1,清0來控制。當端口引腳配置成輸出時,內(nèi)部弱上拉電阻被自動關(guān)閉。上位是 端口需要的。PORTB的4個引腳RBT~RB4具有信號改變中斷的功能,只要將這幾個引腳配置為輸入,就可能引起中斷的發(fā)生。在輸入方式下,引腳的位與最后一次讀PORTB的值進行比較,這四個引腳中有任何一個或多個不相同,產(chǎn)生RBIF中端(置INTCON0>)。這個中斷可能將 器件由SLEEP狀態(tài)下喚醒。用戶在中斷服務(wù)程序中可以用這樣的兩個方法之一來清除中斷。①通過清0RBIE(INT CON3>位)關(guān)閉中斷,② 讀端口B,則清0 RBIF位。

            不相等的條件將繼續(xù)配置1RBIF位為止。讀PORTB將結(jié)束不相等條件,并允許RBIF被清0。這一特征為軟件可配置上拉一起允許用戶非常容易的使用PORTB作為鍵盤輸入的接口。也就可以通過按鍵來喚醒系統(tǒng)。

            注意:如果正在執(zhí)行斂僮鰨琁/O引腳改變了信號,RBIF中斷標志不可能被置成1。

            建議用改變信號中斷作為按鍵喚醒操作,PORTB只不用改變信號中斷,建議不要用查詢方式。圖4-7是用端口作鍵盤接口的原理圖其R1為ESD保護而新選擇的電阻。使用此接口時,通過軟件選擇保持內(nèi)部上拉,即RB4~RB7為高,設(shè)置為輸入方式。RB0~RB3輸出。任何鍵被按下,RB4~RB7的某一根線將改變從而產(chǎn)生中斷。這個中斷可以喚醒芯片,用這種方法可以節(jié)省計時器資源。

            16個鍵


          上一頁 1 2 3 4 5 6 7 下一頁

          關(guān)鍵詞: PIC單片機 16C84單片

          評論


          相關(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); })();