MSP430 G2553 LaunchPad设置GPIO

发布者:沈阳阿荣最新更新时间:2022-04-25 来源: eefocus关键字:MSP430  G2553  LaunchPad 手机看文章 扫描二维码
随时随地手机看文章

一. 背景知识:逻辑运算符的使用

当程序初始化时,对于复位状态有不确定性的寄存器(如PxOUT),建议采用直接赋值;其他情况下最好使用逻辑运算符修改寄存器。

直接赋值


REGISTER = 0b11110000;

REGISTER = 0xF0;

“开启”某位(置1),保持其他位不变


REGISTER |= BITx; //turn bit x on

REGISTER |= BITx + BITy; //both on

“关闭”某位(置0),保持其他位不变


REGISTER &= ~BITx; //turn bit x off

REGISTER &= ~(BITx +BITy); //both off

“翻转”某位(取反),保持其他位不变


REGISTER ^= BITx; //toggle bit x

REGISTER ^= BITx + BITy; //toggle both

二. GPIO对应的寄存器

如下表所示。

  Register                      Short Form        Register Type        Initial State            
  Input  PxIN  Read only  -
  Output  PxOUT  Read/write  Unchanged
  Direction  PxDIR  Read/write  Reset with PUC

  Pullup/Pulldown

  Resistor Enable

  PxREN  Read/write  Reset with PUC

PxDIR:设置IO管脚的方向

- Bit = 0:输入(默认)

- Bit = 1:输出

PxREN:使能管脚内部上拉/下拉,典型上拉/下拉电阻阻值35kOhm

- Bit=0:禁用上/下拉电阻功能(默认)

- Bit=1:使能上/下拉电阻功能

PxIN:反映管脚上的电平高低

- Bit=0:输入为低电平

- Bit=1:输入为高电平

PxOUT:

- 当禁用上/下拉电阻时,功能为设置输出电平高低

- - Bit=0:输出高电平

- - Bit=1:输出低电平

- 当使能上/下拉电阻时,功能为选择上拉还是下拉

- - Bit=0:下拉

- - Bit=1:上拉

特别留意,P2.6、P2.7两个IO口上电默认功能选择为晶体XIN和XOUT,如下图。若要使用P2.6、P2.7的IO功能,需要将P2SEL.6和P2SEL.7置零。

 

三. 初始化程序示例

例1:设置P1.0为输出


 1 #include "io430.h"

 2 

 3 void main(void)

 4 {

 5   // Stop watchdog timer to prevent time out reset

 6     WDTCTL = WDTPW + WDTHOLD;

 7 

 8     P1OUT = 0; //initialize the output state before changing the pin to an output

 9     P1DIR |= BIT0; //P1.0 output 0

10 

11     while(1)

12     {

13         //code...

14     }

15 

16 }


例2:设置P1.3为上拉输入


 1 #include "io430.h"

 2 

 3 #define PUSH2 BIT3

 4 

 5 void main( void )

 6 {

 7     // Stop watchdog timer to prevent time out reset

 8     WDTCTL = WDTPW + WDTHOLD;

 9 

10     P1OUT = 0;

11     P1OUT |= PUSH2; //initialize the pullup state

12     P1REN |= PUSH2; //enable internal pullup

13     P1DIR &= ~PUSH2; //set P1.3 to input mode (default)

14     //state on P1.3: (P1IN & PUSH2) == PUSH2

15 

16     while(1)

17     {

18         //code...

19     }

20   

21 }

参考资料

MSP430x2xx Family User's Guide
MSP430G2553 datasheet


关键字:MSP430  G2553  LaunchPad 引用地址:MSP430 G2553 LaunchPad设置GPIO

上一篇:MSP430 G2553 LaunchPad GPIO中断
下一篇:关于MSP430的RST引脚的处理方式

推荐阅读最新更新时间:2024-11-12 11:52

MSP430教程10:MSP430单片机WDT看门狗定时器
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看门狗清零指令WDTCTL=WDTPW+WDTCNTCL,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。 一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在上电和系统复位内容全部清零 1.记数单元WDTCNT:WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 2.控制寄存器WDTCTL:WDTCTL由两部分组成,高8位用作口令,即5AH(头文
[单片机]
远程心电监测系统的研究与设计
作为心脏病临床检查的常规方法,心电图具有无创伤、操作简单、出图快等特点,对于各种心律失常和传导障碍的诊断具有决定性作用。随着计算机网络、通信等相关技术的迅速发展,心电图检测技术也逐渐应用到远程医疗领域中来,使得医院为心脏病患者的远程保健服务成为可能。截至目前,国内已经研发出了通过固定电话传输心电信号的心电传输系统,由于干扰大、成本较高,并未应用于临床。为此,本文将研究设计一种低成本、低功耗、携带方便的无线远程心电监测系统,从而为心脏病患者提供方便的远程心电监测服务功能。 1 系统概述 远程心电监测系统由心电检测终端、无线通信网络、医院监护中心组成,结构框图如图1所示。 心电检测终端用来采集和检测患者的心电
[单片机]
远程心电监测系统的研究与设计
msp430F5438A 的ADC 研究
由于项目中需要使用到ADC模块,那么就有必要对ADC模块进行研究了。 这是msp430F5428A datasheet首页上面对于ADC的描述: 12-Bit Analog-to-Digital Converter (ADC) – Internal Reference – Sample-and-Hold – Autoscan Feature – 14 External Channels, 2 Internal Channels ADC12_A (Link to User's Guide) The ADC12_A module supports fast 12-bit analog-to-digital conversio
[单片机]
<font color='red'>msp430</font>F5438A 的ADC 研究
MSP430F14x的内部结构(1)
简介: 本章主要讲解MSP430F14x的内部结构,主要包括以下内容: 1、MSP430F14x的系统时钟 2、MSP430F14X内部结构概述 3、MSP430F14x的CPU 4、MSP430F14x的硬件乘法器 1,MSP430F14x的系统时钟 我们先来看一看MSP430F14x的中文结构图。MSP430单片机采用的是冯·诺依曼结构,主要包含16位的RSIC CPU、存储器、外围模块、灵活的时钟系统以及连接他们的数据总线和地址总线。 MSP430F14x结构图 MSP430F14x单片机的硬件结构特点是: ·超低功耗结构,能够延长电池生存周期。RAM保持方式下电流为0.1uA;等待方式时,电流为0
[单片机]
<font color='red'>MSP430</font>F14x的内部结构(1)
MSP430系列串口波特率计算方法
MSP430系列,usart模块的波特率值设定是通过以下三个参数决定的:UxBR0,UxBR1,UxMCTL 波特率=BRCLK/N BRCLK:时钟源,可以通过寄存器设定何为时钟源; N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分 举个实例:波特率=2400,时钟源=32.768kHz N=32768/2400=13.65 很明显:UxBR1+UxBR0=13,即UxBR1=0,UxBR0=13,主要是小数部分对于初学者不是很好理解; 首先把小数部分0.65×8,即5.2,取整后为5。这个5的意思就是在UxMCTL中的8位里要有5个1,剩下
[单片机]
MSP430F5438单片机时钟设置实验程序
//================================================================// // // // 文件: MAIN.C // // 说明: MSP430F5438开发板单片机时钟设置实验程序 // // 设置单片机时钟为外部高频晶振或外部低频晶振+DCO, // // 并将辅助时钟、主时钟和子主时钟通过IO引脚输出, // // 可通过插针将信号引出并用示波器观察。 // // // // MSP430F5438 // // ----------------- // // /|| XIN|- // // | | | XTAL1 = 32.768k // // --|RST
[单片机]
MSP430单片机的BSL特性
BSL的意义: 1、不用仿真器、编程器,就可以实现内存修改(可以应用为参数修改),程序下载。 能加速程序成熟后的批量生产。方便在板修改程序参数。 2、JATG熔丝烧断后,访问内存的唯一方法。 MSP430启动加载程序(Bootstrap Loader,以下简称BSL)允许用户通过标准的RS-232串行口访问CPU内存,包括Flash和Ram,这项功能为嵌入式应用提供了方便的维护方式。 要使MSP430单片机进入BSL,需要给特定引脚上一个特定时序,接到这个特定时序后,CPU程序指针(PC)指向内存中的0C00H地址处,这是一段1K大小的ROM区(0C00H-1000H),BSL就在这里。 通过BSL对CPU的操
[单片机]
MSP430G2553时钟系统配置
在MSP430单片机中,一个时钟周期 = MCLK晶振的倒数。如果MCLK是8MHz,则一个时钟周期为1/8us。 一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作。 一个指令周期 = 1~6个机器周期,具体根据具体指令而定。 另外,指令长度只是一个存储单位,与时间没有必然的关系。 MSP430G2553单片机的时钟模块主要包括: 三个时钟:辅助时钟ACLK 、主时钟MCLK 、子系统时钟SMCLK 三个时钟源:内部低频时钟源LFXT1 、内部数字控制RC振荡器DCO、外部低频振荡器(需要焊上晶振) 对于时钟系统的配置,一共用到四个寄存器:DCOCTL-DCO控制寄存器、BC
[单片机]
<font color='red'>MSP430</font>G2553时钟系统配置
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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