今天只是想点亮一个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);//导通二级管

示例代码:

  1. #include<msp430x54x.h>
  2. #include"for_5438_wjx.c"//头文件
  3.  
  4. void main( void )
  5. {
  6. // Stop watchdog timer to prevent time out reset
  7.  
  8. WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
  9.  
  10. put_P5DIR_BIT4(); // 主电源 P5.4
  11. put_P5OUT_BIT4(); //打开外设电源
  12.  
  13. put_P9SEL_BIT0();//设置P9.0为普通I/O
  14. put_P9DIR_BIT0();//设置P9.0为输出
  15.  
  16. put_P7SEL_BIT3();//开发板上7.3口是lcd的电源,设置P7.3为普通I/O
  17. put_P7DIR_BIT3();//设置P7.3为输出
  18.  
  19. put_P7OUT_BIT3();//给lcd供电
  20. put_P9OUT_BIT0();//点亮led数码管
  21.  
  22. while();
  23.  
  24. }

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

  1. #include<msp430x54x.h>
  2. #include"for_5438_wjx.c"
  3. #include"PIN_DEF.h"
  4.  
  5. #define CPU_F ((double)8000000)
  6. #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
  7. #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
  8.  
  9. unsigned char table1[]={0x0e,0x0d,0x0b,0x07};
  10. unsigned char table2[]={0xe0,0xd0,0xb0,0x70};
  11.  
  12. void main( void )
  13. {
  14. // Stop watchdog timer to prevent time out reset
  15.  
  16. unsigned i,j;
  17.  
  18. WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
  19.  
  20. put_P5DIR_BIT4(); // 主电源 P5.4
  21. put_P5OUT_BIT4(); //打开外设电源
  22.  
  23. put_P9SEL(0x0); //设置P9.0到P9.3为普通I/O
  24. put_P9DIR(0x0f); //设置P9.0到P9.3为输出
  25.  
  26. put_P1SEL(0x0); //设置P1.4到P1.7为普通I/O
  27. put_P1DIR(0xf0); //设置P1.4到P1.7为输出
  28. put_P1OUT(0xf0); //关闭led显示
  29.  
  30. put_P7SEL_BIT3(); //开发板上7.3口是lcd的电源,设置P7.3为普通I/O
  31. put_P7DIR_BIT3(); //设置P7.3为输出
  32.  
  33. put_P7OUT_BIT3(); //给lcd供电
  34.  
  35. F:
  36. for(i=;i<;i++)
  37. {
  38. put_P9OUT(table1[i]); //点亮led数码管
  39. delay_ms();
  40. }
  41. put_P9OUT(0x0f);
  42.  
  43. for(j=;j<;j++)
  44. {
  45. put_P1OUT(table2[j]);
  46. delay_ms();
  47. }
  48. put_P1OUT(0xf0);
  49. goto F;
  50.  
  51. }

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

MSP430F5438点亮led的更多相关文章

  1. Arduino 极速入门系列–1 点亮 LED

    本篇内容为,使用 Arduino 点亮 LED 的做法示范.很简单的一个入门示范.我们让 LED 闪. 本篇使用到的工具和材料 Arduino Mini Pro 1 PCS Mini USB 数据线 ...

  2. STM32学习笔记——点亮LED

    STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1 ...

  3. STM32F407第一步之点亮LED

    STM32F407第一步之点亮LED. 要点亮LED,首先了解一下F4的GPIO模块.首先看一下STM32F4数据手册,GPIO模块的内部结构图 看上去有点复杂,不要怕,慢慢理解就可以了.对外引脚那里 ...

  4. ARM学习篇一 点亮LED

    要点亮LED,先决条件是什么,当然得有相应的硬件设施.板子的整个电路图比较大,我就直接取相关部分. 给发光二级管加上3.3v电压后,通过1k电阻,直接与S3C2440连接.至于为什么要加电阻,大家应该 ...

  5. zigbee学习之路(二)点亮LED

    一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2 ...

  6. JZ2440开发笔记(5)——通过按键点亮LED

    在JZ2440中,点亮LED就是给LED的控制位设置为输出,数据位设置为低电平,而通过按键点亮LED,就需要将按键对应的控制位设置为输出. 下面是JZ2440的3个LED电路图: 下面是JZ2440的 ...

  7. 【蓝牙低功耗BLE】控制GPIO来点亮LED

    这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...

  8. arm-点亮led灯

    点亮指路灯:学习四环节:led原理图分析,芯片手册导读,思维导图设计,为什么要使用led:通常led是作为程序调试的重要手段.led原理图:led实质为发光二极管,当其两端电压一定时,即处于导通状态. ...

  9. 第二章之S5PV210在BL1中点亮LED灯

    1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S 翻到153行:如下图 前面都是进行一些基本设置,不用管. cpu_init_cp15设置协处理器, cpu_in ...

随机推荐

  1. eclipse中切换jre后报错:Java compiler level does not match the version of the installed Java project facet.

    项目移除原来的jre环境lib后,添加本地的jre,报错如下: Java compiler level does not match the version of the installed Java ...

  2. cf 283A

    不能简单模拟(会超时)  运用一点小技巧  减少时间复杂度 #include <cstdio> #include <cstring> using namespace std; ...

  3. 论反馈信息如何推动 IT 运维团队进步?

    我们还记得<快乐大本营>中经典游戏----快乐传真吗?游戏规则是:很多人站一排,只有第一个人才看到最准确的信息,用东西隔着,戴耳机,一一将从前一个人获得的信息传递下去,最后一个人说出推测的 ...

  4. hdu 4678 Mine 博弈论

    这是一题简单的博弈论!! 所有的空白+边界的数字(个数为n)为一堆,容易推出其SG函数值为n%2+1: 其他所有的数字(个数为m)的SG值为m%2. 再就是用dfs将空白部分搜一下即可!(注意细节) ...

  5. Mybatis代码生成器 xml配置文件 连接SQL SERVER 2005

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...

  6. IntelliJ Idea12 破解码与中文乱码配置

    user name:JavaDeveloper serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4        会出现Ok可以点击就会将软件 安装后, ...

  7. coco2d-js 多屏适配相关API

    setDesignResolutionSize() //设计分辨率大小及模式  setContentScaleFactor() //内容缩放因子 setSearchPaths() //资源搜索路径 g ...

  8. POJ1265——Area(Pick定理+多边形面积)

    Area DescriptionBeing well known for its highly innovative products, Merck would definitely be a goo ...

  9. Cobalt Strike

    http://www.77169.com/hack/201512/222080.shtm

  10. SSH应该使用密钥还是密码?

    关于SSH,几乎每个人都同意密钥要优于密码,更安全,并且更先进,但我并不同意这个观点. 虽然密钥的确可以更好,但它有着还没被意识到的严重风险,并且我认为比得到妥善管理的密码更不安全. 通常密钥更好的理 ...