新聞中心

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

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

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

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

          5-1 PORTA和TRISA寄存器

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

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

          CLRF PORTA;初始化端口A

          BSF STATUS,RPO;選擇1塊

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

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

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

          5-2 PROTB和TRISB寄存器

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

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

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

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

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

          16個鍵


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

        關鍵詞: PIC單片機 16C84單片

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 苏尼特右旗| 广州市| 伊宁市| 襄垣县| 孙吴县| 白银市| 苍溪县| 洪洞县| 盐源县| 清水河县| 饶平县| 文化| 黑河市| 高安市| 新郑市| 龙门县| 临高县| 徐闻县| 洛宁县| 崇明县| 海宁市| 交口县| 和田市| 彭州市| 中山市| 勃利县| 兴海县| 夏邑县| 四平市| 绥德县| 武宁县| 玛沁县| 连城县| 德阳市| 南开区| 邹城市| 郁南县| 定边县| 崇信县| 榆社县| 深州市|