登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

给外部的ram写数据,怎么会多写了!

作者:diannaoza 栏目:单片机
给外部的ram写数据,怎么会多写了!
给外部的ram写数据,怎么会多写了,真是想不明白。首先接线是这样的。74HC573的1脚(0e/)接地。11脚(le)接单片机的ale,其的中a0-a14,p0.0-p2.6.io0-io7接到p0.0-p0.7。所有的电路无上拉。
我向HM62256写入数据
MOV DPTR,#0000H
MOVX @DPTR,#12H
INC DPTR
MOVX @DPTR,#31H
INC DPTR
MOVX @DPTR,#51H

可以写入数据在0000中依次为。12,31,51,
可在0010中也有12,31,51;;
下面我是用口串给它发回的数。(写入12,31,51)
0000:12 31 51 2E 16 BF FF 79 00 07 5F FD FF BF FA F9
0010:12 31 51 2E 16 BF FF 79 00 07 5F FD FF BF FA F9
0020:00 07 5F F5 FF BF FB AF 00 07 7F F7 FF

谢谢回,不知是那出错了。
  

2楼: >>参与讨论
lyjian
指令错了
51没有类似“MOVX @DPTR,#12H”这样的指令。不知道你怎么通过编译的。
MOV DPTR,#0000H
MOV A,#12H
MOVX @DPTR,A
INC DPTR
MOV A,#31H
MOVX @DPTR,A
INC DPTR
MOV A,#51H
MOVX @DPTR,A




3楼: >>参与讨论
liukejj
不能给@DPTR写立即数啊
不知道你用的什么编译器

4楼: >>参与讨论
diannaoza
谢谢回!RAM
谢回
在楼主贴时写错了,意思就是那样。
其实在编译的是如2楼写的,但也出错。

5楼: >>参与讨论
lenglx
短路
你的RAM的地址线A4和其它的地址线断路,或者和地线短路了.

6楼: >>参与讨论
diannaoza
这样的一个电路,
很简单,但叫它正常工作也不容易呀

7楼: >>参与讨论
diannaoza
lenglx谢谢了,真的是A4开路。
lenglx谢谢了再次谢了,这些天为了这个问题心情不好,这么简单的电路都运行不起来,花了好长时间找原因,没想到就是这个A4开路。我的天啦。。。

8楼: >>参与讨论
zoupeng139
请问你的A4怎么会开路呢?是什么原因呢?


9楼: >>参与讨论
香水城
现在明白了,那不是Audi A4啊,我以为开A4的人都跑21IC来了。NNN
 
10楼: >>参与讨论
diannaoza
要知道全部用跳线做的外扩HM62256.
要知道全部用跳线做的外扩HM62256,用几十根线,虽照图检查了N次,就是没发现,就是74HC573出来的a4线到了HM62256的a4,线到了a4的门前就差100MIL没有搭上锡就开路了,我晕死。。。下次不做这种事了,全部的实验电路全部清一色用热转印生成PCB,省得在这样的事情上换错误,浪费时间,浪费心情。。。。

* - 本贴最后修改时间:2006-10-10 22:13:34 修改者:diannaoza

11楼: >>参与讨论
zoupeng139
我的情况好像和你的一样
我对片外数据存储器写数据时,从0x0200H开始,往里面写数据,0x0000H的内容也跟着变呢?而且0x0000内容和0x0200一样,0x0001内容和0x0201一样,依次类推,相当于同时对两个地址写了同一个数据,这是为什么呢?急……  

可我量了,A9本身不开路和A0也不短路阿

12楼: >>参与讨论
zoupeng139
你要再查NN次nn次  要查好多次?
难道是偶尔断还是偶尔不断么?
哎“要不你也郁闷几天哟”
我这段时间一直都郁闷呢

13楼: >>参与讨论
zoupeng139
up
up

14楼: >>参与讨论
linwei1234
zoupeng139的多半是程序问题了!
 
15楼: >>参与讨论
hartcomm
仿真器 开发工具
可能是仿真器的原因 或开发工具

有可能并没有同时对两个地址写了同一个数据,

可以先清零,在写入,再读入(编程实现,不要用仿真器+keil的存储器窗口察看)看看

16楼: >>参与讨论
zoupeng139
谢谢两位
我烧了片子后还是这样,奇怪………………


17楼: >>参与讨论
heshenhu
用仿真器+keil的存储器窗口察看
我对片外AT29F040存储器读数据时,从0x0000H-01FFH为一组数据它与0200H-03FFH是一样的。然后0x0400H-05FFH与0x0600-07FFH的内容也跟一样。依次类推,这是为什么呢?


18楼: >>参与讨论
IC1008
看数据就可以分析得到了
 
19楼: >>参与讨论
heshenhu
真的是A9线没接好,PLCC的接触脚质量太差,
  
   谢谢! 

20楼: >>参与讨论
zoupeng139
巧了
我的也是A9的 问题
是仿真器的 A9坏了

21楼: >>参与讨论
newliujian
我的问题更怪
我的代码是这样,为了写外部RAM,
......    
address = 0x1000;
XBYTE[address++] = 0x01;
XBYTE[address++] = 0x02;
.......
单步运行,第一次时,从1000到11ff之间都成为0x01了,第二次1000到11ff之间都成为0x02,完全不知道怎么回事。。。

22楼: >>参与讨论
zoupeng139
晕了
不会是芯片坏掉了吧

23楼: >>参与讨论
lenglx
地址锁存器坏?
就是那个373或者573.

24楼: >>参与讨论
yzqok
加上拉电阻,写数据会可靠些.
 
25楼: >>参与讨论
芯行天下
不知道
不知道

26楼: >>参与讨论
windy__xp
我来说两句
0000:12 31 51    2E 16 BF FF 79 00 07 5F FD FF BF FA F9
0010:12 31 51    2E 16 BF FF 79 00 07 5F FD FF BF FA F9


0020:00 07 5F    F5 FF BF FB AF 00 07 7F F7 FF

   
看左上角的数据,发现    D 43210     43210
                          00000B ~ 00010B     写入了数据
                          10000B ~ 10010B     也写入了同样的数据

那么说明D4存在问题,因为D4无效了,不过奇怪的是,计算D4悬空,那么就当高电平处理把,那么也只应该写入下面的一组啊,奇怪。

单片机技术交流群,欢迎大家加入:28667054


参与讨论
昵称:
讨论内容:
 
 
相关帖子
什么时候需扩展?望得到高人的指点
求助!用单片机做的电子时钟为什么会慢???
接收到错误指令,模块都复位,对单片机的复位程序如何实现
软件调试都以成功,距离成功还有多远啊?
2051的脉宽调制为何不行?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号