1、P口端口寄存器:
(1)、PxDIR 輸入/輸出方向寄存器
(0:輸入模式 1:輸出模式)
(2)、PxIN 輸入寄存器
輸入寄存器是只讀寄存器,用戶不能對其寫入,只能通過讀取該寄存器的內(nèi)容知道I/O口的輸入信號。
(3)、PxOUT 輸出寄存器
寄存器內(nèi)的內(nèi)容不會受引腳方向改變的影響。
(4)、PxIFG 中斷標(biāo)志寄存器
(0:沒有中斷請求 1:有中斷請求)
該寄存器有8個標(biāo)志位,對應(yīng)相應(yīng)的引腳是否有待處理的中斷請求;
這8個中斷標(biāo)志共用一個中斷向量,中斷標(biāo)志不會自動復(fù)位,必須軟件復(fù)位;
外部中斷事件的時間必須>=1.5倍的MCLK的時間,以保證中斷請求被接受;
(5)、PxIES 中斷觸發(fā)沿選擇寄存器
(0:上升沿中斷 1:下降沿中斷)
(6)、PxSEL 功能選擇寄存器
(0:選擇引腳為I/O端口 1:選擇引腳為外圍模塊功能)
(7)、PxREN 上拉/下拉電阻使能寄存器
(0:禁止 1:使能)
(1)、所有P口都可作為通用IO口使用
(2)、所有P口都可進行字節(jié)操作和位操作
按字節(jié)操作:
例 : P1DIR=0xff; //將P1口作為輸出口
PIOUT=0x20; // P1口輸出0x20
P1DIR=0x00; //將P1口作為輸入口
data=P1IN //讀取P1口外部輸入值
按位操作:
例: P1DIR=BIT0; //將P1.0作為輸出口
P1OUT|=BIT0; //P1.0輸出1
P1OUT&=~BIT0; //P1.0輸出0
P1DIR&=~BIT0 //將P1.0口作為輸入
data=P1IN&BIT0 //讀取P1.0口外部輸入值