查看: 5462|回复: 4

[原创] LPC11U24 LED例子

[复制链接]
  • TA的每日心情
    开心
    2021-1-14 20:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    84

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    303
    最后登录
    2021-4-10
    发表于 2019-11-23 00:11:26 | 显示全部楼层 |阅读模式
    本帖最后由 深山明月 于 2019-11-23 00:21 编辑

    main.c

    #include "LPC11Uxx.h"

    #define LED_NUM 4

    const unsigned long led_mask[] = {1UL << 8, 1UL << 9, 1UL << 10, 1UL << 11};


    /*----------------------------------------------------------------------------
      initialize LED Pins
      PIO1.8, PIO1.9 PIO1.10, PIO1.11
    *----------------------------------------------------------------------------*/
    void LED_Init (void)
    {
        LPC_SYSCON->SYSAHBCLKCTRL |= (1UL <<  6);     /* enable clock for GPIO      */

        /* configure GPIO as output */
        LPC_GPIO->DIR[1]  |= (led_mask[0] | led_mask[1] |led_mask[2] |led_mask[3]);

        LPC_GPIO->CLR[1]  |= (led_mask[0] | led_mask[1] |led_mask[2] |led_mask[3]);
    }

    /*----------------------------------------------------------------------------
      Function that turns on requested LED
    *----------------------------------------------------------------------------*/
    void LED_On (unsigned int num)
    {
        if (num < LED_NUM)
        {
            LPC_GPIO->SET[1] |= led_mask[num];
        }
    }

    /*----------------------------------------------------------------------------
      Function that turns off requested LED
    *----------------------------------------------------------------------------*/
    void LED_Off (unsigned int num)
    {
        if (num < LED_NUM)
        {
            LPC_GPIO->CLR[1]  = led_mask[num];
        }
    }

    /*----------------------------------------------------------------------------
      Function that outputs value to LEDs
    *----------------------------------------------------------------------------*/
    void LED_Out(unsigned int value)
    {
        int i;

        for (i = 0; i < LED_NUM; i++)
        {
            if (value & (1<<i))
            {
                LED_On (i);
            }
            else
            {
                LED_Off(i);
            }
        }
    }

    void Delay(unsigned int DelayTimes)
    {
        LPC_CT16B0->TCR = 0x02;
        LPC_CT16B0->PR = 12;
        LPC_CT16B0->MR0 = DelayTimes;
        LPC_CT16B0->IR = 0xFF;
        LPC_CT16B0->MCR = 0x04;
        LPC_CT16B0->TCR = 0x01;
       
        while(LPC_CT16B0->TCR & 0x01);
        LPC_CT16B0->TCR = 0x00;
    }

    void Delay_Us(unsigned int DelayTimes)
    {
        LPC_CT16B0->TCR = 0x02;     // reset timer
        LPC_CT16B0->PR = 48;           // set prescaler
        LPC_CT16B0->MR0 = DelayTimes;
        LPC_CT16B0->IR = 0xFF;         // rese all interrupts
        LPC_CT16B0->MCR = 0x04;     // stop timer on match
        LPC_CT16B0->TCR = 0x01;      // Start timer
       
        while(LPC_CT16B0->TCR & 0x01);
        LPC_CT16B0->TCR = 0x00;     // Close timer
    }

    void Delay_Ms(unsigned int DelayTimes)
    {
        LPC_CT16B0->TCR = 0x02;
        LPC_CT16B0->PR = 48000;
        LPC_CT16B0->MR0 = DelayTimes;
        LPC_CT16B0->IR = 0xFF;
        LPC_CT16B0->MCR = 0x04;
        LPC_CT16B0->TCR = 0x01;
       
        while(LPC_CT16B0->TCR & 0x01);
        LPC_CT16B0->TCR = 0x00;
    }


    int main(void)
    {   
        LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 7);  // 打开CT16B0时钟
       
        LED_Init ();
        LED_Off(0);
        LED_Off(1);
        LED_Off(2);
        LED_Off(3);
        for(;;)
        {
            LED_On(0);
            Delay_Ms(500);   
            
            LED_Off(0);
            Delay_Ms(500);
        }   
    }




    LPC11U24_LED.rar

    12.58 KB, 下载次数: 5, 下载积分: 威望 1

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-1-14 20:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    84

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    303
    最后登录
    2021-4-10
     楼主| 发表于 2019-11-23 00:16:37 | 显示全部楼层
    KEIL工程,编译后会在obj下生成bin.bin,文件,连接开发板后,电脑会多出一个1.9M大小的盘符,将bin件拷贝到该盘符中,按复位键后程序会自动运行。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-1-14 20:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    5

    主题

    84

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    303
    最后登录
    2021-4-10
     楼主| 发表于 2019-11-23 00:17:20 | 显示全部楼层
    本帖最后由 深山明月 于 2019-11-23 00:19 编辑

    开发板图片
    timg.jpg

    mbed-010.2-schematic.pdf

    55.47 KB, 下载次数: 8, 下载积分: 威望 1

    mebed NXP LPC11U24原理图

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 1503 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    97

    主题

    4691

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10088
    最后登录
    2025-7-29
    发表于 2019-11-24 12:16:56 | 显示全部楼层
    这个小MCU用来玩USB简直再好不过了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2023-5-11 17:59
  • 签到天数: 33 天

    连续签到: 1 天

    [LV.5]常住居民I

    16

    主题

    396

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1381
    最后登录
    2023-9-15
    发表于 2019-11-25 10:24:58 | 显示全部楼层
    这个板子也是论坛里活动吗
    今天好忙啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-4 14:44 , Processed in 0.091019 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表