新聞中心

        PIC單片機(jī)之I/O控制

        作者: 時(shí)間:2013-05-08 來源:網(wǎng)絡(luò) 收藏

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

        C語言的具體實(shí)現(xiàn):

        將RA5口設(shè)置成輸入的幾種方式

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

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

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

        將RA5口設(shè)置成輸出的幾種方式

        第一種 TRISAbits.TRISA5=0;

        第二種 TRISA |= ~0x20;

        第三種 TRISA =0x00;

        PORTA寄存器是數(shù)據(jù)控制寄存器。如果是輸出狀態(tài):PORTA寄存器中的RA5位為0 則RA5口輸出低電平,PORTA寄存器中的RA5位為1 則RA5口輸出高電平。

        如果是輸入狀態(tài):PORTA寄存器中的RA5位為0 則說明RA5口當(dāng)前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當(dāng)前為高電平。

        實(shí)例程序:

        如果在RA5口上連接著一個(gè)LED燈。我們將如何點(diǎn)亮他呢?

        /*

        開發(fā)環(huán)境為 MPLAB X IDE,芯片型號(hào)為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口全部設(shè)置成數(shù)字口,

        TRISAbits.TRISA5=0;//設(shè)置RA5為輸出

        PORTAbits.RA5=1;//設(shè)置輸出高電平點(diǎn)亮LED

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

        }

        頭文件:程序中只要有了#include 編譯器就會(huì)去自動(dòng)找到相應(yīng)型號(hào)的頭文件,頭文件中定義好了每個(gè)寄存器的地址,位的地址等。

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

        模擬數(shù)字口:在使用I/O口的時(shí)候要確保對應(yīng)的I/O口是被設(shè)置成數(shù)字口的。

        單片機(jī)相關(guān)文章:單片機(jī)教程


        單片機(jī)相關(guān)文章:單片機(jī)視頻教程


        單片機(jī)相關(guān)文章:單片機(jī)工作原理



        上一頁 1 2 下一頁

        關(guān)鍵詞: PIC單片機(jī) IO控制 寄存器

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 克拉玛依市| 咸丰县| 南充市| 永安市| 石门县| 廊坊市| 开远市| 屏南县| 临漳县| 焦作市| 澎湖县| 芦溪县| 枞阳县| 桐城市| 龙江县| 霍州市| 宁德市| 广丰县| 府谷县| 饶平县| 阳春市| 阜新市| 南木林县| 德惠市| 临洮县| 沂水县| 盐边县| 杨浦区| 汉沽区| 武定县| 保德县| 奇台县| 修武县| 乌海市| 拉萨市| 时尚| 馆陶县| 建宁县| 崇仁县| 平远县| 康定县|