suntao325 发表于 2007-7-1 10:44

如何在proteus中让8051的ALE有波形呢?

AT89C51的ALE管脚可以输出1/6晶振频率的波形,但是在PROTEUS中调不出来。我把AE端不论是接高电平,低电平,或是悬空,ALE端永远是个高电平,用PROTEUS里的示波器去看,没波形,只保持高电平,这怎么处理呢?

HWM 发表于 2007-7-1 11:40

proteus中MCS-51的ALE并不象实际情况那样一直有波形输出。

这是为了仿真效率考虑,但在地址输出时ALE信号还是有的。

suntao325 发表于 2007-7-1 15:10

2楼的兄弟,你的意思是?

那如果我要用到ALE管脚来产生波形,(其实用定时器也可以实现,但现在想用ALE管脚),那我怎么设置才能在PROTEUS里让它出来波形呢?一直去访问外部存储器吗?那要怎么做?

myfaith 发表于 2007-7-1 16:05

有个控制位

好像单片机有个寄存器设定是否从ALE输出波形

suntao325 发表于 2007-7-1 17:02

4楼的兄弟,89C51中的这个设置在哪呢?

我记得好像只要工作,ALE就有波形,没有针对它的寄存器啊?

HWM 发表于 2007-7-1 17:37

一般的MCS-51中ALE的输出波形是固定的,

当然有些新的型号在ALE不用时可以关闭其输出。<br />但这和proteus中MCS-51的ALE输出无关,楼主若要用proteus中MCS-51的ALE输出仿真实际情况是不行的。<br />

suntao325 发表于 2007-7-1 17:58

HWM兄弟,这么说我要用PROTEUS来仿真ALE就不行了吗?

那么我要用到个方波,就必须用定时器来做了吗?

老黄头 发表于 2007-7-1 18:06

6楼说的是对的

<br /><U>一般的MCS-51中ALE的输出波形是固定</U>的&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但有几条指令&nbsp;&nbsp;ALE&nbsp;的输出波形是不同的,好象是读写XDATA的那几条就少了一个脉冲输出,所以proteus无法得知你的程序,也就无法给出确定的脉冲输出。所以6楼说:<br />&nbsp;<br /><U>楼主若要用proteus中MCS-51的ALE输出仿真实际情况是不行的。</U>

gyt 发表于 2007-7-1 18:57

确实没见过这样的用法

HWM 发表于 2007-7-1 19:18

楼主:你就在实际的电路中用就可以了,但不能在proteus中仿真.

DIANQI159 发表于 2020-3-11 13:16

HWM 发表于 2007-7-1 11:40
这是为了仿真效率考虑,但在地址输出时ALE信号还是有的。

请问仿真效率是什么意思,是输出频率吗

HWM 发表于 2020-3-12 16:36

DIANQI159 发表于 2020-3-11 13:16
请问仿真效率是什么意思,是输出频率吗

仿真软件为了其自身效率考虑,忽略了一些(其认为)不重要的东西。在此,ALE便是。

由此可见,仿真与实际情况并不是完全相同的。

iliketolearn 发表于 2022-5-21 08:55

具体步骤:双击单片机,弹出一个设置框,在Advanced Properties 选项中,选择Simulate program Fetches ,选YES 。
页: [1]
查看完整版本: 如何在proteus中让8051的ALE有波形呢?