⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 595.txt

📁 74HC595在数码管上的详细应用和编程方法
💻 TXT
字号:
74HC595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。
由于占用MCU的I/o口线少,硬件结构简单,因此应用广泛。

    一。应用原理
    以点亮LED数码管显示“0”为例!见图一
   1. 并口输出: 共用P1八个口,输出用一条指令MOV P1,#3FH即可。
   2. 串并输出: 共用P1.0-P1.2三个口。但输出必须先将3FH逐位移入
                 595移位寄存器内(即串入),再锁存输出(即并出)。
                 注意:只有数据锁存后,3FH才出现在595的Q1-Q7上,
                       LED数码管显示“0”。
                 移位方式:1-1-1-1-1-1-0-0,由低到高。

    二。主要引脚
   14脚:串行数据输入端接MCU-P1.0。
   11脚:移位时钟接MCU-P1.2。
   12脚:输出锁存器的送入信号MCU-P1.1。

   三。应用三步曲

   第一步:目的:将要准备输入的位数据移入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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -