查看: 1115|回复: 6

[分享] 【中秋点灯】LPC8N04 让心跳加速*期待中秋节的到来

[复制链接]
  • TA的每日心情
    开心
    6 天前
  • 签到天数: 145 天

    [LV.7]常住居民III

    10

    主题

    384

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1261
    最后登录
    2024-4-19
    发表于 2021-9-20 15:00:36 | 显示全部楼层 |阅读模式
    本帖最后由 thinkking1985 于 2021-9-20 16:51 编辑

    中秋快乐,祝愿everyone心想事成。。。小编作为初学者,就利用NXP LPC8N04 EVK跑一个最简单的点灯。。。
    板图如:
    ban1.jpg ban2.jpg
    驱动部分很简单如:
    /*灯初始化部分,主要是IO的输入输出配置*/
    void BOARD_InitLedMatrix(void)
    {
        s_ledMatrixInited = true;

        CLOCK_EnableClock(kCLOCK_Iocon);
        CLOCK_EnableClock(kCLOCK_Gpio);

        IOCON->PIO[0][LED_ROW0_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_ROW1_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_ROW2_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_ROW3_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_ROW4_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_COL0_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_COL1_PIN] = IOCON_PIO_FUNC(0);
        IOCON->PIO[0][LED_COL2_PIN] = IOCON_PIO_FUNC(0);

        GPIO->DIR |= LED_PIN_MASK;
        GPIO->GPIODATA[2047] = (LED_ROW_PIN_MASK & ~(LED_COL_PIN_MASK));
    }

    /*点阵LED数字形成*/
    static const uint16_t s_rowPinMask[10][LED_COL_NUM] = {
        /* 0 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW4_PIN_MASK,                                                             /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 1 */
        {
            0,                                                                                                 /* Col 0 */
            0,                                                                                                 /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 2 */
        {
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                     /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 3 */
        {
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                                         /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                                         /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 4 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK,                                         /* Col 0 */
            LED_ROW2_PIN_MASK,                                                                                 /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 5 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                     /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 6 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                                         /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK,                     /* Col 2 */
        },

        /* 7 */
        {
            LED_ROW0_PIN_MASK,                                                                                 /* Col 0 */
            LED_ROW0_PIN_MASK,                                                                                 /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 8 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                                         /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },

        /* 9 */
        {
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                     /* Col 0 */
            LED_ROW0_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW4_PIN_MASK,                                         /* Col 1 */
            LED_ROW0_PIN_MASK | LED_ROW1_PIN_MASK | LED_ROW2_PIN_MASK | LED_ROW3_PIN_MASK | LED_ROW4_PIN_MASK, /* Col 2 */
        },
    };



    /*点灯部分*/
    void BOARD_LedMatrixShowNumber(uint8_t num, uint32_t duration, bool forceInit)
    {
        uint32_t i;
        uint32_t inc = (duration == 0) ? 0 : 1;
        uint32_t gpioData;
        uint8_t col;

        duration = (duration == 0) ? 1 : duration;
        num      = (num > 9) ? 9 : num;

        if ((!s_ledMatrixInited) || forceInit)
        {
            BOARD_InitLedMatrix();
        }

        gpioData = GPIO->GPIODATA[2047] & ~LED_PIN_MASK;

        for (i = 0; i < duration; i += inc)
        {
            for (col = 0; col < LED_COL_NUM; col++)
            {
                GPIO->GPIODATA[2047] = gpioData | s_rowPinMask[num][col] | s_colPinMask[col];
                BOARD_LedMatrixDelay();
            }
        }
    }

    视频效果:
    zhongqiujiekuaile.jpg

    最后再次祝大家中秋节日快乐。。。。






    加油加油
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-9 17:01
  • 签到天数: 1478 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92618
    最后登录
    2024-4-24
    发表于 2021-9-21 13:09:25 | 显示全部楼层
    来点儿高级玩法,刷不同的卡,点亮不同的灯 1.png 2.png 3.png 4.png 8.png 7.png 6.png 5.png 9.png 10.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    [LV.7]常住居民III

    10

    主题

    384

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1261
    最后登录
    2024-4-19
     楼主| 发表于 2021-9-22 09:45:55 | 显示全部楼层
    stm1024 发表于 2021-9-21 13:09
    来点儿高级玩法,刷不同的卡,点亮不同的灯

    很好的建议哦,尝试一下。。。。
    加油加油
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-9-22 10:08:23 | 显示全部楼层
    我觉得这个已经很棒很棒了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-9-22 10:08:31 | 显示全部楼层
    期待更好的吧
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-4 14:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    172

    帖子

    0

    高级会员

    Rank: 4

    积分
    567
    最后登录
    2024-4-10
    发表于 2021-11-11 11:43:39 | 显示全部楼层
    学习了谢谢分享
    每天登陆学习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-4 14:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    172

    帖子

    0

    高级会员

    Rank: 4

    积分
    567
    最后登录
    2024-4-10
    发表于 2021-11-11 13:03:00 | 显示全部楼层
    学习了多谢
    每天登陆学习一下
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-25 04:27 , Processed in 0.130770 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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