本帖最后由 jxlyyr3 于 2011-8-27 15:56 编辑
#include <absacc.h>
#include <reg52.h>
#define uint unsigned int
#define ADCOM3 XBYTE[0X7FFC]
#define ADL3 XBYTE[0X7FFF]
#define ADH3 XBYTE[0X7FFE]
#define ADCOM4 XBYTE[0XBFFC]
#define ADL4 XBYTE[0XBFFF]
#define ADH4 XBYTE[0XBFFE]
sbit adbusy3=P3^2;
sbit adbusy4=P3^3;
uint result3,result4,ad;
int i;
char ad1;
uint read3(void) /*读取U3即AD1674的转换值*/
{
ADCOM3=0;
adbusy3=0;
while(adbusy3==1);
return((uint)(ADH3<<4)+(ADL3&0X0F));
}
现在89S52输出的对AD1674的控制信号都没问题,但AD1674转换完成的状态信号STS引脚一直没有低电平输出。猜想原因会不会是STS引脚接到89S52的P3.2,P3.3脚 单片机上电时 这两个引脚为高电平 STS即使有转换完成的信号也无法将电平拉低? 求指导
我的原理图如下,麻烦各位高手帮忙指导一下!万分感谢!!! |