单片机学习(17)--AD/DA

AD/DA

  • 16.1AD/DA的基础知识
    • 1.AD/DA介绍
    • 2.硬件电路模型
    • 3.硬件电路
    • 4.运算放大器
    • 5.运放电路
    • 6.DA原理
    • 6.AD原理
    • 7.AD/DA性能指标
    • 8.XPT2046
  • 16.2AD模数转换&DA数模转换
    • 1.AD模数转换
      • (1)工程目录
      • (2)main.c函数
      • (3)XPT2046.c函数
      • (4)XPT2046.h函数
    • 2.DA数模转换

16.1AD/DA的基础知识

1.AD/DA介绍

AD(AnalogtoDigital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号
DA(DigitaltoAnalog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号
AD/DA转换打开了计算机与模拟信号的大门,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了可能

2.硬件电路模型

在这里插入图片描述
AD转换通常有多个输入通道,用多路选择开关连接至AD转换器,以实现AD多路复用的目的,提高硬件利用率
AD/DA与单片机数据传送可使用并口(速度快、原理简单),也可使用串口(接线少、使用方便)
可将AD/DA模块直接集成在单片机内,这样直接写入/读出寄存器就可进行AD/DA转换,单片机的IO口可直接复用为AD/DA的通道

3.硬件电路

在这里插入图片描述

4.运算放大器

**运算放大器(简称“运放”)是具有很高放大倍数的放大电路单元。**内部集成了差分放大器、电压放大器、功率放大器三级放大电路,是一个性能完备、功能强大的通用放大电路单元,由于其应用十分广泛,现已作为基本的电路元件出现在电路图中运算放大器可构成的电路有:电压比较器、反相放大器、同相放大器、电压跟随器、加法器、积分器、微分器等运算放大器电路的分析方法:虚短、虚断(负反馈条件下)
在这里插入图片描述

5.运放电路

在这里插入图片描述
在这里插入图片描述

6.DA原理

在这里插入图片描述
在这里插入图片描述

6.AD原理

在这里插入图片描述

7.AD/DA性能指标

分辨率:指AD/DA数字量的精细程度,通常用位数表示。例如,对于5V电源系统来说,8位的AD可将5V等分为256份,即数字量变化最小一个单位时,模拟量变化5V/256=0.01953125V,所以,8位AD的电压分辨率为0.01953125V,AD/DA的位数越高,分辨率就越高
转换速度:表示AD/DA的最大采样/建立频率,通常用转换频率或者转换时间来表示,对于采样/输出高速信号,应注意AD/DA的转换速度

8.XPT2046

在这里插入图片描述
在这里插入图片描述

16.2AD模数转换&DA数模转换

1.AD模数转换

(1)工程目录

在这里插入图片描述

(2)main.c函数

#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "XPT2046.h"unsigned int ADValue;
void main()
{LCD_Init();LCD_ShowString(1,1,"ADJ  NTC  RG");while(1){ADValue=XPT2046_ReadAD(XPT1602_XP_8);LCD_ShowNum(2,1,ADValue,3);ADValue=XPT2046_ReadAD(XPT1602_YP_8);LCD_ShowNum(2,6,ADValue,3);ADValue=XPT2046_ReadAD(XPT1602_VBAT_8);LCD_ShowNum(2,11,ADValue,3);}
}

(3)XPT2046.c函数

#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "XPT2046.h"unsigned int ADValue;
void main()
{LCD_Init();LCD_ShowString(1,1,"ADJ  NTC  RG");while(1){ADValue=XPT2046_ReadAD(XPT1602_XP_8);LCD_ShowNum(2,1,ADValue,3);ADValue=XPT2046_ReadAD(XPT1602_YP_8);LCD_ShowNum(2,6,ADValue,3);ADValue=XPT2046_ReadAD(XPT1602_VBAT_8);LCD_ShowNum(2,11,ADValue,3);}
}

(4)XPT2046.h函数

#ifndef __XPT2046_H_
#define __XPT2046_H_#define XPT1602_XP_8 0x9C//0x8C
#define XPT1602_YP_8 0xDC
#define XPT1602_VBAT_8 0xAC
#define XPT1602_AUX_8 0xEC#define XPT1602_XP_12 0x94//0x84
#define XPT1602_YP_12 0xD4
#define XPT1602_VBAT_12 0xA4
#define XPT1602_AUX_12 0xE4unsigned int XPT2046_ReadAD(unsigned char Command);#endif

2.DA数模转换

在15.2直流电机调速稍微改动main函数即可

#include <REGX52.H>
#include "Key.h"
#include "Delay.h"
#include "Timer0.h"
#include "Nixie.h"sbit DA=P2^1;
unsigned char Counter,Compare;
unsigned char i;
void main()
{Timer0_Init();Compare=5;while(1){for(i=0;i<100;i++){Compare=i;Delay(10);}for(i=100;i>0;i--){Compare=i;}}
}void Timer0_Routine() interrupt 1
{TL0 = 0xA4;TH0 = 0xFF;Counter++;if(Counter>=100){Counter=0;}if(Counter<Compare){DA=1;}else{DA=0;}}

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

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

相关文章

Springboot实战:AI大模型+亮数据代理助力短视频时代

目录 前言1.如何入门亮数据1.1、注册登录1.2、注册账号1.3、登录1.4、购买静态住宅代理1.5、展示购买的代理 2. 使用Springboot、AI大模型构建系统2.1 使用Springboot、AI大模型构建爬虫2.2、在Springboot项目添加工具 3、编写代码&#xff0c;爬取视频素材3.1、代码里使用代理…

电脑选购全解析!你需要知道的一切!

在选择电脑类型时&#xff0c;你可以考虑以下因素&#xff1a; 你的主要用途是什么&#xff1f; 你是否需要携带电脑&#xff1f; 你的预算是多少&#xff1f; 你对性能和图形要求有多高&#xff1f; 你是否需要特定的软硬件功能&#xff1f;根据这些因素&#xff0c;你可以…

音频demo:使用fdk-aac将PCM数据编码成aac数据

1、README a. 编译 编译demo 本demo是使用的开源项目fdk-aac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的&#xff0c;所以默认情况下仅支持该架构的主机上编译运行。 $ make编译fdk-aac&#xff08;可选&#xff09; 如果想要在其他架构的CP…

权力之望怎么下载客户端 权力之望一键下载

《权力之望》是一款由NX3 Games开发、Smilegate发行的多人在线动作MMORPG游戏。这款游戏最大的特点是高度的自由度和丰富的角色定制选项。我们在游戏中不仅可以自由更换武器&#xff0c;而且游戏还提供了54种能力和60多种职业选择&#xff0c;让我们可以根据自己的游戏风格和喜…

YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘

报错信息如下&#xff1a; red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法&#xff1a; 去yolov9/utils/loss_tal.py把167行代码更改&#…

人工智能音乐软件Suno上架App Store;Meta 推出 3D 内容生成 AI 模型

&#x1f989; AI新闻 &#x1f680; 人工智能音乐软件Suno上架App Store 摘要&#xff1a;IT之家消息&#xff0c;Suno是一款AI音乐生成软件&#xff0c;已登陆苹果App Store&#xff08;国区暂未上架&#xff09;。用户可通过文字描述或录音创建音乐&#xff0c;并生成4分钟…

html+css+js随机验证码

随机画入字符、线条 源代码在图片后面 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回 图示 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"…

【Linux系列2】Cmake安装记录

方法一 1. 查看当前cmake版本 [rootlocalhost ~]# cmake -version cmake version 2.8.12.22. 进行卸载 [rootlocalhost ~]# yum remove -y cmake3. 进行安装包的下载&#xff0c;也可以下载好安装包后传至相应的目录 [rootlocalhost ~]# mkdir /opt/cmake [rootlocalhost ~…

安卓稳定性之crash详解

目录 前言一、Crash 的基本原理二、Crash 分析思路三、实例分析四、预防措施五、参考链接 前言 在开发和测试 Android 应用程序时&#xff0c;遇到应用程序崩溃是很常见的情况。 Android 崩溃指的是应用程序因为异常或错误而无法正常执行&#xff0c;并且导致应用强制关闭。 一…

算法训练营day26--455.分发饼干+376. 摆动序列+53. 最大子序和

一、455.分发饼干 题目链接&#xff1a;https://leetcode.cn/problems/assign-cookies/ 文章讲解&#xff1a;https://www.programmercarl.com/0455.%E5%88%86%E5%8F%91%E9%A5%BC%E5%B9%B2.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1MM411b7cq 1.1 初见思…

在PyTorch中使用TensorBoard

文章目录 在PyTorch中使用TensorBoard1.安装2.TensorBoard使用2.1创建SummaryWriter实例2.2利用add_scalar()记录metrics2.3关闭Writer2.4启动TensorBoard 3.本地连接服务器使用TensorBoard3.1方法一&#xff1a;使用SSH命令进行本地端口转发3.2方法二&#xff1a;启动TensorBo…

【ROS2】Ubuntu 24.04 源码编译安装 Jazzy Jalisco

目录 系统要求 系统设置 设置区域启用所需的存储库安装开发工具 构建 ROS 2 获取 ROS 2 代码使用 rosdep 安装依赖项安装额外的 RMW 实现&#xff08;可选&#xff09;在工作区构建代码 设置环境 尝试一些例子 下一步 备用编译器 Clang保持最新状态 故障排除 卸载 系统要求 当前…

软件测试下的AI之路(5)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家…

智能遥测终端机RTU-精确监控 智能运维

智能遥测终端机RTU是物联网领域中一种重要的设备&#xff0c;它的出现无疑为远程监控和数据采集提供了强大的支持。计讯物联智能遥测终端机RTU具备数据采集、处理、通信和控制功能的设备&#xff0c;可以实现对远程设备的监控与控制。它在物联网系统中扮演着桥梁的角色&#xf…

前端程序员如何转大模型?收藏这一篇就够了(非常详细)

最近各行各业都不容易啊&#xff0c;那个中金女员工跳楼事件频繁上热点&#xff0c;引起广泛的关注&#xff0c;本质上还是经济下行&#xff0c;我们互联网行业也是如此&#xff0c;特别是程序员&#xff0c;本来就有35岁危机&#xff0c;加上行业不景气&#xff0c;大厂都在裁…

MacOS和Windows中怎么安装Redis

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、MacOS中Redis的安装2.1 HomeBrew 安装&#xff08;推荐&#xff09;2.2 通过官方…

人类连接组项目(HCP)的纤维束测量:资源和见解

摘要 人类连接组项目(HCP)已成为人类神经科学研究的基石&#xff0c;在推进脑成像方法和了解人脑方面具有重要作用。本研究专注于对HCP的扩散加权磁共振成像(dMRI)数据进行纤维示踪分析。使用了一个开源软件库(pyAFQ&#xff1b;https://yeatmanlab.github.io/pyAFQ)进行概率纤…

摸鱼大数据——Spark SQL——DataFrame详解二

3.DataFrame的相关API 操作DataFrame一般有二种操作方案&#xff1a;一种为【DSL方式】&#xff0c;另一种为【SQL方式】 SQL方式: 通过编写SQL语句完成统计分析操作DSL方式: 特定领域语言&#xff0c;使用DataFrame特有的API完成计算操作&#xff0c;也就是代码形式​从使用角…

分类下两列一组统计

表格 A 列是分类&#xff0c;后面是 2N 个 key-value 列 ABCDEFG1CountryLabel1Count1Label2Count2Label3Count32USA10B9C83USD9C8A74USC8D7B65USA7C6B56CAA10B9C87CAD9C8A78CAC8D7B69INA10C9B810IND9A8B711INA8D7B6 需要对分类、key 分组&#xff0c;对 value 求和&#xff…

【Qt】Qt Creator初使用

目录 一. 创建新项目 二. 认识Qt Creator界面 2.1 main.cpp 代码解释 2.2 mywidget.h 代码解释 2.3 mywidget.cpp 代码解释 2.4 form file —— Forms里的mywidget.ui 2.5 .pro文件 2.6 编译生成的中间文件 Qt Creator是一个跨平台集成开发环境(IDE)&#xff0c;专门用…