打印

弱问:关于AD7865驱动的问题

[复制链接]
2047|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taxihu|  楼主 | 2008-1-3 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    AD7865和C8051F020直接相连,用单片机的I/0来控制AD的启动时序和进行数据传输。但是,AD芯片始终不工作,检测它的电源和地,都正常的。DB0-DB3通道选择数据线上的电平和软件赋予电平一样。数据传输线DB0-DB13上电平和通过单片机I/O赋予的电平相同。但是,当我给它的/BUSY引脚赋高电平时,软件检测为零,万用表测是2.1V.AD7865的驱动引脚接的是3.3V电压。/BUSY接的是单片机的P3.5。
不知道是出了什么原因。。。为什么会不工作?还出现这种不能给它引脚赋值的怪现象。
请教各位大虾!

相关帖子

沙发
taxihu|  楼主 | 2008-1-4 16:13 | 只看该作者

还是AD7865的问题,大虾们帮我看看程序

void Timer4_ISR (void) interrupt 16
{
   unsigned int i,jtemp;
   unsigned char itemp;
   read  = 1;
   write = 1;
   for(i=0;i<10;i++);
   write = 0;
   P2    = 0x02;// 写DB0-DB3,选择AD7865通道二
   for(i=0;i<10;i++);
   write = 1;
   convst= 0;   
   for(i=0;i<10;i++);
   convst= 1;   //convst上升沿启动AD7865
   for(i=0;i<10;i++);
   while(busy); //等待转换结束
   read  = 1;
   for(i=0;i<10;i++);
   read  = 0;    
   ad_data=P1;    //DB8-DB13数据
   jtemp = (ad_data<<8);
   itemp = P2;   //DB0-DB7数据
   ad_data= jtemp+itemp;
   ad_data&= 0x3fff;
   read  = 1; 
   T4CON &= 0x7f; //请T4中断标志位
}

这是我自己写的中断服务程序,用来启动AD7865采样和读取采样数据的。
不知道什么原因,AD7865始终不工作。
硬件上已经检查过了 ,电源和地都正常。就是参考电压引脚不是很确定,我用的是外部参考电压2.5V,但是我只接了一个0.1UF的电容,不知道有没有问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝