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 ...
随机推荐
- 【递推】BZOJ 3930: [CQOI2015]选数
Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...
- 团体程序设计天梯赛-练习集L1-010. 比较大小
L1-010. 比较大小 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 本题要求将输入的任意3个整数从小 ...
- 进阶:使用 EntityManager
JPA中要对数据库进行操作前,必须先取得EntityManager实例,这有点类似JDBC在对数据库操作之前,必须先取得Connection实例,EntityManager是JPA操作的基础,它不是设 ...
- 关于DJANGO和JAVASCRIPT的时间
最近,实际一些简单统计时,要到库里去检索数据出来用HIGHCHARTS画图, 作一个简单的回照.. DJANGO用TEMPLATEVIEW来作.专业,正规:) class SAView(Templat ...
- android listview判断是否滑动到顶部还是底部
listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStat ...
- 【BZOJ 3343 】 分块
3343: 教主的魔法 Description 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1. ...
- Protected Functions 是理解OO的难点和关键
Protected Functions 是理解OO的难点和关键 private和public函数都好理解,这里就不多说了,夹在中间的prortected却有许多精妙之处,说说我的几个疑问和看法:1. ...
- ArcGIS学习记录—属性表的编辑与修改
原文地址: ArcGIS问题:属性表的编辑与修改 - Silent Dawn的日志 - 网易博客 http://gisman.blog.163.com/blog/static/344933882009 ...
- 【HDOJ】2388 Playground Hideout
优先级队列直接AC. /* 2388 */ #include <iostream> #include <sstream> #include <string> #in ...
- [ffmpeg 扩展第三方库编译系列] 关于需要用到cmake 创建 mingw32编译环境问题
我在这里给出我编译的例子 cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=& ...