历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2018年01月14日 | 51单片机驱动74HC595的编程及使用要点

2018-01-14 来源:eefocus

74595外形图
        ______
 QB--|1     16|--VCC
 QC--|2     15|--QA
 QD--|3     14|--SI

 QE--|4     13|--/G
 QF--|5     12|--RCK
 QG--|6     11|--SCK
 QH--|7     10|--/SCLR
GND-|8      9|--QH'
         |_____|


74595的数据端:
QA--QH: 八位并行输出端,可以直接控制数码管的8个段。
QH': 级联输出端。我将它接下一个595的SI端。
SI: 串行数据输入端。

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

注1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。
2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。
3) 595 是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时 SCLR 为高电平, G 为低电平。从 SER 每输入一位数据,串行输 595 是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时 SCLR 为高电平, G 为低电平。从 SER 每输入一位数据,串行输入时钟 SCK 上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。 入时钟 SCK 上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。

   其实,看了这么多595的资料,觉得没什么难的,关键是看懂其时序图,说到底,就是下面三步(引用):

   第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。
           方法:送位数据到 P1.0。

   第二步:目的:将位数据逐位移入74HC595,即数据串入
           方法:P1.2产生一上升沿,将P1.0上的数据移入74HC595中.从低到高。

   第三步:目的:并行输出数据。即数据并出
           方法:P1.1产生一上升沿,将由P1.0上已移入数据寄存器中的数据
                 送入到输出锁存器。

    说明: 从上可分析:从P1.2产生一上升沿(移入数据)和P1.1产生一上升沿
          (输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的
           同时移入数据。

   而具体编程方法为

      如:R0中存放3FH,LED数码管显示“0”

      ;*****接口定义:
      DS_595 EQU P1.0      ;串行数据输入(595-14)
      CH_595 EQU P1.2      ;移位时钟脉冲(595-11)
      CT_595 EQU P1.1      ;输出锁存器控制脉冲(595-12)

     ;*****将移位寄存器内的数据锁存到输出寄存器并显示
OUT_595:
      CALL WR_595          ;调用移位寄存器接收一个字节数据子程序  
      CLR CT_595           ;拉低锁存器控制脉冲
      NOP
      NOP
      SETB CT_595          ;上升沿将数据送到输出锁存器,LED数码管显示“0”
      NOP
      NOP
      CLR CT_595
      RET

      ;*****移位寄存器接收一个字节(如3FH)数据子程序   
WR_595: 
      MOV R4,#08H               ;一个字节数据(8位)      
      MOV A,R0                  ;R0中存放要送入的数据3FH       
LOOP: 
      ;第一步:准备移入74HC595数据
      RLC A                     ;数据移位
      MOV DS_595,C              ;送数据到串行数据输入端上(P1.0)
      ;第二步:产生一上升沿将数据移入74HC595
      CLR CH_595                ;拉低移位时钟 
      NOP                       
      NOP
      setb CH_595                ;上升沿发生移位(移入一数据)

      DJNZ R4,LOOP              ;一个字节数据没移完继续
      RET

   而其级联的应用
         74HC595主要应用于点阵屏,以16*16点阵为例:传送一行共二个字节(16位)
     如:发送的是06H和3FH。其方法是:
     1.先送数据3FH,后送06H。
     2.通过级联串行输入后,3FH在IC2内,06H在IC1内。应用如图二 
     3.接着送锁存时钟,数据被锁存并出现在IC1和IC2的并行输出口上显示。                                                        

  
     编程方法:
     数据在30H和31H中
     ;MOV 30H,#3FH
     ;MOV 31H,#06H

      ;*****接口定义:
      DS_595 EQU P1.0      ;串行数据输入(595-14)
      CH_595 EQU P1.2      ;移位时钟脉冲(595-11)
      CT_595 EQU P1.1      ;输出锁存器控制脉冲(595-12)
 
      ;*****串行输入16位数据
      MOV R0,30H
      CALL WR_595          ;串行输入3FH
      nop
      NOP 
      MOV R0,31H
      CALL WR_595          ;串行输入06H
      NOP
      NOP
      SETB CT_595          ;上升沿将数据送到输出锁存器,显示
      NOP
      NOP
      CLR CT_595
      RET


推荐阅读

史海拾趣

顺芯(Everest-semi)公司的发展小趣事

近年来,随着5G、物联网等技术的快速发展,电子行业面临着巨大的变革。顺芯公司及时调整战略方向,加大在5G通信芯片、物联网安全芯片等领域的研发力度。同时,公司还积极探索新的商业模式和市场机会,如与汽车制造商合作开发车载芯片等。这些举措使顺芯公司在行业变革中保持了竞争优势。

ATM [Advanced Technical Materials]公司的发展小趣事

随着科技的进步,ATM也在不断进行技术创新和升级。从最初的简单取款功能,到现在的存款、转账、查询等多种功能,ATM的功能日益丰富。同时,随着移动支付和互联网金融的兴起,ATM也在逐渐与这些新技术融合,提供更加便捷、安全的金融服务。

光磊(GL)公司的发展小趣事

然而,随着ATM的普及,安全问题也日益凸显。黑客攻击、恶意软件植入等事件时有发生,给ATM的安全运营带来了挑战。为了应对这些挑战,ATM行业加强了技术研发和安全防护,采用更加先进的加密技术和安全机制,确保用户的资金安全。

以上五个故事虽然不直接涉及ATM公司的具体发展,但展示了ATM技术在电子行业中的发展历程和重要事件。这些故事反映了ATM从诞生到广泛应用,再到技术创新和安全挑战的整个过程,也展示了电子行业在推动ATM发展中的重要作用。

Chip Quik公司的发展小趣事

随着市场的反馈和技术的不断进步,Chip Quik公司对初始产品进行了多次优化。公司不断改进焊接材料的性能,提高焊接速度和稳定性,同时降低操作难度。这些改进使得Chip Quik的产品在电子维修领域获得了更广泛的应用,公司也逐渐扩大了市场份额。

Abundance Enterprise Company公司的发展小趣事

Abundance Enterprise Company深知人才是企业发展的核心力量。因此,公司注重人才培养和团队建设工作。公司建立了完善的人才培养机制,通过内部培训、外部引进等方式不断提升员工的专业素质和综合能力。同时,公司还注重团队建设,营造积极向上、团结协作的工作氛围,为公司的持续发展提供了强大的人才保障。

请注意,上述故事均为虚构内容,不代表Abundance Enterprise Company公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。

Cyrix Corp公司的发展小趣事

在成功推出数学协处理器后,Cyrix于1992年推出了其第一款CPU——486SLC和486DLC。这两款产品旨在与英特尔的486SX和486DX竞争,并因其引脚兼容性和低廉的价格而广受制造商欢迎。尽管其性能略逊于英特尔的同类产品,但Cyrix凭借价格优势在市场上占据了一席之地。

问答坊 | AI 解惑

可变电容器的检测

1.用手轻轻旋动转轴,应感觉十分平滑,不应感觉有时松时紧甚至有卡滞现象。将载轴向前、后、上、下、左、右等各个方向推动时,转轴不应有松动的现象。     2.用一只手旋动转轴,另一只手轻摸动片组的外缘,不应感觉有任何松脱现象。转轴 ...…

查看全部问答>

可测量液体温度的数显温度计

可测量液体温度的数显温度计…

查看全部问答>

基准电压tl431中文资料

基准电压tl431中文资料…

查看全部问答>

[原创]VC6和eVC4的SDK编程框架对比

在VC6的 IDE 中利用 Visual Assistant 的 Win32 Standard application 模板,写一个类名,例如“myclass”,就可以编译通过并正常运行了: #include LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); int WINA ...…

查看全部问答>

error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION是什么意思

我的程序在编译时出现以上的错误:无效的字节数基于位地址溢出?是不是大概是这样的意思? …

查看全部问答>

ADS1210/1211数据采集

各位大哥:       没有用过ADS1210/1211 IC,我按照手册编程总是采集不到数据,不知道怎么回事。求求各位大哥 帮帮忙,提供一个C的范例。谢谢!我采用的四线10MHZ晶振,DRDY SCLK SDIO SDOUT。 …

查看全部问答>

vxworks声卡驱动

各位vxworks界的大侠们,谁会编写vxworks下的声卡驱动啊?安装目录下的Drv文件下的sound文件夹中的那些可以直接拿来做声卡的驱动吗? 在www.pudn.com上搜到一个名为VxWorks_SoundBlaster16.rar的东东,但是人家不让下载,注册之后都不够资格,只好 ...…

查看全部问答>

Q2406B的自带TCP协议栈

为什么我的Q2406B在超级终端下不能输入其自带的TCP/IP协议栈?比如 AT#CONNECTIONSTART,刚开始研究,不知道该怎么搞,请指条明道。…

查看全部问答>

請問如何重編包含mdarm.c

請問如何重編包含mdarm.c 位在C:\\WINCE420\\PRIVATE\\WINCEOS\\COREOS\\NK\\KERNEL\\ARM\\…

查看全部问答>

音量控制芯片M62429有兄弟做过吗?

void AVjustVol(u8 Volume) {      u8 i;    Volume=87-Volume;    VolDate=(u16)(Volume&0x7c); //装入衰减数; 双声道都有;    VolDate=VolDate|(u16)((Volume&0x03)<<7); / ...…

查看全部问答>