您当前的位置:五五电子网电子知识单片机-工控设备51单片机AT93C46 SPI接口EEPROM读写程序 正文
AT93C46 SPI接口EEPROM读写程序

AT93C46 SPI接口EEPROM读写程序

点击数:7245 次   录入时间:03-04 11:41:11   整理:http://www.55dianzi.com   51单片机
           }
//--------------------------------------------------------------------------------------------------
// 函数名称:EWDS
// 函数功能: 擦写截止
// 使用该指令可对写入的数据进行保护
//--------------------------------------------------------------------------------------------------
void EWDS(void)
           {
           _nop_(); 
           CS_93=1; 
           start_operation(EWDS_c); 
           SEND_BYTE(0x00); 
           CS_93=0;
           }
//--------------------------------------------------------------------------------------------------
// 函数名称: ERAL
// 函数功能: 片擦
// 该指令可将整个存贮器阵列置为1,其它功能与地址擦指令相同
// 要求VCC = 4.5V to 5.5V。
//--------------------------------------------------------------------------------------------------
void ERAL(void)
           {
           _nop_(); 
           CS_93=1; 
           start_operation(ERAL_c); 
           SEND_BYTE(0x80); 
           CS_93=0;
           }
//--------------------------------------------------------------------------------------------------
// 函数名称: READ_BYTE
// 函数功能: 从存储区读一字节数据
//--------------------------------------------------------------------------------------------------
unsigned char READ_BYTE(unsigned char address)
             { 
             unsigned char dat; 
             CS_93=CLK_93=0;
             CS_93=1; 
             start_operation(READ_c); 
             SEND_BYTE(address); 
             dat=RECEIVE_BYTE();
             CS_93=0;
             return(dat);
             }
//--------------------------------------------------------------------------------------------------
// 函数名称: WRITE_BYTE
// 入口参数: address。dat
// 返回值:   1或0,表示成功写入
// 函数功能: 写一字节数据到存储区
//--------------------------------------------------------------------------------------------------
bit WRITE_BYTE(unsigned char address,unsigned char dat)
                {
                 unsigned char e,time,temp=address; 
                  e=0; 
                  while (e<3) 
                   {
                  CS_93=CLK_93=0; 
                  CS_93=1;
                  EWEN();
                  _nop_();
                  CS_93=1;
                  _nop_();
                  start_operation(WRITE_c); 
                  SEND_BYTE(address); 
                  SEND_BYTE(dat); 
                  CS_93=0;
                  _nop_();
                  CS_93=1;
                  time=0;
                  DO_93=1;
                  while (1) 
                  {
                  if (DO_93==1) break;
                  if (time>20) break;
                  time++;
                  } 
                  CS_93=0; 
                 if (READ_BYTE(temp)==dat) 
                    {
                    return(0);
                    }
                    e++;
                    } 
                    return(1);
    }


上一页  [1] [2] 


本文关键字:程序  接口  51单片机单片机-工控设备 - 51单片机

上一篇:IC卡控制程序