文章目录
Chapter10:应用接口技术
10.1 概要
-
主要讲:AD DA转换
-
前面我们讲的基本都是数字电路,然后在应用系统中很多数据都是模拟量。
因此必须进行数字量和模拟量之间的转换, 这就需要使用A/D或D/A接口。
-
A/D和D/A接口有串行接口和并行接口之分。
本章主要介绍 并行D/A和A/D转换接口。
-
技术指标:
分辨率LSB:位数越多,分辨率自然就越高。有8/10/12位的转换精度:会有偏差
转换时间:指的是在 A/D转换器 或者 D/A转换器 里面 执行的时间
量化误差:理论值为±1/2LSB
量程:转换模拟电压的范围。比如-5V到+5V。
10.2 并行 D/A转换器 DAC0832
10.2.1 DAC0832芯片结构
(1)输入:DI0~DI7
(2)中间:片内有两个数据缓冲器(输入寄存器、DAC寄存器)
这两个数据缓冲器可以:1)直通 2)单缓冲 3)双缓冲
1)直通就是不需要等待,有数字信号就直接转换成模拟信号;2)单缓冲是第一个通,第二个由计算机控制,我允许你通,你再通;3)双缓冲,一般用于,有多路信号的时候【比如x、y】我要让他们同步进行转换
(3)输出:IOUT1 IOUT2 输出模拟电流 【如果想要模拟电压的话,再加个 运算放大器 进行转换】
当输入数字为全“1”时,IOUT1最大,为全“0” 时,其IOUT1值最小,IOUT1和IOUT2之和为常数
10.2.2 例题
因为只有 P2.7 有效,所以 P2.7 = 0 就完事了,其他的P2.0~P2.6 随便,假设是1,那么就是7FFFH
斜率 和 延迟子程序的时长 有关系
锯齿波、三角波、梯形波、方波、矩形波(高低电平时长一样的方波)
容易考:这个程序执行之后,输出什么波形?
10.3 并行A / D转换器ADC0809
10.3.1 芯片结构
典型转换速度:100 us
IN0~IN7:8路模拟量输入,模拟电压输入。
ADDA/B/C :选择IN0~IN7中的某个模拟通道
CLK:工作的时候一定要给个时钟信号,比如 500~ 640KHz
V r e f + V_{ref+} Vref+ 和 V r e f − V_{ref-} Vref− 一般取 +5V , 接地
START:启动信号
ALE:地址锁存允许,上升沿 锁存 ADDC~ADDA 的地址信号
EOC:转换完成信号。【有延时方式、查询方式、中断方式】
OE:数字量输出允许信号。【输入1时,转换后从D0~D7输出】
-
转换结束信号EOC: 根据读入转换结果时不同的处理方式和单片机的连结方式不同:
1)采用延时方式, EOC悬空,在启动转换后 延时 100μs ,再读转换结果;
2)采用查询方式,可将EOC接并行口(P1或P3)的 某线,检测EOC变高后,再读入转换结果。
3)采用中断方式,可将EOC经非门反相接到单片机的中断请求端,一旦转换完成EOC变为高电平,向8XX51提出中断请求,进入中断服务后读入转换结果。
10.3.2 例题
10.4 总结
-
关于 A/D 转换器
(1)A/D转换器是将模拟量【电信号 + 非电信号】转换成数字量的器件。
(2)模拟量可以是电压、电流等电信号,也可以是声、光、压力和温度等随时间连续变化的非电物理量。
(3)非电物理量可通过合适的传感器等转换成电信号,模拟量只有转换成数字量才能被计算机采集、分析和计算处理。
-
A/D 转换方法:
-
A/D采集的抗干扰措施
- 算术平均
- 去极值法
- 低通滤波
-
编程要点
-
例题
**例题10.5:**已知单片机连接ADC0809接口IN0IN7的地址为7FF87FFFH,设计程序:采集2通道(IN2)10个数据,存入内部RAM 50H~59H单元。分别用3种方法实现。