CD4094的应用电路

CD4094的应用电路

移位寄存器的串行扩展技术
CD4094在单片机系统显示中的应用

   移位寄存器的串行扩展技术是单片机串行口扩展的一种常用方法。对于MCS-51系列单片机而言,将串口置为工作方式0,串口便工作在移位寄存器方式下了。此时,单片机的RXD口作串行数据的发送/接收口,TXD口作移位脉冲输出口。利用单片机串口的这一特性,可以十分方便地扩展I/O口线,本文便是一例。通过本例,读者除了可以加深对串口工作方式0的理解外,还可以举一反三,将之用于其他需要进行I/O口扩展的场合,比如用串口扩展键盘等。
遥控数码报时闹钟
    CD4094是带输出锁存和三态控制的串入/并出高速转换器,具有使用简单、功耗低、驱动能力强和控制灵活等优点。
  CD4094的引脚定义如图1。其中{1}脚为锁存端,{2}脚为串行数据输入端,{3}脚为串行时钟端。{1}脚为高电平时,8位并行输出口Q1~Q8在时钟的上升沿随串行输入而变化;{1}脚为低电平时,输出锁定。利用锁存端可方便地进行片选和级联输出控制。{15}脚为并行输出状态控制端,{15}脚为低电平时,并行输出端处在高阻状态,在用CD4094作显示输出时,可使显示数码闪烁。{9}脚QS、{10}脚Q′S是串行数据输出端,用于级联。QS端在第9个串行时钟的上升沿开始输出,Q′S端在第9个串行时钟的下降沿开始输出。
    当CD4094电源为5 V时,输出电流大于3.2mA,灌电流为1 mA。串行时钟频率可达2.5MHz。
    1. CD4094作静态LED显示驱动器
  图2为用CD4094作驱动器的三位数码管静态显示电路略图。单片机串口工作在方式0,即移位寄存器方式。输出数据首先送到IC1,第二次输出的数据移至IC1时,先前输出数据则移到IC2,依此类推。输出三次后,在IC1、IC2、IC3的Q1~Q8口分别得到数据3、数据2、数据1。
  程序如下:(DISP为显示子程序)
   ..................

    MOV SCON,#00H  ;置串口为方式0
   ..................
    DISP: CLR    P3.7            ;输出锁存
    MOV R0,#33H        ;显示值送33H、34H、35H
    MOV R7,#03H          ;置数码管个数3
    LP:MOV A,@R0        
    MOV     DPTR,#TAB     ;置字段码表首址
    MOVC A,@A+DPTR ;查字段码表
    MOV SBUF,A            ;送字段码
    JNB     TI,$                      ;等待传送结束
    CLR     TI                         ;清串行中断标志

 


    INC     R0                         ;显缓区地址加1
    DJNZ R7,LP               ;显示数码是否取完?
    SETB     P3.7                   ;允许输出显示   
     NOP
    CLR     P3.7                     ;输出锁存
     RET     
    TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
     DB 6FH,00H
  说明:在串行口不作为其他使用,且显示的更新速度很低时,STROBE端可以始终接高;也可将P3.7口接到CD4094的{15}脚,从P3.7口输出一定频率的脉冲,使显示闪烁。
    2. CD4094作LED动态显示驱动器
    用一片CD4094作段驱动,一片CD4094作位驱动,驱动8位带小数点的数码管(见图3)。
    程序如下:(DISP为显示子程序)
    MOV SCON#00H          ;置串口为方式0
    ……
DISP:CLR    P3.7        ;输出锁存
      MOV R0,  #30H      ;显缓区首址送R0
      MOV    R4,  #08H     ;置数码管个数为8
      MOV R5,  #0FEH  ;送位码初值
LP:      MOV A, R5         ;取位码
          MOV     SBUF, A      ;送位码
      JNB    T1          ;等待传送结束
        CLR    T1          ;清串行中断标志
      MOV    A, @R0      ;取段码
      MOV DPTR, #TAB   ;置段码表首址
          MOVC A, @A+DPTR ;查段码表
          MOV     SBUF,A      ;送段码
       JNB    T1              ;等待传送结束
          CLR    T1             ;清串行中断标志


          STB    P3.7          ;允许输出显示
          LCALL DEL        ;延时1ms
          MOV A,  R5       ;取位码
          RL    A                ;位码左移一位
          MOV R5,  A
     INC    R0                 ;显缓区地址加1
          CLR    P3.7          ;输出锁存
          DJNZ R4, LP         ;8位显示完否?
          RET
DEL:  MOV R7, #02H     ;延时1ms  (fosc=12MHz)
DL:   MOV     R6,#0F8H
     DJNZ R6, $
          DJNZ R7, DL
          RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
         DB 7FH,6FH

详情登陆:http://www.wwwic.net/news/10/958.html