MSP430学习记录(一)GPIO——基于MSP430G2553launch pad

MSP430学习记录(一)GPIO——基于MSP430G2553launch pad

前言

专升本来了新学校,单片机课程使用MSP430之前有接触过51单片机和stm32,希望通过写博客来记录MSP430相关知识,方便以后查阅。

实验平台MSP430G2553launch pad

MSP430G2553launch pad

GPIO介绍

IO口是单片机实现各种功能的最终体现,无论是最简单的点灯,还是单片机其他高级操作最终体现在对IO口的控制。
数字IO口介绍

GPIO相关寄存器介绍

MSP430G2553,对IO口操作由以下几种寄存器来控制分别为:
PXIN(PXIN输入寄存器):PXIN为只读寄存器,通常用于读取IO口上的高低电平。
PXOUT(PXOUT输出寄存器):PXOUT,通常用于输出IO口上的高低电平,以及在PXREN(上下拉寄存器)启用时,用于软件方式配置上下拉电阻。
PXDIR(方向选择寄存器):PXDIR用于IO口输出输入方向选择,置1为输出模式,置0为输入模式。PXDIR上电默认为置0。
PXREN(上下拉寄存器):PXREN用于配置是否使能上下拉电阻,可以与PXDIR,PXOUT一同配置的IO口在输入模式的设置。
PxSEL ,PxSEL2(功能选择寄存器):用于与PXDIR一起完成端口复用的设置。
PXIFG(中断标志位寄存器):用于中断是否进行中,具体在中断介绍。
PXIES中断边沿选择寄存器):用于触发中断边沿选择,具体在中断介绍。
PXIE(中断使能寄存器):用于是否开启中断功能,具体在中断介绍。

/*
 * 初始化P1.0、P1.6引脚为按键(输入,可用导线模拟按键);
 * P1.2、P1.4为输出,控制LED灯。P1.0键按住,P1.2的LED灯亮,释放灭;P1.6键按住,P1.4的LED灯灭,释放亮。
 */
int main(void)
{

    WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer
    SystemClock_Config();       //1Mhz
//    P1DIR &= ~BIT3;            //配置P1.3为输入模式
//    P1DIR &= ~BIT4;            //配置P1.4为输入模式
//    P1REN |= BIT4+BIT3;        //使能上下拉电阻寄存器
//    P1OUT |= BIT4+BIT3;        //设置P1.3P1.4上拉电阻
//    P1DIR |= BIT0+BIT6;        //配置P1.O为输出模式配置P1.6为输出模式
	P1DIR &= ~BIT0;            //配置P1.0为输入模式
	P1DIR &= ~BIT6;            //配置P1.6为输入模式
	P1REN |= BIT0+BIT6;        //使能上下拉电阻寄存器
	P1OUT |= BIT0+BIT6;        //设置P1.0P1.6上拉电阻
	P1DIR |= BIT2+BIT4;        //配置P1.2为输出模式配置P1.4为输出模式
    while(1)
    {
        /*按键按住LED亮,释放灭*/
    	if((P1IN&BIT0)==0){P1OUT |= BIT2;}
    	else P1OUT &= ~BIT2;
    	/*按键按住LED灭,释放亮*/
    	if((P1IN&BIT6)==0){P1OUT &= ~BIT4;}
    	else P1OUT |= BIT4;
//        /*按键按住LED亮,释放灭*/
//    	if((P1IN&BIT3)==0){P1OUT |= BIT0;}
//    	else P1OUT &= ~BIT0;
//    	/*按键按住LED灭,释放亮*/
//    	if((P1IN&BIT4)==0){P1OUT &= ~BIT6;}
//    	else P1OUT |= BIT6;
    }
    return 0;
}

先写到这…(^ _ ^)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咕咕鸟bird

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值