极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19591|回复: 0

74HC595控制四位数码管(共阴)

[复制链接]
发表于 2018-11-5 18:00:54 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2018-11-13 19:53 编辑

硬件:
Arduino UNO
74HC595 X 1
四位数码管(共阴) X1
220欧电阻 x4

目的:用74HC595 驱动四位数码管(共阴)显示0-9及a-F

代码:

  1. int clockPin = 5;//时钟引脚设置
  2. int dataPin = 2;//数据引脚设置
  3. int latchPin = 4;//锁存引脚设置
  4. unsigned char table[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  //共阴数码管代码表"0-F"
  5. //unsigned char table[] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阳数码管代码表"0-F"
  6. void setup ()
  7. {
  8.   pinMode(latchPin,OUTPUT);
  9.   pinMode(clockPin,OUTPUT);
  10.   pinMode(dataPin,OUTPUT);
  11.   //让三个脚都是输出状态
  12. }
  13. void loop()
  14. {
  15.   for(int i=0; i<15; i++)
  16.   {
  17.     digitalWrite(latchPin,LOW);
  18.     //将ST_CP口上面加低电平让芯片准备好接收数据
  19.     shiftOut(dataPin,clockPin,MSBFIRST,table[i]);
  20.     //串行数据输入引脚为dataPin,时钟引脚为clockPin,执行MSB有限发送,发送数据table[i]
  21.     digitalWrite(latchPin,HIGH);
  22.     //将ST_CP这个针脚恢复到高电平
  23.     delay(1000);                                //延时500ms
  24.   }

  25.    for(int i=15; i>=0; i--)
  26.   {
  27.     digitalWrite(latchPin,LOW);
  28.     //将ST_CP口上面加低电平让芯片准备好接收数据
  29.     shiftOut(dataPin,clockPin,MSBFIRST,table[i]);
  30.     //串行数据输入引脚为dataPin,时钟引脚为clockPin,执行MSB有限发送,发送数据table[i]
  31.     digitalWrite(latchPin,HIGH);
  32.     //将ST_CP这个针脚恢复到高电平
  33.     delay(1000);        //延时500ms
  34.   }
  35. }
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 20:57 , Processed in 0.043796 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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