0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技观察员 来源:英锐恩 作者:英锐恩 2023-07-07 11:30 次阅读

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

一、ADC0804

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

adc0804-pinout.png

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

2a17dd556a54416a947b9e5ccffcefa5.jpg

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

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

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

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

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

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

二、原理图

INTERFACING-ADC-TO-8051.png

上图显示了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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    95

    文章

    5652

    浏览量

    539489
  • 模数转换器
    +关注

    关注

    25

    文章

    2299

    浏览量

    126010
  • 8051单片机
    +关注

    关注

    5

    文章

    153

    浏览量

    25334
收藏 人收藏

    评论

    相关推荐

    如何将16×2 LCD显示屏连接到PIC18F4550单片机

    在本案例中,本文将介绍如何将16×2 LCD显示屏连接到PIC18F系列的PIC18F4550单片机
    的头像 发表于 07-06 11:39 771次阅读
    <b class='flag-5'>如何将</b>16×2 LCD显示屏<b class='flag-5'>连接到</b>PIC18F4550<b class='flag-5'>单片机</b>?

    如何使用8051单片机制作一个简单的0-5V电压表

    在本文中,使用8051单片机制作一个简单的0-5V电压表。该数字电压表的灵敏度为200mV,这有点低,但该项目旨在演示如何将ADC和七段显示器连接到
    的头像 发表于 07-07 11:29 1178次阅读
    如何使用<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>制作一个简单的0-5V电压表

    ADC0809,8155应用在MCS-51单片机的详细解法

    MCS一51系列单片机(8031、8051等)与8155、ADC0809等接口芯片进行连接,但是在实践中经常遇到一些工作不正常的问题,在此提出进行讨论。 [hide][/hi
    发表于 12-08 09:41

    C8051F系列单片机

    C8051F系列单片机是完全集成的高速、高性能混合信号处理系统MCU,具有与8051兼容的微控制器内核,与MCS-51指令完全兼容。片内资源包括8-12位多通道ADC,1-2路12位D
    发表于 09-27 13:06

    如何将SCLUB的输出连接到内部ADC Delsig的输入?

    的输出连接到ADC,但是它们具有不同的时钟,并且SC块的输出不能直接连接到CT块的输入,导致SC块的输出不是连续的并且本质上是切换的。如何将SCLUB的输出
    发表于 06-28 11:02

    请问单片机与电脑如何连接到一块?

    单片机与电脑如何联系到一块,就是如何将编号的程序与单片机连起来,希望各位前辈帮帮我
    发表于 04-21 21:28

    如何将高速ADC与串行LVDS输出连接到virtex 7 fpga?

    亲爱的大家,我希望高速ADC与串行LVDS输出连接到virtex 7 fpga。我使用的ADC评估板是AD9635_125EBZ。我想知道如何将
    发表于 07-26 18:27

    请问如何将ISP写入Nuvoton8051单片机系列?

    如何将ISP写入Nuvoton8051单片机系列?
    发表于 12-11 06:11

    8051单片机

    ATMEL公司有基于8051内核、基于AVR内核和基于ARM内核的三大系列单片机产品。先进的EEPROM电可擦除和Flash ROM闪速存储器技术。8051单片机采用复杂指令系统:CI
    发表于 11-23 07:39

    如何将ADC采集的数据放在RAM中和从RAM中取出再发送给单片机

    如何将ADC采集的数据放在RAM中和从RAM中取出再发送给单片机
    发表于 02-17 06:39

    如何将Murata模块连接到EVK?

    我计划 Murata M.2 Wi-Fi/BT 模块与我的 i.MX 6UL EVK 一起使用。不过这个EVK没有M.2接口?如何将 Murata 模块连接到 EVK?
    发表于 03-27 06:32

    如何将电桥连接到激励电压和ADC

    将电桥连接到 ADC 通常需要在四线或六线电桥之间进行选择时,实施比例式测量。后面的章节更详细地讨论这些概念,并演示如何将电桥连接到激励电压和 AD
    的头像 发表于 09-20 09:33 1638次阅读

    AN5027_如何将PDM数字麦克风连接到STM32单片机

    AN5027_如何将PDM数字麦克风连接到STM32单片机
    发表于 11-21 17:07 7次下载
    AN5027_<b class='flag-5'>如何将</b>PDM数字麦克风<b class='flag-5'>连接到</b>STM32<b class='flag-5'>单片机</b>

    如何使用8051单片机控制双向直流电机

    如何将直流电机连接到8051单片机?在本文中,主要有8051单片机+DC电机系统两个部分。首先是
    的头像 发表于 07-07 10:58 1150次阅读
    如何使用<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>控制双向直流电机

    如何将LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 867次阅读
    <b class='flag-5'>如何将</b>LED<b class='flag-5'>连接到</b>Arduino板并使其闪烁