我们都知道通信从大的方面有两种:串行和并行。串行的最大优点是占用总线少,但是传输速率低;并行恰恰相反,占用总线多,传输速率高。市面上有很多这样的芯片,有串入并出的(通俗讲就是 一个一个进,最后一块出来),有并入串出的(相对前者而言)。具体用哪种类型要根据我们得实际情况。比如利用单片机显示数码管单纯的显示一个数码管如果仅仅是为了显示 那么动用单片机一个端口(如P0或P1/P2/P3)那没有什么,当然这里我说的数码管是8段的(如果利用BCD类型 16进制数码管那么只需四个即可)就拿51类型的单片机来说,总共32个I/O口,一般如果不是做太大的工程是完全够用的,但有些时候你会恨单片机怎么不多长几条“腿”,怎么省还是不够用。这个时候就需要用到并转串或者串转并芯片来进行IO口的扩展,74HC595就是一种串行转并行的芯片。

74HC595芯片特点

8位串行输入 
8位串行或并行输出 
存储状态寄存器,三种状态 
输出寄存器可以直接清除 
100MHz的移位频率

输出能力

串行输出:标准 中等规模集成电路

并行输出:总线驱动

应用 
串行到并行的数据转换 
Remote control holding register.,远程控制保持寄存器
描述 
595是高速的硅结构的CMOS器件, 
兼容低电压TTL电路,遵守JEDEC标准。 
595是具有8位移位寄存器和一个存储器,IO口有三态输出功能,即IO口电平有高电平、低电平、高阻态三态。 
移位寄存器和存储器使用各自的时钟。

芯片引脚定义图

引脚说明:

QA--QH(1-7,15引脚):8个并行输出引脚

GND(8引脚):地引脚

Q'H(9引脚):串行输出引脚

/SCLR(10脚): 低点平时将移位寄存器的数据清零。通常我将它接Vcc。
SCK(11脚):上升沿时数据寄存器的数据移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。) 
RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。
/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。

SER(14引脚):串行输入引脚

芯片真值表:

芯片时序图:

芯片功能介绍:

74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器使用分别的时钟。
数据在SCK的上升沿输入,在RCK的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 
   移位寄存器有一个串行移位输入(SER),和一个串行输出(QH’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能/G时(为低电平),存储寄存器的数据输出到总线。

补充说明:

74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。与164只有数据清零端相比,595还多有输出端时能/禁止控制端,可以使输出为高阻态。另外,据网上报价,贴片164每只1元钱,贴片595 0.8元/只。

74HC595电路图:

实际物理电路接线图:

74HC595旁边的短接片一定要接上,不然74HC595无法正常工作。

示例程序如下:

   #include "reg52.h"#include "intrins.h"typedef unsigned char u8;typedef unsigned int u16;#define GPIO_LED P0sbit SRCLK = P3^6;//SCK引脚sbit RCLK1 = P3^5;//RCK引脚sbit SER = P3^4;//SER引脚void delay(u16 i) //延时函数
{while(i --);
}void Hc595SendByte(u8 dat) //595芯片将串行数据转换为并行数据{u8 a;for(a = 0; a < 8; a ++) //8位数据依次转换{SER = dat >> 7; //先将最高位转换dat <<=1;  //然后数据左移,次高位成为最高位,循环操作,将8位数据依次传入芯片串行输入SRCLK = 0;//移位时钟低电平_nop_();_nop_();SRCLK = 1;//移位时钟高电平,数据会在移位时钟上升沿进行移位}RCLK1 = 0; //存储时钟低电平_nop_();_nop_();RCLK1 = 1;//存储时钟高电平,数据会在存储时钟上升沿进行存储}void main(){u8 ledNum;ledNum = 0x01;//初始串行数据while(1){Hc595SendByte(ledNum); //将串行数据发送给595芯片,595芯片并行数据与8位发光二极管相连,会点亮相应的发光二极管ledNum = _crol_(ledNum, 1);//将串行数据进行左移,变换串行数据。delay(50000);}}

51单片机之IO口扩展——74HC595芯片串行转并行实验相关推荐

  1. 51单片机之IO口扩展——74HC165芯片并行转串行实验

    我们都知道通信从大的方面有两种:串行和并行.串行的最大优点是占用总线少,但是传输速率低:并行恰恰相反,占用总线多,传输速率高.市面上有很多这样的芯片,有串入并出的(通俗讲就是 一个一个进,最后一块出来 ...

  2. IO口扩展 74HC595芯片

    74HC595芯片目的:扩展IO口数量(一个芯片扩展8个IO口) 上面是A2-A4的芯片,下面是A5-A6的芯片,其中右端的QA--->QH'连接LED8*8点阵的A1-A8 A2-A4 上半部 ...

  3. 51单片机的io口可不可以接gnd_纯干货!简析单片机中的高阻态

    在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态. 对这个问题可能感到疑惑,为什么是高阻态?加上拉电阻?今天针对这一概念进行简单讲解.高阻态 高阻态这是一个数字电路里常 ...

  4. 51单片机的IO口和寄存器

    当我们拿到一块单片机时,我们首先看到的是他的外观,就像下边这样的: 当然对于51单片机来说,最常用的还是第一种样式的,这种叫做PDIP封装.在单片机上有很多小针(管脚),这些就是单片机用来输出数据,控 ...

  5. 【51单片机】串行通信,采用中断,串行口方式3,甲机发送,乙机接收:接收数据通过七段数码管显示。

    实验要求:甲.乙双机通过串行口进行连接,采用中断方式,编写串行口方式3下的甲.乙双机发送与接收程序. 甲机发送:发送数据存放在数组TRA[16]里面. 乙机接收:接收数据通过一个七段数码管进行显示.晶 ...

  6. 单片机IO口扩展方法

    单片机IO口扩展方法 1.使用分压电阻分压,然后用单片机的ADC端口读取不同的电压值.适合应用于多个按键的方案,需要多个输入端口,导致GPIO不够用的情况. 使用串入并出芯片(serial-in, p ...

  7. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

    8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...

  8. 51单片机74ls273并行输出地址c语言程序,51单片机I/O口的扩展问题:使用 锁存器74LS273连接后还是只有8个端口,为什么说是扩展呢?...

    满意答案 a26264679 2014.04.21 采纳率:44%    等级:8 已帮助:313人 用8255扩展之后就是PA,PB,PC了,怎么还会只有8个端口呢? 用8255扩展51单片机 I/ ...

  9. 利用CD4051模拟开关芯片实现IO口扩展

    利用CD4051模拟开关芯片实现IO口扩展 1.CD4051介绍 详细信息参考:TI CD4051 Datasheet 可将其理解为单刀8掷开关,原理如图: 用三个IO控制A,B,C地址脚,可实现3脚 ...

最新文章

  1. Hibernate QBC 分页
  2. Flink SQL 功能解密系列 —— 解决热点问题的大杀器MiniBatch
  3. 二维vector的声明和初始化
  4. java 正则 懒惰_正则表达式懒惰模式
  5. algorithm头文件函数全集——史上最全,最贴心
  6. 论文浅尝 | 中科院百度微软等学者最新综述论文40+最新方法阐述知识图谱提升推荐系统准确性与可解释性...
  7. 谁是对象谁是类?你搞清楚了吗?
  8. 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题的一点思考
  9. Mysql安装的目录结构详解
  10. UVA - 10534
  11. MFC中获取各个窗口(对话框)之间的指针、对象、句柄
  12. 阿里云手机号短信设置
  13. android模拟器脚本,安卓模拟器脚本制作工具
  14. 中文正版Unity下载
  15. 微信小程序之网易云音乐小案例
  16. 谷歌浏览器,退出时;调用退出的方法,vue
  17. 7款免费发短信软件,看看哪一款适合你
  18. 【TypeScript】必学基础
  19. 浅述容器和容器镜像的区别
  20. Win10企业版系统如何连接局域网共享打印机?五步即可。

热门文章

  1. 上交大网安研究研究方向介绍
  2. 计算机默认网关的作用,默认网关的作用 | 192.168.1.1手机登陆
  3. Ideal比较好用、常用的快捷键
  4. 讨论SQLite数据库损坏与修复
  5. linux网络编程之accept
  6. Fiddler修改实验
  7. PG宝洁公司八大经典面试问题(附参考答案)
  8. 要去实习了...郁闷
  9. mysql deallocate,MySQL中prepare与execute以及deallocate预处理语句的使用教程
  10. 搜狗王小川说输入法的未来是自动问答,那么这个技术究竟发展得怎么样了?...