电子产业一站式赋能平台

PCB联盟网

搜索
查看: 689|回复: 1
收起左侧

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

[复制链接]

5

主题

11

帖子

114

积分

一级会员

Rank: 1

积分
114
发表于 2023-9-8 08:40:17 | 显示全部楼层 |阅读模式
   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

& x7 g5 i4 |4 W) n
  
序号
  
引脚名称
引脚功能
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
电源负极
9 v% B2 u5 u, `6 V3 N* w, d
参考应用电路如下图
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 <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 charLED_data[4]={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[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;
   }   
}

; q# ~  H* T& l- _4 g  G
回复

使用道具 举报

0

主题

378

帖子

1574

积分

三级会员

Rank: 3Rank: 3

积分
1574
发表于 2023-9-8 13:29:54 | 显示全部楼层
学习学习。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表