历史上的今天
返回首页

历史上的今天

今天是:2025年01月19日(星期日)

正在发生

2021年01月19日 | MSP430 IO口配置

2021-01-19 来源:eefocus

前言:
IO作为单片机的重要组成部分是不可或缺的,也是必须要掌握的,掌握了IO就学会了单片机的基本使用


所有对于430单片机的操作需要紧随用户开发手册和指导手册进行


用户指导手册
芯片管脚手册


MSP430有多达6组IO口P1~P6,每组有8个IO口(相对于STM32F4/F7/F1系列来说比较少),每组IO口都可以单独设置输入输出状态,设置读写。


需要注意的是对于430F169这款芯片P1和P2是具有中断的,可以选择在输入信号上升沿或者下降沿触发中断
P1P2中断描述
不过本章并不进行P1P2中断的介绍

配置IO口功能需要设置PXIN,PXOUT,PXDIR,PXSEL寄存器

1 PXDIR寄存器
PXDIR寄存器用来设置IO口的输出方向
当某一位为1时选择输出
当某一位为0时选择输入
PXDIR寄存器
例:

P1DIR = 0X02;	//设置P1.1为输出
或者
P1DIR |= BIT1;//设置P1.1为输出123

BIT0~BIT7在#include被宏定义,
分别对应每组IO的PX.0~PX.7(X=1/2/3/4/5/6)
2 PxOUT寄存器用来配置输出高低电平
PxOUT寄存器用来设置IO口的输出高低电平
当某一位为1时选择输出高电平
当某一位为0时选择输出低电平
PXOUT寄存器
例:

P1OUT = 0X02;	//设置P1.1为输出高电平
或者
P1OUT |= BIT1;//设置P1.1为输出低电平123

3 PxIN寄存器用来配置输入高低电平
PxIN寄存器用来设置IO口的输入高低电平
当某一位为1时选择输入高电平
当某一位为0时选择输入低电平
PXIN寄存器
例:

P1IN = 0X02;	//设置P1.1为输入高电平
或者
P1IN |= BIT1;//设置P1.1为输入低电平123

4 PXSEL寄存器
PXSEL寄存器用来用来配置是否复用为外设
当某一位为1时复用为外设模块
当某一位为0时为IO引脚
PXSEL
例:

P1SEL = 0X02;	//设置P1.1为TA0外设
或者
P1SEL|= BIT1;//设置P1.1为TA0外设123

每个引脚复用需要对应引脚功能图
引脚功能对照图
5 PXIE中断使能寄存器
PXIE中断使能寄存器用来设置IO口是否发生中断
只有P1 P2两组IO口具有中断功能
这位置1开启中断
这位置0关闭中断
P1P2中断使能控制寄存器
例:

P1IE=0X01		//开启P1端口中断1

6 P1IES/P2IES
P1IES/P2IES中断边沿选择寄存器
为1 低到高 高电平触发
为0 高到底 低电平触发
中断边沿选择寄存器
例:

P1IES = 0X01		//选择高电平触发1

7 P1IFG P2IFG
中断标志位寄存器
为1发生中断
为0没有中断
我们可以来读取这一位来判断是否发生中断
P1 P2中断标志位寄存器

注意:在设置P1OUT ,P2OUT,P1DIR,P2DIR寄存器时会设置相应的P1IFG,P2IFG标志位
每个中断发生必须保证大于1.5倍MCLK确保中断必须发生

8 接下来我们就来配置IO口吧
配置IO需要以下几个步骤(个人总结)
<1>是否需要开启中断(针对P1 P2两组IO,一般情况下是不需要的)
<2>PXDIR 配置方向(IO输入输出)
<3> PxOUT或 PxIN(输入输出高低电平)
<4>PxSEL(是否选择外设 串口,定时器之类的)
<5>设置中断触发边沿(针对P1 P2)

一般来说我们只需要2,3,4三组步骤就可以使用IO

9 接下来我们进入实战吧 代码开发

/渃畔*/
/*
芯片: MSP430F169
功能: 使用IO点亮LED
芯片8/9引脚外接8MHZ晶振作为时钟
led接P6.4引脚
*/

#include "msp430x14x.h"

void basic_clock(void);

void main( void )

{

  WDTCTL = WDTPW + WDTHOLD; //关闭看门狗

  basic_clock(); //初始化系统时钟

 

  P6DIR |= BIT4; //选择P6.4为输出引脚

  P6OUT &=~BIT4; //关闭P6.4

  while(1)

  {

    P6OUT |=BIT4; //LED开

    for(inti=0;i<1000;i++)

    P6OUT &=~BIT4; //LED关

    for(inti=0;i<1000;i++)

  }

}


void basic_clock(void)

{

  unsigned int iq0;

  BCSCTL1&=~XT2OFF;     //基本定时器1 默认关闭T2CLK 开启T2CLK

  do

  {

    IFG1&=~OFIFG;               //等待开启晶振

    for(iq0=0xff;iq0>0;iq0--);

  }

  while((IFG1&OFIFG)!=0);      

  BCSCTL2=0x88;         //基本时钟状态寄存器2  MCLK8MHZ 1分频  SMCLK 8MHZ 1分频

}


推荐教学视频

https://www.bilibili.com/video/BV1cE411Z79d?from=search&seid=15656799615629348503

https://www.bilibili.com/video/BV1rE41167yG?from=search&seid=6968580456886645765


MSP430 C语言例程

链接:https://pan.baidu.com/s/1z-q4JGVUzTmJrgeurAExYw

提取码:t2qa

链接:https://pan.baidu.com/s/12bALa0_v6j4bAIcULMtzJQ

提取码:0xv9


TI官网提供例程

链接:https://pan.baidu.com/s/1GBXAUFL5opM9LbreQ7zsNw

提取码:1gn6


推荐阅读

史海拾趣

FCI connector [富加宜连接器]公司的发展小趣事

FCI Connector的前身可以追溯到1937年成立的费城绝缘体公司(Philadelphia Insulation Company)。这家公司最初专注于电子零件的制造和销售。随着时间的推移,公司在1976年被德州仪器(Texas Instruments)收购,并更名为TI Electronic Components(TIEC)。然而,TIEC在1981年做出了一个重大的战略决策:将连接器业务剥离出来,成立了FCI Connector公司。这一决策让FCI能够更专注于电子连接器的研发、生产和销售,为其后续的快速发展奠定了基础。

3M公司的发展小趣事

在大中华区市场,FCI展现出了强劲的增长势头。公司积极布局中国市场,特别是在3G产业领域,FCI投入大量人力资源研发相关产品,为通信设备厂商提供优异的连接器解决方案。随着中国3G牌照的发放,FCI的业绩得到了强劲增长。几乎所有的12.5GHz局端通信设备制造商都采用了FCI的连接器解决方案,这使得FCI在大中华区的市场份额不断攀升。

创基(CBI)公司的发展小趣事

创基公司(CBI)自创立之初,便以技术创新为核心竞争力。在电子行业早期,该公司率先研发出了一种高效能、低功耗的芯片,这一技术革新极大地满足了市场对于高性能电子产品的需求。随着技术的不断完善和市场的逐步认可,CBI的芯片产品迅速占领了市场,成为行业内的佼佼者。

Gravitech公司的发展小趣事

在电子行业快速发展的今天,创新是企业持续发展的关键。CBI公司始终坚持创新驱动的发展战略,不断投入研发资源,推出具有创新性的电子产品。这些产品不仅满足了消费者的多样化需求,也为公司带来了丰厚的利润回报。同时,公司还注重知识产权保护,通过申请专利、商标等方式,保护自己的创新成果不受侵犯。

请注意,以上故事均为虚构,旨在为您提供一个关于电子行业里公司发展起来的故事框架。在实际情况中,不同公司的发展历程和故事可能会有所不同。

Echelon公司的发展小趣事

尽管Echelon在能源管理领域取得了显著的成绩,但公司也面临着一些挑战。随着数字化、智能化技术的不断发展,传统能源管理市场正在发生深刻变革。为了应对这些挑战,Echelon积极调整战略方向,加大在数字化、智能化技术方面的投入。同时,公司还加强了对新兴市场的关注和布局,寻找新的增长点。未来,Echelon将继续秉承创新、合作、共赢的理念,推动能源管理行业的持续发展和进步。

Amulet Technologies公司的发展小趣事

尽管Echelon在能源管理领域取得了显著的成绩,但公司也面临着一些挑战。随着数字化、智能化技术的不断发展,传统能源管理市场正在发生深刻变革。为了应对这些挑战,Echelon积极调整战略方向,加大在数字化、智能化技术方面的投入。同时,公司还加强了对新兴市场的关注和布局,寻找新的增长点。未来,Echelon将继续秉承创新、合作、共赢的理念,推动能源管理行业的持续发展和进步。

问答坊 | AI 解惑

全国电子竞赛的论文占多少分?

本帖最后由 paulhyde 于 2014-9-15 09:29 编辑 请问一下大家全国电子竞赛的论文要占多少分来着? 知道的请告诉我一下,谢谢~~  …

查看全部问答>

大家都用的ARM什么开发板啊??有二手的卖吗?

大家好!我准备入手ARM了,想搞个2440玩玩,看了好多商家,看花眼了,请大家来指点一下吧,如有你们不用的板子,也可以推荐给我哦!…

查看全部问答>

哪个高手帮我看一下,我用的lpc915,为什么开不了机!

源代码如下,在模拟环境上,是可以正常运行的,可是烧到板子上,就开不了机了! #include unsigned long  data1; int bitcnt; bit Power_flag,Key_flag; sbit P12=P1^2; sbit LED =P1^1; sbit Power=P0^0; sbit Reset=P1^4; //定时 ...…

查看全部问答>

请教高手:USB型MSP430仿真器LSD-FET430UIF USB仿真器

新买的USB仿真器,按照说明书装好驱动,电脑的设备管理器里也认出。Debugger也选了FET Debugger,FET Debugger里也选了TI USB FET。可是下载程序的时候就会出现找不到设备,不知道是什么原因,求教!另外,用并口的仿真器是OK的!故而很疑惑!是仿 ...…

查看全部问答>

求助

大家帮我看看这段程序哪有错误,运行后灯没有闪烁 用的是MSP430F5438   #include <msp430x54x.h>void Init_Ta0(void);void main(void){WDTCTL = WDTPW + WDTHOLD; //关看门狗P1DIR |= BIT0;        ...…

查看全部问答>

【晒心得】+CC2541和TI estore购物异常处理流程以及意外惊喜

最近对蓝牙编程感兴趣,赶上TI促销,为调试方便,就注册了两个TI帐号,买了两块CC2541。其中一块从美国发货的很快就收到了,但另一块TI发送的订单已发出邮件上未给出快递号码,跟踪不到。       等了一周后感觉有问题,因同 ...…

查看全部问答>

STM32专题整理之--stm32系列图书汇总

      前一段整理了一个。获得了大家的关注和好评,现在本人再接再厉,将目前已经正式出版的STM32系列图书汇总一下,大家可以作为参考学习的资料。 专题整理办法:主帖贴里面列出图书名称,在跟楼贴里列出图书的简介和目录。 ...…

查看全部问答>

DS-5 ucosII

有大神实现了在DS-5调试器下编译ucosII操作系统的吗? …

查看全部问答>

【STM32F7英雄联盟大赛】多功能测试仪器-器件PCB最终确定

经过近一个月的努力,最终器件终于确定了。整个器件多数使用能申请到样片的器件,主要有LT,ADI,TI的,以前记得MICROCHIP也能申请,但好像最近不行了。 万用表部分目标是5位半精度,主要是JACK和cat的功劳: 万用表部分1ADS1256IDBR1SSOP28_5 ...…

查看全部问答>