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

    EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機之I/O控制

    PIC單片機之I/O控制

    作者: 時間:2013-05-08 來源:網絡 收藏

    TRISA是方向控制。就是控制I/O輸入還是輸出。比如 TRISA中的TRISA5位 設置成為0 RA5口是輸出 設置成為1 RA5口為是輸入。

    C語言的具體實現:

    將RA5口設置成輸入的幾種方式

    第一種 TRISAbits.TRISA5=1; //簡單明了,只影響一個位 設置單個I/O比較方便

    第二種 TRISA = 0x20;//不夠明了,只影響一個位

    第三種 TRISA =0x20;//不夠明了,影響到其他位,設置多個I/O用比較方便

    將RA5口設置成輸出的幾種方式

    第一種 TRISAbits.TRISA5=0;

    第二種 TRISA |= ~0x20;

    第三種 TRISA =0x00;

    PORTA寄存器是數據控制寄存器。如果是輸出狀態:PORTA寄存器中的RA5位為0 則RA5口輸出低電平,PORTA寄存器中的RA5位為1 則RA5口輸出高電平。

    如果是輸入狀態:PORTA寄存器中的RA5位為0 則說明RA5口當前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當前為高電平。

    實例程序:

    如果在RA5口上連接著一個LED燈。我們將如何點亮他呢?

    /*

    開發環境為 MPLAB X IDE,芯片型號為PIC16LF1823

    */

    #include //頭文件

    __CONFIG(FOSC_INTOSCWDTE_OFFPWRTE_ONMCLRE_OFFCP_ONCPD_

    OFFBOREN_ONCLKOUTEN_OFFIESO_ONFCMEN_ON);

    __CONFIG(PLLEN_OFFLVP_OFF) ;//配置位

    int main(int argc, char** argv) {

    ANSELA=0;//將RA口全部設置成數字口,

    TRISAbits.TRISA5=0;//設置RA5為輸出

    PORTAbits.RA5=1;//設置輸出高電平點亮LED

    while(1);//程序在此無限循環

    }

    頭文件:程序中只要有了#include 編譯器就會去自動找到相應型號的頭文件,頭文件中定義好了每個寄存器的地址,位的地址等。

    配置位:這是十分重要即使程序沒有任何錯誤 配置位沒配置好程序一樣不能用。具體如何配置可以看( 基于MPLAB X IDE配置位設置講解 )。

    模擬數字口:在使用I/O口的時候要確保對應的I/O口是被設置成數字口的。

    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理



    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 昭通市| 崇阳县| 桐柏县| 郴州市| 景洪市| 治县。| 辽源市| 鄂州市| 新安县| 会东县| 吉隆县| 兴隆县| 黄石市| 临汾市| 九龙坡区| 堆龙德庆县| 镇平县| 平阳县| 南皮县| 滨州市| 海南省| 盐源县| 贡觉县| 嘉峪关市| 浦东新区| 扎兰屯市| 介休市| 巴林左旗| 离岛区| 肇庆市| 鄂伦春自治旗| 嫩江县| 尼勒克县| 遵义市| 梧州市| 石楼县| 宜川县| 定州市| 北京市| 克什克腾旗| 资中县|