神奇的并行Flash,快救救我吧,搞了一周没搞定。

2020-02-04 09:26发布

AT89S52 + SST39SF020,代码与电路如下,读取ChipID一直错误,到底是我电路有问题,还是代码有问题?

正确ID应该是B 6BF,我读出的却是 02 1C

电路图中有处错误,WR与RD应该对换下。


(原文件名:无标题.jpg)


sbit LED = P1^0;

sbit A16 = P3^4;
sbit A17 = P3^5;
sbit CE  = P1^1;
        
void main(void)
{
    unsigned int i;
    char c;

    UART_Init();
    UART_Puts("uart is ready! ");
   
    A16 = 0;
    A17 = 0;
        
    while(1)
    {    LED ^= 1;      

        CE = 0;        
        XBYTE[0x5555] = 0xAA;
        XBYTE[0x2AAA] = 0x55;
        XBYTE[0x5555] = 0x90;

        c = XBYTE[0x0001];
        UART_Putc(c);
        c = XBYTE[0x0000];
        UART_Putc(c);

        XBYTE[0x5555] = 0xAA;
        XBYTE[0x2AAA] = 0x55;
        XBYTE[0x5555] = 0xF0;

        CE = 1;

        for(i=10000;i>0;i--);
    }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
wormchen
1楼-- · 2020-02-05 11:05
我们都用74HC573 ,总线上加4K7上拉电阻!
root_007
2楼-- · 2020-02-05 15:09
回复【3楼】franklinjin
楼主,你的c2、c3104的晶体匹配电容也有点太大了吧,能起振吗?
-----------------------------------------------------------------------

这是示意图,没改标注,实际值都是正常的。
root_007
3楼-- · 2020-02-05 17:01
回复【4楼】xieshuangok 小谢
回复【1楼】xieshuangok 小谢  
读id先 0000 ,再0001   
用示波器抓下 ce oe we波形看看  
-----------------------------------------------------------------------  
先0000再0001也一样,不能获取正确结果。ce、oe、we波型已经看过,应该是正常的,都有负脉冲。   
    
-----------------------------------------------------------------------
把波形贴出来看看,你这种情况是因为写命令不成功,命令写不成功有2种可能,第一,oe  we  ce时序不对;第二,地址线和数据线逻辑不对。个人分析而已。一切还得看看你的波形。如果有逻辑分析仪抓取下更好。
-----------------------------------------------------------------------

只有模拟示波器,所以很费劲,没法截图,要是有数字的就好了。
root_007
4楼-- · 2020-02-05 23:00
 精彩回答 2  元偷偷看……
root_007
5楼-- · 2020-02-06 04:37
回复【7楼】wormchen
我们都用74hc573 ,总线上加4k7上拉电阻!
-----------------------------------------------------------------------
573跟373只是管脚不同,功能都一样的吧?我之前怀疑过上拉,但S52是带上拉的,看过ram扩展,也都没带上拉,是不是可以排除上拉的原因?
makesoft
6楼-- · 2020-02-06 07:13
回复【10楼】root_007  
回复【5楼】makesoft
并行flash一般读id需要高电压的吧?
-----------------------------------------------------------------------
数据手册上没说需要高压啊,只要5v即可。
-----------------------------------------------------------------------


(原文件名:未命名.jpg)

不用折腾了。

一周热门 更多>