如何将ADC连接到8051单片机?

描述

  ADC(模数转换器)是许多单片机开发中非常重要的一部分,本文是关于将ADC连接到8051单片机。ADC0804是此处使用的ADC,在进行接口程序之前,我们必须清楚地了解ADC0804的工作原理。

  一、ADC0804

  ADC0804是一颗8位、单通道的A/D转换器。ADC0804的特点是差分模拟电压输入,0-5V输入电压范围,无调零,内置时钟发生器,可以外部调节参考电压以将较小的模拟电压跨度转换为8位分辨率等。ADC0804引脚图如下图所示:

  模数转换器

  ADC0804的Vref/2(引脚9)处的电压可以在外部进行调节,以将较小的输入电压跨度转换为全8位分辨率。Vref/2(pin9)左开表示输入电压跨度为0-5V,步长为5/255=19.6V。查看下表,了解不同的Vref/2电压和相应的模拟输入电压范围:

  模数转换器

  转换模拟输入和读取ADC0804输出的步骤:

  (1)使CS=0并向WR引脚发送一个低到高的脉冲以启动转换。

  (2)现在继续检查INTR引脚。如果转换未完成,INTR将为1,如果转换完成,INTR将为0。

  (3)如果转换未完成(INTR=1),则轮询直到完成。

  (4)如果转换完成(INTR=0),则进入下一步。

  (5)使CS=0并向RD引脚发送一个从高到低的脉冲以从ADC读取数据。

  二、原理图

  模数转换器

  上图显示了ADC0804与8051的接口原理图。电路启动ADC以转换给定的模拟输入,然后接受相应的数字数据并将其显示在连接在P0的LED阵列上。例如,如果模拟输入电压Vin为5V,则所有LED都会发光,以二进制表示11111111,相当于十进制的255。AT89s51是这里使用的单片机。ADC0804的数据输出引脚(D0至D7)分别连接到端口引脚P1.0至P1.7。LEDD1至D8分别连接到端口引脚P0.0至P0.7。电阻器R1至R8是限流电阻器。简单来说,单片机的P1是输入端口,P0是输出端口。ADC的控制信号(INTR、WR、RD和CS)分别在端口引脚P3.4至P3.7处可用。电阻器R9和电容器C1与ADC的内部时钟电路相关联。预设电阻R10形成一个分压器,可用于将特定输入模拟电压施加到ADC。按钮S1、电阻器R11和电容器C4形成去抖动复位机制。晶体X1和电容器C2、C3与单片机的时钟电路相关。

四、程序

ORG00H
MOVP1,#11111111B
MAIN:CLRP3.7
SETBP3.6
CLRP3.5
SETBP3.5
WAIT:JBP3.4,WAIT
CLRP3.7
CLRP3.6
MOVA,P1
CPLA
MOVP0,A
SJMPMAIN
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

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

×
20
完善资料,
赚取积分