打印

【TI FAQ】+MSP430F149 I/O口如何控制?

[复制链接]
864|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
okyouwin|  楼主 | 2014-9-22 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSP430F149 I/O口如何控制?
所谓IO口控制就是控制单片机的端口输出01,或者读出端口的状态,也就是输入和输出。
先说输出。想让MSP430单片机的端口输出01必须做的一步就是设置对应端口的方向寄存器,就是你必须得告诉单片机你想让那个端口作为输出端口。比如你想让P2端口的第2位(P2.2)作为输出端口就得这样设置:P2DIR |=  BIT2; P2DIR就是P2口的方向寄存器的地址(可以在头文件里面查到),DIR就是direction(方向)。这条语句其实就是把P2DIR这个寄存器的第2Bit位置1。当然你完全可以这样写:P2DIR |= 0x04;之所以用“|=”而不直接用“=”是只操作第二个Bit位而不影响其他Bit位。聪明的你应该已经学会设置了吧。方向设置为输出后就可以让这个端口输出01了。比如你想让P2.2输出0可以这么写:P2OUT &=  ~BIT2; 输出1可以这么写P2OUT  |=  BIT2;  当让也可以直接这么写: P2OUT &=  ~0x04;  P2OUT  |=  0x04;
再说输入。输入和输出差不多,首先也是得设置对应端口的方向寄存器,就是你必须得告诉单片机你想让那个端口作为输出端入。比如你想让P3.1作为输入端口,那你就可以这么设置:P3DIR  &= ~BIT1; 设置完端口方向寄存器就可以读这个端口的状态了,不如我们将P3.1端口的状态付给变量啊就可以这么写:a = P3IN&BIT1;
好了,现在就可以基本运用MSP430单片机端口的输入输出功能了吧!点亮一个LED灯应该不成问题了,灯点亮了那么你也就对MSP430单片机入门了。
另外说明一下端口操作的一些写法。P2OUT &=  ~BIT2  其实就是将P2OUT寄存器的第二个Bit位清零而不影响其他Bit位,P2OUT  |=  BIT2其实就是将P2OUT寄存器的第二个Bit位置1而不影响其他的Bit位。这都是C语言运算的基础,相信大家都是搞程序的,仔细想想都会明白的。这样写的关键是只操作对应的Bit位而不影响其他Bit位,如果直接操作8Bit位了那也就不必这么麻烦了,可以直接这样写:P2OUT = 0xf0

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:把每天当做世界末日、。、

56

主题

765

帖子

3

粉丝