ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-27 08:32:57  阅读:176  来源: 互联网

标签:输出 74HC595 缓存 普中 并行 单片机 u16 u8


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 }
led8x8_74hc595.c

5 实验现象

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

参考资料

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

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

标签:输出,74HC595,缓存,普中,并行,单片机,u16,u8
来源: https://www.cnblogs.com/zclv/p/15848352.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有