大家用过max5483吗?郁闷的问题!

[复制链接]
 楼主| ccjchen 发表于 2007-9-10 22:10 | 显示全部楼层 |阅读模式
max5483单独控制正确,和max5481合在一起控制也正确,但是当我把这些程序移到我的主程序中后只有max5481正确,而max5481&nbsp;、max5483他们的控制程序是一样的,为什么max5481正确,max5483就不正确呢?<br />#include&nbsp;&ltreg52.h&gt<br />#include&nbsp;&ltintrins.h&gt<br />#include&nbsp;&ltabsacc.h&gt<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;uint&nbsp;&nbsp;unsigned&nbsp;int<br />sbit&nbsp;&nbsp;MAX5481_CS18&nbsp;=&nbsp;P1^5;<br />sbit&nbsp;&nbsp;MAX5481_CS5&nbsp;&nbsp;=&nbsp;P1^4;<br />sbit&nbsp;&nbsp;MAX5481_SCLK&nbsp;=&nbsp;P1^6;<br />sbit&nbsp;&nbsp;MAX5481_DIN&nbsp;&nbsp;=&nbsp;P1^7;<br /><br />//max5481<br />void&nbsp;max5481write(uchar&nbsp;direct,uchar&nbsp;data1,uchar&nbsp;data2);<br />void&nbsp;max5483write(uchar&nbsp;direct,uchar&nbsp;data1,uchar&nbsp;data2);<br />void&nbsp;max5481copy(uchar&nbsp;direct);<br /><br />void&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max5481write(0x00,0x56,0x00);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max5483write(0x00,0x65,0xc0);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br /><br /><br />//max5483<br />void&nbsp;max5483write(uchar&nbsp;direct,uchar&nbsp;data1,uchar&nbsp;data2)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_CS18=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入命令<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(direct&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;direct&nbsp;=&nbsp;direct&lt&lt1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;_nop_();&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入数据<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(data1&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data1&nbsp;=&nbsp;data1&lt&lt1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();&nbsp;_nop_();&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;//_nop_();&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入数据<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(data2&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data2&nbsp;=&nbsp;data2&lt&lt1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_CS18=1;<br />}<br />//max5481<br />void&nbsp;max5481write(uchar&nbsp;direct,uchar&nbsp;data1,uchar&nbsp;data2)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i;<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_CS5=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入命令<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(direct&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;direct&nbsp;=&nbsp;direct&lt&lt1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入数据<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(data1&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data1&nbsp;=&nbsp;data1&lt&lt1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lt8;i++)&nbsp;&nbsp;&nbsp;&nbsp;//上升沿写入数据<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_DIN&nbsp;=&nbsp;(bit)(data2&0x80);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data2&nbsp;=&nbsp;data2&lt&lt1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_SCLK&nbsp;=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;MAX5481_CS5=1;<br />}<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

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