打印

调W29C040P-90B三天了,没进展,真的没脾气了...

[复制链接]
3552|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
asian_here|  楼主 | 2007-3-13 11:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公司一种产品,本来是用AT29C040的,但是AT29C040已停产了,现在要换为W29C040,调了三天了,一点进展都没有!

读出来的全是FF

程序也已经检查N遍了

写入0AAH到05555H 
写入55H到02AAAH
写入0A0H到05555H
设置扇区
写入一页数据:
        MOV     B,#80H
 WRITE_S1:
        MOV     A,@R0
        MOVX    @R1,A
        INC     R0
        INC     R1
        DJNZ    B,WRITE_S1
        LCALL   TIME10     ;10MS
其中:
高11位地址由74HC164 控制
程序一再分析了,没发现什么不对的.

大家帮帮忙,如果问题解决,最后会给出解决方案.先谢谢了!

相关帖子

沙发
asian_here|  楼主 | 2007-3-13 11:33 | 只看该作者

在线等...

我在线等...

使用特权

评论回复
板凳
bsbjx| | 2007-3-13 11:55 | 只看该作者

难道里面的内容本来就是FF???

使用特权

评论回复
地板
xwj| | 2007-3-13 12:14 | 只看该作者

R0、R1置初值,不要跨页

使用特权

评论回复
5
asian_here|  楼主 | 2007-3-13 12:29 | 只看该作者

全是FF,没有跨页

是的,全是FF
------------------
没有跨页
-----------------

A里存储的是A8---A15
B里存储的是A16--A18
C用来选择上半页和下半页

        POP     B
        POP     ACC
        
        MOV     ADD_H,B
        MOV     ADD_M,A
        LCALL   LOAD_ADD;设置扇区
  
        POP     PSW
        MOV     R0,#80H
        CLR     A
        RRC     A
        MOV     R1,A

        MOV     B,#80H
WRITE_S1:
        MOV     A,@R0
        MOVX    @R1,A
        INC     R0
        INC     R1
        DJNZ    B,WRITE_S1
        LCALL   TIME10     ;10MS

使用特权

评论回复
6
asian_here|  楼主 | 2007-3-13 12:31 | 只看该作者

LOAD_ADD

LCALL   LOAD_ADD;作用是把高11位地址移入74HC164

使用特权

评论回复
7
NE5532| | 2007-3-13 12:35 | 只看该作者

你不用调,那两个FLASH是一样的

要出问题是硬件错.

使用特权

评论回复
8
asian_here|  楼主 | 2007-3-13 12:45 | 只看该作者

用AT29C040完全可以

我现在用来调试的这块板,如果把FLASH换为AT29C040完全可以正常工作,但是换为W29C040就不行了...
读出来的数据全是FF....

使用特权

评论回复
9
asian_here|  楼主 | 2007-3-13 12:47 | 只看该作者

主芯片

单片机用的是AT89C52
晶振:11.0592MHz

使用特权

评论回复
10
asian_here|  楼主 | 2007-3-13 12:56 | 只看该作者

我试试...

我试试...

使用特权

评论回复
11
hotpower| | 2007-3-13 12:56 | 只看该作者

ID不一样~~~编程是一样的

使用特权

评论回复
12
asian_here|  楼主 | 2007-3-13 13:29 | 只看该作者

擦除后再写也不行

系统初始化时就把FLASH整片擦除,然后再采样,存储..
上位机提取数据...
但还是不行......
提上来的数据:
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000
65535.000

使用特权

评论回复
13
bsbjx| | 2007-3-13 14:09 | 只看该作者

W29C040坏了???

使用特权

评论回复
14
asian_here|  楼主 | 2007-3-13 16:40 | 只看该作者

没有一片可以

我一共买了十片,没有一片是可以的.

使用特权

评论回复
15
高建明| | 2007-3-13 17:07 | 只看该作者

看时序对不对,可能在临界值上面.

使用特权

评论回复
16
kenchen| | 2007-3-13 17:15 | 只看该作者

呵呵

片子坏了的,现在29C040 WINBOND也很少出货

使用特权

评论回复
17
hotpower| | 2007-3-13 19:04 | 只看该作者

选择类型很多,29x040/28x040/39x040

好做~~~

使用特权

评论回复
18
lenglx| | 2007-3-13 19:22 | 只看该作者

你的程序是否检查了ID号

1.2个片子的ID号不一样.看下你的程序是否检查了ID号.
2.你是否读取boot block,并且boot block已经被lockout了.
  如果你买到的是人家的拆卸件,这个很有可能哦.
3.打开写保护,向非boot块写入一些数据,再读出来看下.
4.如果还是不正常,没办法,我就闪人了.

使用特权

评论回复
19
asian_here|  楼主 | 2007-3-14 09:21 | 只看该作者

好的,我再认真检查一下...

好的,我再认真检查一下...

使用特权

评论回复
20
asian_here|  楼主 | 2007-3-14 11:23 | 只看该作者

仔细检查了一下...

1: 程序没有检查了ID号;
2: 向非BOOT BLOCK写数据依然失败;

使用特权

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

本版积分规则

3

主题

22

帖子

0

粉丝