8位移位寄存器|8位移位寄存器原理图( 三 )


静态显示:所谓的静态显示 , 是由单片机一次输出显示后 , 就能保持 , 直到下次送新的显示模型为止 。这种显示占用机时少 , 显示可靠;缺点是使用元件多 , 且线路比较复杂 , 因而成本比较高 。但是随着大规模集成电路的发展 , 目前已经研制出具有多种功能的显示器件 。例如:锁存器 , 译码器、驱动器、显示器四位一体的显示器件 , 用起来比较方便 。当显示位数较少时 , 采用这种显示方式是合适的 。这种显示方式的每一个七段显示器需要一个8位输出口控制 。
动态显示:所谓的动态显示 , 就是单片机定时地对显示器件扫描 。在这种方法中 , 显示器件分时工作 , 每次只能有一个器件显示 , 但由于认得视觉暂留现象 , 所以仍感觉到所有的器件都在"同时"显示 。这种显示方法的优点是使用硬件少 , 因而价格低;但占用机时多 , 只要单片机不执行显示程序就立刻停止显示 。动态显示的亮度与导通电流有关 , 与点亮时间和间隔的比例有关 。许多单片机的开发系统及仿真器上的6位显示器即采用这类显示方法[2] 。
3.2.2 74LS164芯片简介 74LS164是8位移位寄存器(串行输入 , 并行输出) , 它的作用是将串行信号转换为并行信号 。当清除端(CLEAR)为低电平时 , 输出端(QA-QH)为低电平 。串行数据输入端(A , B)可控制数据 。当 A、B 任意一个为低电平 , 则禁止新数据输入 , 在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平[3] 。当 A、B 有一个为高电平 , 则另一个就允许输入数据 , 并在 CLOCK 上升沿作用下决定 Q0 的状态 。
表1: 164为8位移位寄存器,其主要电特性的典型值如下:
8位移位寄存器|8位移位寄存器原理图


74LS164的引脚图和逻辑图如下所示:
8位移位寄存器|8位移位寄存器原理图
图3 74LS164封装引脚图
8位移位寄存器|8位移位寄存器原理图
图3 74LS164封装引脚图
表2: 74HC164引出端符号及功能
8位移位寄存器|8位移位寄存器原理图


表3: 74LS164真值表
8位移位寄存器|8位移位寄存器原理图


注:H-高电平 , L-低电平 , X-任意电平 , ↑-低到高电平跳变 ,  QA0,QB0,QH0 -规定的稳态条件建立前的电平 , QAn, QGn -时钟最近的↑前的电平[6] 。
表4: 74HC164推荐工作条件:
8位移位寄存器|8位移位寄存器原理图


3.2.4 显示电路设计 为了保证显示的可靠性 , 本单片机控制系统采用静态显示 。本设计采用的是通过连接74LS164移位寄存器实现LED的静态显示 , 这样可以使CPU将数据送来后就由74LS164控制 , 减少了CPU的工作 。采用的数码显示管是采用共阳极的接法 , 电源电压为5V 。AT89C51单片机串行口方式为移位寄存器方式[7] , 外接10片74LS164作为LED显示器的静态接口 , 把AT89C51的P0口和P2口作为数据输出线 , P0.1和P2.4作为移位时钟脉冲 。
下图示出了AT89C51通过74LS164对十个共阳LED的接口电路 。图中 , Q0~Q7口和所有LED的a , b , c , d , e , f , g , SP引线相连 , 用于字型显示 , 其余引脚用于接通数据和电源等 。此显示部分有两个功能 , 分别是显示时间和显示两队的比分 。显示时间用四个LED , 两个为分钟位 , 其余两个为秒钟位;采用十进制 , 最高显示99.59 , 精确到小数点后两位;显示两队比分用六个LED , 采用十进制 , 最高分为999分 。
AT89C51是通过P0.0~P0.5和74LS164相连的 , 10 个74LS164移位寄存器按照比分和时间的不同用途一共分为两组 , P0.0口为比分数据输出口 , 为74LS164提供显示数据 , P0.1口为移位寄存器时钟输入 , P0.2为比分同步清除输入端[8];P0.3为时间数据输出口 , 为74LS164提供显示时间数据 , P0.4口也为移位寄存器时钟输入 , P0.2为时间同步清除输入端 。
在这个静态显示电路中 , 数据的输入和保存是通过74LS164的寄存器和锁存器实现的 , 这样LED就可以实现一遍一遍的显示 , 能将新的数据显示而替换上一级的数据 。