找回密码
 注册
关于网站域名变更的通知
查看: 1590|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-8-15 14:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
编者按:移位寄存器的串行扩展技术是单片机串行口扩展的一种常用方法。对于MCS-51系列单片机而言,将串口置为工作方式0,串口便工作在移位寄存器方式下了。此时,单片机的RXD口作串行数据的发送/接收口,TXD口作移位脉冲输出口。利用单片机串口的这一特性,可以十分方便地扩展I/O口线,本文便是一例。通过本例,读者除了可以加深对串口工作方式0的理解外,还可以举一反三,将之用于其他需要进行I/O口扩展的场合,比如用串口扩展键盘等。
" u% V- Z* h  |/ V: R遥控数码报时闹钟$ n1 P4 I2 I6 w( u1 b! K
    CD4094是带输出锁存和三态控制的串入/并出高速转换器,具有使用简单、功耗低、驱动能力强和控制灵活等优点。) m& H9 M$ H( t8 A; ]2 j9 n
  CD4094的引脚定义如图1。其中{1}脚为锁存端,{2}脚为串行数据输入端,{3}脚为串行时钟端。{1}脚为高电平时,8位并行输出口Q1~Q8在时钟的上升沿随串行输入而变化;{1}脚为低电平时,输出锁定。利用锁存端可方便地进行片选和级联输出控制。{15}脚为并行输出状态控制端,{15}脚为低电平时,并行输出端处在高阻状态,在用CD4094作显示输出时,可使显示数码闪烁。{9}脚QS、{10}脚Q′S是串行数据输出端,用于级联。QS端在第9个串行时钟的上升沿开始输出,Q′S端在第9个串行时钟的下降沿开始输出。! m" @* @  k/ ^' k/ k
    当CD4094电源为5 V时,输出电流大于3.2mA,灌电流为1 mA。串行时钟频率可达2.5MHz。
8 }( ]9 Y6 f! v, e    1. CD4094作静态LED显示驱动器
! X+ C% w5 e+ \# @4 }# K: L  图2为用CD4094作驱动器的三位数码管静态显示电路略图。单片机串口工作在方式0,即移位寄存器方式。输出数据首先送到IC1,第二次输出的数据移至IC1时,先前输出数据则移到IC2,依此类推。输出三次后,在IC1、IC2、IC3的Q1~Q8口分别得到数据3、数据2、数据1。- t. }! q! j5 m) \6 w- i' j9 {
  程序如下:(DISP为显示子程序)2 P0 k0 U7 Q& w* r! Z$ Q) m& h
   ..................
* _( V. {* e) F3 n  MOV SCON,#00H  ;置串口为方式03 E1 t' n# o% k0 I5 m" y3 i2 j* e
   ..................
# ^: G" F; G0 ^5 N& g4 \DISP: CLR    P3.7            ;输出锁存  |, A4 o. y; x1 Z/ Y
      MOV R0,#33H        ;显示值送33H、34H、35H/ c" k/ b' m  L* _
      MOV R7,#03H          ;置数码管个数38 Y+ l) t. z* h' A
LP:MOV A,@R0        
; m/ v, m$ R! W+ U5 y& t9 O      MOV     DPTR,#TAB     ;置字段码表首址
( W8 x6 ?6 o3 o       MOVC A,@A+DPTR ;查字段码表4 x4 ~$ ^5 s: [$ W2 t! P# C4 V& N
      MOV SBUF,A            ;送字段码$ r. I3 H- K" ?; R7 R' j
         JNB     TI,$                      ;等待传送结束
! _$ Q# k* B  p         CLR     TI                         ;清串行中断标志
7 z5 g. h4 K8 X         INC     R0                         ;显缓区地址加1" t1 a9 J, h2 W( ^
         DJNZ R7,LP               ;显示数码是否取完?
: Z) P; C1 j/ a         SETB     P3.7                   ;允许输出显示   
6 b  d! A9 o: x8 f0 f6 g         NOP & S, l3 Z/ u* H- t9 Z6 I
         CLR     P3.7                     ;输出锁存
! [& h3 A+ `/ u/ I' r         RET     
8 ?3 D5 F  g& F, l7 lTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
$ I$ b# x  M$ {" v( V     DB 6FH,00H
0 o/ g; O# _" m  a. z+ R/ s: V+ ?% R  说明:在串行口不作为其他使用,且显示的更新速度很低时,STROBE端可以始终接高;也可将P3.7口接到CD4094的{15}脚,从P3.7口输出一定频率的脉冲,使显示闪烁。( h  B3 |" R& o( {, o- P$ ~; X% ]" V
    2. CD4094作LED动态显示驱动器
3 X+ U1 t' V7 N9 Q0 S    用一片CD4094作段驱动,一片CD4094作位驱动,驱动8位带小数点的数码管(见图3)。
! `( ~' L5 q. ]# K5 }    程序如下:(DISP为显示子程序)
) f6 ^+ W2 O+ B, x    MOV SCON#00H          ;置串口为方式00 P  g3 {) R& b: _: h( C& N/ z
    ……( b+ d: D7 f5 K- E$ i
DISP:CLR    P3.7        ;输出锁存$ h8 d* a( [. m
      MOV R0,  #30H      ;显缓区首址送R0$ j6 ~* ^' }3 |2 C. r" C, M, L$ Q) c
      MOV    R4,  #08H     ;置数码管个数为8# i2 z1 y, i# O' I2 l
      MOV R5,  #0FEH  ;送位码初值
- N, v# O: g  \2 GLP:      MOV A, R5         ;取位码
  n6 o; ~( c# D; [7 u4 U          MOV     SBUF, A      ;送位码  D, B5 _( K, ]0 T% P, c2 p
      JNB    T1          ;等待传送结束8 `  U9 |& Y8 l7 @( u, i- j
        CLR    T1          ;清串行中断标志
& }+ H5 g- y' K$ _' e1 R      MOV    A, @R0      ;取段码2 Q! X1 `/ J2 S' y; K
      MOV DPTR, #TAB   ;置段码表首址- R2 a* d- P3 N
          MOVC A, @A+DPTR ;查段码表9 u8 _$ I0 ^4 F- i8 K9 S' O
          MOV     SBUF,A      ;送段码4 P% V4 L9 V& C/ g. y' k& q$ R" P5 k
       JNB    T1              ;等待传送结束
: K+ X1 f  u$ K( H3 g          CLR    T1             ;清串行中断标志& }; T2 T  d1 u1 Z8 G
          STB    P3.7          ;允许输出显示
  g, E( c9 ^  F4 {; o          LCALL DEL        ;延时1ms
/ A# m  Q& [3 k- A) c( _! c8 y7 N          MOV A,  R5       ;取位码: T/ ]. `; u) Y. N8 j+ z
          RL    A                ;位码左移一位
. _1 u/ ]( ?; ^0 F          MOV R5,  A
& e+ |( r7 }8 d3 ]     INC    R0                 ;显缓区地址加15 w& e( U2 [' ]6 X6 F* n6 @% z
          CLR    P3.7          ;输出锁存
. S6 f, x4 @8 T& G, t          DJNZ R4, LP         ;8位显示完否?
6 v+ t- n% X4 Z" L- r+ W+ s, H          RET
0 R2 o8 O. K) B- U  j) \DEL:  MOV R7, #02H     ;延时1ms  (fosc=12MHz)8 v( ?) S/ g' r& y) g2 K
DL:   MOV     R6,#0F8H. g, ^; {% X. n2 P3 L
     DJNZ R6, $
( \5 G- {$ ^# |! y4 U* o. s: _          DJNZ R7, DL; e$ k( p3 O. i% F
          RET- d  b' V  t/ o3 N9 y
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
. b- m& W, Y( o5 ^: O1 R         DB 7FH,6FH

该用户从未签到

2#
发表于 2016-8-16 09:31 | 只看该作者
路过捧场,谢谢分享!
* \  G7 `. e0 D7 x% i, [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 19:42 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表