打印

使用stc芯片的内部扩展ram后,复位不正常了

[复制链接]
4360|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
apt|  楼主 | 2008-10-27 13:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件:
stc89c516rd+;
P2输出到8位dac;
WD,RD脚作dac的触发和片选;
10uF和10k电阻按手册的范例做的复位电路.
40M有源晶振(6分频工作方式,即相当80M)

软件:
原来没使用扩展RAM的程序很正常,从来没发现过复位不正常.
由于要提高速度,在芯片内部扩展RAM区建立了一个输出缓冲区.

问题:
在芯片内部扩展RAM区建立了一个输出缓冲区后,有时可以正常工作,但有时候一通电程序就乱飞,dac不停输出乱码.特别是断电3秒钟内重新通电的话,几乎没一次可以正常复位.
没使用内置扩展RAM的旧程序也可以正常工作.使用内置扩展RAM后用UV2做软仿真是正常的.现在基本上可以判断为没正常复位.

请问:
还有为什么是使用了内置扩展RAM后,就不能正常复位了呢?咋办?

请指教,谢谢!

相关帖子

沙发
xc_cz| | 2008-10-27 13:31 | 只看该作者

请问你的DAC是否是并口的?

如果是的,那么就有可能是地址冲突。一般来说,STC的片子可靠性还是不错的,我一直在用没遇到过你所说的现象。。另外,如果要使用XRAM,需要先设置,不知道你设置没有。

使用特权

评论回复
板凳
apt|  楼主 | 2008-10-27 14:52 | 只看该作者

先谢过楼上

DAC是并行的.
我查过手册,查到与XRAM有关的寄存器,只有 AUXR寄存器 的 EXTRAM位 和 ALEOFF位 有关.只使用外部扩展RAM时 EXTRAM位 才应设1,ALEOFF只是关闭ALE输出避免系统干扰的.AUXR按手册其默认值为0x00,所以我没进行设置.

还有,如果系统能正常复位的时候,是可以正常工作的,问题是十次通电,起码有7次不正常.
而且,当系统刚通电,还没有输入的时候,软件是没有涉及到XRAM的操作的.所以我觉得不应该是地址有冲突.

使用特权

评论回复
地板
xc_cz| | 2008-10-29 10:17 | 只看该作者

如果你怀疑是复位问题,那你可以手动复位一下看看

我还是觉得不应该是复位问题。。问题多数出在XRAM上。

使用特权

评论回复
5
mikejx| | 2008-10-29 10:35 | 只看该作者

使用内部XRAM

使用内部XRAM后,貌似外部总线会被禁止

使用特权

评论回复
6
apt|  楼主 | 2008-10-29 14:05 | 只看该作者

问题已经解决,谢谢关注!

原因:
系统断电后,短时间内重新上电,XRAM不能复0,所以默认值不为0x00.

使用特权

评论回复
7
xc_cz| | 2008-10-31 12:10 | 只看该作者

呵呵。解决就好,谢谢分享

使用特权

评论回复
8
甲、乙、丙| | 2010-9-29 10:42 | 只看该作者
6# apt
请问如何将XRAM清零?

使用特权

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

本版积分规则

apt

23

主题

92

帖子

0

粉丝