51单片机学习笔记(郭天祥版)(6)——键盘的作业题、AD、DA、DS18B20(这里之后看清翔的补一下好了)

A:analog,D:digital
AD,就是模拟量转换为数字量,DA就是数字量转换为模拟量
为什么要转换?
单片机是数字芯片,内部只有0和1,没法表示模拟量
比如我们如果需要2.5V怎么办?其实是由单片机控制DA加上功率放大实现的(因为还需要电流)
如果是一个8位的DA,8个1表示5V,0个1表示0V,中间呈线性变化。

DA转换器内部有很多种构成方式,这是其中一种
VREF参考电压的输入端,D7~D0是数字控制端,每个上面有一个0和1,1越多,IO1越大。
看到IO2这里接地了,说明D0上的电阻2R和其右侧电阻是并联,那么电阻之和就是R,然后又和前面一个电阻串联,总电阻就是2R,又和D1上电阻并联,那么总电阻就是R,以此类推,那么D7电阻右侧所有电阻串并联之和是2R,和D7上电阻之和是R。如果D7~D0全是1,那么电流全流入IO1,那么电流就是VREF/R。如果只有D7是1,由于D7上电阻右侧所有电阻之和是2R,那么电阻分为了相等的两部分,所以IO1=I/2=VREF/2R。如果D7和D6都是1,那么又多分了一半的一半,就是2的2次方分支1,一次类推


图中2的7次方是最高位,把I/2的八次方带进去就得到了I/2,所以是最高位的。
所以DA芯片是通过内部电阻分流产生变化的模拟量的值

位数越高,对功率要求就越高,DA还有转换速度,刚刚看到的内部电路网络,跟温度、线性关系什么的都有关系


线性度是最大的误差,常用最大的误差比满量程值表示。线性度越好,DA性能越好

绝对精度类似于刚刚的线性度,线性度是用百分比,这个不用。


建立时间:就是比如数字量变化一个刻度是1V,那么到0.5V的时间就是建立时间。

今天讲直通方式
下面这些看看就好,无所谓





这个好好看看吧

现在就要进行对芯片的操作了,操作前要先下载datesheet(数据手册)
介绍下下载datesheet的网站:
www.21ic.com
www.alldatasheet.com
DA到这就结束了,编程就先算了...发现郭天祥视频单片机的DA、AD芯片和清翔的不是一个,清翔的是两个在一个芯片PCF8591,他这个是DAC0832,
接下来是AD知识点
用的最多的是逐次逼近式和双积分式。当然这里只看逐次逼近式就好

可以看到AD芯片里面就有一个DA转换器。
将VREF作为参考电压,DA转换器相对于VREF就会输出一个电压值,先将DA转换器的最高位置1,会产生1/2倍参考电压的值,从VN这里输出,从VN这里和VIN作对比,如果大于这个1/2倍的VREF,那么就在移位寄存器中保存下来,移位寄存器的最高位就是1,如果小就存0,然后DA转换器的第二位置1,再进行比较,大于则移位寄存器保存1,小于则是0,以此类推,直到移位寄存器的8位都保存完01,最终把模拟量转换为数字量。然后通过EOC发出信号,产生中断,告诉单片机转换结束,OE输出低电平,把锁存缓存器的数据取走。



红色标注这里就是误差

往上数第二张图就能看到中点连线的转移特性曲线

正是由于AD用到了DA,所以才会使得AD比DA慢。
DS18B20数字温度传感器

T592封装格式,中间I/O是数据口,是单总线芯片,就是数据在一根线上来回跑,读写数据都通过这根线,电阻是上拉电阻。可以检测出现在的温度,例程的代码可以把温度显示到数码管上。
实验板上的贴片、小元件的封装都是0805(还有各种型号的:1206、3216、0604、0302)封装。
看看电路图就会发现,到现在单片机的大部分东西就都讲完了。

郭天祥的是AD0804,和我的不同,所以不看了。
51单片机学习笔记(郭天祥版)(6)——键盘的作业题、AD、DA、DS18B20(这里之后看清翔的补一下好了)的更多相关文章
- 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯
关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...
- 51单片机学习笔记(郭天祥版)(9)——IIC、EEPROM
IIC是两根线,单总线,只有一根数据线,发送数据和读取收据都是一根线,像我们之前学的AD.DA都是许多线,许多线的话,这样做系统可以少浪费资源,少浪费控制IO口的资源,这种并行的处理速度快.所以线越多 ...
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...
- 51单片机学习笔记(清翔版)(21)——ADDA数模转换
A:anolog模拟的 D:digital数字的 AD模拟转数字,DA数字转模拟 生活中的基本都是模拟量,如温度,可以是10℃,10.1℃等 手机的背光亮度自动调节,拿到太阳光下,亮度 ...
- 20145316许心远《Java学习笔记(第8版)》课程总结
20145316许心远<Java学习笔记(第8版)>课程总结 每周读书笔记链接汇总 ▪ 第一周读书笔记 ▪ 第二周读书笔记 ▪ 第三周读书笔记 ▪ 第四周读书笔记 ▪ 第五周读书笔记 ▪ ...
- Directx11学习笔记【二十一】 封装键盘鼠标响应类
原文:Directx11学习笔记[二十一] 封装键盘鼠标响应类 摘要: 本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/ ...
- 学习笔记︱Nvidia DIGITS网页版深度学习框架——深度学习版SPSS
DIGITS: Deep Learning GPU Training System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统.目的在于整合现有的Deep Learnin ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
- Linux程序设计学习笔记(独乐乐版)
在Android的开发过程中经常会遇到Linux相关的问题,为了更彻底的了解Linux准备整点没用的,找到一本 <Linux程序设计>开始系统的学习. 期间记录下自认为重要的内容,本以为是 ...
随机推荐
- 软件推荐----数据库数据处理Navicat Premium
一般情况下,企业对数据库的管控很严,通常管控分成以下: 对整台服务器管理权限,如:操作系统Administrator+SA 对单个数据库(Oracle的表空间)完全权限,如:SQL DB_Owner ...
- 2018/12/19 20:55:58 螺纹钢豆粕PTA
螺纹钢M5中枢上升到M30级别,感觉向上的可能高..可是没有好的开仓位,那就不用硬要开仓,耐心等待自己熟悉的信号: PTA M5中枢扩展为M30中枢,目前M30向下一笔没结束: 豆粕等待当前日线下跌结 ...
- 使用pgrouting进行最短路径搜索
PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法 ...
- axure8.0激活
Licensee:米 业成 (STUDENT)Key:nFmqBBvEqdvbiUjy8NZiyWiRSg3yO+PtZ8c9wdwxWse4WprphvSu9sohAdpNnJK5
- hive函数--编码解码
以UTF-8为例: 测试字符串:☕️午后咖啡☕️ 一.编码 hive"); 输出: %E2%98%95%EF%B8%8F%E5%8D%88%E5%90%8E%E5%92%96%E5%95%A ...
- php sleep函数延迟执行
PHP sleep函数一般用于定时执行任务中,表示延迟多少秒在执行程序.这里主机吧主要给大家讲一下sleep函数的语法和应用实例. sleep函数语法: sleep(seconds); //secon ...
- c# 复制整个文件夹的内容,Copy所有文件
/// <summary> /// 文件夹下所有内容copy /// </summary> /// <param name="SourcePath"& ...
- PHP7.2中安装mcrypt扩展的问题
当前使用的是宝塔工具,PHP版本是7.2,据说只有7.1以下的版本才会默认安装了mcrypt功能. 所以的7.2的安装如下: yum install libmcrypt libmcrypt-devel ...
- MySQL使用LOAD DATA LOCAL INFILE报错
在windows系统的MySQL8.0中尝试执行以下语句时报错 mysql> LOAD DATA LOCAL INFILE '/path/filename' INTO TABLE tablena ...
- orcal - 约束
数据库约束 1.非空约束 DROP TABLE member PURGE; CREATE TABLE member( mid number , name varchar2(20) not null, ...