导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→28SF040读写搞不定,请高手们指点,谢谢!

* 83018: 28SF040读写搞不定,请高手们指点,谢谢!

   hx821 
hx821发表的帖子 

 28SF040读写搞不定,请高手们指点,谢谢!
大家好,我用28sf040碰到一些问题,请指教。
我用的是89c51单片机,用28sf040扩展存储,P2的5-7口接38译码器后,片选Y4口进
28sf040,P0的0-7口接锁存器接到28sf040的A0-7,P2的0-4口接到28sf040的A8-12,P1的0-5
接到28sf040的A13-18。
现在遇到两个问题,如下的两个程序读出来的28sf040的0000h和0001h的数值不一样:
第一个:
#include   <reg51.h>  
main()
{
    char id1,id2;
    int xdata *temp;
    P1=0;                /*使P1口的0-5为0*/
    temp=0x8002;         /*选通28sf040芯片*/ 
    *temp=0xff;          /*reset芯片*/
    *temp=0x90;          /*读ID*/
    temp=0x8000;
    id1=*temp;
    temp=0x8001;
    id2=*temp;
    
}
这个程序读出来的数值和说明书里的数值正好相反,而且我发现读出所有偶数地址的数值
都和0000H的一样,为04H,所有奇数地址的数值都和0001H一样,为BFH.
还有我置P1为0,是为了能读出0000H和0001H地址,不知道这样做,正确与否?
第二个:
#include   <reg51.h>  
#include   <absacc.h>  
#define W1 XBYTE[0x8000]
#define W2 XBYTE[0x8001]
main()
{
    
    char id1;
    char id2;
    W1=0xff;         /*reset芯片*/
    W1=0x90;         /*读ID*/
    P1=0;            /*使P1的0-5为0*/
    id1=W1;
    id2=W2;
    
}
这个程序读出来的ID数值是正确的,只是也出现和上面一样的问题,就是所有偶数地址的
数值都是BFH,所有奇数地址的数值都是04H,不知道是不是因为28sf040的技术说明书里没
有提,读ID的时候确实是这种现象,不只是局限于读0000H和0001H的地址。
我个人认为这两个程序是一样的,但不知道为什么读出来的数值却不一样,恳求各位高手
指教。
第二个问题就是在读写数据的时候,读不出来,程序如下:
#include   <reg51.h>  
#include   <absacc.h>  
#define W1 XBYTE[0x8000]
#define W2 XBYTE[0x8001]
#define U1 XBYTE[0x9823]
#define U2 XBYTE[0x9820]
#define U3 XBYTE[0x9822]
#define U4 XBYTE[0x8418]
#define U5 XBYTE[0x841B]
#define U6 XBYTE[0x8419]
#define U7 XBYTE[0x841A]
#define W3 XBYTE[0x8002]
char id1;
char id2;
char id3;
main()
{
    char q61,q62;
    W1=0x90;
    P1=0;
    id1=W1;
    id2=W2;
    id3=U1;                  /*去除写保护*/
    id3=U2;
    id3=U3;
    id3=U4;
    id3=U5;
    id3=U6;
    id3=U7;
    W3=0x10;               /*写数据命令字*/
    W3=0x21;               /*随便输入的一个数值,准备读出*/
    do{                /*判断数据写入结束否*/
    q61=W3;
    q62=W3;
    }while((q61&0x40)!=(q62&0x40));
    id3=W3;            /*读出数据*/
    
}
每次运行之后读出来的id3的值都是ffH,非常郁闷,真心求教,不胜感谢!


发表时间:2005年9月1日17:27:04

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:请教VGA分屏电路?我想把计算机的VGA信号分到两个显示器上,请问如何设计?要用到什么芯片?
[下一篇帖子]:与强电有关的,在清单上有变压器和隔离器等,用这些能做些什么?