1469|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

MSP430F149 I/O口控制 [复制链接]

    所谓IO口控制就是控制单片机的端口输出0或1,或者读出端口的状态,也就是输入和输出。

    先说输出。想让MSP430单片机的端口输出0或1必须做的一步就是设置对应端口的方向寄存器,就是你必须得告诉单片机你想让那个端口作为输出端口。比如你想让P2端口的第2位(P2.2)作为输出端口就得这样设置:        P2DIR |=  BIT2; P2DIR就是P2口的方向寄存器的地址(可以在头文件里面查到),DIR就是direction(方向)。这条语句其实就是把P2DIR这个寄存器的第2个Bit位置1。当然你完全可以这样写:P2DIR |= 0x04;之所以用“|=”而不直接用“=”是只操作第二个Bit位而不影响其他Bit位。聪明的你应该已经学会设置了吧。方向设置为输出后就可以让这个端口输出0或1了。比如你想让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位,如果直接操作8个Bit位了那也就不必这么麻烦了,可以直接这样写:P2OUT = 0xf0。

      最后还要说明的是关于MSP430单片机的端口还有很多寄存器,很多端口都有复用功能,比如PWM输出、ADC、外部中断等

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表