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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
编者按:移位寄存器的串行扩展技术是单片机串行口扩展的一种常用方法。对于MCS-51系列单片机而言,将串口置为工作方式0,串口便工作在移位寄存器方式下了。此时,单片机的RXD口作串行数据的发送/接收口,TXD口作移位脉冲输出口。利用单片机串口的这一特性,可以十分方便地扩展I/O口线,本文便是一例。通过本例,读者除了可以加深对串口工作方式0的理解外,还可以举一反三,将之用于其他需要进行I/O口扩展的场合,比如用串口扩展键盘等。4 U3 P$ m+ ^$ Z) F: H
遥控数码报时闹钟
$ H! q9 J  H& P% b1 c; ?+ g    CD4094是带输出锁存和三态控制的串入/并出高速转换器,具有使用简单、功耗低、驱动能力强和控制灵活等优点。
! N" v: z5 I+ ?: p  T* @  CD4094的引脚定义如图1。其中{1}脚为锁存端,{2}脚为串行数据输入端,{3}脚为串行时钟端。{1}脚为高电平时,8位并行输出口Q1~Q8在时钟的上升沿随串行输入而变化;{1}脚为低电平时,输出锁定。利用锁存端可方便地进行片选和级联输出控制。{15}脚为并行输出状态控制端,{15}脚为低电平时,并行输出端处在高阻状态,在用CD4094作显示输出时,可使显示数码闪烁。{9}脚QS、{10}脚Q′S是串行数据输出端,用于级联。QS端在第9个串行时钟的上升沿开始输出,Q′S端在第9个串行时钟的下降沿开始输出。& G, u6 P  H! B: h% L* G% N
    当CD4094电源为5 V时,输出电流大于3.2mA,灌电流为1 mA。串行时钟频率可达2.5MHz。) C6 X0 C: ^1 V- ]# s) x+ c
    1. CD4094作静态LED显示驱动器
4 S; U5 }+ r" d; }' _  图2为用CD4094作驱动器的三位数码管静态显示电路略图。单片机串口工作在方式0,即移位寄存器方式。输出数据首先送到IC1,第二次输出的数据移至IC1时,先前输出数据则移到IC2,依此类推。输出三次后,在IC1、IC2、IC3的Q1~Q8口分别得到数据3、数据2、数据1。1 X" w4 q' t$ q# S
  程序如下:(DISP为显示子程序)
/ h% f) t/ r( o  ^+ q5 w0 S   ..................) M& H8 i& o* s2 @# p
  MOV SCON,#00H  ;置串口为方式07 j3 e5 O" V; [4 w
   ..................
0 o/ K0 A! W- tDISP: CLR    P3.7            ;输出锁存
! ]- N1 K  b  I9 U7 |      MOV R0,#33H        ;显示值送33H、34H、35H$ \3 u9 }9 D0 F% K
      MOV R7,#03H          ;置数码管个数3; P2 V* V/ P5 S+ ~
LP:MOV A,@R0        ' W  o: ~6 J( y" d7 G3 V/ M9 o; r
      MOV     DPTR,#TAB     ;置字段码表首址& A/ i1 v' \7 A8 D3 @7 ?
       MOVC A,@A+DPTR ;查字段码表/ W3 R+ P6 I8 O  z- L3 B- A
      MOV SBUF,A            ;送字段码
  [" F* c: a/ `9 Y# q2 L: ?" l* O         JNB     TI,$                      ;等待传送结束
& ^5 W0 Q4 E5 h( Y) x( G         CLR     TI                         ;清串行中断标志
( b( U- p8 \7 y) U/ H0 S         INC     R0                         ;显缓区地址加1
; t+ Z* }9 L6 B  w& D         DJNZ R7,LP               ;显示数码是否取完?
3 W& o  Q' p* u5 c5 M9 r5 l5 l' N         SETB     P3.7                   ;允许输出显示   
. H! a' B0 X+ O         NOP
9 c: l/ H: j# O/ X0 W8 b         CLR     P3.7                     ;输出锁存
) L" h/ ]$ }4 l1 X$ ?         RET     # C6 D6 J* P, j/ U8 r
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH! {9 t1 i# p8 G$ K
     DB 6FH,00H
' i+ Y0 A" ?9 ~, C  说明:在串行口不作为其他使用,且显示的更新速度很低时,STROBE端可以始终接高;也可将P3.7口接到CD4094的{15}脚,从P3.7口输出一定频率的脉冲,使显示闪烁。3 T1 N6 l% ?) H1 e
    2. CD4094作LED动态显示驱动器
$ }5 t. w& O3 Y2 c2 h    用一片CD4094作段驱动,一片CD4094作位驱动,驱动8位带小数点的数码管(见图3)。: ^. ^$ C. {9 N9 Q; T3 E3 x
    程序如下:(DISP为显示子程序)* N( H2 J& E0 G
    MOV SCON#00H          ;置串口为方式0
1 {$ ?; @: ]4 X; [% P    ……
0 t5 v7 U! E& u. ~. u* hDISP:CLR    P3.7        ;输出锁存( L: h7 P' q+ a
      MOV R0,  #30H      ;显缓区首址送R0
6 j8 M0 J. f" l, s6 ?5 j( c      MOV    R4,  #08H     ;置数码管个数为8
( s$ R+ x: k, X+ W# O& n      MOV R5,  #0FEH  ;送位码初值0 |  U3 c- R. H, f8 E
LP:      MOV A, R5         ;取位码+ k: K; C. U) Q  Z
          MOV     SBUF, A      ;送位码
" Z! Q1 z# S$ C6 s% E      JNB    T1          ;等待传送结束$ p% h, ~# R9 F, Z3 ]
        CLR    T1          ;清串行中断标志- s1 m% S% X3 z( n, v# E
      MOV    A, @R0      ;取段码& ]9 a$ A& ^8 y4 H+ g6 j5 V- O
      MOV DPTR, #TAB   ;置段码表首址0 R, T( J0 {& n
          MOVC A, @A+DPTR ;查段码表# {) c: M+ _$ d4 g. J2 Q+ J( ^
          MOV     SBUF,A      ;送段码
% q1 D7 _7 X6 M$ y5 o3 b% V       JNB    T1              ;等待传送结束
' t% e/ \* {& w% c0 w" ^9 T          CLR    T1             ;清串行中断标志! t9 O* x  W$ X4 }/ v
          STB    P3.7          ;允许输出显示) l) t1 u: i. U8 H- [
          LCALL DEL        ;延时1ms% ?- v& x+ s7 w+ ^. k
          MOV A,  R5       ;取位码' i4 `$ o( \/ S, A1 X1 l$ `3 w
          RL    A                ;位码左移一位5 T' T4 b+ s0 e3 _+ B" s& z  `, K
          MOV R5,  A
& g$ F* N% f$ n7 H6 R2 L     INC    R0                 ;显缓区地址加1
* x# ~% F+ w2 B( e! S3 d+ Q          CLR    P3.7          ;输出锁存: A6 {% C6 {2 J8 u* ~7 H
          DJNZ R4, LP         ;8位显示完否?
4 a) Q  a" }+ p2 i6 [          RET
' i5 p' A  X3 n  {* mDEL:  MOV R7, #02H     ;延时1ms  (fosc=12MHz): S5 i3 F  o) I: n: U. @0 C
DL:   MOV     R6,#0F8H
/ d7 |8 T) O5 x) B6 t     DJNZ R6, $
" B6 X( K' ^5 f$ @( {% \$ d          DJNZ R7, DL
3 Q+ o. e& o! h' s. O: S# `. v          RET. H- n% J; D* R: ?* Q) y
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
8 F" E( O/ J' h" N  D0 s         DB 7FH,6FH

该用户从未签到

2#
发表于 2016-8-16 09:31 | 只看该作者
路过捧场,谢谢分享!
' E% l. v2 S7 j; A1 m
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-19 22:49 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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