///////////////////////////////////////////////////////////////////// //公司名称: //模 块 名: //创 建 者:李银超 //修 改 者: //功能描述:ATT7028A读写驱动 //其他说明:http://www.liyinchao.cn //版 本: ///////////////////////////////////////////////////////////////////// #include"reg51.h" #include"ATT7028.h" #include"INTRINS.H" #define uint unsigned int #define uchar unsigned char
uchar Data[3]; void Delay(uint i) { while(i)i--; }
void Send_To_ATT7028A(uchar CMD) { uchar i; SCLK=0; for(i=0;i<8;i++) { SCLK=1; if(CMD&0x80) DIN=1; else DIN=0; CMD<<=1; Delay(3); SCLK=0; Delay(3); } DIN=1; }
uchar Recv_ATT7028A() { uchar i,result=0; DIN=1; for(i=0;i<8;i++) { SCLK=1; DOUT=1; //设置为输入口 result<<=1; Delay(3); if(DOUT==0x01) result|=0x01; SCLK=0; Delay(3); } return result; }
void Read_From_ATT7028A(uchar CMD) { uchar idata i; CS=0; Send_To_ATT7028A(CMD); _nop_(); _nop_(); _nop_(); _nop_(); for(i=0;i<3;i++) Data=Recv_ATT7028A(); CS=1; } void Write_To_ATT7028A(uchar CMD) { uchar idata i; CS=0; Send_To_ATT7028A(CMD); _nop_(); _nop_(); _nop_(); _nop_(); for(i=0;i<3;i++) Send_To_ATT7028A(Data); CS=1; }
|