TYX-ADC0804芯片资料-一款可代替ADC0804的国产芯片

2023年09月07日 17:15    发布者:tyxdz
   TYX-ADC0804是中山市添翼兴电子科技有限公司推出的一款ADC芯片,与美国国家半导体公司(national semiconductor)的ADC0804芯片功能相似,多数情况下可以平替,无需更改程序,一次AD转换时间不超过1mS。TYX-ADC0804提供SOP16封装,可通过PCB转换成与ADC0804引脚对应的DIP20封装。TYX-ADC0804的功能引脚图如下:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png

    序号    引脚名称  引脚功能
  1  VCC  电源正极,3.3V-5.5V
  2  D6  数字信号输出第6位
  3  D7  数字信号输出第7位(最高位)
  4  D5  数字信号输出第5位
  5  INTR  AD转换结束信号,低电平表示本次转换已完成
  6  Vin  模拟信号输入端,电压不能超过VCC
  7  Vref/2  参考电平输入,电压不能超过VCC
  8  CS  片选信号,低电平有效
  9  RD  读信号,低电平有效
  10  WR  写信号,低电平启动AD转换
  11  D0  数字信号输出第0位(最低位)
  12  D1  数字信号输出第1位
  13  D2  数字信号输出第2位
  14  D3  数字信号输出第3位
  15  D4  数字信号输出第4位
  16  GND  电源负极

参考应用电路如下图file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png转为ADC0804引脚对应的DIP20封装的原理图如下:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png参考程序如下(主控STC89C52RC,晶振11.0592M。如用高速单片机,可在操作时序加延时)#include #include #define LED_DATA  P1#define AD_DATA  P0sbit DIG1= P3^4;//数码管第1位sbit DIG2= P3^5;//数码管第2位sbit DIG3= P3^6;//数码管第3位sbit DIG4= P3^7;//数码管第4位sbit ADC_CS= P2^0;sbit ADC_RD= P2^1;sbit ADC_WR= P2^2;sbit INTR= P2^3; unsigned charLED_data={0xff,0xff,0xff,0xff}; unsigned char consttable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};                             //0    1   2    3   4   5    6    7   8    9    void tm0_isr()interrupt 1{    static unsigned char i=0;    TH0 = (65536 - 2000) / 256;     TL0 = (65536 - 2000) % 256;     switch(i)    {        case 0x01 :        {            DIG4 = 1;            LED_DATA = LED_data;            DIG1 = 0;            break;                  }        case 0x02 :        {            DIG1 = 1;            LED_DATA = LED_data;            DIG2 = 0;            break;                  }        case 0x03 :        {            DIG2 = 1;            LED_DATA = LED_data;            DIG3 = 0;            break;                  }        case 0x04 :        {            DIG3 = 1;            LED_DATA = LED_data;            DIG4 = 0;            break;                  }       }    i++;    if(i>4)i=1;} void main(){    unsigned char temp;    //定时器0初始化    TMOD = TMOD & 0xf0;    TMOD = TMOD | 0x01;    TH0 = (65536 - 2000) / 256;     TL0 = (65536 - 2000) % 256;     TR0 = 1;     ET0 = 1;     EA=1;     while(1)  {    ADC_CS = 0;    _nop_();    ADC_WR = 0;         //启动AD转换    _nop_();    ADC_WR = 1;    AD_DATA=0xff;                    //读取P1口之前先给其写全1    while(INTR);//等待转换完成    ADC_RD = 0;                     //AD读使能    temp = AD_DATA;     //AD数据读取赋给P1口    ADC_RD = 1;    ADC_CS = 1;                    //关闭ADCS    ADC_WR = 0;     LED_data = table;    LED_data = table;    LED_data = table;    LED_data = 0xff;   }    }