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
    +关注

    关注

    97

    文章

    6381

    浏览量

    543654
  • 模数转换器
    +关注

    关注

    26

    文章

    3082

    浏览量

    126692
  • 8051单片机
    +关注

    关注

    5

    文章

    153

    浏览量

    25466
收藏 人收藏

    评论

    相关推荐

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

    在本案例中,本文介绍如何将16×2 LCD显示屏连接到PIC18F系列的PIC18F4550单片机
    的头像 发表于 07-06 11:39 1192次阅读
    <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 1731次阅读
    如何使用<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>制作一个简单的0-5V电压表

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

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

    8051单片机

    8051单片机:
    发表于 07-25 17:28 0次下载
    <b class='flag-5'>8051</b><b class='flag-5'>单片机</b>

    单片机教程一:8051单片机引脚功能介绍

    单片机教程一:8051单片机引脚功能介绍 首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍。
    发表于 05-15 22:57 1.3w次阅读
    <b class='flag-5'>单片机</b>教程一:<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>引脚功能介绍

    adc0809与单片机连接图(附程序)

    adc0809与单片机连接图(附程序)
    发表于 04-22 09:17 92次下载

    8051单片机的实践与应用

    8051单片机的实践与应用
    发表于 09-22 13:38 19次下载
    <b class='flag-5'>8051</b><b class='flag-5'>单片机</b>的实践与应用

    8051单片机C语言软件设计8051单片机C语言软件设计

    8051单片机C语言软件设计8051单片机C语言软件设计
    发表于 10-16 11:25 92次下载
    <b class='flag-5'>8051</b><b class='flag-5'>单片机</b>C语言软件设计<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>C语言软件设计

    ADC0809与51单片机连接方式

    模数转换器定位为单片机的外部RAM单元,因此与单片机连接就有很多种。大体上说ADC0809在整个单片机系统中是作为外部RAM的一个单元定位
    发表于 11-22 15:18 6.9w次阅读
    <b class='flag-5'>ADC</b>0809与51<b class='flag-5'>单片机</b>的<b class='flag-5'>连接</b>方式

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

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

    如何将手机连接到Azure IoT Central

    电子发烧友网站提供《如何将手机连接到Azure IoT Central.zip》资料免费下载
    发表于 11-01 11:42 0次下载
    <b class='flag-5'>如何将</b>手机<b class='flag-5'>连接到</b>Azure IoT Central

    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 1966次阅读
    如何使用<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>控制双向直流电机

    8051单片机和PIC单片机的区别是什么

    8051单片机和PIC单片机都属于单片机的一种,8051单片机和PIC
    的头像 发表于 07-07 11:31 2124次阅读

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

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