MSP 430基础IO口

MSP 430基础IO口

ID:41131227

大小:204.51 KB

页数:5页

时间:2019-08-17

MSP 430基础IO口_第1页
MSP 430基础IO口_第2页
MSP 430基础IO口_第3页
MSP 430基础IO口_第4页
MSP 430基础IO口_第5页
资源描述:

《MSP 430基础IO口》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学习过51单片机的同学都知道,IO口的操作是所有单片机系统的基本操作,单片机作为一个核心的运算和处理器件必须能够对外部的信号做出反应,那么如何让MSP430得知外部信号变化和做出反应就是我们今天要学习的主要内容这里还是以MSP430G2553单片机为例MSP430单片机的IO口都有以下几个相关的寄存器:    1、PnDIR:输入输出方向寄存器      0-输入 1-输出    2、PnOUT:输出寄存器      0-低电平 1-高电平    3、PnIN:输入寄存器      这是一个只读寄存器用来读取外部电平状态 

2、   4、PnIFG:中断标志寄存器      0-没有中断请求 1-有中断请求      该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求      这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位      外部中断时间的时间必须>=1.5倍的MCLK时间以保证中断请求被接受5、PnIE:中断启用寄存器  0-不启用中断 1-启用中断    6、PnIES:中断触发边沿选择寄存器      0-上升沿中断 1-下降沿中断    7、PnSEL:功能选择寄存器      0-选择引脚为普通IO

3、口 1-选择引脚为外围模块功能(第二功能引脚)8、PnSEL2:功能选择寄存器2  和PnSEL共同作用选择不同功能,当选择引脚作为普通IO口使用时PnSEL和PnSEL2都应该清零(默认)    9、PnREN:上拉/下拉电阻使能寄存器      0-禁止 1-使能       OK,以上就介绍完了和IO口相关的寄存器,是不是觉得好多,头晕?不过头晕之余看看描述,还是能够理出一些思绪的。本篇我们只讨论IO作为普通输入输出口使用所以像PnSEL、PnSEL2、PnIE寄存器就直接写入0x00就好了,或者说可以默认不作修改。

4、像PnIFG和PnIES寄存器那就和我们本篇完全无关了。    让我们看看MSP430G2553这个单片机的管脚是如何分布的吧,好让大家有个IO口的存在概念: 图片太小?符号密密麻麻看不清?OK,cloud用表格给大家划分一下最简单的引脚图:VCCMSP430G2553GNDP1.0P2.6 / XINP1.1P2.7 / XOUTP1.2TESTP1.3/RSTP1.4P1.7P1.5P1.6P2.0P2.5P2.1P2.4P2.2P2.3看了这张图大家应该都明白了我们的MSP430G2553单片机只引出了P1口和P2口

5、。所以,我们就可以通过设置P1口相关寄存器和P2口相关寄存器来实现IO口的不同功能。比如,我们让P1口全部输出,P2口全部输入,而且将P2口采集的电平直接复制到P1口就可以如下编程:(为了教程简洁明了,这里只提供关键代码,详细编程请实际练习)P1DIR = 0xFF;  //设置P1口为全部输出P2DIR = 0x00;  //设置P2口为全部输入while(1){  P1OUT = P2IN;}是不是很简单?又比如我们可以对IO口的某一位或者某几位进行操作:P1DIR = 0x40;  //设置P1.6为输出其他为输入P

6、1OUT = 0x40;  //设置P1.6为高电平P2DIR = BIT5 + BIT4;  //设置P2.4和P2.5为输出其他为输入P2OUT = BIT5;  //设置P2.4为低电平 P2.5为高电平这里出现了BIT4、BIT5这些新的“符号”,让我们来看看他们到底是什么,我们打开io430G2553.h这个头文件,前面几行中我们就找到了如下的类似定义: 由这几个我们就可以知道所谓BITx其实就是使一个16位二进制数的第x位为高电平其他位置零。因为MSP430是16位单片机,这里不仅有0-7(),还有8-9,A-

7、F。比如BIT9=0x0200=0000  0010  0000  0000,BITC=0x1000=0001  0000  0000  0000。这里再说明一下这些符号都由#define宏定义出来所以并不占用空间,C编译器在编译阶段自动会将这些符号替换为相应的常量。下面我们来讨论一下关于上/下拉电阻。我们打开G2553的数据手册看一下找到了P1口的内部结构图,MSP430的IO口结构图非常复杂,这里我们只对上拉/下拉电阻做简单分析:(这里需要一定逻辑分析能力和数电知识,不懂可以直接记住结论) 首先我们找到一个电阻,用橙色

8、方框框起来的那个,很明显这个就是我们要找的上拉/下拉电阻。往回看,红色方框(右)是一个开关,这个开关只有闭合才能接入这个电阻。再沿着红色线路找到左边的红色方框(左),这是一个选择器。由于这里我们设置IO口为普通IO口状态模式,所以PxSEL2和PxSEL都是0这样,红色选择器上面的与门就输出了0,此时,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。