今天只是想点亮一个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. 【递推】BZOJ 3930: [CQOI2015]选数

    Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...

  2. 团体程序设计天梯赛-练习集L1-010. 比较大小

    L1-010. 比较大小 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 本题要求将输入的任意3个整数从小 ...

  3. 进阶:使用 EntityManager

    JPA中要对数据库进行操作前,必须先取得EntityManager实例,这有点类似JDBC在对数据库操作之前,必须先取得Connection实例,EntityManager是JPA操作的基础,它不是设 ...

  4. 关于DJANGO和JAVASCRIPT的时间

    最近,实际一些简单统计时,要到库里去检索数据出来用HIGHCHARTS画图, 作一个简单的回照.. DJANGO用TEMPLATEVIEW来作.专业,正规:) class SAView(Templat ...

  5. android listview判断是否滑动到顶部还是底部

    listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStat ...

  6. 【BZOJ 3343 】 分块

    3343: 教主的魔法 Description 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1. ...

  7. Protected Functions 是理解OO的难点和关键

    Protected Functions 是理解OO的难点和关键 private和public函数都好理解,这里就不多说了,夹在中间的prortected却有许多精妙之处,说说我的几个疑问和看法:1. ...

  8. ArcGIS学习记录—属性表的编辑与修改

    原文地址: ArcGIS问题:属性表的编辑与修改 - Silent Dawn的日志 - 网易博客 http://gisman.blog.163.com/blog/static/344933882009 ...

  9. 【HDOJ】2388 Playground Hideout

    优先级队列直接AC. /* 2388 */ #include <iostream> #include <sstream> #include <string> #in ...

  10. [ffmpeg 扩展第三方库编译系列] 关于需要用到cmake 创建 mingw32编译环境问题

    我在这里给出我编译的例子 cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=& ...