proteus+51单片机+AD/DA学习5

目录

1.DA转换原理

1.1基本概念

1.1.1DA的简介

1.1.2DA0832芯片

1.1.3PCF8591芯片

1.2代码

1.2.1DAC8053的代码

1.2.2PCF8951的代码

1.3仿真

1.3.1DAC0832的仿真

1.3.2PFC8951的仿真

2.AD转换原理

2.1AD的基本概念

2.1.1AD的简介

2.1.2ADC0809的介绍

2.1.3XPT2046芯片介绍

​编辑​编辑2.2AD代码

2.2.1PFC8591代码

2.3仿真实验

1.DA转换原理

1.1基本概念

1.1.1DA的简介

  • DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号
  • D/A转换一般由电阻解码网络、模拟电子开关、基准电压、运算放大器等组成。按电阻解码网络的组成形式,将DA转换器分成有权电阻解码网络D/A转换器、T型电阻解码网络D/A转换器、倒T型电阻解码网络D/A转换器和开关树型电阻解码网络D/A转换器等。 
  • DAC的分类

(1)从数码数上看,有8位、10位、12位、16位、24位等。

(2)在输出形式上,有:电压输出型和电流输出型

(3)按输入是否含有锁存器分为:内部无锁存器和内部有锁存器形式

(4)按数字量的输入形式分为:并行总线D/A转换器和串行总线D/A转换器

(5)按转换时间分为:超高速DAC(转换时间<100ns)、较高速DAC(100ns~1us)、高速(1μs~10μs
中速DAC(10μS~100μs)、低速DAC(>100us)等。

  • DAC的性能指标

(1)分辨率:指AD/DA数字量的精细程度,通常用位数表示。例如,对于5V电源系统来说,8位的AD可将5V等分为256份,即数字量变化最小一个单位时,模拟量变化5V/256=0.01953125V,所以,8位AD的电压分辨率为0.01953125V,AD/DA的位数越高,分辨率就越高

(2)转换速度:表示AD/DA的最大采样/建立频率,通常用转换频率或者转换时间来表示,对于采样/输出高速信号,应注意AD/DA的转换速度

(3)建立时间:建立时间是描述D/A转换器转换速度的参数,表明转换时间长短。其值为从输入数字量到输出达到终值误差正负(1/2)LSB(最低有效位)时所需的时间。电流输出的转换时间较短,而电压输出的转换器,由于要加上完成I-V转换的时间,因此建立时间要长一些。快速D/A转换器的建立时间可控制在1s以下。

(4)转换精度:理想情况下,转换精度与分辨率基本一致,位数越多精度越高。但由于电源电压、基准电压、电阻、制造工艺等各种因素存在误差。严格地讲,转换精度与分辨率并不完全一致。两个相同位数的不同的DAC,只要位数相同,分辨率则相同,但转换精度会有所不同。

1.1.2DA0832芯片

  • DAC0832芯片内部的框图

(1)DAC0832的内部结构如图所示,内部有两级数据缓冲器(8位输入寄存器和8位DAC寄存器)和一个8位D/A转换器以及门控电路。内部无参考电源需外接;输出电流型,要获得电压输出需外加转换电路。各引脚含义如下:

  • T型电阻网络DA转换器(8位DA转换器)

 (1)当数字量D7~D0为1时,开关将会移向1,为0时将会开关在0

 (2)由右边的电阻2R//2R的并联后的阻值为R,再加上串联的电阻R,形成2R的电阻。再依次与输入数据的高位 电阻并联得到总阻值为R了。因此总的电流为I=\frac{V_{REF}}{R}

 (3)进行分流操作时,两个并联电阻的流经的电流是相等的,串联的电流是两个并联电流之和。依次形成从D7~D0的电流位权。即D7的电流是D6电流的两倍,最后合成总的输出电流。形成一个8位的二进制数

(4)最终的每一位电流的大小的计算公式为\frac{V_{REF}}{256*R},总的电流除以2的8次方

(5)当Ref=R时,输出电压V_{o}=-\frac{D7-D0}{256}×V_{REF},即输出电压为Io1与反馈电阻的乘积

  • DAC的芯片引脚

\bar{WR1} 写信号1
\bar{WR2} 写信号2
\bar{CS} 片选信号
\bar{XFER} 数据传送控制信号输入线,低电平有效。
DI0~DI7(DI0为最低位) 8位数字量输入端
R_{FB} I-V转换时的外部反馈信号输入端,内部己有反馈电阻Rfb,根据需要也可外接反馈电阻。
I_{out1} 模拟电流输出线1,它是数字量输入为“1”的模拟电流输出端。输入数字量全为“1”时,I_{out1}最大,
I_{out2} 模拟电流输出线2,它是数字量输入为“0”的模拟电流输出端,I_{out2}+I_{out1}=常数
V_{REF} 基准电压输入线。电压范围为-10V~+10V。
V_{CC} 工作电源输入端,可接+5V~+15V电源。

AGND

DGND

模拟地。最好与基准电压共地

数字地。

 (1)当LE=1,CS*=0,WR1*=0时,即M1=1,第一级8位输入寄存器被选中。待转换的数字信号被锁存到第一级8位输入寄存器中。

(2)当XFER*=0,WR2*=0时,第一级8位输入寄存器中待转换数字进入第二级8位DAC寄存器中。

1.1.3

XPT2046是一款四线制电阻触摸屏控制芯片,由深圳市矽普特科技有限公司研发生产,被广泛的应用于触摸屏驱动,堪称经典之作!他内含12位分辨率125KHz转换速率逐步逼近型A/D转换器,支持从1.5V到5.25V的低电压I/O接口。能通过执行两次A/D转换查出被按的屏幕位置, 除此之外,还可以测量加在触摸屏上的压力。 连接方法: 说明:1、9、10引脚接VCC,6引脚接GND,2、3、4、5引脚接触摸屏的4条引脚线,16、15、14、12引脚接单片机SPI引脚,11接单片机某个引脚。 工作原理: 把XPT2046第11引脚接到STM32单片机的引脚设置为中断引脚,触摸屏没有被触摸时,11引脚保持高电平,当有触摸屏被触摸时,11引脚变为低电平。所以用STM32单片机检测11引脚的高低电平,就可以知道有没有触摸屏触摸事件发生。如果发生了触摸屏按下事件,单片机通过SPI口,首先发送读取X坐标的命令0X90,然后读出2个字节的数据,然后再发送读取Y坐标的命令0XD0,然后再读出2个字节的数据。这时候,XY的坐标值就知道了,因为XPT2046是12位精度的ADC,所以读出的2个字节中,只有高12位是有效数据。 关于触摸校准: 触摸液晶屏的4个角,采集XY坐标的12位值。这时候,就分别得到了X坐标Y坐标的最小值最大值,根据液晶屏的分辨率,再通过数学等比公式,就可以通过采集得到的12位ADC值得出现在触摸到屏幕的哪个点了。 对于一个资深级的电子人,看了我上面的表述,就知道XPT2046怎么用了。但是,对于触摸屏的你,上面的表述对你而言就是雾里看花。不要着急,下面我给你从0补起。 首先,你要知道,我上面所讲的内容是:使用XPT2046驱动4线电阻式触摸屏。那么,你见过4线电阻式触摸屏吗?没见过怎么办?好办!请看下图: 大部分的电阻式触摸屏,都是4线制的,就是引出了4条线的意思。我随便找了一个 看它引出的排线,共4条线,所以是4线制的,也就是说,这个触摸屏,就可以用XPT2046驱动。 看到这里,你就赚了,你已经认识了电阻式触摸屏的真面目了,这就是工作单位要的工作经验,想要更多干货,请继续往下看吧。 从前面我们了解到,此芯片的供电电压是常用的3.3V5V电源都可以。再加上“支持1.5V~5.25V的数字I/O口”特性。就是说,我们常用的5V的3.3V的单片机,都可以作为他的控制器了,有没有觉得在单片机选型上放宽很多了? XPT2046与MCU连接: XPT2046与单片机采用SPI连接。分别为引脚16:DCLK(SPI时钟引脚);引脚15:CS(使能引脚或者叫做片选引脚);引脚14:DIN(数据输入引脚);引脚12:DOUT(数据输出引脚)。带SPI模块的单片机,可以配置SPI模块与XPT2046通信。不带SPI模块的单片机,可以随便找4个引脚,模拟SPI时序,与XPT2046通信。 除了SPI通信的4个引脚,还有一个引脚必须接:PENIRQ。当触摸屏有触摸事件发生,这个引脚就会拉低,所以我们把这个引脚接到单片机的某个中断引脚,就可以随时发现触摸屏有被按下(用外部中断)。 XPT2046的SPI时序 最后提醒朋友们,使用外部中断别忘了打开AFIO复用时钟。 来看看触摸画板的效果吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值