移位寄存器的串行扩展技术
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 ;清串行中断标志
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