今天只是想点亮一个led灯,因为没有视频,搞得很多的东西都是自己摸,下午本来讲和咨询店家,TMD说好给一点技术支持,结果一点也不给,我真想草泥马了,其实代码早就写出来了,只是哥哥不知道这款开发板还有接一下外部的电源,这个是我始料未及的,导致最后回到最初的起点,一点一点的看电路图,这里我把今天的程序小结一下!!!

 

点亮一个led灯

首先看电路图:

MSP430F5438点亮led

这个电路图是关键,理解,首先必须要打开VCC,这个是我今天犯错的最主要的原因,因为我开始以为开发板上的电源是自动接上的,导致程序调试了一上午,没有成功

之后看VCC,也就是标号1,搜索一下VCC的引脚

 

MSP430F5438点亮led

 也就是要控制P5.4口输出一个高电平

代码:

put_P5DIR_BIT4(1);//引脚为输出引脚

put_P5_OUT_BIT4(1);//打开外部电源

接下来看标号2

标号2是一个led_PWR,注意这里是一个控制输出一个0,就可以导通三极管,

在电路图上搜索一下led_PWR,这里出现如图管脚

MSP430F5438点亮led

这里显示的是LED PWR是第P7.3管脚,即P7.3只需要输出一个低信号就可以了

示例代码:

put_P7DIR_BIT3(1);//引脚为输出引脚

put_P7_OUT_BIT3(0);//导通三极管

 

之后在电路图中搜索DIG1,由电路图可以知道,DIG1必须是一个低电平

 

MSP430F5438点亮led

这里可以看到DIG1控制引脚是P9.0,所以,点亮一个数码管现在很容易了

put_P9DIR_BIT0(1);//设置端口为输出端口

put_P9OUT_BIT0(0);//导通二级管

 

示例代码:

#include<msp430x54x.h>
#include"for_5438_wjx.c"//头文件

void  main( void )
{
  // Stop watchdog timer to prevent time out reset
  
  
  WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
   
  put_P5DIR_BIT4(1);      // 主电源 P5.4
  put_P5OUT_BIT4(1);      //打开外设电源
  
  put_P9SEL_BIT0(0);//设置P9.0为普通I/O
  put_P9DIR_BIT0(1);//设置P9.0为输出
  
  put_P7SEL_BIT3(0);//开发板上7.3口是lcd的电源,设置P7.3为普通I/O
  put_P7DIR_BIT3(1);//设置P7.3为输出
  
  put_P7OUT_BIT3(0);//给lcd供电
  put_P9OUT_BIT0(0);//点亮led数码管
      
  while(1);
  
  
  
}
View Code

相关文章:

  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2021-09-17
  • 2021-12-07
  • 2021-08-02
  • 2022-01-17
猜你喜欢
  • 2021-05-10
  • 2022-01-11
  • 2021-06-30
  • 2021-08-12
  • 2021-06-23
  • 2021-06-30
  • 2021-08-30
相关资源
相似解决方案