• MSP430F5438点亮led


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

    点亮一个led灯

    首先看电路图:

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

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

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

    代码:

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

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

    接下来看标号2

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

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

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

    示例代码:

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

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

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

    这里可以看到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

    总结一下最近所学的,将led以5毫秒的频率流水灯闪烁

    #include<msp430x54x.h>
    #include"for_5438_wjx.c"
    #include"PIN_DEF.h"
    
    #define CPU_F               ((double)8000000) 
    #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)) 
    
    unsigned char  table1[]={0x0e,0x0d,0x0b,0x07};
    unsigned char  table2[]={0xe0,0xd0,0xb0,0x70};
    
    void  main( void )
    {
      // Stop watchdog timer to prevent time out reset
      
      unsigned i,j;
      
      WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
       
      put_P5DIR_BIT4(1);      // 主电源 P5.4
      put_P5OUT_BIT4(1);      //打开外设电源
      
      put_P9SEL(0x0);    //设置P9.0到P9.3为普通I/O
      put_P9DIR(0x0f);    //设置P9.0到P9.3为输出
      
      put_P1SEL(0x0);    //设置P1.4到P1.7为普通I/O
      put_P1DIR(0xf0);    //设置P1.4到P1.7为输出
      put_P1OUT(0xf0);    //关闭led显示
      
      put_P7SEL_BIT3(0);   //开发板上7.3口是lcd的电源,设置P7.3为普通I/O
      put_P7DIR_BIT3(1);   //设置P7.3为输出
      
      put_P7OUT_BIT3(0);      //给lcd供电
      
    F:
      for(i=0;i<4;i++)
      {
        put_P9OUT(table1[i]);     //点亮led数码管
        delay_ms(50);
      }
      put_P9OUT(0x0f);
      
      for(j=0;j<4;j++)
      {
         put_P1OUT(table2[j]);   
         delay_ms(50);
      }
      put_P1OUT(0xf0);
      goto F;
      
      
      
    }


    版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3391914.html

  • 相关阅读:
    【笔记】初探KNN算法(2)
    【笔记】初探KNN算法(3)
    将onenote快速复制粘贴到博客园后台
    【笔记】numpy.array基础(2)
    【笔记】matplotilb数据可视化基础
    【笔记】numpy.array的常用基本运算以及对数据的操作
    【笔记】初探KNN算法(1)
    关于解决numpy使用sklearn时的警告问题
    【笔记】读取数据以及简单的数据探索
    【笔记】numpy.array基础(3)
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3391914.html
Copyright © 2020-2023  润新知