发点代码,ATT7028A读写驱动

[复制链接]
2304|0
 楼主| liyinchao 发表于 2007-10-18 19:55 | 显示全部楼层 |阅读模式
<br />/////////////////////////////////////////////////////////////////////<br />//公司名称:<br />//模&nbsp;块&nbsp;名:<br />//创&nbsp;建&nbsp;者:李银超<br />//修&nbsp;改&nbsp;者:<br />//功能描述:ATT7028A读写驱动<br />//其他说明:http://www.liyinchao.cn<br />//版&nbsp;&nbsp;&nbsp;&nbsp;本:<br />/////////////////////////////////////////////////////////////////////<br />#include&quot;reg51.h&quot;<br />#include&quot;ATT7028.h&quot;<br />#include&quot;INTRINS.H&quot;<br />#define&nbsp;uint&nbsp;unsigned&nbsp;int<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br /><br />uchar&nbsp;Data[3];<br />void&nbsp;Delay(uint&nbsp;&nbsp;i)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(i)i--;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />void&nbsp;Send_To_ATT7028A(uchar&nbsp;CMD)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCLK=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCLK=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(CMD&0x80)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DIN=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;DIN=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CMD&lt&lt=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(3);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCLK=0;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(3);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;DIN=1;<br />}<br /><br />uchar&nbsp;Recv_ATT7028A()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i,result=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;DIN=1;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCLK=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOUT=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置为输入口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&lt&lt=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(3);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(DOUT==0x01)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result|=0x01;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCLK=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(3);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result;<br />}<br /><br />void&nbsp;Read_From_ATT7028A(uchar&nbsp;CMD)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;idata&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;CS=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;Send_To_ATT7028A(CMD);<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt3;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Data=Recv_ATT7028A();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;CS=1;<br />}<br />void&nbsp;Write_To_ATT7028A(uchar&nbsp;CMD)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;idata&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;CS=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;Send_To_ATT7028A(CMD);<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt3;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;Send_To_ATT7028A(Data);<br />&nbsp;&nbsp;&nbsp;&nbsp;CS=1;<br />}<br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

56

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部