ADC0809与MCS-51单片机接口电路图及编程

AC-DC/DC-DC转换

118人已加入

描述

  ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。目前仅在单片机初学应用设计中较为常见。

  ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。

  主要特性

  1)8路输入通道,8位A/D转换器,即分辨率为8位。

  2)具有转换起停控制端。

  3)转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。

  4)单个+5V电源供电。

  5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

  6)工作温度范围为-40~+85摄氏度。

  7)低功耗,约15mW。

  ADC0809与MCS-51单片机接口电路图

  下图是一个ADC0809与8051的一个接口电路图。

  51单片机

  由图可知

  0809 ADDA、ADDB、ADDC引脚与单片机P1.O-P1.2引脚相连; 0809 D0~D7引脚与单片机P1引脚相连;

  0809 CLK引脚与单片机ALE引脚通过分频期连接;

  0809 ALE与START引脚与单片机/WR、P2.7引脚逻辑相连; 0809 OE 引脚与单片机/RD、P2.7引脚逻辑相连; 0809 EOC引脚与单片机INTO引脚逻辑相连;

  0809 REF+引脚接+5V电压REF-接地。表示转化范围为(0-5V)

  ADC0809与MCS-51单片机接口软件编程

  设接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H~37H单元中。采样完一遍后停止采集。 汇编语言编程:

  ORG 0003H

  LJMP INT0

  ORG 0100H ;主程序

  MOV R0,#30H ;设立数据存储区指针

  MOV R2,#08H ;设置8路采样计数值

  SETB IT0 ;设置外部中断0为边沿触发方式

  SETB EA ;CPU开放中断

  SETB EX0 ;允许外部中断0中断

  MOV DPTR,#0000H ;送入口地址并指向IN0

  LOOP: MOVX @DPTR,A ;启动A/D转换,A的值无意义

  HERE: SJMP HERE ;等待中断

  ORG 0200H ;中断服务程序

  INT0: MOVX A,@DPTR ;读取转换后的数字量

  MOV @R0,A ;存入片内RAM单元

  INC DPTR ;指向下一模拟通道

  INC R0 ;指向下一个数据存储单元

  DJNZ R2,NEXT ;8路未转换完,则继续

  CLR EA ;已转换完,则关中断

  CLR EX0 ;禁止外部中断0中断

  RETI ;中断返回

  NEXT: MOVX @DPTR,A ;再次启动A/D转换

  RETI ;中断返回

  C语言编程:

  #include 《reg51.h》

  #include 《absacc.h》 //定义绝对地址访问

  #define uchar unsigned char

  #define IN0 XBYTE[0x0000] //定义IN0为通道0的地址

  static uchar data x[8]; //定义8个单元的数组,存放结果

  uchar xdata *ad_adr; //定义指向通道的指针

  uchar i=0;

  void main(void)

  {

  IT0=1; //初始化

  EX0=1;

  EA=1;

  i=0;

  ad_adr=&IN0; //指针指向通道0

  *ad_adr=i; //启动通道0转换

  for (;;) {;} //等待中断 }

  void int_adc(void) interrupt 0 //中断函数

  {

  x[0]=*ad_adr; //接收当前通道转换结果

  i++;

  ad_adr++; //指向下一个通道 if (i《8)

  {

  *ad_adr=i; //8个通道未转换完,启动下一个通道返回

  }

  else

  {

  EA=0;EX0=0; //8个通道转换完,关中断返回

  }

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分