打印

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

[复制链接]
467|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tyxdz|  楼主 | 2023-9-7 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TYX-ADC0804是中山市添翼兴电子科技有限公司推出的一款ADC芯片,与美国国家半导体公司(national semiconductor)的ADC0804芯片功能相似,多数情况下可以平替,无需更改程序,一次AD转换时间不超过1mS。TYX-ADC0804提供SOP16封装,可通过PCB转换成与ADC0804引脚对应的DIP20封装。TYX-ADC0804的功能引脚图如下:


序号        引脚名称        引脚功能
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        电源负极


参考应用电路如下图

转为ADC0804引脚对应的DIP20封装的原理图如下:
参考程序如下(主控STC89C52RC,晶振11.0592M。如用高速单片机,可在操作时序加延时)
#include <reg51.h>
#include <intrins.h>
#define LED_DATA  P1
#define AD_DATA  P0
sbit 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 char LED_data[4]={0xff,0xff,0xff,0xff};

unsigned char const table[]={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[0];
                        DIG1 = 0;
                        break;                       
                }
                case 0x02 :
                {
                        DIG1 = 1;
                        LED_DATA = LED_data[1];
                        DIG2 = 0;
                        break;                       
                }
                case 0x03 :
                {
                        DIG2 = 1;
                        LED_DATA = LED_data[2];
                        DIG3 = 0;
                        break;                       
                }
                case 0x04 :
                {
                        DIG3 = 1;
                        LED_DATA = LED_data[3];
                        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[0] = table[temp/100];
        LED_data[1] = table[temp%100/10];
        LED_data[2] = table[temp%10];
        LED_data[3] = 0xff;
   }       
}

使用特权

评论回复
沙发
supernan| | 2023-9-7 22:28 | 只看该作者
不错,支持

使用特权

评论回复
板凳
cooldog123pp| | 2023-9-8 08:32 | 只看该作者
不错,支持,虽然基本不使用国产芯片,但是还是支持一下,**越做越好!

使用特权

评论回复
地板
coody| | 2023-9-8 10:51 | 只看该作者
支持国产!
但是,一次AD转换时间不超过1mS,这个也太慢了吧?  MCU自带的8位、10位、12位ADC的速度,一般都可以us级别的了。

使用特权

评论回复
5
豌豆爹| | 2023-9-13 09:40 | 只看该作者
非常好,支持国产

使用特权

评论回复
6
xyz549040622| | 2023-9-29 21:58 | 只看该作者
coody 发表于 2023-9-8 10:51
支持国产!
但是,一次AD转换时间不超过1mS,这个也太慢了吧?  MCU自带的8位、10位、12位ADC的速度,一般 ...

ADC0804的转换速度也不快的,但是确实这个速度,对比MCU是没有优势的。

使用特权

评论回复
7
xyz549040622| | 2023-9-29 21:59 | 只看该作者
cooldog123pp 发表于 2023-9-8 08:32
不错,支持,虽然基本不使用国产芯片,但是还是支持一下,**越做越好! ...

居然基本上不使用国产芯片?伟大的STC是我经常用的,哈哈。

使用特权

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

本版积分规则

6

主题

6

帖子

0

粉丝