老古开发网首页
导航:老古开发网首页文章索引索引第18页文章分类新闻热点第3页→[x25045的读写程序 用c51写的]
| -文章搜索 - 最新文章 - |

x25045的读写程序 用c51写的

发布时间:2001年3月30日 点击次数:6038
来源:   作者:
 
/* x25045的读写程序 用c51写的 */
#define CS P2.7       /*单片机p2.7为片选  可以改为你的实际引脚 */
#define SO P2.6       /*数据输出   */
#define SK P2.5       /* 时钟  */
#define SI P2.4        /* 数据输入*/

/* here is the instrution of x25045*/
#define WREN 0x06
#define WRDI 0x04
#define RDSR 0x05
#define WRSR 0x01
#define READ0 0x03
#define READ1 0x0b
#define WRITE0 0x02
#define WRITE1 0x0a

unsigned char Read8()
{
bit bData;
unsigned char cLoop;
unsigned char cData;
for(cLoop=0;cLoop<8;cLoop++)
{
SK=1;
SK=0;
bData=SO;
cData<<=1;
if(bData)
{
cData|=0x01;
}
}
return cData;
}

void Write8(unsigned char cData)
{
unsigned char cLoop;
for(cLoop=0;cLoop<8;cLoop++)
{
if((cData&0x80)==0)
{
SI=0;
}
else
{
SI=1;
}
SK=0;
SK=1;
cData<<=1;
}
}

unsigned char ReadSR()
{
unsigned char cData;
CS=0;
Write8(RDSR);
cData=Read8();
CS=1;
return cData;
}

unsigned char WriteSR(unsigned char cData)
{
unsigned char cTemp;
cTemp=ReadSR();
if((cTemp&0x01)==1)
return 0;
CS=0;
Write8(WREN);
CS=1;
CS=0;
Write8(WRSR);
Write8(cData);
CS=1;
return 1;
}

void Write1B(unsigned char cData,unsigned char cAddress,bit bRegion)
/* 写入一个字节,cData为写入的数,cAddress为写入地址,bRegion为页 */
{
while((ReadSR()&0x01)==1)
{
}
CS=0;
Write8(WREN);
CS=1;
CS=0;
if(bRegion==0)
{
Write8(WRITE0);
}
else
{
Write8(WRITE1);
}
Write8(cAddress);
Write8(cData);
SK=0;
CS=1;
}

unsigned char Read1B(unsigned char cAddress,bit bRegion)
/* 读入一个字节,cAddress为读入地址,bRegion为页 */
{
unsigned char cData;
while((ReadSR()&0x01)==1)
{
}
CS=0;
if(bRegion==0)
{
Write8(READ0);
}
else
{
Write8(READ1);
}
Write8(cAddress);
cData=Read8();
CS=1;
return cData;

欢迎进入老古论坛进行讨论
[新闻热点] 相关文章:
Microchip可扩充外置存储功能的MCU
简介:
  Microchip科技公司扩充了它的PIC18CXXX 架构,添加了第一批PICmicro无ROM设备,包括PIC18C601和 PIC18C801无ROM微控制器。这两种新型的微处理器使工程师可以灵活地选择外置闪存或 EPROM 程序存储器,以扩充和配合高档系统应用的程序/数据存储器。  ......

Signia公司宣布与Agilent公司达成蓝牙营销协议
安森美计划投资1亿在四川增设6吋芯片制造厂
MICROTEK推出MPDA 668掌上超人
台湾地区成为全球第二大半导体设备市场
 
下一个:[新闻热点]Atmel推出串行闪存样品
简介:
Atmel公司推出首个1M即64k x16的串行闪存器件。它支持业界标准串并行接口协议,与Atmel的1k至512k的系列串行E2PROM兼容。 AT25F-1024的工作电压在2.7至5V之间,2.7V时的待机电流不超过1mA。这种器件无需使用额外的软件命令即可转向"深度省电模式"。2.7V时的典型访问速度为20MHz。快速设置选项还包括单字节......

上一个:[新闻热点]Amkor Technology全力发展台湾半导体市场

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:47毫秒