74HC573在单片机中的简单应用(基于Proteus仿真)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74HC573在单片机中的简单应用
基于Proteus仿真
1、74HC573是8位数据锁存器.
数据锁存的意思是指:当输入的数据消
失时,在芯片的输出端,数据仍然保持;
2、如右图所示,芯片各引脚功能如下:
右图隐藏了VCC(接+5V电源)和GND
(接地)两个引脚。
OE:output_enable,输出使能;
LE:latch_enable,数据锁存使能,latch是
锁存的意思;
Dn:第n路数据输入端;(D的意思是
Data input)
Qn:第n路数据输出端;
当OE=1是,无论Dn、LE为何,输出端
为高阻态;
当OE=0、LE=1时,输出端数据等于输
入端数据,芯片可以当作不存在,相当
于导线;
当OE=0、LE=0时,输出端保持不变,
处于数据锁存状态;
在实际应用的时候是这样做的:
a.令OE=0;LE=1
b.将数据从单片机的口线上输出到Dn;
c.令OE=0;LE=0;
d.这时,你所需要输出的数据就锁存在Qn上了,输入的数据再变化也影响不到输出的数据了;
3、74HC573简单应用(一)
如下图所示,在P3口同时接了两个74HC573锁存器,两个芯片的输出使能端OE都接地,数据锁存使能端LE分别接P2^6和P2^7,锁存器的输出数据端Qn 都接LED条形显示器,本例通过对P3口赋不同的值来使U4的上四个LED灯点
亮,U5的下四个LED灯点亮。
C程序如下:
#include<reg51.h>
sbit LE1=P2^6;
sbit LE2=P2^7;
void main()
{
LE1=1;
P3=0X0F;
LE1=0;//开启锁存功能,使U2输出端锁存数据0X0F LE2=1;
P3=0XF0;
LE2=0;//开启锁存功能,使U3输出端锁存数据0XF0 while(1);
}
仿真运行结果如下
4、74HC573简单应用(二)
如下图所示,两片74HC573的数据输入端同时接到P0口,输出使能端OE都接地,数据锁存端LE分别接到P2^6和P2^7,U2的数据输出端接六个数码管的段码,U3的数据输出端接六个数码管的位码。
本例使六个数码管同时循环点亮0到9十个数字。
C程序如下:
#include<reg51.h>
#defineuchar unsigned char
#define uint unsigned int
void delay(uint x) //延时函数
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
//0到9的共阴显示代码
uchar codedis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit LE1=P2^6;
sbit LE2=P2^7;
uchar i;
void main()
{ LE2=1;
P0=0XC0;
LE2=0;
while(1)
{
LE1=1;
P0=dis[i];
LE1=0;
delay(400); //延时1s左右
i=(i+1)%10; //i取值为0到9
}
}
仿真运行结果如下:
上述两个Proteus仿真文件下载地址:
/down_4157921.html。