精品文档---下载后可任意编辑一、MSP430 单片机的端口概述P1~P6 每组有 8 个 I/O 口,P3,P4,P5,P6 具有 I/O,及其它片内外设功能,每组具有 4 个寄存器
P1,P2 除具有上述功能外还具有中断能力,每组具有 7 个寄存器
二、PX 端口1
P1,P2 端口(1)PxDIR 输入/输出方向寄存器(x 代表 1,2)相互独立的八位分别定义了 Px7~Px0,8 个引脚的输入输出方向
0 输入模式,只能读
1 输出模式,可读可写
8 位在 PUC 后都被复位及置为 0
Eg:P1DIR=0X0F;这里 0X0F 为 16 进制表示,对应的二进制为 00001111,即将 P1DIR 的高 4 位置 0,低 4 位置 1,也就是将 P1
4(P1 的高 4 位)设置为输入模式将 P1
0(P1 的低 4 位)设置为输出模式
(2)PxIN 输入寄存器每一位对应一个输入端口,如:第 2 位对应 Px
2,记录着对应位输入的数据,0 还是 1
输入寄存器是只读寄存器,用户不能对它写入,只能从中读数据
eg:char a;a=P1IN;将 P1 输入的数据赋给 a,也可以读取其中的一位或若干位
eg: if((P1IN&0X01)==1) a=b;这句话的意思是假如 P1IN 得最低位为 1,即 P1
0 输入的是 1,就将 b 赋给 a;其中’&’意思是按位求与运算,即将 P1IN 中的 8 位数据和 0x01 按位求与运算
(3)PxOUT 输出寄存器该寄存器为 I/O 端口的输出缓冲寄存器,每一位对应一个输出端口,如:第 2 位对应 Px
用户向对应位写入数据,则对应的端口就会输出对应的数据
eg:P1OUT=0X01;将 P1OUT 的最低位置 1,其它位置 0,即 P1