51单片机学习笔记(清翔版)(21)——ADDA数模转换
A:anolog模拟的 D:digital数字的
AD模拟转数字,DA数字转模拟

生活中的基本都是模拟量,如温度,可以是10℃,10.1℃等
手机的背光亮度自动调节,拿到太阳光下,亮度会增亮,拿到暗的地方光线会减暗,是因为,手机上有一个感光头,采集环境光的亮度,采集到的的是模拟量,经过内部的AD转换器,把模拟量转换成数字量给CPU,CPU通过亮度值再输出一个数字量,输出的数字量再转换为模拟量去控制背光屏的电压,手机后面有一个背光板,手机液晶屏自身是不发光的,为什么能看到字?是因为手机屏上有背光,很多LED灯组成的还有背光板导光片等,LED灯的亮度决定了屏幕的亮度,光线强的时候,要把亮度调高,先通过感光元件返回的模拟量,转化为数字量,通过这个数字量控制LED背光亮度,背光亮度是一个电压,电压大,会变亮,就是把数字量又输出出去,控制灯的亮度。
所以手机自动调节用了AD和DA。还有重力感应、打电话时靠近面部息屏等等,以及烟雾传感器,压力传感器等。

光线不充足下,发出声音,灯会被打开,在下面有孔的铁罩内,有一个咪头(咪头,是将声音信号转换为电信号的能量转换器件,是和喇叭正好相反的一个器件(电→声)。是声音设备的两个终端,咪头是输入,喇叭是输出。)模块,能检测到震动或声音,这些都是模拟量,通过这个模块,通过内部的电路,把模拟量转换为数字量,去控制灯的开关,同时在红罩内,内有光敏电阻,开发板上也有,当光线充足,无论发出多大声音,灯是不会亮的,只有光线暗,发出声响,才会亮。它就是靠这声音检测和光线检测结合来控制的。
我们开发板也有AD和DA,我们也可以模拟手机背光,控制LED亮暗。
初学了解技术指标就好,以后设计产品的时候就需要关注ADDA性能了,不同应用场合使用不同的AD。

假设从1变到2,两个相邻数码,那电压需要变化多大呢?假设电压从0.1V变到0.2V,数码就可以从1到2了,如果从0.1边到0.19V,数字量还是1,这就是说之间有0.1V的变化量,有的AD变化0.05V就可以检测到,这就是分辨率,分辨率越高,电压发生一个很小的变化都能识别到。
再例如图中例子,满量程10V,是说能采集的最大电压为10V,从0到10V间发生任何变化,只要在分辨率以内,都可以用一个数字量表示出来,通过这个数字量,通过计算,我们就能知道电压变化了多少。12位的ADC,电压每变化2.4mV,它的数字量就会变化一位。如果是2.4mV,数字量是1,通过这个1,就知道电压是2.4mV,若电压为4.8mV,那么数字量是2,如果变到5.9mV,那么数字量还是2,因为变化量小于2.4mV,所以不会识别到,这就是分辨率的问题。
例如称黄金的称就需要分辨率很高的,每发生几毫克的变化我都需要知道,因为1g几百块是很贵的,所以如果我们要设计一个电子秤,它的用途是称首饰珠宝的,就需要分辨率高的,如果是批发蔬菜的,那么分辨率就可以低些,少那几克也没事,因为AD分辨率越高价格越贵。我们开发板上AD是八位的。满量程是5V。可以算出没变化,0.01953125V就可以检测到。

比如你模拟量能变到0.0000几,小数点后好几位,但数字量就不能做到,因为硬件的局限性。
从左面的图就可以看出,模拟电压从0到1LSB(最小变化量),数字电压始终是0。

偏移误差的图就是上一个图的右边的图像。
上述两个误差都是AD内部的误差,生产工艺决定的,价格不同,误差也不同,价格越贵,误差越低,精度越高。当然也不是价格越高越好,要看用到什么场合。总不能称白菜的称拿一个做导弹的高速AD去做,一个AD就几百块,还需要外部晶振,做出来卖给谁去。

线性度

我们开发板用的是第二种逐次逼近式。

里面有DA转换器、N位寄存器、控制器、比较器、D0~D7数据输出、VIN数据模拟量输出、VREF参考电压。
例如我们开发板,参考电压是5V,八位,首先把8位最高位置1,其它为0,那么参考电压就取了一半,VREF/2,拿到VN这里与VIN比较,假设模拟输入电压是3.75V(要将他转换为数字量),如果模拟输入大,那么比较器会输出1,保存到移位寄存器,然后把次高位置1(就是又取了剩下的2.5V的一半,也就是1.25V),加上前面你的2.5V,就是3.7V5,然后比较器还是输出1,下一次又把下一位也置1,这时肯定模拟输入电压小,比较器就输出0,然后再加一个1,比较器又输出一个0,直到8位,然后就把这个N位寄存器的数字量输出出去,输出到锁存缓冲器,然后输出。

51单片机学习笔记(清翔版)(21)——ADDA数模转换的更多相关文章
- 51单片机学习笔记(郭天祥版)(6)——键盘的作业题、AD、DA、DS18B20(这里之后看清翔的补一下好了)
A:analog,D:digital AD,就是模拟量转换为数字量,DA就是数字量转换为模拟量 为什么要转换? 单片机是数字芯片,内部只有0和1,没法表示模拟量 比如我们如果需要2.5V怎么办?其实是 ...
- 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯
关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...
- 51单片机学习笔记(郭天祥版)(9)——IIC、EEPROM
IIC是两根线,单总线,只有一根数据线,发送数据和读取收据都是一根线,像我们之前学的AD.DA都是许多线,许多线的话,这样做系统可以少浪费资源,少浪费控制IO口的资源,这种并行的处理速度快.所以线越多 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 义隆单片机学习笔记之(一) 硬件框架&资源下载
参考网址: 点击链接或右键链接地址 (台湾义隆官网)http://www.emc.com.tw/chs/tech_8bit.asp (EM78P153K官方资料)http://www.emc.com. ...
- shell入门之函数应用 分类: 学习笔记 linux ubuntu 2015-07-10 21:48 77人阅读 评论(0) 收藏
最近在学习shell编程,文中若有错误的地方还望各位批评指正. 先来看一个简单的求和函数 #!/bin/bash #a test about function f_sum 7 8 function f ...
- ANDROID_MARS学习笔记_S01原始版_020_Mp3player001_歌曲列表
一.项目设计 二.歌曲列表简介 1.利用java.net.HttpURLConnection以流的形式下载xml文件为String 2.自定义ContentHandler-->Mp3ListCo ...
- ANDROID_MARS学习笔记_S01原始版_019_SERVICE之Transact
一.代码1.xml(1)activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/ ...
随机推荐
- SQL 生日得到年龄
CREATE FUNCTION ufn_hr_getagefrombirthday ( @birthday DATE, @now DATE =NULL ) ) BEGIN IF (@now IS NU ...
- linux下各安装包的安装方法
<转>linux下各安装包的安装方法 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...
- Vue公司项目实战步骤
一.无权限,无验证的Vue项目 1.打好HTML+CSS+JS基础,及<Vue 2.0 实战> 2.编写用mock设计的案例: 3.将以上案例的后台用C#改写: 二.带安全验证的Vue项目 ...
- electron+antd详细教程
第一步: 要做一个electron项目,理论上我们应该从electron-quick-start开始,就是说我们需要如下3个文件: package.json,node工程最基本的要求,类似于Java的 ...
- 如何在VB.net中建立word文档
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Butt ...
- kettle在centos7下部署分布式集群
首先安装三台centos7 ,分别配置好静态ip ssh免密码登录 关闭防火墙 具体步骤这里不多说了 关于centos7配置静态ip大家可以参考:https://www.cnblogs. ...
- OpenCV中Mat的使用
一.数字图像存储概述 数字图像存储时,我们存储的是图像每个像素点的数值,对应的是一个数字矩阵. 二.Mat的存储 1.OpenCV1基于C接口定义的图像存储格式IplImage*,直接暴露内存,如果忘 ...
- 高性能 TCP & HTTP 通信框架 HP-Socket v4.3.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- php的运行模式
1.php最常见的五种运行模式. CGI 通用网关接口 FastCGI 常驻内存的CGI CLI 命令行 Web模块 Apache等Web服务器 模块的形式加载php进程 ISAPI 已经不用了
- LeetCode 145. Binary Tree Postorder Traversal 二叉树的后序遍历 C++
Given a binary tree, return the postorder traversal of its nodes' values. Example: Input: [,,] \ / O ...