51综合程序04-ADC0808与DAC0808的应用

文章目录

      • 一、ADC0808调温报警器
        • 1. 简单介绍
        • 2. 电路连接图
        • 3. 源代码
        • 4. 实验效果
      • 二、DAC0808直流电机调速器
        • 1. 简单介绍
        • 2. 电路连接图
        • 3. 源代码
        • 4. 实验效果

一、ADC0808调温报警器

1. 简单介绍

ADC0808 是一款 8 位模数转换器(Analog-to-Digital Converter,简称 ADC),由National Semiconductor(现在是 TI,Texas Instruments)生产。该芯片是一种单通道、逐次逼近型 ADC,用于将模拟信号转换为相应的 8 位数字信号。以下是 ADC0808 的一些基本特性:

  • 位数: 8 位
  • 通道数: 单通道
  • 转换方式: 逐次逼近型(Successive Approximation Type)
  • 输入范围: 0 到 5V
  • 输入电流: 1 μA
  • 转换时间: 大约 100 μs(微秒)
  • 数据输出: 二进制编码
  • 供电电压: 5V(通常)

ADC0808主要用于将模拟传感器输出的电压信号(0-5V)转换为数字信号,以便微控制器或数字系统进行控制。其工作原理是通过逐次逼近法,逐渐逼近输入模拟信号的值,直至找到相应的数字编码。

2. 电路连接图

在这里插入图片描述

3. 源代码
#include <reg51.h>sbit h_alm=P3^0; 
sbit l_alm=P3^1;
sbit sound=P3^7;sbit CLOCK=P2^4;
sbit START=P2^5;  //START为0时开始转换
sbit ECO=P2^6; //为1 时表明数据转换完成
sbit OE=P2^7;  //为1时读可以取数据unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};	//代表显示0-9
unsigned char adc;void delay()	 //延时
{unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<15;j++);
}void main()
{	TMOD=0x12;  //方式2即常数自动装入八位定时或计数器,受外部引脚控制TH0=245;TL0=0;TH1=(65536-1000)/256;TL1=(65536-1000)%256;	//给定时器赋初值IE=0x8a;   //允许定时器0和定时器1外部中段TR0=1;	 //定时器0开始计数while(1) {h_alm=1; //灯灭l_alm=1; //灯灭START=0;  START=1;  //产生一个时钟脉冲START=0;while(ECO==0); //ECO为1表明数据转换完成OE=1;	  //OE为1开始读取数据adc=P1;OE=0;if(adc<60)	  //当读取数据小于60时灯亮并且蜂鸣器报警{ l_alm=0;TR1=1;			}else if((adc>160))	   //当读取数据大于160时灯亮并且蜂鸣器报警{h_alm=0;TR1=1;}elseTR1=0;	P2=0xf7;            //数码管显示P0=table[adc%10];delay();P2=0xfb;P0=table[adc/10%10];delay();P2=0xfd;P0=table[adc/100];delay();}
}void  T0_srv(void) interrupt 1 		 //灯闪
{CLOCK=!CLOCK;}void T1_srv(void) interrupt 3 
{												//蜂鸣器报警TH1=(65536-1000)/256;TL1=(65536-1000)%256;sound=!sound;
}
4. 实验效果

二、DAC0808直流电机调速器

1. 简单介绍

DAC0808 是一款 8 位数字模拟转换器(Digital-to-Analog Converter,缩写为 DAC),由National Semiconductor(现在是 TI,Texas Instruments)生产。这款芯片用于将数字信号转换为模拟电压输出。以下是 DAC0808 的一些基本特性:

  • 位数: 8 位
  • 通道数: 单通道
  • 转换方式: 逐次逼近型(Successive Approximation Type)
  • 输出范围: 0 到 Vref(参考电压)
  • 分辨率: 8 位,即 256 个输出级别
  • 更新速率: 可高达 1 MHz(取决于时钟频率)
  • 供电电压: 通常为 +5V

DAC0808主要用于将数字信号(通常是微控制器或数字系统的输出)转换为相应的模拟电压。通过调整输入的数字值,可以在输出引脚获得相应的模拟电压。

2. 电路连接图

在这里插入图片描述

3. 源代码
#include <reg51.h>sbit  k1=P3^0;//共8挡
sbit  k2=P3^1;
sbit  k3=P3^2;
sbit  k4=P3^3;
sbit  k5=P3^4;
sbit  k6=P3^5;
sbit  k7=P3^6;
sbit  k8=P3^7;void delayms(unsigned int ms)  /*延时*/
{unsigned char  t;while (ms--) for(t=0;t<120;t++);
}void  main()  /*主程序*/
{P0=0x00;while(1){if (k1==0)	P0=0;if (k2==0)	P0=40;if (k3==0)	P0=80;if (k4==0)	P0=120;if (k5==0)	P0=160;if (k6==0)	P0=180;if (k7==0)	P0=220;if (k8==0)	P0=240;delayms(2);}
}
4. 实验效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/198139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【教3妹学编程-算法题】到达首都的最少油耗

3妹&#xff1a;“太阳当空照&#xff0c;花儿对我笑&#xff0c;小鸟说早早早&#xff0c;你为什么背上炸药包” 2哥 :3妹&#xff0c;什么事呀这么开发。 3妹&#xff1a;2哥你看今天的天气多好啊&#xff0c;阳光明媚、万里无云、秋高气爽&#xff0c;适合秋游。 2哥&#x…

MybatisPlus中的使用Wrapper自定义SQL

一、条件构造器 条件构造器提供了一种更加简洁和直观的方式来构建复杂的查询条件。它提供了一组静态方法&#xff0c;用于构建各种类型的查询条件&#xff0c;包括等于、不等于、大于、小于、包含等。使用条件构造器可以避免手动拼接SQL语句的麻烦&#xff0c;提高代码的可读性…

解决 Xshell 无法使用 root 账户远程登录 Linux 的问题

文章目录 问题描述问题原因解决办法 笔者出问题时的运行环境&#xff1a; Red Hat Enterprise Linux 9.2 x86_64 Xshell 7 问题描述 笔者在新安装的 Red Hat Enterprise Linux 中发现一个问题。在 RHEL 安装完之后&#xff0c;无法在 Xshell 中使用 root 账户远程登录此 Lin…

Spark---Spark on Hive

1、Spark On Hive的配置 1&#xff09;、在Spark客户端配置Hive On Spark 在Spark客户端安装包下spark-2.3.1/conf中创建文件hive-site.xml&#xff1a; 配置hive的metastore路径 <configuration><property><name>hive.metastore.uris</name><v…

分享70个节日PPT,总有一款适合您

分享70个节日PPT&#xff0c;总有一款适合您 70个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1IRIKuFoGjQJ14OVkeW_mDQ?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

Django回顾【四】之模型层

目录 一、基本使用 1、ORM框架 2、创建表 二、常用和非常用字段 三、常用和非常用字段参数 四、settings配置 五、基本操作 5.1 增加表记录 5.2 删除表纪录 5.3 更新表纪录 5.4 查询表纪录 六、 多表操作-创建关系 七、基于对象的跨表查询 八、基于链表的跨表…

【LeeCode】438.找到字符串中所有字母异位词

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s "cbaebabacd", p "…

服务器数据恢复—ocfs2文件系统被格式化为其他文件系统如何恢复数据?

服务器故障&#xff1a; 由于工作人员的误操作&#xff0c;将Ext4文件系统误装入到存储中Ocfs2文件系统数据卷上&#xff0c;导致原Ocfs2文件系统被格式化为Ext4文件系统。 由于Ext4文件系统每隔几百兆就会写入文件系统的原始信息&#xff0c;原Ocfs2文件系统数据会遭受一定程度…

TCP/IP的体系结构

目录 一、TCP/IP的体系结构 二、TCP/IP四层协议的表示方法举例 三、现在因特网使用的TCP/IP体系结构 四、互联网应用层的客户——服务器方式 一、TCP/IP的体系结构 二、TCP/IP四层协议的表示方法举例 三、现在因特网使用的TCP/IP体系结构 四、互联网应用层的客户——服务器…

项目中枚举的进阶用法(携带Java原理分析)

目录 1 枚举的普通用法1.1 无参1.2 单个参数1.3 两个参数 2 枚举的进阶用法&#xff08;核心&#xff09;2.1 优化2.1.1 需要改造的代码2.1.2 直接使用泛型2.1.3 使用反射---Class2.1.4 反射泛型 2.2 最终效果2.3 思考&#xff1a;类型擦除 遇到项目中这样一种写法&#xff0c;…

Python 围圈报数

题目:有n个人围成一圈&#xff0c;顺序排号。从第一个人开始报数&#xff08;从1到3报数&#xff09;&#xff0c;凡报到3的人退出圈子&#xff0c;问最后留下的是原来第几号的那位。 输入&#xff1a;8 输出&#xff1a;7 用list实现循环遍历的过程 import copy a[1,2,3,4…

SpringBoot Logback配置文件引入子配置文件

主项目Logback logback-spring-dev.xml <configuration><include resource"org/springframework/boot/logging/logback/defaults.xml" /><include resource"logback-child-log.xml" /><springProperty scope"context" na…

NowCoder | KY11 二叉树遍历

NowCoder | KY11 二叉树遍历 OJ链接 简单来说就是构建这个二叉树定义结构体通过递归方式根据输入的字符串构建二叉树。对于输入字符串中的每个字符&#xff0c;如果是 ‘#’ 表示空节点&#xff0c;否则创建一个新节点&#xff0c;并递归地构建左右子树。 #include <limit…

24V转12V

24V转12V电源芯片是一种高效率、高稳定性的电源转换解决方案。它能够将输入电压范围为直流3.2V至36V的电能转换为输出电压范围为直流1.25V至35V的电能&#xff0c;且具有大92%的转换效率和3A的大输出电流。132*476I*OOO1 24V转12V电源芯片3A电流输出 可调输出 V*UIC9527 该电源…

微服务--一篇入门kubernets

Kubernetes 1. Kubernetes介绍1.1 应用部署方式演变1.2 kubernetes简介1.3 kubernetes组件1.4 kubernetes概念 2. kubernetes集群环境搭建2.1 前置知识点2.2 kubeadm 部署方式介绍2.3 安装要求2.4 最终目标2.5 准备环境2.6 系统初始化2.6.1 设置系统主机名以及 Host 文件的相互…

ubuntu22.04设置国内源

设置国内源 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-secur…

okhttp导致的内存溢出(OOM)sun.security.ssl.SSLSocketImpl

使用分析工具&#xff1a;MAT(Memory Analyzer Tool)、JvisualVM占用内存&#xff1a;sun.security.ssl.SSLSocketImpl 一、 项目场景&#xff1a; 功能&#xff1a;一个定时任务(xxl-job)采用线程池的方式多线程请求第三方拉取数据&#xff0c;网络框架使用okhttp3。 问题&am…

爬虫概念、基本使用及一个类型和六个方法(一)

目录 一、爬虫简介 1.什么是爬虫 2.爬虫的核心 3.爬虫的用途 4.爬虫的分类 5.反爬手段 二、Urllib基本使用 1.导入我们需要的包 2.定义一个url 3.模拟浏览器向服务器发送请求 4.获取响应中的页面的源码 5.打印数据 三、一个类型和六个方法 1.定义url&#xff0c;并…

代码级接口测试与单元测试的区别

关于接口测试 接口测试是一个比较宽泛的概念, 近几年在国内受到很多企业和测试从业者的追捧, 尤其是上层的UI在取悦用户的过程中迭代更新加快, UI自动化维护成本急剧上升的时代, 大家便转向了绕过前端的接口层面进行测试. 但是很多人, 对接口测试的理解并不完整, 事实上, 我们…

【数据结构】最短路径——Floyd算法

一.问题描述 给定带权有向图G&#xff08;V&#xff0c;E&#xff09;&#xff0c;对任意顶点 V &#xff08;ij)&#xff0c;求顶点到顶点的最短路径。 转化为&#xff1a; 多源点最短路径求解问题 解决方案一&#xff1a; 每次以一个顶点为源点调用Dijksra算法。时间复杂…