news 2026/4/16 10:13:45

C51_DAC数模转换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C51_DAC数模转换

文章目录

  • 一、DAC
    • 1、分辨率
    • 2、线性度
    • 3、绝对精度
    • 4、建立时间
  • 二、DAC工作原理
  • 三、PWM
  • 四、原理图
  • 五、实例代码

一、DAC

DAC(Digital to analog converter)即数字模拟转换器,它可以将数字信号转换为模拟信号。

1、分辨率

DAC 的分辨率是输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或电流)的变化量。
它反映了输出模拟量的最小变化值。

2、线性度

线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。
常以相对于满量程的百分数表示。
如±1%是指实际输出值与理论值之差在满刻度的±1%以内。

3、绝对精度

绝对精度(简称精度)是指在整个刻度范围内,任一输入数码所对应的模拟量实际输出值与理论值之间的最大误差。

4、建立时间

建立时间是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值的±1/2LSB 所需的时间。
是描述D/A转换速率的一个动态指标。
根据建立时间的长短,可以将DAC分成超高速(<1μS)、高速(10~1μS)、中速(100~10μS)、低速(≥100μS)几档。

二、DAC工作原理

DAC 输出电压计算公式:V0=Vref*z/256。
z表示单片机给的数字量,vref为参考电压,通常我们是接在系统电源上,即5V,数值256表示DAC精度为8位。
DAC 主要由数字寄存器、模拟电子开关、位权网络、求和运算放大器和基准电压源(或恒流源)组成。
用存于数字寄存器的数字量的各位数码,分别控制对应位的模拟电子开关,使数码为1的位在位权网络上产生与其位权成正比的电流值,再由运算放大器对各电流值求和,并转换成电压值。

三、PWM

PWM 是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。
参考《C51_PWM》

四、原理图

PWM输出控制管脚接在单片机P2.1管脚上,DAC1为PWM输出信号,将其连接一个LED,这样可以通过指示灯的状态直观的反映出PWM输出电压值变化。
LM358芯片与这些电容电阻构成了一个跟随电路,即输入是多少,输出即为多大电压,输出电压范围是0-5V。

五、实例代码

#include<REGX52.H>#include"Delay.h"#include"Timer0.h"sbit DA=P2^1;unsignedcharCounter,Compare;//计数值和比较值,用于输出PWMunsignedchari;voidmain(){Timer0_Init();while(1){for(i=0;i<100;i++){Compare=i;//设置比较值,改变PWM占空比Delay(10);}for(i=100;i>0;i--){Compare=i;//设置比较值,改变PWM占空比Delay(10);}}}voidTimer0_Routine()interrupt1{TL0=0x9C;//设置定时初值TH0=0xFF;//设置定时初值Counter++;Counter%=100;//计数值变化范围限制在0~99if(Counter<Compare)//计数值小于比较值{DA=1;//输出1}else//计数值大于比较值{DA=0;//输出0}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 21:51:36

【数据库】【MySQL】各种 JOIN 的特点及应用场景

MySQL 各种 JOIN 的特点及应用场景 MySQL 中的 JOIN 操作用于将多个表中的数据关联起来&#xff0c;常见的 JOIN 类型包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN&#xff08;MySQL 不直接支持 FULL JOIN&#xff0c;但可通过 UNION 实现&#xff09;。以下是它们的特…

作者头像 李华
网站建设 2026/4/1 5:38:29

网络安全最新SQL 三种注入方式详解!

SQL 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序&#xff0c;而这些输入大都是SQL语法里的一些组合&#xff0c;通过执行SQL语句进而执行攻击者所要的操作&#xff0c;其主要原因是程序没有细致地过滤用户输入的数据&#xff0c;致使非法数据侵入系…

作者头像 李华
网站建设 2026/4/7 1:21:00

【ComfyUI-LoaderUtils安装问题的解决方法】security_level导致无法安装节点

【ComfyUI-LoaderUtils安装问题的解决方法】security_level导致无法安装节点 # ComfyUI 报错 # LoaderUtils 安装失败 # 安装自定义节点 # security_level weak 设置 作为程序员的这些年,我对各种莫名其妙的报错已经逐渐免疫了。但最近在折腾 ComfyUI 插件(今天是 LoaderUti…

作者头像 李华
网站建设 2026/4/9 7:04:24

Streams 处理:告别 Grok 的困扰 - 在 Streams 中解析你的日志

作者&#xff1a;来自 Elastic Luca Wintergerst 使用 Streams&#xff0c;Elastic 在 9.2 版本推出的新 AI 功能&#xff0c;让日志解析变得如此简单&#xff0c;不再让你烦恼。通常情况下&#xff0c;你的日志很混乱&#xff0c;字段繁多&#xff0c;有些已知&#xff0c;有些…

作者头像 李华
网站建设 2026/4/13 21:00:43

73、Mac OS X 使用指南:操作与功能全解析

Mac OS X 使用指南:操作与功能全解析 1. 基础按键与设置 Ctrl 键替代 :在 Mac 系统中,通常用“c”键替代原本涉及 Ctrl 键的组合按键操作。例如,保存命令是“c - S”而非“Ctrl - S”,打开命令是“c - O”而非“Ctrl - O”。 日期和时间设置 :在系统偏好设置的“日期…

作者头像 李华