IO扩展(74HC595)_单片机_普中

发布时间: 2024-08-05
来源: 电子工程世界

1 介绍

1.1 74HC595芯片简述

  74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SER输入到内部的8位位移缓存器,并由QA~QH'输出,而并行输出则是在SCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。

     芯片主要功能多用为:扩展端口,减小单片机芯片端口的压力。

2 功能要求:通过 74HC595 模块控制 LED 点阵以一行循环滚动显示。

3 硬件设计:

3.1 系统框图

3.2 74HC595原理图和LED8x8原理图

4 软件设计


 1 #include "reg52.h"

 2 

 3 typedef unsigned int     u16;      //取值范围0-65535

 4 typedef unsigned char     u8;    //取值范围0-255

 5 

 6 //定义74HC595控制管脚,采用SPI通信

 7 sbit SH_CP    =    P3^6;     //移位寄存器时钟输入

 8 sbit ST_CP    =    P3^5;     //存储寄存器时钟输入

 9 sbit DS        =    P3^4;    //串行数据输入

10 // OE     = 0;            //输出使能控制端,低电平有效

11 

12 #define LED8X8_COL_PORT P0    //LED点阵列控制端口

13 u8 ghc595_buf[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};    //显示条纹设置

14 

15 //延时函数,ten_us=1时,大约延时10us

16 void delay_10us(u16 ten_us)

17 {

18      while(ten_us--);

19 }

20 

21 //延时函数,ms=1时,大约延时1ms

22 void delay_ms(u16 ms)

23 {

24       u16 i,j;

25     for(i=ms;i>0;i--)

26     {

27          for(j=110;j>0;j--);

28     }

29 }

30 

31 void hc595_wr(u8 dat)

32 {

33       u8 i=0;

34     for(i=0;i<8;i++)  //循环8次即可将一个字节写入寄存器中

35     {

36          DS=dat>>7;    //优先传输一个字节中的高位,先传高位

37         dat=dat<<1;    //将低位移动到高位

38         SH_CP=0;

39         delay_10us(1);

40         SH_CP=1;

41         delay_10us(1);//移位寄存器在时钟SH_CP上升沿将端口数据送入寄存器中

42     }

43     ST_CP=0;

44     delay_10us(1);

45     ST_CP=1;    //存储寄存器在时钟ST_CP上升沿将前面写入到寄存器的数据输出

46 }

47 

48 void main()

49 {

50      u8 i=0;

51     LED8X8_COL_PORT=0x00;

52     while(1)

53     {

54           for(i=0;i<8;i++)

55         {

56              hc595_wr(0x00);    //消除前面寄存器缓存数据

57             hc595_wr(ghc595_buf[i]);  //写入新的数据

58             delay_ms(500);      //延时500ms

59         }

60     }

61 }


5 实验现象

8*8LED点阵以一行循环滚动显示。


参考资料


(1)(79条消息) 【单片机基础篇】74HC595芯片详解_liangmaoxuan的专栏-CSDN博客_595芯片;


(2)74hc595的主要功能(74hc595引脚图及功能_工作原理及电压_典型应用电路) - 电子常识 - 电子发烧友网 (elecfans.com);

文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。