微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 电子工程师杂谈 > 为什么ADC0809与单片机连接时输出口低电平被拉高

为什么ADC0809与单片机连接时输出口低电平被拉高

时间:10-02 整理:3721RD 点击:
使用ADC0809时,当只给ADC0809供电可以发现输出口有高低电平之分。
而当我将输出接到单片机上并给单片机供电时出现了低电平被拉高的状况。
而且都是2V左右的高电平。
希望哪位高手帮忙解决指导一下。
QQ 617359367
以下为我的程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar getdata;
float temp,temp1;
sbit led2=P1^2;
sbit yang=P1^6;
sbit key1=P3^2;
sbit led1=P1^7;                                                                                                                                                                                  
sbit eoc=P1^1;
sbit adda=P1^4;
sbit st=P1^0;
sbit CLK=P1^3;
sbit en=P1^5;
void delay(uint z)
{                               
        uint x,y;
        for(x=0;x<z;x++)
                for(y=0;y<110;y++);
}
void adctransform()
{       
       
        st=0;
        en=0;
        st=1;
        st=0;//给一个脉冲信号启动ADC0809
        adda=0;//选中INT0模拟输入
        while(eoc==1)
        en=1;
        getdata=P0;               
        en=0;
        temp1=(float)getdata*1.0/255*5000;
        temp=temp1/1000;
}


void init()
{       
       
        yang=0;
        led1=1;
        key1=1;
        led2=0;       
        adda=0;
}
void main()
{
       
        uint i,j;        
        init();
       
        while(1)
        {       
                CLK=~CLK;
                adctransform();
                if(key1==0)
                {
                        yang=0;
                        led1=1;
                        led2=0;
                }
                if(temp>1.5)
                {
                        delay(5);
                        if(temp>1.5)
                        {
                                for(j=4;j>0;j--)
                                for(i=10;i>0;i--)
                                        {
                                                if(key1==0)
                                                        {
                                                                delay(100);
                                                                temp=0;       
                                                        }
                                                yang=1;
                                                led1=0;
                                                led2=1;
                                                delay(100);
                                                yang=0;
                                                led1=1;
                                                delay(100);
                                                if(key1==0)
                                                        {
                                                                delay(100);
                                                                temp=0;
                                                        }
                                        }
                                yang=0;
                                led2=0;
                                led1=1;
                        }
                }
        }       
}
                                       

啊!又一个孩子使用ADC0809了!真是说什么好啊!无语了

!又一个孩子使用ADC0809了!真是说什么好啊!无语了

大神们adc0809到底怎么了怎么了。。

为什么这样说啊,是不是就是0809的问题?
哎,我现在用成功了,但是却使用两条通道的时候出了问题。

51除了P0口,其余端口都有内部上拉的

请问,我也碰到了类似情况,EOC信号正常,但无论输入怎样变化,输出总是全为高电平,能说一下您的问题是怎么解决的吗?谢谢!

问题怎么解决的?我也遇到了类似的问题,急求解决方法

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top