在本实例中我们使用了一片74HC595来驱动8位数码管的位选端口,下面就简单介绍一下74HC595的功能。74HC595是带锁存功能的三态输出的8位串行输入/并行输出的移位寄存器。由于它自带锁存器,所以其数据在移位寄存器中的移位与锁存器的输出是独立的,当数据移位时,可以保持锁存器输出的数据不改变,等所有8位数据全部串入完成移位操作后,一次性的将数据打入锁存器中,从而实现了并行输出的同步改变。另外该芯片可以进行级联,能够实现8Xn个并口扩展。下图是74HC595的逻辑功能表
74HC595管脚描述:
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脚):使能引脚。高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力,通常可以直接接地GND。A(14脚):数据串入引脚。74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。74HC595还具有SPI功能,但在本例中我们先不使用,我们直接用单片机的普通I/O口模拟74HC595的时序来实现数据的串入并出功能。从74HC595的逻辑功能表中我们可以分析出74HC595的工作过程:数据的串入和内部数据移位的操作由SCLK控制。SCLK的上升沿将移位寄存器中的数据由Qa向Qh依次移动一位,同时将数据线上的电平打入Qa,而最高位的数据Qh从SQh端移出。如果把SQh与另一片74HC595的数据端连接,那么SQh的串行输出就是第2片74HC595的串行数据输入,从而实现级联。74HC595在移位的过程中并不影响其锁存器的输出,移位寄存器中的数据是通过锁存端的上升沿打入到锁存器中的。正是由于74HC595具备了锁存功能,因而可以保证并行输出数据的稳定和数据同步改变的功能。经过以上分析我们可以得出74HC595控制数据输入输出的实现步骤:1、在SCLK上升沿期间将数据端串入的数据经过发送到移位寄存器中,如果需要发送8位的数据,则需要8个SCLK上升沿才能将8位数据全部输入到移位寄存器中。2、使锁存端产生一个上升沿,从而将移位寄存器中的数据打入到锁存器中并输出。本实例中8位数码管显示电路的工作原理:8位数码管的8个段选端口全部并联接到单片机的PB口上。74HC595控制8位数码管的8个位选端,当某位选通后,点亮该位的数码管,使它显示相应的数字。
因篇幅问题不能全部显示,请点此查看更多更全内容