MSP430 IO口配置

发布者:星光曲折最新更新时间:2021-01-19 来源: eefocus关键字:MSP430  IO口  配置 手机看文章 扫描二维码
随时随地手机看文章

前言:
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


关键字:MSP430  IO口  配置 引用地址:MSP430 IO口配置

上一篇:MSP430MSP430F5438\MSP430F5438A 操作大内存(Ram),程序跑飞F5438\MSP430F5
下一篇:MSP430 基本时钟配置

推荐阅读最新更新时间:2024-11-09 11:22

STM32如何配置ADC?
1、 系统时钟定义: RCC_Configuration(); 包涵: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMAx, ENABLE); // Enable DMA clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADCx , ENABLE); // Enable ADC1 and GPIOC clock 2、 中断源配置: NVIC_Configuration(); 举例: { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NV
[单片机]
意法半导体车规双列直插碳化硅功率模块提供多功能封装配置
2023 年 10 月 30 日, 中国 – 意法半导体发布了 ACEPACK1 DMT-32系列车规碳化硅(SiC)功率模块,新系列产品采用便捷的 32 引脚双列直插通孔塑料封装 ,目标应用是车载充电机(OBC)、 DC/DC直流变压器、油液泵、空调等汽车系统,产品优点包括高功率密度、设计高度紧凑和装配简易等,提供四管全桥、三相六管全桥和图腾柱三种封装配置,增强了系统设计灵活性。 新模块内置1200V SiC功率开关管,意法半导体第二代和第三代 SiC MOSFET先进技术确保碳化硅开关管具有很低的导通电阻R DS(on) 。模块具有高效的开关性能,将温度影响降至最低,确保功率转换系统具有很高的能效和可靠性。
[电源管理]
意法半导体车规双列直插碳化硅功率模块提供多功能封装<font color='red'>配置</font>
西门子PLC之S7-1500冗余配置实践
【A01】前言 西门子推出了1500后,支持了冗余配置,主要两款CPU,1513R和1515R。 【A02】 配置步骤 1. 选择CPU 1515R-2 PN,6ES7 515-2RM00-0AB0 选择完成后就会出现2个CPU。 点击PLC-1的PROFINET 接口_1 建立接口通讯,设置IP为192.168.0.10 同时设置切换通讯系统的IP地址为192.168.0.11 点击PLC-2的PROFINET 接口_1 ,切换通讯系统的IP自动设置与PLC-1一致。 2、添加IO模块 目前支持的IO接口模块有: ET200M和ET200SP 我们选用ET200SP的IM 155-6 PN/3 HF (
[嵌入式]
西门子PLC之S7-1500冗余<font color='red'>配置</font>实践
西门子PLC的工业智能网关如何配置
随着工业自动化控制设备的发展,西门子PLC数据采集联网并进行远程监控、远程编程调试的需求越来越多。作为各种工业设备的核心控制器PLC会随着销售前往全国各省市,如果要对各种异地PLC进行编程调试,往往需要派人前往现场进行维护,成本高效率也低。通过PLC远程维护则可以有效提高工作效率并节省食宿成本。 将西门子PLC接入物通博联工业智能网关,确认西门子PLC与网关的接线正确,然后在本地或云平台配置网关的采集参数,以下介绍本地配置操作。 1、进入物通博联的工业智能网关的WEB界面,编辑网关信息(主要是填入网关序列号) 2、配置采集西门子PLCS数据变量模板表,添加设备信息(定义关联的网关,定义关联的采集西门子PLC数据变量模板,定
[嵌入式]
西门子PLC的工业智能网关如何<font color='red'>配置</font>?
STM32F0xx_ RTC实时时钟配置详细过程
Ⅰ、概述 今天总结RTC(Real Time Clock)实时时钟相关的知识,顺带将BKP简单总结一下。 STM32的RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和时间维持不变。 STM32F0的RTC模块和F1的RTC模块最大区别在于F0模块中有“DATE”和“TIME”寄存器,也就是可以直接读取寄存器里面的值,而F1是秒计数寄存器的值,需要通过相关算法下才能得到时间的值。 本文提供的软件工程里面还包含一个BKP模块,主要是用于掉电保持RTC数值(第一次上电初始化RTC,后面就不用初始化)。例程是在第一次初始化RTC值为:2016年6月5日 周七 12
[单片机]
STM32F0xx_ RTC实时时钟<font color='red'>配置</font>详细过程
[单片机框架][bsp层][cx32l003][bsp_led] LED配置和使用
LED是一种半导体器件,大家其实对LED并不陌生,各种电器的指示灯、手机键盘灯、LED液晶屏的背光、高亮LED手电筒等,都是通过LED发光的。LED有两种主要用途,一种是作为指示灯;另一种是照明。照明用的LED一般都是大功率LED,需要较大的电压电流才能正常工作。而这里我们要用到的则是用作指示灯的小功率LED。常见的小功率LED,在它的正负极加上3V左右的电压,就会发光,正常发光的时候,电流大概是2~5mA。这里要注意,LED有正负极之分,接反了不会发光。另外,电压也不可太高,那样会烧坏LED。 /*****************************************************************
[单片机]
马克隆测试仪的技术特点及主要配置
主要用途:马克隆测试仪/棉纤维马克隆仪适用于棉花种植、棉花收购、棉纺棉花检验,主要利用气流法测试棉纤维的马克隆值。 技术特点: 1.使用高精度,大量程电子流量传感器,马克隆值测量范围广,达到2.7~7.0,几乎可以测试市面上所有棉花; 2.一键测试,安装好试样,只需按一个键,就可以快速测试,仪器带USB接口,可以用附带软件对测试结果统计,分析,打印标准的测试报告,也可以把测试报告保存为EXCEL格式。 3.校准方便,利用标准棉花,快速进行校准,通过校准后,在非标准实验室环境也可以准确测试马克隆值。 主要配置: 1.主机一台,电源线一条; 2.LABTest分析软件; 3.国标标准棉花; 4.剪切取样刀:钨钢,宽度0.7mm
[测试测量]
关于MSP430的RST引脚的处理方式
前些天给MSP430G2553的小片子画了个TSSOP的转接板,方便用杜邦线连模块用。 画板子的时候把所有引脚都用2.54的排针引出,想着不会出什么问题,因为N年前在用F5438的时候就是直接用LQFP100的转接板把所有引脚引出来,插上3.3V电源片子就能跑了(对于当时只用过51的我还是很震撼的,毕竟51要跑起来外面要接一大堆东西)。 但是把这个G2553焊上去,连launchpad下程序后,发现程序怎么都不运行,还以为是买到便宜的假片子了。 量了一圈,3.3V电源正常,RST引脚2.5V!这种半高不高的电平就是典型的悬空IO的现象。 郁闷了,之前用5438没啥问题,后来的stm8 到stm32 到什么飞思卡尔的
[单片机]
关于<font color='red'>MSP430</font>的RST引脚的处理方式
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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