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