No.66080 作者:qhzhou0818 邮件:qhzhou0818@gmail.com ID:79810 登陆:7次 文章数:1篇 最后登陆IP:222.244.229.208 最后登陆:2009/4/19 20:25:45 注册:2007/5/30 15:35:28 财富:109 发帖时间:2009/4/13 0:51:12 发贴者IP:222.247.142.240 标题:qhzhou0818:求助:STC单片机读写W29c011A的问题,请大家帮忙 摘要:No.66080求助:STC单片机读写W29c011A的问题,请大家帮忙 //晶振22.1184M //STC89C58RD+ #include " " #define uchar unsigned char #define uint unsigned int #define RAM_ADDR 0x0000 //外部ram 首地址 #define FLASH_ADDR 0x8000 //flash 首地址 sbit CE=P2^7; void select_segment(uchar seg) { P1&=0xfc; switch(seg) { case 0: P1|=0x00; break; // 29c011 a16a15= 00 00000-0ffff case 1: P1|=0x01; break; // 29c011 a16a15= 01 10000-1ffff case 2: P1|=0x02; break; // 29c011 a16a15= 10 20000-2ffff case 3: P1|=0x03; break; // 29c011 a16a15= 11 30000-3ffff } } void erase()//整片擦除 { select_segment(0);/*必须写到第0段*/ CE=1; XBYTE[0xd555]=0xaa; XBYTE[0xaaaa]=0x55; XBYTE[0xd555]=0x80; XBYTE[0xd555]=0xAA; XBYTE[0xaAAA]=0x55; XBYTE[0xd555]=0x10; CE=0; Delay_ms(20); _nop_(); } void protect() //解除保护 { select_segment(0);/*必须写到第0段*/ CE=1; XBYTE[0x5555+0x8000]=0xaa; //p2.7脚为芯片w29c011a使能信号,高电平有效 XBYTE[0x2aaa+0x8000]=0x55; XBYTE[0x5555+0x8000]=0xa0; CE=0; } void write_data(uint m_addr,uint s_sector,uint acount) // ......
>>返回讨论的主题
|