proteus支持外部程序存储器仿真吗?


将89CT51外接ROM,汇编两个程序,将生成的HEX文件分别映射到单片机和外部ROM,单片机中有跳转指令,使其运行时跳转到外部ROM,可仿真时并不成功,是不是PROTEUS不支持外部ROM仿真啊?哪位大侠知道

我也来说两句 查看全部回复

最新回复

  • encule (2007-7-01 13:11:16)

    楼主这个思考不错,小弟也想知道答案,请高手作答
  • budhy (2007-7-01 13:42:16)

    没问题!可以用附上的原理图试一试,否则你需要预先设置 ROM 的一些参数(见图)。

    ExRAM.rar
    (2007-07-01 13:42:16, Size: 14.7 KB, Downloads: 81)


    ROMsetting.gif

  • atsear (2007-7-02 08:57:05)

    高手就是高手啊!!!!!!!!!!!!!
  • budhy (2007-7-02 22:13:25)

    encule 写:

    QUOTE:

    你好,你在此贴子的答复中没有解释清楚如何使用外部程序存储器,恳请可不可以提供一个具体的实例进行讲解,越详细越好,谢谢你了
    好吧,给你画原理图还有其程式,自己好好学。有问题不妨再问。

    ExROM.rar
    (2007-07-02 22:13:25, Size: 28.9 KB, Downloads: 86)

  • encule (2007-7-02 22:22:55)

    非常感谢楼主提供的仿真和实例,下载来学习了,但这个是用汇编语言写的,如果我要是用C语言写,请问应该如何操作?谢谢楼上的budhy
  • zhuyt05 (2007-7-03 14:55:35)

    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
  • zhuyt05 (2007-7-03 14:58:17)

    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
  • zhuyt05 (2007-7-03 15:00:01)

    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
    怎么下不了,钱币低于0
  • zhuyt05 (2007-7-03 15:05:38)

    不能用迅雷下,还得另存为,没钱也不成,发帖挣钱太短也不行
  • zhuyt05 (2007-7-04 15:52:59)

    1.我所说的是将运行程序分成两部分,一部分放在单片机的片内存储器中,另一部分放在片外ROM中,因为51单片机片内ROM只有4K,这样做的目的是模拟单片机片内ROM使用完毕后的情况。
    2.3楼给出来的程序虽然能运行,但单片机和外接ROM映射的是两个相同的文件,我们完全可以理解为程序运行成功是因为单片机中有完整的程序,也就是说虽然外接ROM中有程序,但由于与单片机中的程序相同,并不能代表在仿真过程中程序由片内ROM自动跳转到了外部ROM。
  • zhuyt05 (2007-7-04 16:12:53)

    3.  如果把3楼给出的程序中外接ROM的映射文件去掉,程序照样能运行,说明外接ROM中的程序根本就不起作用;
        或者我们把电路的/EA引脚接低电平,同时把单片机的映射文件去掉,这样理论上讲程序便不再从片内ROM执行,而是直接由片外ROM执行,由于外接ROM中有运行程序,理论上应该运行成功,可实际上不成。
       在或者我们可以直接检查Proteus对外接ROM的仿真是否成功。同样用3楼给出的程序,我们在单片机程序中用MOVC指令去读取外部ROM的内容,由于外接ROM已有映射文件,相当于已将程序烧入ROM,理论上也应该成功,可实际上单片机的寄存器没有任何变化。
    4. 所以我觉得Proteus对存储器的仿真只是使用一个映射文件,也就是我们映射到单片机中的那个文件,即使文件大小超出了单片机片内ROM的容量,仿真照样可以成功,如果我们讲程序分一部分出来放到外部ROM中去,proteus便无能为力了。
    也许是需要特殊的设置,哪位高手知道。
  • yanwuxu (2007-7-14 18:26:36)

    不能用迅雷下,还得另存为,没钱也不成,发帖挣钱太短也不行
    严重同意兄弟的说法
  • sanrenshu (2007-7-20 11:01:21)

    同样的问题我也遇到了,请高手们指点指点。
  • sqwzhandsome (2007-7-22 20:17:49)

    有学到了一些知识!!!
  • weilight2008 (2007-7-31 15:49:19)

    急切需要这样的帖子,我啊正需要存储器的知识。
  • weilight2008 (2007-7-31 15:50:38)

    急切需要这样的帖子,我啊正需要存储器的知识。
  • sxjwqx (2007-7-31 15:55:40)

    即使文件大小超出了单片机片内ROM的容量,仿真照样可以成功
    同意啊
    还是得动手做硬件
  • luoyesong (2007-7-31 21:37:08)

    谢谢了,高手们多教一些这样的知识。
    呵呵,对proteus有了更深的了解了
  • JonesLai (2007-8-09 18:14:56)

    Zh-Big5:
    我測試過了,Proteus模擬8051的時候不會管EA,也不會送出PSEN訊號,也不會讀取記憶體內的Code,8031試過也是這樣。

    我本來要寫一個Loader,想說在Proteus上測試一下Code,完成再實做就好,結果讓我DEBUG了一天,RESET訊號一送過去,本來應該要跳到外部記憶體內執行Load進去的Code,結果還是執行我內部記憶體的Loader。 = =b...XX娘的勒,用虛擬的LA量測EA、PSEN,EA是低電位,PSEN完全沒反應,跟死了一樣,我不死心,用按鈕代替我的觸發電路,還是一樣,最後乾脆EA接地,拿一顆ROM裡面載入我的CODE,結果完全不會動,那個C51沒內部的CODE就跟廢掉一樣,不會動,想說31勒,好歹沒內部的程式記憶體,測試看看,一樣,完全不會理會外部記憶體內的CODE。

    有人成功的話,說一聲吧,我還蠻好奇的。

    感恩阿~
  • 47okey (2007-8-09 21:23:40)

    书上的例子是可以支持外部程序存储器的,可我做了,不行,根本不访问外部。以前曾看过此帖,到要找时,一直找不到。今天总算冒出来了。
    附上例子的DSN和ASM文件。

    2764.rar
    (2007-08-09 21:23:40, Size: 16.8 KB, Downloads: 70)