查看: 5442|回复: 5

[原创] 【LPC54114】+ A2.GPIO操作点亮数码管

[复制链接]
  • TA的每日心情
    开心
    2025-5-29 08:54
  • 签到天数: 2992 天

    连续签到: 8 天

    [LV.Master]伴坛终老

    45

    主题

    5548

    帖子

    22

    金牌会员

    Rank: 6Rank: 6

    积分
    12035
    最后登录
    2025-5-29
    发表于 2017-4-1 16:03:15 | 显示全部楼层 |阅读模式
    本帖最后由 limale 于 2017-4-1 16:12 编辑

    今天事儿不是很多,我们来继续搞搞LPC54114这块板卡,在熟悉了官方的demo程序之后,把暂时用不到的功能进行了屏蔽,只留下了串口和GPIO口的驱动。刚好前几天朋友送了两块他做的4位数码管使用HC595驱动的,这个数码管真是非常的大准备后续做个时钟。
    每位是单独用一片HC595驱动然后级联起来用的。
    IMG_20170401_153853.jpg
    使用3个GPIO口就可以驱动了(DS、RCK、SCK),时序也非常的简单。
    1. void HC595Init(void)
    2. {
    3.         GPIO->DIR[0] = 1U << HC595_DS | 1U << HC595_RCK | 1U << HC595_SCK | 1U << 22;
    4.         GPIO->B[0][HC595_DS] = 0;
    5.         GPIO->B[0][HC595_RCK] = 0;
    6.         GPIO->B[0][HC595_SCK] = 0;
    7.         IOCON_PinMuxSet(IOCON, 0, HC595_DS, LED_GPIO_CFG);
    8.         IOCON_PinMuxSet(IOCON, 0, HC595_RCK, LED_GPIO_CFG);
    9.         IOCON_PinMuxSet(IOCON, 0, HC595_SCK, LED_GPIO_CFG);
    10. }

    11. void HC595SendData_four(uint8_t data1, uint8_t data2, uint8_t data3, uint8_t data4 )
    12. {
    13.         uint8_t i, j, k, l, temp0, temp1, temp2, temp3;
    14.         temp0 = data1;
    15.         temp1 = data2;
    16.         temp2 = data3;
    17.         temp3 = data4;
    18.         for (i = 0; i < 8; i++)
    19.         {
    20.                 if (temp0 & 0x80)
    21.                 {
    22.                         HC595_DS_SET;
    23.                 }
    24.                 else
    25.                 {
    26.                         HC595_DS_RESET;
    27.                 }
    28.                 temp0 <<= 1;
    29.                 HC595_SH_CP_SET;
    30.                 HC595_SH_CP_RESET;
    31.         }
    32.         for (j = 0; j < 8; j++)
    33.         {
    34.                 if (temp1 & 0x80)
    35.                 {
    36.                         HC595_DS_SET;
    37.                 }
    38.                 else
    39.                 {
    40.                         HC595_DS_RESET;
    41.                 }
    42.                 temp1 <<= 1;
    43.                 HC595_SH_CP_SET;
    44.                 HC595_SH_CP_RESET;
    45.         }
    46.         for (k = 0; k < 8; k++)
    47.         {
    48.                 if (temp2 & 0x80)
    49.                 {
    50.                         HC595_DS_SET;
    51.                 }
    52.                 else
    53.                 {
    54.                         HC595_DS_RESET;
    55.                 }
    56.                 temp2 <<= 1;
    57.                 HC595_SH_CP_SET;
    58.                 HC595_SH_CP_RESET;
    59.         }
    60.         for (l = 0; l < 8; l++)
    61.         {
    62.                 if (temp3 & 0x80)
    63.                 {
    64.                         HC595_DS_SET;
    65.                 }
    66.                 else
    67.                 {
    68.                         HC595_DS_RESET;
    69.                 }
    70.                 temp3 <<= 1;
    71.                 HC595_SH_CP_SET;
    72.                 HC595_SH_CP_RESET;
    73.         }
    74.         HC595_ST_CP_SET;
    75.         HC595_ST_CP_RESET;
    76. }
    复制代码

    IMG_20170401_153916.jpg
    开机显示CDEF,然后从0000开始累加,因为只是一个demo所以就没做复杂的显示。
    IMG_20170401_154218.jpg
    IMG_20170401_154243.jpg
    用HC595驱动数码管显示效果确实挺好的,一点儿闪烁感都没有。
    工程: lpc54114.rar (8.72 MB, 下载次数: 109)
    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 08:07
  • 签到天数: 273 天

    连续签到: 1 天

    [LV.8]以坛为家I

    74

    主题

    2338

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7508
    最后登录
    2021-8-30
    发表于 2017-4-1 16:06:08 | 显示全部楼层
    非常好的帖子,期待楼主更多分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2017-4-2 01:14:31 | 显示全部楼层
    数码管,好大
    来根华子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-9-15 08:42
  • 签到天数: 1952 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    1

    主题

    4686

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9405
    最后登录
    2023-9-15
    发表于 2017-4-2 08:41:06 | 显示全部楼层
    谢谢分享!
    今天天气不错!签到!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    6 小时前
  • 签到天数: 1779 天

    连续签到: 8 天

    [LV.Master]伴坛终老

    54

    主题

    4379

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    9184
    最后登录
    2025-7-21
    发表于 2017-12-5 15:48:17 | 显示全部楼层
    写得不错,看看,学习下。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-2-26 10:03
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    5

    主题

    408

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1421
    最后登录
    2025-6-4
    发表于 2017-12-12 11:40:13 | 显示全部楼层
    不错哦~!终于不用当一灯大师了。哈哈。
    开心每一天
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 16:42 , Processed in 0.095070 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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