?? x5045.c
字號:
#include "X5045CMD.H"
#include <INTRINS.H>
typedef unsigned char uchar;
typedef unsigned int uint;
#define WREN 0x06 //寫允許
#define READ 0x03 //讀書據(jù)
#define WRITE 0x02 //寫數(shù)據(jù)
sbit DI5045=P0^3;
sbit SCK5045=P0^2;
sbit DO5045=P0^1;
sbit CS5045=P1^5;
void X5045OutData(unsigned char ddata)
{ unsigned char i;
for(i=8;i>0;i--)
{
SCK5045=0;
_nop_();
_nop_();
if(ddata&0x80)DI5045=1;
else DI5045=0;
ddata=ddata<<1;
_nop_();
_nop_();
_nop_();
SCK5045=1;
}
}
unsigned char X5045InData(void)
{ unsigned char ddata=0,i;
for(i=8;i>0;i--)
{
SCK5045=1;
_nop_();
_nop_();
_nop_();
SCK5045=0;
_nop_(); _nop_();
ddata=ddata<<1;
if(DO5045) ddata|=0x01;
_nop_();
_nop_();
}
return ddata;
}
unsigned char X5045_ReadStatue(void)
{ unsigned char ddata;
SCK5045=0;
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(RDSR_INST) ;
DO5045=1;
_nop_();
ddata=X5045InData() ;
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
return ddata;
}
/*
void X5045_WriteStatue(unsigned char cmd)
{
SCK5045=0;
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(WRSR_INST);
X5045OutData(cmd);
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
}
void X5045_WriteDisable(void)
{
SCK5045=0;
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(WRDI_INST);
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
}
*/
void X5045_WriteEnable(void)
{
SCK5045=0;
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(WREN_INST);
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
}
unsigned char X5045ByteRead(unsigned char addr)
{
unsigned char ddata;
SCK5045=0;
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(READ_INST) ;
X5045OutData(addr) ;
DO5045=1;
_nop_();
ddata=X5045InData() ;
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
return ddata;
}
void X5045_Write(unsigned char addr,unsigned char ddata) //注意:寫之前首先要調(diào)用寫允許(上面已經(jīng)給出)
{
EA = 0; //然后判斷是否正忙(調(diào)用狀態(tài)讀函數(shù))
SCK5045=0; //最后調(diào)用此函數(shù)
_nop_();
CS5045=0;
_nop_();
_nop_();
X5045OutData(WRITE_INST);
X5045OutData(addr) ;
X5045OutData(ddata);
SCK5045=0;
_nop_();
_nop_();
CS5045=1;
EA = 1;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -