A/D和PWMD/A的工作原理及应用PPT教学课件_第1页
A/D和PWMD/A的工作原理及应用PPT教学课件_第2页
A/D和PWMD/A的工作原理及应用PPT教学课件_第3页
A/D和PWMD/A的工作原理及应用PPT教学课件_第4页
A/D和PWMD/A的工作原理及应用PPT教学课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 5.1 A/D模数转换 5.1.1 AD转换器的基本原理图5-1逐次逼近法原理第1页/共30页 10位逐次逼近寄存器SAR初始值为全0。8096芯片ADC的输入模拟电压范围为0至VREF。VREF是模拟基准电压。正常工作时,VREF必须保持在 5.00.5V范围内,并要求能提供5mA电流。AD结果用以下公式计算: 1023(Vin-ANGND)/(VREF-ANGND) 第2页/共30页 当AD转换器被启动后,需要88个状态周期才能得到转换结果。在这期间内,可以让CPU进行其它工作,也可以用软件延时等待。注意:必须在88个状态周期后读取的结果才是正确的。如选12MHz时钟,AD转换时间为88

2、312=22s,如选6MHZ时钟,AD转换时间为8836=44s。第3页/共30页5.1.2 AD转换器的硬件结构及 功能特点图5-28096芯片的ACH7P0.7ACH0P0.0引脚第4页/共30页5.1.3 AD使用方法 1)模拟参考电压源 VREF的稳定程度直接影响AD的转换精度。如不使用AD转换器,则必须将VREF和VCC相连,ANGND和Vss相连。此时 P0口可作普通的数字口。第5页/共30页 2) A/D转换控制 AD命令寄存器 AD_COMMAND格式如图5-5所示。D3(GO)= 1,立即启动;D3(GO)= 0,表示由HSO在某设定时刻定时启动。D2,D1,D0决定输入通道

3、号,如表5-1所示。图5-5 A/D命令寄存器格式 表5-1 D2,D1,D0决定的输入通道号第6页/共30页 AD结果寄存器AD_RESULT的数据格式如图5-6所示。地址03H单元中存放高8位,02H单元中D7、D6存放低2位。02H单元中的D5、D4不用。S(D3)位可供查询,S=0表明转换结束或正处于空闲状态,S=1表明正在进行转换。D2、D1、D0定义与AD命令寄存器相同。 图5-6 AD结果寄存器格式第7页/共30页 3) AD转换器的应用A/D转换子程序: ADRQ: ANDB 20H,#07H ;启动AD通道号放入20H ADDB 02H,20H,#08H ;立即启动AD NO

4、P NOPADBUSY: JBS ADRL,3,ADBUSY ;AD转换是否结束?结束往下 LDB 21H,ADRH ;将AD转换高位放入21H LDB 20H,ADRL ;将AD转换低位放入20H SHR 20H,#6 ;右移6位 RET ;结束返回第8页/共30页硬件方面的一些问题: (1)接地。在整个系统中数字地与模拟地不可形成回路,以免对模拟信号造成干扰。数字地和模拟地正确的接法是:在系统中,先将数字地、模拟地分别相连,然后在系统中选一点(一般选在 AD转换器处)相连接。另外,VREF与 ANGND以及VCC与VSS之间都需加滤波电容,以消除高频干扰。如下图所示。第9页/共30页 (2

5、)参考电压VREF。VREF的稳定程度直接影响AD的转换精度。图5-8所示是实际应用中的一个例子。其中电位器采用多圈式电位器,它定位精度高且可自锁。如不使用AD转换器,则必须将VREF和VCC相连,ANGND和Vss相连。此时 P0口可作普通的数字口。 图5-8 参考电压VREF第10页/共30页 (3)模拟信号输入电路。图5-9所示为一通用的模拟信号输入电路。它对模拟输入信号进行偏移和增益处理,使输入到模拟引脚(CH0CH7)的电压为05V。偏移细调通过R2实现。增益范围由调整R5完成。 图5-9 偏移和增益整定电路第11页/共30页5.2 脉冲宽度调制输出 PWM (D /A)功能特点及功

6、能程序5.2.1 脉冲宽度调制输出 PWM的结构 和工作原理 PWM波发生器主要由脉宽调制控制寄存器PWM_CONTROL、8位循环计数器、比较器和RS触发器等组成,结构如图5-10所示。第12页/共30页图5-10 PWM波发生器结构第13页/共30页 将 某 个 要 转 换 的 数 字 量 ( 例 8 0 H ) 写 入 到PWM_CONTROL中,其值不断与8位循环记数器的内容比较。二者相等时,比较输出正脉冲,RS触发器复位,使PWM/P2.5端变为低电位。PWM_CONTROL中数据为80H时,PWM/P2.5端输出波形如图5-11所示。 从上述可知,输出波形的周期固定为256T(状态

7、周期),当晶振为12MHz时256T=2563/12=64s。占空比=PWM_CONTROL中数据/256,如上例占空比=80H/256=50%。图5-11 数据80H时的输出波形第14页/共30页 复位时PWM_CONTROL清0,占空比=00H256=0%,即PWMP2.5端始终为低电平。图5-12给出了几种 典型的PWM输出波形图,若将这些波形积分,则可得到8位分辨率的模拟信号。图5-12 PWM输出波形第15页/共30页 5.2.2 PWM控制1. 输入输出控制寄存器IOC1(8位,地址16H)。IOC1是只写寄存器,IOC1.01时,PWMP2.5引脚可以输出PWM波(引脚作PWM端

8、使用)。而当IOC1.0=0时,它只能输出开关信号(引脚作P2.5使用)。2. 脉冲宽度调制寄存器PWM_CONTROL(8位,地址17H)。PWM_CONTROL也是一种只写寄存器,写入数据后,PWM波的宽度随之而定。 有两种方法提供PWM输出:一种是通过HSO提供;另一种是由8096的脉冲宽度调制器提供。前一种方法可提供周期和占空比可改变、分辨率为165536(16位)的PWM信号;后一种方法则提供周期固定、占空比可变、分辨率为1256(8位)的 PWM信号。第16页/共30页5.2.3 PWM基本功能程序举例 P2.5口经设置后可以输出编程的脉宽调制(PWM)输出。下面的程序先将P2.5

9、口设置为PWM输出口,再由P0口送入对应于脉宽的数字量。在P2.5处可以得到对应于占空比的定周期脉冲。 P0 EQU 0EH P1 EQU 0FH IOC1 EQU 16H PWMEQU 17H ORG 2210H LDBIOC1, #01H THERE:LDBPWM, P0 SJMPTHERE第17页/共30页用PWM口产生锯齿波的程序。SPEQU18HPWMEQU17HIOC1EQU16HREG1EQU40HTREGEQU90HORG2220HLD SP, #00C0HLDBIOC1, #01HLDBREG1, #00RELOAD:LDB PWM, REG1CALL TIMEINCB RE

10、G1SJMP RELOADTIME DELAYROUTINEORG2240HTIME:LDB TREG, 5000H0TMORE:DJNZ TREG, TMORERET第18页/共30页5.2.4 PWM的应用 例5-1 产生 PWM波形,占空比为25 %。 解:占空比=数据256,即数据=256占空比= 25625%=64=40H。相应程序清单如下: ORG 2800H START:LDB IOC1,01H ;选择PWM功能 H E R E : L D B P W M C O N T R O L , 40H ;将 要转换数据送入 SJMP HERE PWM引脚输出的脉冲信号经滤波后可变为模拟

11、信号。为了获得较高精度的8位DA输出,在滤波前先通过缓冲器将PWM脉冲信号摆幅变为05V,再经滤波、放大输出。DA缓冲器电路如图5-13所示。 第19页/共30页图5-13 D/A缓冲器电路第20页/共30页53 数字滤波方法1算术平均值滤波 设测量值为,则每采集了N个数据后,进行一次算术平均。其计算方法如式(5.3.1)所示: 根据数理统计的理论,上式的算术平均值实际上是这样一个值,它与各采样值间的误差的平方和最小。得到后即可计算出偏差值: 从上面可以看出,每计算一次控制器输出值,就必须采样N次。因此,N的取值不能太大。算术平均值法主要对压力,流量等含有周期性脉动的信号有效。而对突发性的脉冲

12、干扰,这种滤波方法的效果则不理想。第21页/共30页2中值滤波 所谓中值滤波法是连续采样n次(n为奇数),然后将n次的采样值从小到大排列,或者从大到小排列,再取中间的值作为采样值。 首先要做的工作是先采集N个参数并按大小排序,即有X1 X2 Xn - 1 Xn, 如 果 当 N 为 偶 数时, ; 如果当N为奇数时, 。 中值滤波的关键所在是形成按大小顺序排列的一组数。假设采样N次,如果使用高级语言,首先将N个采样值按从大到小(或从小到大)排列,然后将其放在一个数组X(N)里,此时X(N+1)/2)则为采样值。 第22页/共30页3表决滤波 首先要做的工作是先采集N个参数并按大小排序,即有X1

13、X2Xn -1 0 则 Xn = Xn1 若 XnXn-1 = 0 则 Xn = Xn 若 XnXn-1 0 则 Xn = Xn+1 这种滤波方式非常简单,运算也很节省时间,可以很有效地使采样到的参数处理得很平滑,但只能用于惯性较大的系统。第24页/共30页限幅滤波程序:步长为1AD03: LDB 20H,#3 ;选择通道3LCALL adrq ;调AD转换子程序 LD 22H,TTTA0 ;原先的数值放入到22HCMP 20H,22H ;新采集到的数值与原先的数值比较JH ADA51 ;高于就到ADA51CMP 20H,22H ;再进行比较JNH ADA52 ;低于就到ADA52LJMP A

14、DA53 ;相等到ADA53ADA51: INC 22H ;原先的值就加1 LJMP ADA53ADA52: DEC 22H ;原先的值减1ADA53: ST 22H,TTTA0 ;将原先值又放回TTTALD 20H,22HMULU 20H,#4CMP 20H,#100JH AD5BHST 20H,TTTB0LJMP AD5ENDAD5BH: LD 20H,#100ST 20H,TTTB0AD5END: RET第25页/共30页5去最老值滤波 先将采样到的参数按时间次序排序,X1、X2 Xn,其中X1最老,Xn最新,当再采集一个参数后作如下变化: X1=X2, X2=X3, Xn-1=Xn,

15、Xn=Xn+1 然后进行一次算术平均。其计算方法:第26页/共30页6程序判断滤波 如果我们事先就知道,所采样的信号,其在两个采样点之间不可能有很大的变化,则可以根据现场的经验确定一个最大偏差m。每次采样后都将其与前一个采样值进行比较,一旦两个值的差超出了m,则表明采集的信号中包含有较大的干扰,应该去掉;如果未超出m,可将该数据作为本次采样值。这种方法对于一些突发性的干扰,如大功率用电设备的启停或其他冲击性负载带来的电流尖峰干扰比较有效。 程序判断滤波法程序流程图如图5-14所示。 第27页/共30页图5-14 程序判断滤波法程序流程图第28页/共30页 小 结 1. 读取AD转换结果可用查询、中断和延时三种方式。 2. 如果通过 HSO来定时启动 AD转换,还需要 HS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论