我是用I/O口模拟来实现的,单片机为89C52,但是我发现数字电位器的输出端 W 根本没有数据输出,哪位大哥大姐能给指导一下,感激不尽!<br />#include <reg52.h><br />#include <intrins.h><br />#include <absacc.h><br />#define uchar unsigned char<br />#define uint unsigned int<br />sbit MAX5483_CS = P1^5;<br />sbit MAX5483_SCLK = P1^6;<br />sbit MAX5483_DIN = P1^7;<br />//max5483<br />void max5483write(uchar direct,uchar data1,uchar data2);<br />void main()<br />{<br /> max5483write(0x00,0xf4,0x00);<br />}<br />void max5483write(uchar direct,uchar data1,uchar data2)<br />{<br /> uchar i;<br /> MAX5483_SCLK = 0;<br /> MAX5483_CS=0;<br /> for (i=0;i<8;i++) //上升沿写入命令<br /> {<br /> MAX5483_SCLK =0;<br /> MAX5483_DIN = (bit)(direct&0x80);<br /> direct = direct<<1;<br /> MAX5483_SCLK =1;<br /> }<br /> for (i=0;i<8;i++) //上升沿写入数据<br /> {<br /> MAX5483_SCLK =0;<br /> MAX5483_DIN = (bit)(data1&0x80);<br /> data1 = data1<<1;<br /> MAX5483_SCLK =1;<br /> }<br /> for (i=0;i<8;i++) //上升沿写入数据<br /> {<br /> MAX5483_SCLK =0;<br /> MAX5483_DIN = (bit)(data2&0x80);<br /> data2 = data2<<1;<br /> MAX5483_SCLK =1;<br /> }<br /> MAX5481_CS=1;<br />}<br /><br /> |
|