Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116747
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 242
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-17 13:36
文章分类

全部博文(29)

文章存档

2015年(29)

我的朋友

分类: 嵌入式

2015-04-12 22:11:07

锁存器

首先,说明锁存器有什么用。根据字面意思,锁存器的作用就是锁住数据。

还记得宋丹丹的一个小品中问赵本山:把大象装进冰箱需要几步?答:3步,打开冰箱,把大象塞进去,关上冰箱。那锁住数据需要几步?答:3步,打开锁存器,将数据输入,将数据锁上。

我们拿个具体的芯片来所以下,就拿74LS373来说吧。

下图为74LS373的逻辑图:

如果/OE1时,下面8个三态门为高阻态,无论D0-D7为多少,LE为什么状态,都没有输出。

如果/OE0,三态门为输出状态。上面的施密特触发器有一个G端,G端应该为gate的意思,G为低电平有效,G有效,/Q就能输出,即O0-O7D0-D7一致,在LE为高电平时,G有效;在LE为低电平时,G无效,D端无论怎么变,/Q都保持上一状态。用下面的真值表表示为:

/OE  LE     DX    OX

1       X       X       Z

0       1       0       0

0       1       1       1

0       0       X       Q0

Q0表示上一状态的输出;

 

 

如下图为74LS373的封装图:

 

51单片机P0为例,P0^0~P0^7分别接D0-D7,可以进行如下编程:

实现要使冰箱有用:

OE = 0;

第一步:打开冰箱

LE = 1;

第二步:装入大象

P0 = data;

第三步:关闭冰箱

LE = 0;

OK,完成了,就是这么简单。

当然第一步和第二步的数据可以换一下。你可以想象,先做第二步,你使劲的把大象往冰箱里推,但是门没开,这之后,冰箱打开,大象就顺利推进去了,最后做第三步,这也是可以的。

 

那锁存到底有什么用呢?

就是为了实现端口的分时复用。

 

阅读(3715) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~