[ZLG-MCU] P80C32和P89V51RD2的区别都有哪些?

[复制链接]
3395|4
 楼主| eric 发表于 2008-2-4 08:55 | 显示全部楼层 |阅读模式
我这有一种10多年前老外做的设备,现在还在生产,用的8032X2单片机,程序是汇编写的,有35K左右(晕)。设备还算稳定可靠,最近想更换成带FALSH的51单片机,由于程序是汇编写的,有很大,所以打算直接用HEX文件。想换P89V51RD2单片机,可是换上之后,大部分程序运转正常,只有初始化参数部分有些问题,想在想找找问题在哪里,看看8032X2和P89V51RD2差别在哪里?<br />先说说我设备的配置:<br />40脚DIP接口MCU接口,8K外部SRAM,64K外部EPROM。<br />我用P89V51RD2时,把EA拉高,用外部8K&nbsp;SRAM,内部64K&nbsp;Flash。<br />P80C32X2和P89V51RD2的区别:<br />1、P80C32X2:0K&nbsp;EPROM,256K&nbsp;RAM<br />&nbsp;&nbsp;&nbsp;P89C51RD2:64K&nbsp;Flash,1K&nbsp;RAM<br />2、P89C51RD2比P80C32X2寄存器多<br />3、P89C51RD2增加了内部768字节RAM,并增加了切换内部和外部低768字节RAM的开关。<br />4、P89C51RD2增加ISP和IAP功能<br />不知道是哪一部分差别会影响我程序的运行呢?
zlgmcu 发表于 2008-2-15 17:21 | 显示全部楼层

re

1、P80C32X2:0K&nbsp;EPROM,256K&nbsp;RAM<br />&nbsp;&nbsp;&nbsp;P89C51RD2:64K&nbsp;Flash,1K&nbsp;RAM<br />2、P89C51RD2比P80C32X2寄存器多<br />3、P89C51RD2增加了内部768字节RAM,并增加了切换内部和外部低768字节RAM的开关。<br />4、P89C51RD2增加ISP和IAP功能<br />不知道是哪一部分差别会影响我程序的运行呢?<br /><br /><br />V51默认上电以后运行芯片内容的1kB&nbsp;RAM.如果超过1kB,则使用外部RAM,P0,P2会动作.<br /><br /><br />建议先找出是哪个功能不正常,再进一步分析.<br /><br /><br />
 楼主| eric 发表于 2008-2-18 10:52 | 显示全部楼层

通过分析,感觉不同的是读取24C02部分程序。

用80C32的时候可以正常运行,外部24C02未初始化的时候,采用编程时的默认参数,即FLASH中的参数。<br />采用89V51的时候,如果外部24C02已经初始化,有参数,则程序运行正常,如果外部24C02未初始化,则程序运行不正常。<br />24C02的接口用P1.6和P1.7,感觉不是I2C接口控制的问题<br />感觉象是内部FALSH参数或是RAM中参数的问题?<br />是不是那768内部RAM搞的?<br />由于程序是十几年前用汇编写的,有三十多K,读起来困难死了。<br />通过读手册,感觉内部的768字节RAM和外部RAM的地址逻辑上是统一的,物理上是分开的,不应该影响程序,倒是那中间的128字节RAM和寄存器空间重叠,会不会出现问题。<br />至于多出来的那些寄存器,未使用的默认设置好像都是关闭的吧,不影响程序。<br />就是那个内部RAM开关默认是用内部RAM。<br />
zlgmcu 发表于 2008-2-18 13:47 | 显示全部楼层

re

根据您的描述,情况出现在&nbsp;<br />V51从24C02读数据,<br />将读到的数据保存、判断<br />这2个环节上。<br /><br />1,建议先测试24C02读数据.<br /><br />2,中间的128B&nbsp;RAM称之为idata,indirect&nbsp;data的简写,间接寻址的意思。<br />您可以到网上查查idata的应用,正规地对其操作是不会影响寄存器空间的(我们平时对寄存器空间操作方式是直接寻址)<br /><br />
zcq30 发表于 2008-2-22 13:21 | 显示全部楼层

EXTRAM = 1;

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部