打印

紧急求助:74ls373锁存问题

[复制链接]
1835|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tc9148|  楼主 | 2007-5-4 19:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
电路图如图所示。
程序为:
#include  <reg51.h>
#define  dataout P1
sbit LE=P3^0;
sbit OE=P3^1;
void int_1() interrupt 0 using 2
{dataout=~dataout; 
 }
main()
{dataout=0xff;
 LE=0;
 OE=1;
EA=1;
EX0=1;
IT0=1;
while(1);
  
}


功能:每进一次中断(中断0),输出数据就翻转一次,发光管交替亮灭。
问题是:从第一次进入中断后,led0和led1就始终是亮的,其他六个led按照程序交替亮灭。这是为什么?实际搭接电路没有问题。

相关帖子

沙发
zhaoyu2005| | 2007-5-4 19:50 | 只看该作者

你说的的有问题是仿真还是实际电路?

2051的P1.0和P1.1要加上拉的

使用特权

评论回复
板凳
tc9148|  楼主 | 2007-5-4 19:56 | 只看该作者

to:zhaoyu2005

你一说,我突然想到这个问题,是忘了加上拉电阻。

使用特权

评论回复
地板
zhaoyu2005| | 2007-5-4 19:56 | 只看该作者

不好意思,还忘了说

P1.0和P1.1可以作为比较器输入,你应该把比较器功能关闭,把P1.0和P1.1设为输出口

使用特权

评论回复
5
tc9148|  楼主 | 2007-5-5 00:10 | 只看该作者

to :zhaoyu2005

怎么关掉比较器功能?

使用特权

评论回复
6
ayb_ice| | 2007-5-5 07:37 | 只看该作者

随便说说

373是电平锁存,你的信号台不对,按原理图数据有效时应该是OE=0,LE=1....
在中断中最好是先送数据,再发送控制信号,再关闭控制信号...

使用特权

评论回复
7
tc9148|  楼主 | 2007-5-5 10:06 | 只看该作者

谢谢大家,受益匪浅。

使用特权

评论回复
8
tc9148|  楼主 | 2007-5-5 17:01 | 只看该作者

to:ayb_ice

 ayb_ice 发表于 2007-5-5 07:37 侃单片机 ←返回版面    

6楼: 随便说说 

373是电平锁存,你的信号台不对,按原理图数据有效时应该是OE=0,LE=1....
在中断中最好是先送数据,再发送控制信号,再关闭控制信号...
 
 
-------------------
你说的有问题,应该是先把通道打开,再送数据,送完后,再关闭。

使用特权

评论回复
9
turmary| | 2007-5-5 18:01 | 只看该作者

在这个程序中

8楼,6楼的我认为都没错.

不过6楼的更保险一点,
如果用于其它程序的话,
不会出现闪烁的现象

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

589

帖子

1

粉丝