LM3S1138入门1 LED

发布者:MysticalGlow最新更新时间:2016-11-01 来源: eefocus关键字:LM3S1138入门  LED 手机看文章 扫描二维码
随时随地手机看文章
有一部分是自己写得注释,看明白怎么回事了,这个芯片得控制设置感觉也不是很简洁,有点罗嗦了,不过一看就明白,入门很简单了。

//  基于《Stellaris外设驱动库》的例程:LED闪烁发光

 

 

//  包含必要的头文件

#include 

#include 

#include 

#include 

#include 

#include 

 

 

//  将较长的标识符定义成较短的形式

#define  SysCtlPeriEnable       SysCtlPeripheralEnable  //设备使能控制

#define  SysCtlPeriDisable      SysCtlPeripheralDisable //设备非使能控制

#define  GPIOPinTypeIn          GPIOPinTypeGPIOInput         //IO输入

#define  GPIOPinTypeOut         GPIOPinTypeGPIOOutput      //IO输出

#define  GPIOPinTypeOD          GPIOPinTypeGPIOOutputOD      //开漏输出模式,GPIO初始化配置为开漏输出模式,读完后要及时恢复为开漏输出模式。

 

 

//  定义KEY

#define  KEY_PERIPH             SYSCTL_PERIPH_GPIOG          //启动G引脚配置

#define  KEY_PORT               GPIO_PORTG_BASE                 //G引脚基址

#define  KEY_PIN                GPIO_PIN_5                              //引脚5

 

 

//  防止JTAG失效

void  JTAG_Wait(void)

{

    SysCtlPeriEnable(KEY_PERIPH);                               //  使能KEY所在的GPIO端口,即使能GPIOG端口

    GPIOPinTypeIn(KEY_PORT , KEY_PIN);                          //  设置KEY所在管脚为输入,即设置PG5为输入

 

    if ( GPIOPinRead(KEY_PORT , KEY_PIN)  ==  0x00 )            //  如果复位时按下KEY(PG5接收到低电平),则进入

    {

        for (;;);                                               //  死循环,以等待JTAG连接

    }

 

    SysCtlPeriDisable(KEY_PERIPH);                              //  禁止KEY所在的GPIO端口

}

 

 

//  定义LED

#define  LED_PERIPH             SYSCTL_PERIPH_GPIOG          //启动G引脚配置

#define  LED_PORT               GPIO_PORTG_BASE          //G引脚基址

#define  LED_PIN                GPIO_PIN_3         //引脚3

#define  LED_On()               GPIOPinWrite(LED_PORT , LED_PIN , 0x00 << 3)    //PG3=0

#define  LED_Off()              GPIOPinWrite(LED_PORT , LED_PIN , 0x01 << 3)     //PG3=1

#define  LED_Toggle()           GPIOPinWrite(LED_PORT , LED_PIN , ~GPIOPinRead(LED_PORT , LED_PIN))    //读取管脚值,取反并写入。

 

 

//  定义全局的系统时钟变量

unsigned long  TheSysClock  =  12000000UL;

 

 

//  延时

void  Delay(unsigned long  ulVal)

{

    while ( --ulVal  !=  0 );

}

 

 

//  系统初始化

void  SystemInit(void)

{

    SysCtlLDOSet(SYSCTL_LDO_2_50V);               //  设置LDO输出电压

 

    SysCtlClockSet(SYSCTL_USE_OSC |               //  系统时钟设置,采用主振荡器

                   SYSCTL_OSC_MAIN |                 //  主振荡器

                   SYSCTL_XTAL_6MHZ |               //  外接6MHz晶振

                   SYSCTL_SYSDIV_1);                  //分频结果为保留值

 

/*

    SysCtlLDOSet(SYSCTL_LDO_2_75V);     //  配置PLL前须将LDO电压设置为2.75V

 

    SysCtlClockSet(SYSCTL_USE_PLL |               //  系统时钟设置,采用PLL

                   SYSCTL_OSC_MAIN |            //  主振荡器

                   SYSCTL_XTAL_6MHZ |          //  外接6MHz晶振

                   SYSCTL_SYSDIV_10);           //  分频结果为20MHz

*/

 

    TheSysClock  =  SysCtlClockGet();                 //  获取系统时钟,单位:Hz

 

    SysCtlPeriEnable(LED_PERIPH);                   //  使能LED所在的GPIO端口

    GPIOPinTypeOut(LED_PORT, LED_PIN);           //  设置LED所在管脚为输出

    LED_Off();                                    //  熄灭LED

}

 

 

//  主函数(程序入口)

int  main(void)

{

    JTAG_Wait();                                                //  防止JTAG失效,重要!

 

    SystemInit();                                               //  系统初始化

 

    for (;;)

    {

        LED_On();                                               //  点亮LED

        Delay(200 * (TheSysClock / 4000));                      //  延时约200ms

 

        LED_Off();                                              //  熄灭LED

        Delay(300 * (TheSysClock / 4000));                      //  延时约300ms

    }

}

关键字:LM3S1138入门  LED 引用地址:LM3S1138入门1 LED

上一篇:LM3S1138入门2,跑马灯
下一篇:漏电保护器测试系统方案

推荐阅读最新更新时间:2024-03-16 15:18

基于L6562的单级PFC反激LED电源的研究
LED照明是一种新型照明方式,与传统的白炽灯、荧光灯等照明方式相比,LED光源具有发光效率高、耗能少、使用寿命长、安全环保、体积小等优势,成为目前世界上最有可能替代传统光源的新一代光源。LED芯片是一种低压电流型器件,电流是影响其发光性能的主要因素,现有LED光源普遍采用多颗LED,通过串联或并联组成LED模组来进行照明,为了达到最佳的工作性能,必须要设计合适的LED驱动电源,使其在恒定电流的条件下工作。为了保证LED的优势,针对不同的LED照明产品和应用要求,必须选择合适的驱动电路拓扑结构,使LED驱动电源达到高效率、高可靠性、高功率因数、低成本的要求。 对于30 W~75 W的中小功率LED模组照明,通常选用结构简单、成本
[电源管理]
基于L6562的单级PFC反激<font color='red'>LED</font>电源的研究
MSP430单片机实现PWM控制LED灯的设计
描述:MSP430实现PWM。反映在LED灯上,可以看到LED灯的亮度不断变化 // // ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k // // MSP430F13x // ------------------- // /|| XIN|- // | | | 32kHz // --|RST XOUT|- // | | // | P1.2|--》LED // // // 硬件电路:MSP430F135核心实验板-I型 // 硬件连接: // // 调试器:MSP430FET全系列JTAG仿真器 // 调试软件: IAR Embedded Workbench Version: 3.41A 编译
[单片机]
MSP430单片机实现PWM控制<font color='red'>LED</font>灯的设计
Allegro新增汽车双通道线性LED驱动器A6269
Allegro MicroSystems公司宣布增添一款新型LED驱动器IC,以完善其符合标准的现有汽车LED驱动器IC产品组合。Allegro的A6269是一款线性、可编程电流调节器,其从两个输出中的每一个均可提供最高200 mA的电流,以驱动高亮LED阵列。该器件面向具有终端内部照明应用的汽车市场,这些应用将包括:阅读灯和天棚灯、杂物箱、化妆镜、车门(后视镜脚灯)和行李箱灯。 每路输出的经调节的LED电流由单个参考电阻设置。无需使用任何镇流电阻便可实现每个串中的电流匹配。双控制引脚可用于开关(开/关)和主控制(开/关/变亮/变暗)信号。其能够各以200 mA的电流驱动2个LED串。输出可根据需要并联或闲置。在任何LED输
[汽车电子]
LED路灯单灯PWM调光控制器LT2206-P使用说明
一、概述   LT2206-P 型LED 路灯单灯控制器是路灯远程综合监控系统的LED路灯单灯开关控制执行部件,它采用高性能电力线载波调制技术,具有7级中继功能和自动路由功能,以及通信冲突避让机制,从而精确接收集中器发送的各种指令,包括状态查询、LED 路灯PWM 无极调光控制等,并反馈状态信息。利用路灯单灯控制器LT2206-P 可以实现路灯照明的远程开关、单灯节电、灯具故障检测等功能。    二、模块框图 图 1 LT2206-P 型单灯控制器的框图   三、主要参数和指标   1.电源:宽电源范围输入交流85V~265V   2.载波调制:扩频调制   3.调制频率:100KHz
[电源管理]
<font color='red'>LED</font>路灯单灯PWM调光控制器LT2206-P使用说明
LED分布式恒流技术的原理以及未来发展方向
 1. 分布式恒流技术   分布式恒流就是:在各并联支路点均设立独立恒流源,从而管理、维持、控制支路与整体线路稳定 。 在使用上可视为一个完整的线路结构,而实际应用是分布在线路各节点的恒流控制并能相互通讯。分布式恒流设计 LED " target=_blank> LED 产品,有着非常高的产品稳定性。在当前, LED " target=_blank>LED 产品宣称与实际使用寿命有较大的差距,在驱动线路设计技术积累有限的情况下,评估产品寿命与实际使用有距离。驱动线路稳定性直接影响产品整体稳定,分布式恒流有着独有的优势。   保持支路和整体电流稳定,还要能方便控制管理支路和整体线路工作,这是 分布式恒流技术 的包含范围。
[电源管理]
基于TI控制芯片的10W非隔离LED驱动方案
本文介绍了一款使用TI控制芯片TPS92210设计的10W LED驱动 电源.TPS92210特有的临界模式固定峰值电流控制功能,设计无须反馈,从而整个设计简单,器件少,成本低。   近年来, LED 驱动电源市场中,非隔离解决方案由于其磁性元件尺寸更小、能效更高、元件数量更少、总物料单成本更低,以及能以机械设计满足安规等优势,成为应用热点。本文介绍了一款使用TI控制芯片TPS92210设计的10WLED驱动电源.使用TPS92210特有的临界模式固定峰值电流控制功能,设计无须反馈,从而整个设计简单,器件少,成本低,效率高。   1、电源方案介绍   本方案采用TPS92210控制的临界Buck电路,设置TPS92210工作于
[电源管理]
基于TI控制芯片的10W非隔离<font color='red'>LED</font>驱动方案
AR/VR需求起飞 Micro-LED成显示首选
随着扩充实境/虚拟现实(AR/VR)应用起飞,相关的显示需求也受到相当大的重视。 由于AR/VR所使用的头戴式装置屏幕距离眼睛非常近,显示器最理想的画素密度将上看2,000ppi,远超过目前LCD、OLED显示器可以达到的水平,但Micro LED却有机会达成这个目标。 因此,Micro LED将很有机会成为AR/VR头戴式装置所选用的显示技术。 工研院电子与光电系统研究所所长吴志毅分析,AR/VR的头戴显示器主要有两大显示质量要求:响应速度与画素密度。 LCD本身的材质特性无法达到AR/VR所需要的速度门坎,因此其显示延迟可能会造成某些用户头昏;OLED的响应速度虽快,但画素密度大约在1,000ppi便达到极限,难以达成AR/V
[手机便携]
用于便携设备闪光灯与白光LED驱动的智能直流/直流转换器
   引语   PDA、手机等便携设备集成多种功能是最新的发展趋势,而且这些设想目前已经变成了现实。   今天,很难再找到一个只有接打电话功能的手机。通话功能是手机原始的“史前”目标。MP3/MP4播放器、有线互连(USB和USB-OTG)、无线互连(IrDA、蓝牙和Wi-Fi)、GPS导航,以及最近推出的数字视频广播,这些都是手机配备的最新、最有吸引力的功能。   不过,一个能够照相和召开视频电话会议的优质相机模块才是今天每款手机最常见的功能。   相机模块过去因为图像分辨率不好,价值只比简单的玩具高点有限,但是,今天的相机模块变得越来越复杂,图像质量接近了最先进的数码相机的水平。因为相机模块在低光条件下拍照必需有光源,再加高
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved