新聞中心

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

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

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

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

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

第一種 TRISAbits.TRISA5=1; //簡(jiǎn)單明了,只影響一個(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 則說(shuō)明RA5口當(dāng)前為低電平,PORTA寄存器中的RA5位為1 則說(shuō)明RA5口當(dāng)前為高電平。

實(shí)例程序:

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

/*

開(kāi)發(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);//程序在此無(wú)限循環(huán)

}

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

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

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

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


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


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



上一頁(yè) 1 2 下一頁(yè)

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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉