|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
给外部的ram写数据,怎么会多写了! |
作者:diannaoza 栏目:单片机 |
给外部的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 于 2006/10/8 18:10:00 发布:
指令错了 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 于 2006/10/10 9:44:00 发布:
不能给@DPTR写立即数啊 不知道你用的什么编译器 |
4楼: | >>参与讨论 |
作者: diannaoza 于 2006/10/10 14:18:00 发布:
谢谢回!RAM 谢回 在楼主贴时写错了,意思就是那样。 其实在编译的是如2楼写的,但也出错。 |
5楼: | >>参与讨论 |
作者: lenglx 于 2006/10/10 14:49:00 发布:
短路 你的RAM的地址线A4和其它的地址线断路,或者和地线短路了. |
6楼: | >>参与讨论 |
作者: diannaoza 于 2006/10/10 15:15:00 发布:
这样的一个电路, 很简单,但叫它正常工作也不容易呀 |
7楼: | >>参与讨论 |
作者: diannaoza 于 2006/10/10 21:28:00 发布:
lenglx谢谢了,真的是A4开路。 lenglx谢谢了再次谢了,这些天为了这个问题心情不好,这么简单的电路都运行不起来,花了好长时间找原因,没想到就是这个A4开路。我的天啦。。。 |
8楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/10 21:58:00 发布:
请问你的A4怎么会开路呢?是什么原因呢? ? |
9楼: | >>参与讨论 |
作者: 香水城 于 2006/10/10 22:07:00 发布:
现在明白了,那不是Audi A4啊,我以为开A4的人都跑21IC来了。NNN |
10楼: | >>参与讨论 |
作者: diannaoza 于 2006/10/10 22:07:00 发布:
要知道全部用跳线做的外扩HM62256. 要知道全部用跳线做的外扩HM62256,用几十根线,虽照图检查了N次,就是没发现,就是74HC573出来的a4线到了HM62256的a4,线到了a4的门前就差100MIL没有搭上锡就开路了,我晕死。。。下次不做这种事了,全部的实验电路全部清一色用热转印生成PCB,省得在这样的事情上换错误,浪费时间,浪费心情。。。。 * - 本贴最后修改时间:2006-10-10 22:13:34 修改者:diannaoza |
11楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/10 22:10:00 发布:
我的情况好像和你的一样 我对片外数据存储器写数据时,从0x0200H开始,往里面写数据,0x0000H的内容也跟着变呢?而且0x0000内容和0x0200一样,0x0001内容和0x0201一样,依次类推,相当于同时对两个地址写了同一个数据,这是为什么呢?急…… 可我量了,A9本身不开路和A0也不短路阿 |
12楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/10 22:21:00 发布:
你要再查NN次nn次 要查好多次? 难道是偶尔断还是偶尔不断么? 哎“要不你也郁闷几天哟” 我这段时间一直都郁闷呢 |
13楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/11 12:39:00 发布:
up up |
14楼: | >>参与讨论 |
作者: linwei1234 于 2006/10/13 9:48:00 发布:
zoupeng139的多半是程序问题了! |
15楼: | >>参与讨论 |
作者: hartcomm 于 2006/10/13 11:39:00 发布:
仿真器 开发工具 可能是仿真器的原因 或开发工具 有可能并没有同时对两个地址写了同一个数据, 可以先清零,在写入,再读入(编程实现,不要用仿真器+keil的存储器窗口察看)看看 |
16楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/13 12:08:00 发布:
谢谢两位 我烧了片子后还是这样,奇怪……………… |
17楼: | >>参与讨论 |
作者: heshenhu 于 2006/10/16 8:09:00 发布:
用仿真器+keil的存储器窗口察看 我对片外AT29F040存储器读数据时,从0x0000H-01FFH为一组数据它与0200H-03FFH是一样的。然后0x0400H-05FFH与0x0600-07FFH的内容也跟一样。依次类推,这是为什么呢? |
18楼: | >>参与讨论 |
作者: IC1008 于 2006/10/16 8:35:00 发布:
看数据就可以分析得到了 |
19楼: | >>参与讨论 |
作者: heshenhu 于 2006/10/16 10:23:00 发布:
真的是A9线没接好,PLCC的接触脚质量太差, 谢谢! |
20楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/16 13:33:00 发布:
巧了 我的也是A9的 问题 是仿真器的 A9坏了 |
21楼: | >>参与讨论 |
作者: newliujian 于 2006/10/16 18:32:00 发布:
我的问题更怪 我的代码是这样,为了写外部RAM, ...... address = 0x1000; XBYTE[address++] = 0x01; XBYTE[address++] = 0x02; ....... 单步运行,第一次时,从1000到11ff之间都成为0x01了,第二次1000到11ff之间都成为0x02,完全不知道怎么回事。。。 |
22楼: | >>参与讨论 |
作者: zoupeng139 于 2006/10/16 18:42:00 发布:
晕了 不会是芯片坏掉了吧 |
23楼: | >>参与讨论 |
作者: lenglx 于 2006/10/17 11:41:00 发布:
地址锁存器坏? 就是那个373或者573. |
24楼: | >>参与讨论 |
作者: yzqok 于 2006/10/17 12:43:00 发布:
加上拉电阻,写数据会可靠些. |
25楼: | >>参与讨论 |
作者: 芯行天下 于 2006/10/19 15:56:00 发布:
不知道 不知道 |
26楼: | >>参与讨论 |
作者: windy__xp 于 2006/10/28 16:12:00 发布:
我来说两句 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 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |