我试过了写寄存器状态没问题,就是写字节写不进去 试了一个星期了就是真的是没办法了!!!!
//------------------------------------------------ //***********X5045读写子程序******************* //------------------------------------------------
//***********************************************
void wr5045(uchar x,uchar address) //写单字节数据函数 { wren(); SCP=0; CS_5045=0; byteout_5045(0x02); //写使能函数 byteout_5045(address); byteout_5045(x); SCP=0; CS_5045=1; wip_chk(); //等待写完函数 }
//************************************************
//***********************************************
uchar rd5045(uchar data address) //读单字节数据函数 { uchar data x; SCP=0; CS_5045=0; byteout_5045(0X03); //读使能函数 byteout_5045(address); x=bytein_5045(); SCP=0; CS_5045=1; return x; }
//************************************************
//*************************************************
void byteout_5045(uchar x) //写单字节数据函数 { uchar i; for(i=0;i<8;i++) { SCP=0; SISO=x&0x80;
x=x<<1; SCP=1; } SISO=0; }
//*************************************************
//************************************************
void wip_chk(void) //等待写完函数 { uchar data dat,i;
for(i=0;i<50;i++) { dat=rdsr(); if((dat&0x01)==0) i=50; } }
//************************************************
//************************************************
uchar rdsr(void) //读寄存器状态函数 { uchar data dat; SCP=0; CS_5045=0; byteout_5045(0x05); dat=bytein_5045(); SCP=0; CS_5045=1; return dat; }
//************************************************
//************************************************
uchar bytein_5045(void) //读一字节数据函数 { uchar data i,x=0; for(i=0;i<8;i++) { SISO=1; SCP=1; SCP=0; if(SISO==1) { x=x+x+1; } else { x<<=1; } } return x; }
//************************************************
//**********************************************
void wrsr(uchar x) //X5045状态寄存器写入程序 { wren(); //写允许函数 SCP=0; CS_5045=0; byteout_5045(0x01); //写状态寄存器指令 byteout_5045(x); SCP=0; CS_5045=1; wip_chk(); //等待写完函数 } //************************************************
//**************************************************
void wrdi(void) //写禁止函数 { SCP=0; CS_5045=0; byteout_5045(0x04); SCP=0; CS_5045=1; }
//**************************************************
//*************************************************
void wren(void) //写允许函数 { SCP=0; CS_5045=0; byteout_5045(0x06); SCP=0; CS_5045=1; }
//*************************************************
|