磁动力电子--本站原创-- X5045和X5043的读写程序  点击数量阅读数:    关 闭
 
 
 

X5045和X5043的读写程序

作者:温正伟 出处:磁动力电子 www.cdle.net

  最近都没有什么时间更新网站,也没有什么作品出来,下面上一篇半年前写的X5045的读写子程序,应用在一个程控装置上用于自动复位和数据记录。x5045也不是什么新东西了,我这个和网上的那些也差不多,没什么新意,略略表过就算。 2005 明浩

//---------------------------------
//x5045子程序
//---------------------------------
void RESWDI(void) //复位看门狗(喂狗)
{
CS = 0;
CS = 1;

}

void WREN(void) //写使能锁存
{
SCK=0;
CS=0;
OUTByte(0x06); //发送06H写使能命令字
SCK=0;
CS=1;
}

void WRDI(void) //写使能复位(禁止写)
{
SCK=0;
CS=0;
OUTByte(0x04); //发送04H写禁止命令字
SCK=0;
CS=1;
}

void WRSR(void) //写状态寄存器
{
SCK=0;
CS=0;
OUTByte(0x01); //发送01H写寄存器命令字
OUTByte(0x20); //发送寄存器值BL0,BL1为0没写保护,WD0=0 WD1=1看门狗复位时间为200ms
SCK=0;
CS=1;
WIPCHK(); //判断是否写入
}

unsigned char RSDR(void) //读状态寄存器
{
unsigned char Temp;

SCK=0;
CS=0;
OUTByte(0x05); //发送05H读状态寄存器命令字
Temp = INPUTByte(); //读状态寄存器值
SCK=0;
CS=1;
return Temp;
}

void WIPCHK(void) //reentrant //检查WIP位,判断是否写入完成
{
unsigned char Temp,TempCyc;

for(TempCyc=0;TempCyc<50;TempCyc++)
{
Temp = RSDR(); //读状态寄存器
if (Temp&0x01==0)
TempCyc = 50;
}
}

void OUTByte(unsigned char Byte) //输出一个定节
{
unsigned char TempCyc;

for(TempCyc=0;TempCyc<8;TempCyc++)
{
SCK = 0;
SI = Byte & 0x80;
Byte = Byte<<1; //右移
SCK = 1;
}
SI=0; //使SI处于确定的状态
}

unsigned char INPUTByte(void) //输入一个字节
{
unsigned char Temp=0, TempCyc;

for(TempCyc=0;TempCyc<8;TempCyc++)
{
Temp = Temp<<1; //右移
SCK = 0;
if (SO)
Temp = Temp|0x01; //SO为1,则最低位为1
SCK = 1;
}
return Temp;
}

unsigned char ReadByte(unsigned char ADD) //读地址中的数据这里不做先导字处理,只能读00-FFH
{
unsigned char Temp;

SCK=0;
CS=0;
OUTByte(0x3); //发送读指令03H 如要支持000-FFF则要把高位地址左移3位再为03H相或
OUTByte(ADD); //发送低位地址
Temp = INPUTByte();
SCK=0;
CS=1;
return Temp;
}

void WriteByte(unsigned char Byte,ADD) //向地址写入数据这里同样不做先导字处理,只能写00-FFH
{
SCK=0;
CS=0;
OUTByte(0x2); //发送写指令02H 如要支持000-FFF则要把高位地址左移2位再为02H相或
OUTByte(ADD); //发送低位地址
OUTByte(Byte); //发送数据
SCK=0;
CS=1;
WIPCHK(); //判断是否写入
}

 
 
本文相关信息:

收录时间:2005年
整理时间:2006.10.25
作者:温正伟
出处:磁动力电子

相关阅读:

X5045和X5043的读写程序
常用串行EEPROM的编程应用(一)
常用串行EEPROM的编程应用(二)
常用串行EEPROM的编程应用(三)
简单的密码控制器

相关网站:
广告:
 
 
   最佳浏览 800*600 粤ICP备06079880号
Copyright(C) 2001-2008 www.cdle.net All rights reserved.
GOTO TOP
 
 
网警