ADC0809的使用

2023-11-03

一、前言介绍

  • 使用ADC0809对一个模拟电压进行转换
  • 转换后的电压使用数码管显示出来

二、ADC0809的介绍

1、ADC0809简介
  • ADC0809是采用COMS工艺制造的双列直插式单片8位A/D转换器。分辨率8位,精度7位,带8个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。启动信号为脉冲启动方式,最大可调节误差为±1LSB。
  • ADC0809内部没有时钟电路,故CLK时钟需由外部输入,fclk允许范围为500kHz-1MHz,典型值为640kHz。每通道的转换需要66~73个时钟脉冲,大约100-110us。(转换时间)工作温度范围为-40℃—+85℃。功耗为15mW,输入电压范围为0–5V,单一+5V电源供电。
2、ADC0809的引脚介绍

ADC0809

  • IN0~IN7 : 8路模拟量输入端
  • D0~D7:8位数字量输出端
  • ADDA、ADDC、ADDC:3位地址输入线,用于选择8路模拟通道中的一路,选择情况见表。
  • ALE:地址锁存允许信号,输入,高电平有效
  • START:A/D转换启动信号,输入,高电平有效
  • EOC:A/D转换结束信号,输出。当启动转换时,高引脚为低电平,当A/D结束转换时,高引脚输出高电平。
  • OE:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从D0~D7送出。
  • CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ.
  • REF+、REF-:基准电压输入端。
  • VCC:电源,接+5V;
  • GND:地。
3、地址码与输入通道的对应关系地址码#### 4、ADC0809的时序图

时序图

5、ADC0809的工作流程
  1. 输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器译码从8路模拟通道中选通一路模拟量送到比较器。
  2. 送START一高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。
  3. 送START一高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。
  4. 当CPU执行一读数据指令,使OE为高电平,则从输出端D0~D1读出数据。

三、proteus仿真图

仿真图

四、程序

#include<reg52.h>
unsigned char code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char dispbuf[4];
unsigned int i;
unsigned int j;
unsigned char getdata;
unsigned int temp;
unsigned int temp1;
unsigned char count;
unsigned char d;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P17=P1^7;
void TimeInitial();
void Delay(unsigned int i);

void TimeInitial()
{ 
	 TMOD=0x10;
	 TH1=(65536-200)/256;
	 TL1=(65536-200)%256;
	 EA=1;
	 ET1=1;
	 TR1=1;
}

void Delay(unsigned int i)
{
  unsigned int j;
  for(;i>0;i--)
  {
  for(j=0;j<125;j++)
  {;}
  }
}
 
void Display()
{ 
	   P1=dispbitcode[dispbuf[3]];
		 P20=0;
		 P21=1;
		 P22=1;
		 P23=1;
		 Delay(10);
		 P1=0x00;
		 P1=dispbitcode[dispbuf[2]];
		 P17=1;
		 P20=1;
		 P21=0;
		 P22=1;
		 P23=1;
		 Delay(10); 
		 P1=0x00;
		 P1=dispbitcode[dispbuf[1]];
		 P20=1;
		 P21=1;
		 P22=0;
		 P23=1;
		 Delay(10);
		 P1=0x00;
		 P1=dispbitcode[dispbuf[0]];
		 P20=1;
		 P21=1;
		 P22=1;
		 P23=0;
		 Delay(10);
		 P1=0x00;
}
void main()
{
		TimeInitial();
		while(1)
		{
				ST=0;
				OE=0;
				ST=1;
				ST=0;
				P34=0;
				P35=0;
				P36=0;
				while(EOC==0);
				OE=1;
				getdata=P0;
				OE=0;
				temp=getdata*1.0/255*500;
				dispbuf[0]=temp%10;
				dispbuf[1]=temp/10%10;
				dispbuf[2]=temp/100%10;
				dispbuf[3]=temp/1000;
				Display();
		}
}

void t1(void) interrupt 3 using 0
 {
  TH1=(65536-200)/256;
  TL1=(65536-200)%256;
  CLK=~CLK;
  }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ADC0809的使用 的相关文章

  • docker部署harbor

    一 harbor下载 官方下载地址 Releases goharbor harbor GitHub 二 harbor安装 1 解压安装包 tar xzvf harbor XXXX tgz 2 配置修改 复制harbor yml tmpl文件
  • quagga源码学习--BGP协议中的routemap

    路由策略的基础知识 定义 路由策略 Routing Policy 作用于路由 主要实现了路由过滤和路由属性设置等功能 它通过改变路由属性 包括可达性 来改变网络流量所经过的路径 目的 路由器在发布 接收和引入路由信息时 根据实际组网需要实施
  • uniapp 多选框的全选功能实现

    uniapp内置的checkbox其实以及checkbox group本来挺好的 但是有两个问题 无法依赖其事件实现全选 样式固定 难以修改 他们无法实现全选的原因是 我动态修改checkbox的checked字段时 界面上的状态能够实时变
  • Spring Cloud框架学习-Spring Cloud Stream

    文章目录 1 基本介绍 2 设计思想 3 常用注解 4 简单入门 5 自定义消息通道 6 消息分组 处理消息重复消费 7 消息分区 7 1 概念 7 2 使用示例 8 延时消息 8 1 安装插件 8 2 具体实现 1 基本介绍 Spring
  • python中sys.setdefaultencoding('utf-8')的作用

    在python中 编码解码其实是不同编码系统间的转换 默认情况下 转换目标是Unicode 即编码unicode str 解码str unicode 其中str指的是字节流 而str decode是将字节流str按给定的解码方式解码 并转换
  • 操作系统的进程管理

    进程组成 PCB PCB 系统为每个运行的程序配置一个数据结构 称为进程控制块 PCB 用来描述进程的各种信息 如程序代码存放位置 PCB 程序段 数据段三部分构成了进程实体 进程映像 所谓创建进程 实际上是创建进程实体中的PCB 撤销进程
  • Qt5中创建及使用自定义插件遇到的一些问题

    关键词 Qt5 IconEditor custom plugin QtCreator Failed Plugins 自定义插件 今天 C GUI Programming with Qt 4 看到了第五章自定义IconEditorPlugin
  • Mac M1芯片安装tensorflow和pytorch和spaCy

    mac m1 chip因为建构问题 直接pip的版本根本不兼容且不能用 安装踩了很多坑 在此记录一下 apple官网指南 以下是装tensorflow详细的介绍 安装Xcode 你在Apple store可以找到 装完打开一下 有一些东西只
  • TCP、UDP、IP 协议分析

    互连网早期的时候 主机间的互连使用的是NCP协议 这种协议本身有很多缺陷 如 不能互连不同的主机 不能互连不同的操作系统 没有纠错功能 为了改善这种缺点 大牛弄出了TCP IP协议 现在几乎所有的操作系统都实现了TCP IP协议栈 TCP

随机推荐

  • 软件测试项目经验案例,项目经验又多了一些

    目录 一 引言 二 测试任务 三 测试进度 四 测试资源 五 测试策略 六 测试完成标准 七 风险和约束 八 问题严重程度描述和响应时间规范 九 测试的主要角色和职责 有需要实战项目的评论区留言吧 软件测试是使用人工或者自动的手段来运行或者
  • 蓝桥杯历年省赛真题汇总及题目详解

    蓝桥杯历年决赛试题汇总及试题详解 2013年第四届蓝桥杯省赛真题详解 第四届蓝桥杯JavaA组题目解析 第四届蓝桥杯JavaB组题目解析 第四届蓝桥杯JavaC组题目解析 2014年第五届蓝桥杯省赛真题详解 第五届蓝桥杯JavaA组题目解析
  • 电子信息工程电子信息毕设分享100例(五)

    单片机毕业设计项目分享系列 这里是DD学长 单片机毕业设计及享100例系列的第一篇 目的是分享高质量的毕设作品给大家 包含全面内容 源码 原理图 PCB 实物演示 论文 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的单片机项目缺少
  • Ubuntu安装Pytorch(详细)

    最近发现了一个挺厉害的人工智能学习网站 内容通俗易懂 风趣幽默 感兴趣的可以点击此链接进行查看 床长人工智能教程 废话不多说 请看正文 一 安装NVIDIA GPU显卡驱动 1 准备工作 1 禁用BIOS中的secure boot 因为此方
  • 计算机组成与系统结构指导,计算机组成与系统结构实验指导书

    计算机组成与系统结构实验指导书 37页 本资源提供全文预览 点击全文预览即可全文预览 如果喜欢文档就下载吧 查找使用更方便哦 19 9 积分 计算机组成与系统结构 实验指导书内蒙古工业人子信息工程学院计算机系2005年10月第一部分实验系统
  • GDB+GDBserver 远程调试

    本文转自 https www cnblogs com Dennis mi articles 5018745 html 如若侵权 会及时删除 内容摘要 远程调试环境由宿主机GDB和目标机调试stub共同构成 两者通过串口或TCP连接 使用 G
  • 蓝桥杯评分标准_蓝桥杯软件设计大赛自测评分标准

    第 1 1 页 2013 模拟赛自测评分标准 1 结果填空题 得分或不得分 没有中间结果 结果必须完全正确才能得分 结果中含有引导或尾随的空白将被忽略 不扣分 但 结果中含有中文空白字符或标点符号 按错误处理 结果中含有不必要的多余内容 说
  • 七牛云入门及图片上传

    什么是七牛云 七牛云是国内领先的企业级公有云服务商 致力于打造以数据为核心的场景化PaaS服务 围绕富媒体场景 七牛先后推出了对象存储 融合CDN加速 数据通用处理 内容反垃圾服务 以及直播云服务等 通俗来讲七牛云就是一个服务器 百度百科
  • 用python进行人脸识别(一)

    用python进行人脸识别 一 项目概述 开发前提 最终效果 登录界面 主界面 人脸注册界面 考勤界面 人脸识别界面 查询界面 最近用python写的毕业设计 总结一下 给大家提供一下参考 准备写一系列的教程 包括一些最基本的人脸识别原理以
  • java的跨平台性是什么?原理是什么?

    跨平台性 Java 的跨平台性是指一个 Java 程序可以在不同的操作系统和硬件平台上进行部署和运行 而无需对源代码进行任何修改或重新编译 这有赖于 Java 虚拟机 JVM 的存在 原理 JVM 是 Java 平台的核心组件 负责与特定的
  • RabbitMQ和Kafka比较

    1 Kafka可以保证顺序处理消息 RabbitMQ相对较弱 2 在消息路由和过滤方面 RabbitMQ提供了更好的支持 3 RabbitMQ有消息存活时间 TTL 和延迟 预定消息功能 Kafka没有 4 在消息留存方面 RabbitMQ
  • WPF TextBlock IsTextTrimmed 判断文本是否超出

    原文 WPF TextBlock IsTextTrimmed 判断文本是否超出 WPF TextBlock 设置TextTrimming情况下 判断 isTextTrimmed Text 文本是否超出 是否出现了省略号 private bo
  • flutter json工厂模式

    请求到的JSON a aa b ba b1111 bb b2222 ba b3333 bb b4444 c ca c111 cb c222 对JSON进行工厂模式 class NameModel String a List b b b
  • unity常用快捷键

    Unity常用快捷键 1 Q 抓手工具 W 移动工具 E 旋转工具 R 缩放工具 T 横切面工具 对物体沿着横切面进行缩放 2 Z 轴点模式切换 Pivot 与 Center X 轴点旋转切换 Global 与 Local 3 在场景中点击
  • 配置pytorch_geometric

    pytorch geometric是一个图神经网络的库 如果直接通过pip安装在运行时会显示依赖库 如torch sparse 没安装 在安装这些依赖库通过pip安装不上 需要去官网 https pytorch geometric com
  • 关于C++ primer 15.5节访问与继承控制的理解

    关于C primer 15 5节访问与继承控制的理解 第一次阅读时 对P543第一节 受保护的成员 感到有点难以理解 后来发现是阅读过程中对第二条和第三条特性产生了歧义 最后浪费了蛮多时间 知乎上也有对这个问题的讨论链接 有一些回答也做出了
  • Win10(Win7)局域网设置共享文件夹,超全面步骤。

    首先 计算机要设置 登录密码 否则 同局域网内的其他计算机不能正常访问本机 其次 假设本机名称为 LAPTOP ABC 用户名为 user123 本机IP地址为192 168 1 100 1 打开控制面板 选择大图标 点击 网络和共享中心
  • VCS中的覆盖率分析介绍

    VCS在仿真过程中 也可以收集Coverage Metric 其中覆盖率类型有 1 Code Coverage 包括control flow和value两部分的coverage line coverage branch coverage t
  • TVM设备添加以及代码生成

    因为要添加的设备是一种类似于GPU的加速卡 TVM中提供了对GPU编译器的各种支持 有openCl OpenGL和CUDA等 这里我们选取比较熟悉的CUDA进行模仿生成 从总体上来看 TVM是一个多层的结构 从上一个文档 TVM调试 中 基
  • ADC0809的使用

    一 前言介绍 使用ADC0809对一个模拟电压进行转换 转换后的电压使用数码管显示出来 二 ADC0809的介绍 1 ADC0809简介 ADC0809是采用COMS工艺制造的双列直插式单片8位A D转换器 分辨率8位 精度7位 带8个模拟