MSP430F5529入门(一)点亮LED

本文介绍了MSP430F5529单片机如何配置I/O口寄存器来点亮和闪烁LED,包括设置输出方向、控制输出状态、使用延时函数。提供了两种方法,一种是直接操作寄存器,另一种是使用库函数,适合初学者学习和电赛准备。
摘要由CSDN通过智能技术生成

MSP430F5529入门(一)点亮LED

一、I/O口相关寄存器配置
//PXDIR 输出方向
P1DIR |=BIT1;  //设置IO口的输出方向为  输出
P1DIR &=~ BIT1; //设置IO口的输出方向为  输入

//PXOUT  输出状态
P1OUT |= BIT1; //P1.1输出高电平
P1OUT &= ~BIT1; //P1.1输出低电平

//PXIN  输入状态
P1IN |= BIT1; //P1.1输出高电平
P1IN &= ~BIT1; //P1.1输出低电平

//PXREN 上拉电阻是否使能
P1REN |= BIT1; //使能上拉,I/O口作为输出状态一定上拉配置
P1REN &=~BIT1; // 默认下拉

//PXSEL 功能选择寄存器
P1SEL |=BIT1 ;//P1引脚复用第二功能
P1SEL &=~BIT1;//默认I/O口功能
二、寄存器配置闪烁LED
#include <msp430.h>  

#define CPU_F ((double)1000000)  //默认主频1MHZ
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))//重新定义延时函数
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // 停止看门狗
    P1DIR |= BIT0;                //设置P1.0口为输出模式

     while (1)
      {
         P1OUT |= BIT0;            //P1.0输出高(LED1点亮)
         delay_ms(1000);			//延时1s左右,不是很精准
         P1OUT &= ~BIT0;             //P1.0输出低(LED1熄灭)
         delay_ms(1000);
      }

}
三、库函数配置闪烁LED
#include "driverlib.h"
#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

void main(void)
{
    GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);  //设置IO口为输出
    GPIO_setAsOutputPin(GPIO_PORT_P4, GPIO_PIN7);
    while(1)
    {
        GPIO_toggleOutputOnPin (GPIO_PORT_P1, GPIO_PIN0);  // IO口反转
        GPIO_toggleOutputOnPin (GPIO_PORT_P4, GPIO_PIN7);
    }

}
四、总结

入门MSP430系列单片机第一课,为电赛准备,同大家一起学习,有问题欢迎一起交流!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值