/*
ADC0804归于8位CMOS三态确定输出逐次迫临型A/D转化器,存取时刻135us,转化时刻100us,总差错
1LSB。现在讲一下它的转化原理和硬件衔接:
它的管脚有20个:
/CS:芯片选通信号,低电平选通,只要CS为低电平的时分,芯片才被选通作业(但不必定开端数据转化,由/WR
操控起停转化)。
/RD:读宣统信号,也便是外部单片机读取转化成果的操控信号,/RD为高电平,DB0~DB7处于高阻态,处于低电
平数字数据才会输出。
/WR:发动转化的操控输入,转化的开端与中止由它操控,/CS=0的前提下,/WR由高变为低,转化器被铲除,/WR
由低变为高,转化正式开端。
CLK IN、CLK R:时钟输入或接震动元件(R、C),频率约约束在100KHZ~1460KHZ,假如运用RC电路则其振动频
率为1/(1.1RC).
/INTR:中断请求信号输出,低电平动作,预备转化前置1,转化完毕后,主动发生一个低电平信号,经过查询可
操控读取数据的时刻。
VIN(+)、VIN(-):差动模仿电压输入端,输入单规矩电压时,VIN(-)接地,而差动输入时,直接参加VIN(+)、
VIN(-).
AGND:模仿信号接地端。
DGND:数字信号接地段。
VREF:辅佐参阅电压。
DB0~DB7:8位数字输出。
VCC:电源供给以及作为电路的参阅电压。
*/
#includecode unsigned char seg7code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbit int1=P3^3;sbit cs=P3^2;sbit wr=P3^6;sbit rd=P3^7;void Delay(unsigned int tc){while(tc!=0){unsigned int i;for(i=0;i<100;i++);tc--;}}unsigned char adc0804(void){unsigned char addata,i;rd=1;wr=1;int1=1;P1=0xff;cs=0;wr=0;wr=1;while(int1==1);rd=0;i=i;i=i;addata=P1;rd=1;cs=1;return(addata);}unsigned int datpro(void){unsigned char x;unsigned int dianyah,dianyal;unsigned int dianya=0;for(x=0;x<10;x++){ dianya=adc0804()+dianya;}dianya=dianya/10;dianyah=dianya&0xf0;dianyah=dianyah>>4;dianyal=dianya&0x0f;dianya=dianyal*20+dianyah*320;return(dianya);}