1 MSP430 单片机I/O 端口控制特点 与 8031 单片机相比,MSP430I/O 端口功能要强大多,其控制方法也更为复杂
MSP430I/O 端口可以实现双向输入、输出;完成一些特殊功能如:驱动 LCD、 A/D 转换、捕获比较等;实现I/O 各种中断
MSP430 采用了传统8 位端口方式保证其兼容性,即每个I/O 端口控制8 个 I/O 引脚
为了实现对I/O 端口每一个引脚复杂控制,MSP430 中每个I/O 口都对应一组8 位控制寄存器(如图1)
寄存器中每一位对应一个I/O 引脚,实现对该引脚独立控制
寄存器功能和数目是由该I/O 口所能完成功能以及类型确定
[2] 图 1 为 MSP430 一个I/O 端口控制结构示意图
对于最基本只能完成输入、输出功能I/O 端口其控制寄存器只有3 个
其中,输入寄存器保存输入状态;输出寄存器保存输出状态,方向寄存器控制对应引脚输入、输出状态
本文中用来实现I2C 总线接口P6
7 都属于这类端口
此外,有些I/O 端口不但可以用作基本输入输出,而且可以用作其他用途,比如可以作为LCD 驱动控制引脚
这类端口控制功能寄存器实现引脚功能状态切换
再者,有一类端口不但可以完成上述两种端口功能,而且可以实现中断功能
该类端口拥有图1 中所有寄存器,中断触发方式以及中断屏蔽性都可以通过相应寄存器控制
本文中使用P2
0 就属于该类端口,利用它来接收 LM92 发出中断
通过上述控制结构,MSP430I/O 端口可以实现很丰富功能
不仅如此,其中一些I/O 口还可以与MSP430 中特殊模块相结合完成更为复杂工作
如与捕获比较模块相结合可以实现串行通信,与A/D 模块结合实现A/D 转换等
此外,MSP430 I/O 端口电器特性也十分突出,几乎所有I/O 口都有20mA 驱动能力,对于一般LED、蜂鸣器可以直接