一、CD4094功能介绍
CD4094是带输出锁存和三态控制的串入/并出高速转换器,具有使用简单、功耗低、驱动能力强和控制灵活等优点。其引脚图如图1所示。
(1)脚为锁存端;
(2)脚为串行数据输入端;
(3)脚为串行时钟端;
(4)-(7)端为并行输出端Q1-Q4;
(11)-(14)端为并行输出端Q5-Q8;
(9)脚QS、(10)脚Q'S是串行数据输出端,用于级联。QS端在第9个串行时钟的上升沿开始输出,Q'S端在第9个串行时输出。

图1 CD4094引脚配置图
CD4094真值表如表1所示,Strobe脚为高电平时,8位并行输出口Q1~Q8在时钟的上升沿随串行输入而变化;Strobe脚为低电平时,输出锁定。利用锁存端可方便地进行片选和级联输出控制。
表1 CD4094真值表

图2为CD4094的内部逻辑图。

图2 CD4094内部逻辑图
二、Proteus电路图设计
图3为CD4094的Proteus仿真电路图,用MCS-51的P2.0、P2.1、P2.2与每片CD4094的DATA脚、CLOCK脚、STROBE脚相连,CD4094的Q0-Q7与一个LED数码管相连,U2的QS端级联U3的DATA端,以此类推。

图3 CD4094仿真电路图
三、程序设计
本文的程序设计非常简单,设计目标是让四个LED数码管由上至下依次显示数字“2”、“0”、“1”、“3”,从而验证CD4094的逻辑功能。C语言程序设计如下:


四、仿真过程、效果及总结
(1)打开Keil2,选择ProjectNew Project命令,在弹出的Create New Project对话框中新建Keil项目CD4094.uv2。
(2)选择CPU为ATMEL中的AT89C51单片机。
(3)编辑好源程序,编辑完成后保存。
(4)在Project Workspace窗口中,将CD4094.c文件加入到Source Group1中。
(5)在Project Workspace窗口中Target1文件夹上单击右键,在弹出的窗口中选择Output选项卡,并选中Create HEX File选项。
(6)在Keil菜单中选择Project Build Target选项,编译汇编程序,并产生HEX文件。
(7)将Keil产生HEX文件加载到Proteus ISIS绘制的硬件电路中。

图4 仿真效果图
图4为本系统的仿真效果图,仿真开始后,LED数码管由上至下依次显示数字“2”、“0”、“1”、“3”,从而验证了CD4094的逻辑功能与级联控制。CD4094与HC164有相同的功能。在不希望输出端抖动的情况下,用CD4094更适合,因为它有个输出使能端,能灵活控制并行输出的数据。