Proteus仿真之DAC(DAC0832)

news2024/11/19 5:51:06

1.数模/模数转换的目的:生活中常见的物理量如温度、流量、压力、位移、速度等都是一种模拟量。但是,计算机只能处理0、1的数字量,此时就需要将模拟量转为数字量。与此同时,MCU对模拟量设备进行控制时,如控制电动调节阀、模拟记录仪等,需要将MCU输出的数字量转为模拟量。

2.DAC简介:数模转换器DAC(Digital to Analog Converter)是一种能够将数字信号转换成正比的电压或者电流信号,即模拟信号。

3.数模转换器DAC0832:DAC0832是一种常见的模数转换器,其结构图如下。

 DAC0832与单片机有三种接线方式,本文中采用的是直通方式。具体的操作可自行查看DAC0832的数据手册。

4.本文中是利用DAC0832生成三角波。需要注意的时,在DAC0932后面需要连接一个运算放大器将电流信号转为电压信号。DAC0832与AT89C52的电路图如下:

 5.代码如下:

#include <reg52.h>
#include <absacc.h>

#define uint unsigned int
#define uchar unsigned char
#define DAC0832 XBYTE[0x7fff]								//定义端口地址

void DelayMS(uint ms)
{
	uchar i;
	while(ms--)
	{
		for(i = 0;i < 120;i++)
		{
			;
		}
	}
}

void main()
{
	uchar i,k;
	
	while(1)
	{
		if(k == 0)
		{
			i++;
			DAC0832 = i;
//			DAC0832 = 1;
			if(i == 255)
			{
				k = ~k;
			}
//			k = ~k;
			DelayMS(1);
		}
		else
		{
			i--;
			DAC0832 = i;
			//DAC0832 = -1;
			if(i == 0)
			{
				k = ~k;
			}
//			k = ~k;
			DelayMS(1);
		}
	}
}

6.运行结果:

7.总结:DAC与ADC转换在MCU中是十分重要的。因为计算机只能处理0、1的数字量,所以需要将输入的模拟量转为数字量。同理,计算机只能输出0、1的数字量,对于需要模拟量控制的设备,需要将计算机输出的数字量转为模拟量。

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

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

相关文章

直播间自定义公屏视图的升级之路(View版)

目录 1.前言2.旧版设计的分析3.新版设计的分析4.代码实现&#xff08;View版本&#xff09;4.1.流式布局的实现4.1.1.测量4.1.2.布局 4.2针对需求优化流式布局4.2.1.测量4.2.2.布局 5.总结 1.前言 最近的版本呢&#xff0c;产品更新了一个直播间的需求&#xff0c;原本直播间的…

蓝库云|企业如何建立自己的供应商管理系统?零代码工具带来惊喜

在面对采购的物品和服务比较复杂多样的企业&#xff0c;都需要管理大量的供应商&#xff0c;因此需要更加有效和专业的供应商管理系统。随着数字化转型的意识不断增强&#xff0c;中小型企业也越来越意识到采用供应商系统的必要性&#xff0c;以提高采购效率和质量&#xff0c;…

LangChain 使用文本描述的方式操作MySQL中的数据

一、LangChain 使用文本描述的方式操作MySQL中的数据 在 LangChain 中提供了 SQLDatabaseChain &#xff0c;可以通过语义文本去操作 MySQL中的数据&#xff0c;例如在 MySQL 中有如下表数据&#xff1a; 用户表 CREATE TABLE user (id int NOT NULL AUTO_INCREMENT COMMENT…

HTML5 Canvas动画实例

在开发在线游戏时&#xff0c;绘制动画是非常重要的。本文介绍一个使用Canvas API实现的动画实例——游戏人物的跑步动画。 01、动画的概念及原理 1、动画 动画是通过一幅幅静止的、内容不同的画面(即帧)快速播放来呈现的&#xff0c;使人们在视觉上产生动的感觉。这是利用了…

如何让VSCode不生成 tempcoderunnerfile.py

原因 runcode插件默认包含执行选中文本功能&#xff0c;当运行程序时会优先执行光标选中的代码并生成temp文件 解决方法 方法一&#xff1a;删除生成文件 在setting.json中添加 "code-runner.executorMap": {"php": "php $fullFileName &&am…

【Linux】Ubuntu20.04使用xrdp远程桌面时,gnome桌面环境没有最小化、任务栏等问题

一、问题背景 如下图所示&#xff0c;终端窗口没有最小化&#xff0c;因此只能关闭或移到一边去。 二、解决办法 在安装任何扩展前&#xff0c;需要将xrdp的桌面尽量向原生桌面靠拢。 在~/.xsessionrc配置文件中添加下面三行。 export GNOME_SHELL_SESSION_MODEubuntu ex…

Mediapipe 人像分割;实时更换背景;人脸添加特效

参考&#xff1a; https://zhuanlan.zhihu.com/p/476351994 1、Mediapipe 人像分割 import cv2 import mediapipe as mp import numpy as np mp_drawing mp.solutions.drawing_utils mp_selfie_segmentation mp.solutions.selfie_segmentation # 图片人物抠图: IMAGE_FILES…

idea生成serialVersionUID序列号

设置idea file->settings,搜索serialVersionUID&#xff0c;勾选框起来的两项 实体类实现Serializable接口 Data public class User implements Serializable { }鼠标放到类名上 点击提示的uid 生成的uid 结束&#xff01; hy:17 生活是一面镜子&#xff0c;给予我们…

springboot 停车场管理系统-计算机毕设 附源码82061

springboot 停车场管理系统 2023年5月 摘要 由于数据库和数据仓库技术的快速发展&#xff0c;停车场管理系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。停车场管理系统对处理对象和服务对象&#xff0c;自身的系统结构&#xff0c;处理能力&#xff0c;都…

GO 基本配置

其他 IDEA 配置go语言环境 https://blog.csdn.net/weixin_45719444/article/details/121726325 关于IDEA的 plugins下找不到GO插件 点击安装 安装插件 Go 安装插件 Generate struct tags for golang

Flink CDC 2.4 正式发布,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本...

01 Flink CDC 简介 Flink CDC [1] 是基于数据库的日志 CDC 技术&#xff0c;实现了全增量一体化读取的数据集成框架。配合 Flink 优秀的管道能力和丰富的上下游生态&#xff0c;Flink CDC 可以高效实现海量数据的实时集成。 作为新一代的实时数据集成框架&#xff0c;Flink CDC…

二进制搭建Kubernetes集群(三)——部署多master

本文将完成多master集群的部署&#xff0c;即部署master02&#xff0c;以及nginx负载均衡、keepalived高可用 多master集群架构图&#xff1a; 架构说明&#xff1a; node节点的kubelet只能对接一个master节点的apiserver&#xff0c;不可能同时对接多个master节点的apiserver…

【Solr】中文分词配置

提示&#xff1a;在设置中文分词前需确保已经生成过core&#xff0c;未生成core的可以使用&#xff1a;solr create -c "自定义名称"进行定义。 未分词前的效果预览&#xff1a; 下载分词器&#xff1a; 下载地址: https://mvnrepository.com/artifact/com.github.m…

山西电力市场日前价格预测【2023-06-29】

日前价格预测 预测明日&#xff08;2023-06-29&#xff09;山西电力市场全天平均日前电价为407.26元/MWh。其中&#xff0c;最高日前价格为539.37元/MWh&#xff0c;预计出现在21: 15。最低日前电价为312.43元/MWh&#xff0c;预计出现在13: 00。以上预测仅供学习参考&#xff…

Java调用ssl异常,javax.net.ssl.SSLHandshakeException: No appropriate protocol

现象&#xff1a;sqlserver 2017 安装在docker里&#xff0c;系统是mac 13&#xff0c;java 1.8.371运行java程序提示上面ssl错误&#xff0c;根据百度提供的方法&#xff0c;修改文件&#xff0c;重启程序搞定。 解决办法&#xff1a;java.security 找到这个文件修改保存 发…

RPC(Remote Procedure Call)学习

目录 一、概念 二、RPC 调用基本流程 一、概念 RPC 全称是 Remote Procedure Call &#xff08;远程过程调用&#xff09;&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;可以提供终结点映射程序以及RPC服务&#xff0c;而不需要了解底层网络技术的协议…

三位数字显示电容测试表

广大电子爱好者都有这样的体会&#xff0c;中、高档数字万用表虽有电容测试挡位&#xff0c;但测量范围一般仅为 1pF~20F&#xff0c;往往不能满足使用者的需要&#xff0c;给电容测量带来不便。本电路介绍的三位数显示电容测试表采用四块集成电路&#xff0c;电路简洁、容易制…

element-ui中el-table设置固定高度后,底部合计栏被遮盖

如图: 解决办法:el-table加上ref"summaryTab",然后在自定义合计计算方法getSummaries中加上如下代码就ok了 this.$nextTick(() > {this.$refs.summaryTab.doLayout(); }); 没用使用自定义合计计算函数的,也可以写在updated中,如下: updated() {this.$nextTick((…

关于ipad:无法验证服务器身份

ipad 连接网络后&#xff0c;有时候会冒出这个弹窗&#xff0c;并且关掉后仍继续弹出 可以尝试以下几种方法&#xff1a;&#xff08;我是用③解决的&#xff09; ①. 确保你的iPad连接的是稳定的网络。有时候网络连接不稳定会导致无法验证服务器身份。 我们学校这个校园网…

Karl Guttag评Vision Pro(三):为什么飞机上VR观影体验不佳?

在过去25年里&#xff0c;AR/VR头显显示技术得到长足发展&#xff0c;采用的屏幕规格越来越高。据早前报告预测&#xff0c;VR头显安装基数会在2023年达到约2500万台。尽管如此&#xff0c;相比于无处不在的手机&#xff0c;我们几乎看不到周围有人随身携带AR/VR头显&#xff0…