本帖最后由 darknight 于 2018-7-20 22:42 编辑

74hc595是一种常用的I/O拓展芯片,今天我尝试用一个74hc595来驱动一个一位七段数码管,效果还行

thread-80479-1-1.html

功能:数码管循环显示0~4,每个数字停留一秒因为这次数码管没有用到DP,所以数码管的DP引脚悬空

thread-80479-1-1.html

shiftOut() 功能为软件模拟SPI串行输出

thread-80479-1-1.html

主要代码如下:

[mw_shl_code=c,true]/*

* darknight

* 使用74HC595扩展I/O,控制数码管

*(shiftOut串行输出的使用)

*

*74hc595与arduino的引脚连接表

*74hc595 Arduino

*ST_CP   8

*SH_CP   12

*DS      11

*MR      VCC

*OE      GND

*VCC     VCC

*GND     GND

*

*74hc595与数码管引脚连接表

*74hc595 数码管

*Q0      A

*Q1      B

*Q2      C

*Q3      D

*Q4      E

*Q5      F

*Q6      G

*Q7      DP(这个用不到)

*/

int latchPin = 8;

int clockPin = 12;

int dataPin = 11;

void setup() {

// put your setup code here, to run once:

pinMode(latchPin, OUTPUT);

pinMode(clockPin, OUTPUT);

pinMode(dataPin, OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

for(int j=0;j<5;j++)

{

digitalWrite(latchPin, LOW);

//将latchPin的电平拉低

display(j);

//shiftOut(dataPin, clockPin, LSBFIRST, 159);    显示0

//用shiftOut() 函数将将8位串行数据发送到595的缓存器中

digitalWrite(latchPin, HIGH);

//latchPin产生一个上升沿

//缓存器中的的数据将以并行的方式输出到8个端口上

delay(1000);

}

}

void display(int i )

{

switch(i)

{

case 0:shiftOut(dataPin, clockPin, LSBFIRST, 0x02);break;//显示0

case 1:shiftOut(dataPin, clockPin, LSBFIRST, 0x9f);break;//显示1

case 2:shiftOut(dataPin, clockPin, LSBFIRST, 0x25);break;//显示2

case 3:shiftOut(dataPin, clockPin, LSBFIRST, 0x0d);break;//显示3

case 4:shiftOut(dataPin, clockPin, LSBFIRST, 0x99);break;//显示4

default:shiftOut(dataPin, clockPin, LSBFIRST, 0x02);//显示0

}

}[/mw_shl_code]

74hc595.jpg

(10.73 KB, 下载次数: 29)

2018-7-20 21:53 上传

b8f828579a79e4e60bc07a897289c9b1.gif

cb75b38b09f5f5c79b30824a2baac88f.gif

74hc595引脚图

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

数码管.png

(16.5 KB, 下载次数: 32)

2018-7-20 21:56 上传

b8f828579a79e4e60bc07a897289c9b1.gif

cb75b38b09f5f5c79b30824a2baac88f.gif

一位数码管引脚图

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

SMGand74HC595.png

(329.65 KB, 下载次数: 49)

2018-7-20 21:58 上传

b8f828579a79e4e60bc07a897289c9b1.gif

cb75b38b09f5f5c79b30824a2baac88f.gif

连接图

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

实际连接图和效果.jpg

(916.86 KB, 下载次数: 201)

2018-7-20 22:17 上传

b8f828579a79e4e60bc07a897289c9b1.gif

cb75b38b09f5f5c79b30824a2baac88f.gif

实际效果图

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

0e379ed1e49c92545a92c53506f568e7.gif

2018-7-20 22:39 上传

点击文件名下载附件

945 Bytes, 下载次数: 56

ino文件

更多推荐