新聞中心

PIC單片機之I/O控制

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

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

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

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

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

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

第三種 TRISA =0x20;//不夠明了,影響到其他位,設(shè)置多個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口當前為低電平,PORTA寄存器中的RA5位為1 則說明RA5口當前為高電平。

實例程序:

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

/*

開發(fā)環(huán)境為 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口全部設(shè)置成數(shù)字口,

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

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

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

}

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

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

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

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


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


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



上一頁 1 2 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉