1、P口端口寄存器:
(1)、PxDIR 输入/输出方向寄存器
(0:输入模式 1:输出模式)
(2)、PxIN 输入寄存器
输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道I/O口的输入信号。
(3)、PxOUT 输出寄存器
寄存器内的内容不会受引脚方向改变的影响。
(4)、PxIFG 中断标志寄存器
(0:没有中断请求 1:有中断请求)
该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;
这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;
外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受;
(5)、PxIES 中断触发沿选择寄存器
(0:上升沿中断 1:下降沿中断)
(6)、PxSEL 功能选择寄存器
(0:选择引脚为I/O端口 1:选择引脚为外围模块功能)
(7)、PxREN 上拉/下拉电阻使能寄存器
(0:禁止 1:使能)
(1)、所有P口都可作为通用IO口使用
(2)、所有P口都可进行字节操作和位操作
按字节操作:
例 : 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口外部输入值