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(); // 主电源 P5.4
put_P5OUT_BIT4(); //打开外设电源 put_P9SEL_BIT0();//设置P9.0为普通I/O
put_P9DIR_BIT0();//设置P9.0为输出 put_P7SEL_BIT3();//开发板上7.3口是lcd的电源,设置P7.3为普通I/O
put_P7DIR_BIT3();//设置P7.3为输出 put_P7OUT_BIT3();//给lcd供电
put_P9OUT_BIT0();//点亮led数码管 while(); }
总结一下最近所学的,将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(); // 主电源 P5.4
put_P5OUT_BIT4(); //打开外设电源 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(); //开发板上7.3口是lcd的电源,设置P7.3为普通I/O
put_P7DIR_BIT3(); //设置P7.3为输出 put_P7OUT_BIT3(); //给lcd供电 F:
for(i=;i<;i++)
{
put_P9OUT(table1[i]); //点亮led数码管
delay_ms();
}
put_P9OUT(0x0f); for(j=;j<;j++)
{
put_P1OUT(table2[j]);
delay_ms();
}
put_P1OUT(0xf0);
goto F; }
版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3391914.html
MSP430F5438点亮led的更多相关文章
- Arduino 极速入门系列–1 点亮 LED
本篇内容为,使用 Arduino 点亮 LED 的做法示范.很简单的一个入门示范.我们让 LED 闪. 本篇使用到的工具和材料 Arduino Mini Pro 1 PCS Mini USB 数据线 ...
- STM32学习笔记——点亮LED
STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1 ...
- STM32F407第一步之点亮LED
STM32F407第一步之点亮LED. 要点亮LED,首先了解一下F4的GPIO模块.首先看一下STM32F4数据手册,GPIO模块的内部结构图 看上去有点复杂,不要怕,慢慢理解就可以了.对外引脚那里 ...
- ARM学习篇一 点亮LED
要点亮LED,先决条件是什么,当然得有相应的硬件设施.板子的整个电路图比较大,我就直接取相关部分. 给发光二级管加上3.3v电压后,通过1k电阻,直接与S3C2440连接.至于为什么要加电阻,大家应该 ...
- zigbee学习之路(二)点亮LED
一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2 ...
- JZ2440开发笔记(5)——通过按键点亮LED
在JZ2440中,点亮LED就是给LED的控制位设置为输出,数据位设置为低电平,而通过按键点亮LED,就需要将按键对应的控制位设置为输出. 下面是JZ2440的3个LED电路图: 下面是JZ2440的 ...
- 【蓝牙低功耗BLE】控制GPIO来点亮LED
这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...
- arm-点亮led灯
点亮指路灯:学习四环节:led原理图分析,芯片手册导读,思维导图设计,为什么要使用led:通常led是作为程序调试的重要手段.led原理图:led实质为发光二极管,当其两端电压一定时,即处于导通状态. ...
- 第二章之S5PV210在BL1中点亮LED灯
1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S 翻到153行:如下图 前面都是进行一些基本设置,不用管. cpu_init_cp15设置协处理器, cpu_in ...
随机推荐
- tcpprep 对IPV6的支持
在采用tcpreplay对包实施回放前,需要对包执行预处理,tcpprep就是完成这个任务的.tcpprep要做的处理就是生成一个cache文件,根据tcpprep wiki的介绍http://tcp ...
- 使用Yeoman搭建 AngularJS 应用 (12) —— 让我们搭建一个网页应用
原文地址:http://yeoman.io/codelab/local-storage.html 安装Bower程序包 我们使用另一个Angular模块,"angular-local-sto ...
- [转载]C#对象序列化与反序列化
文章写的实在是太好了,忍不住转来: http://www.cnblogs.com/LiZhiW/p/3622365.html#_Toc8478 1.对象序列化的介绍 (1).NET支持对象序列化的几种 ...
- Samza文档翻译 : Comparison Introduction
http://samza.incubator.apache.org/learn/documentation/0.7.0/comparisons/introduction.html 这里有一些使得Sam ...
- 宏 #,##,_ _VA_ARGS_ _
宏里面使用: 一.# 转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) ...
- Objective-C 协议(protocol)
协议(protocol)是Objective-c中一个非常重要的语言特性,从概念上讲,非常类似于JAVA中接口. 一个协议其实就是一系列有关联的方法的集合(为方便后面叙述,我们把这个协议命名为myPr ...
- CI中获取读操作的结果集行数+获取写操作的影响行数
本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得 ...
- tomcat context 配置 项目部署
将tomcat/conf/server.xml文件打开, 在</Host>标签之前添加: <Context path = "" docBase = "F ...
- 【疯狂Java学习笔记】【第一章:Java语言概述】
[学习笔记]1.Java与C#的异同:Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承.宏定义.全局变量.全局函数.指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收.接口等等. ...
- Jdk5.0中出现的新特性
掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...