msp430f149學(xué)習(xí)之IO口的初始化
一、IO口
數(shù)字輸入/輸出端口有下列特性:□ 每個(gè)輸入/輸出位都可以獨(dú)立編程。□ 允許任意組合輸入、輸出。□ P1 和 P2 所有 8 個(gè)位都可以分別設(shè)置為中斷?!?可以獨(dú)立操作輸入和輸出數(shù)據(jù)寄存器。□ 可以分別設(shè)置上拉或下拉電阻。
在介紹這四個(gè)I/O口時(shí)提到了一個(gè)“上拉電阻”那么上拉電阻又是一個(gè)什么東東呢?他起什么作用呢?都說了是電阻那當(dāng)然就是一個(gè)電阻啦,當(dāng)作為輸入時(shí),上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口如果作為輸入時(shí),處在高阻抗?fàn)顟B(tài),只有外接一個(gè)上拉電阻才能有效。
(以下x為1表示P1,為2表示P2,如此類推)
1.選擇引腳功能 -- PxSEL,PxSEL2
PxSEL2 PxSEL 管腳功能0 0 用作IO口0 1 用作第一功能引腳1 0 保留,參考具體型號(hào)的手冊(cè)1 1 用作第二功能引腳
設(shè)置引腳用作外設(shè)功能時(shí),芯片不會(huì)自動(dòng)設(shè)置該引腳輸入輸出方向,要根據(jù)該功能,用戶自己設(shè)置方向寄存器
PxDIR。
2.選擇引腳輸入/輸出方向 -- PxDIR
Bit = 0: 輸入Bit = 1: 輸出
3.選擇引腳是否使能上下拉電阻 -- PxREN
Bit = 0: 不使能Bit = 1: 使能
4.輸出寄存器 -- PxOUT
Bit = 0: 輸出低電平或者下拉Bit = 1: 輸出高電平或者上拉
5.管腳狀態(tài)寄存器 -- PxIN
Bit = 0: 管腳當(dāng)前為低Bit = 1: 管腳當(dāng)前為高
二、舉例
void LED_IO_set(void)
{
P2SEL=0;
P2DIR = 0x0f; // P2端口設(shè)置為輸出
P2OUT=0x0e;//給初始化值
}
解析:
1、作為普通的IO口使用
2、P2.0~p2.3設(shè)置為輸出,P2.4~p2.7設(shè)置為輸入;
3、P2.0輸出低電平;