求助,本人现在在写max110在51下初始化
本人现在在写max110在51驱动,那位大虾能够提供其初始化代码,我根据数据书册写出来的总是不能够开始转换:
本人代码如下:
#include "reg51.h"
#include "intrins.h"
sbit ad_da_sclk=P3^1;
sbit ad_da_busy=P3^3;
sbit ad_da_din=P3^5;
sbit ad_da_dout=P3^4;
sbit ad_cs=P3^0;
sbit p10=P1^0 ;
/*********************************************************/
void delay(unsigned char i)
{
while(i--);
}
/*********************************************************/
void spi_start(void) //SPI开始
{
ad_da_sclk=0;
ad_cs=1;
ad_da_din=1;
ad_da_sclk=1;
ad_cs=0;
}
/***********************************************************/
Writemax110(unsigned int num) //SPI写数据
{
unsigned char count=0;
spi_start();
for(count=0;count <16;count++)
{
num < <=1;
ad_da_din=CY;
ad_da_sclk=0; _nop_();_nop_();_nop_();_nop_();_nop_();//上升沿有效
ad_da_sclk=1; _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
}
/***********************************************************/
unsigned int Readmax110(void) //SPI 读数据
{
unsigned int num=0;
spi_start();
for(count=0;count <16;count++)
{
Num < <=1;
ad_da_sclk=1; _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
ad_da_sclk=0; _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
if(ad_da_dout) Num++;
}
return(Num);
}
void ad_init()
{
Writemax110(0x871c);
Writemax110(0x8718);
Writemax110(0x8714);
Writemax110(0x8710);
return;
}
发表时间:2004年10月2日5:19:24