




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章A D和PWM D A 的工作原理及应用 内容提要本章介绍8096单片机A D转换器和PWM发生器的基本原理和应用 在A D转换器中 首先说明原理 结构以及控制 然后介绍软件设计及应用实例 在PWM发生器中 分别介绍结构原理和实际应用 此外本章还介绍几种滤波方法 5 1A D模数转换5 1 1A D转换器的基本原理 图5 1逐次逼近法原理 10位逐次逼近寄存器SAR初始值为全0 8096芯片ADC的输入模拟电压范围为0至VREF VREF是模拟基准电压 正常工作时 VREF必须保持在5 0 0 5V范围内 并要求能提供5mA电流 A D结果用以下公式计算 1023 Vin ANGND VREF ANGND 当A D转换器被启动后 需要88个状态周期才能得到转换结果 在这期间内 可以让CPU进行其它工作 也可以用软件延时等待 注意 必须在88个状态周期后读取的结果才是正确的 如选12MHz时钟 A D转换时间为88 3 12 22 s 如选6MHZ时钟 A D转换时间为88 3 6 44 s 5 1 2A D转换器的硬件结构及功能特点 图5 28096芯片的ACH7 P0 7 ACH0 P0 0引脚 5 1 3A D使用方法 1 模拟参考电压源VREF的稳定程度直接影响A D的转换精度 如不使用A D转换器 则必须将VREF和VCC相连 ANGND和Vss相连 此时P0口可作普通的数字口 2 A D转换控制A D命令寄存器AD COMMAND格式如图5 5所示 D3 GO 1 立即启动 D3 GO 0 表示由HSO在某设定时刻定时启动 D2 D1 D0决定输入通道号 如表5 1所示 图5 5A D命令寄存器格式 表5 1D2 D1 D0决定的输入通道号 A D结果寄存器AD RESULT的数据格式如图5 6所示 地址03H单元中存放高8位 02H单元中D7 D6 存放低2位 02H单元中的 D5 D4 不用 S D3 位可供查询 S 0表明转换结束或正处于空闲状态 S 1表明正在进行转换 D2 D1 D0定义与A D命令寄存器相同 图5 6A D结果寄存器格式 3 A D转换器的应用A D转换子程序 ADRQ ANDB20H 07H 启动AD通道号放入20HADDB02H 20H 08H 立即启动ADNOPNOPADBUSY JBSADRL 3 ADBUSY AD转换是否结束 结束往下LDB21H ADRH 将AD转换高位放入21HLDB20H ADRL 将AD转换低位放入20HSHR20H 6 右移6位RET 结束返回 硬件方面的一些问题 1 接地 在整个系统中数字地与模拟地不可形成回路 以免对模拟信号造成干扰 数字地和模拟地正确的接法是 在系统中 先将数字地 模拟地分别相连 然后在系统中选一点 一般选在A D转换器处 相连接 另外 VREF与ANGND以及VCC与VSS之间都需加滤波电容 以消除高频干扰 如下图所示 2 参考电压VREF VREF的稳定程度直接影响A D的转换精度 图5 8所示是实际应用中的一个例子 其中电位器采用多圈式电位器 它定位精度高且可自锁 如不使用A D转换器 则必须将VREF和VCC相连 ANGND和Vss相连 此时P0口可作普通的数字口 图5 8参考电压VREF 3 模拟信号输入电路 图5 9所示为一通用的模拟信号输入电路 它对模拟输入信号进行偏移和增益处理 使输入到模拟引脚 CH0 CH7 的电压为0 5V 偏移细调通过R2实现 增益范围由调整R5完成 图5 9偏移和增益整定电路 5 2脉冲宽度调制输出PWM D A 功能特点及功能程序5 2 1脉冲宽度调制输出PWM的结构和工作原理 PWM波发生器主要由脉宽调制控制寄存器PWM CONTROL 8位循环计数器 比较器和R S触发器等组成 结构如图5 10所示 图5 10PWM波发生器结构 将某个要转换的数字量 例80H 写入到PWM CONTROL中 其值不断与8位循环记数器的内容比较 二者相等时 比较输出正脉冲 R S触发器复位 使PWM P2 5端变为低电位 PWM CONTROL中数据为80H时 PWM P2 5端输出波形如图5 11所示 从上述可知 输出波形的周期固定为256T 状态周期 当晶振为12MHz时256T 256 3 12 64 s 占空比 PWM CONTROL中数据 256 如上例占空比 80H 256 50 图5 11数据80H时的输出波形 复位时PWM CONTROL清0 占空比 00H 256 0 即PWM P2 5端始终为低电平 图5 12给出了几种典型的PWM输出波形图 若将这些波形积分 则可得到8位分辨率的模拟信号 图5 12PWM输出波形 5 2 2PWM控制 1 输入 输出控制寄存器IOC1 8位 地址16H IOC1是只写寄存器 IOC1 0 1时 PWM P2 5引脚可以输出PWM波 引脚作PWM端使用 而当IOC1 0 0时 它只能输出开关信号 引脚作P2 5使用 2 脉冲宽度调制寄存器PWM CONTROL 8位 地址17H PWM CONTROL也是一种只写寄存器 写入数据后 PWM波的宽度随之而定 有两种方法提供PWM输出 一种是通过HSO提供 另一种是由8096的脉冲宽度调制器提供 前一种方法可提供周期和占空比可改变 分辨率为1 65536 16位 的PWM信号 后一种方法则提供周期固定 占空比可变 分辨率为1 256 8位 的PWM信号 5 2 3PWM基本功能程序举例 P2 5口经设置后可以输出编程的脉宽调制 PWM 输出 下面的程序先将P2 5口设置为PWM输出口 再由P0口送入对应于脉宽的数字量 在P2 5处可以得到对应于占空比的定周期脉冲 P0EQU0EHP1EQU0FHIOC1EQU16HPWMEQU17HORG2210HLDBIOC1 01HTHERE LDBPWM P0SJMPTHERE 用PWM口产生锯齿波的程序 SPEQU18HPWMEQU17HIOC1EQU16HREG1EQU40HTREGEQU90HORG2220HLDSP 00C0HLDBIOC1 01HLDBREG1 00RELOAD LDBPWM REG1CALLTIMEINCBREG1SJMPRELOADTIMEDELAYROUTINEORG2240HTIME LDBTREG 5000H 0 TMORE DJNZTREG TMORERET 5 2 4PWM的应用 例5 1产生PWM波形 占空比为25 解 占空比 数据 256 即数据 256 占空比 256 25 64 40H 相应程序清单如下 ORG2800HSTART LDBIOC1 01H 选择PWM功能HERE LDBPWM CONTROL 40H 将要转换数据送入SJMPHEREPWM引脚输出的脉冲信号经滤波后可变为模拟信号 为了获得较高精度的8位D A输出 在滤波前先通过缓冲器将PWM脉冲信号摆幅变为0 5V 再经滤波 放大输出 D A缓冲器电路如图5 13所示 图5 13D A缓冲器电路 5 3数字滤波方法 1 算术平均值滤波设测量值为 则每采集了N个数据后 进行一次算术平均 其计算方法如式 5 3 1 所示 根据数理统计的理论 上式的算术平均值实际上是这样一个值 它与各采样值间的误差的平方和最小 得到后即可计算出偏差值 从上面可以看出 每计算一次控制器输出值 就必须采样N次 因此 N的取值不能太大 算术平均值法主要对压力 流量等含有周期性脉动的信号有效 而对突发性的脉冲干扰 这种滤波方法的效果则不理想 2 中值滤波所谓中值滤波法是连续采样n次 n为奇数 然后将n次的采样值从小到大排列 或者从大到小排列 再取中间的值作为采样值 首先要做的工作是先采集N个参数并按大小排序 即有X1 X2 Xn 1 Xn 如果当N为偶数时 如果当N为奇数时 中值滤波的关键所在是形成按大小顺序排列的一组数 假设采样N次 如果使用高级语言 首先将N个采样值按从大到小 或从小到大 排列 然后将其放在一个数组X N 里 此时X N 1 2 则为采样值 3 表决滤波首先要做的工作是先采集N个参数并按大小排序 即有X1 X2 Xn 1 Xn 去掉一个最大值Xn和一个最小值X1再求其均值 其表达式为 4 限幅滤波如果采集到的参数波动较大 可采用此滤波方式 先定义为原来的值 是为新采样到的值 有以下三种情况 若Xn Xn 1 0则Xn Xn 1若Xn Xn 1 0则Xn Xn若Xn Xn 1 0则Xn Xn 1这种滤波方式非常简单 运算也很节省时间 可以很有效地使采样到的参数处理得很平滑 但只能用于惯性较大的系统 限幅滤波程序 步长为1AD03 LDB20H 3 选择通道3LCALLadrq 调AD转换子程序LD22H TTTA 0 原先的数值放入到22HCMP20H 22H 新采集到的数值与原先的数值比较JHADA51 高于就到ADA51CMP20H 22H 再进行比较JNHADA52 低于就到ADA52LJMPADA53 相等到ADA53ADA51 INC22H 原先的值就加1LJMPADA53ADA52 DEC22H 原先的值减1ADA53 ST22H TTTA 0 将原先值又放回TTTALD20H 22HMULU20H 4CMP20H 100JHAD5BHST20H TTTB 0 LJMPAD5ENDAD5BH LD20H 100ST20H TTTB 0 AD5END RET 5 去最老值滤波先将采样到的参数按时间次序排序 X1 X2 Xn 其中X1最老 Xn最新 当再采集一个参数后作如下变化 X1 X2 X2 X3 Xn 1 Xn Xn Xn 1然后进行一次算术平均 其计算方法 6 程序判断滤波如果我们事先就知道 所采样的信号 其在两个采样点之间不可能有很大的变化 则可以根据现场的经验确定一个最大偏差 m 每次采样后都将其与前一个采样值进行比较 一旦两个值的差超出了 m 则表明采集的信号中包含有较大的干扰 应该去掉 如果未超出 m 可将该数据作为本次采样值 这种方法对于一些突发性的干扰 如大功率用电设备的启停或其他冲击性负载带来的电流尖峰干扰比较有效 程序判断滤波法程序流程图如图5 14所示 图5 14程序判断滤波法程序流程图 小结 1 读取A D转换结果可用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢材公司的合同范本
- 委托转租门面合同范本
- 2017租房协议合同范本
- 青少年读本出版合同
- 新租赁厂房合同范本
- 入户空间租房合同范本
- 公路承包开挖合同范本
- 混合型肠易激综合征护理查房
- 成套电器销售合同范本
- 2008租赁合同范本
- 英汉互译单词练习打印纸
- 四川JS-004竣工验收报告
- 花卉栽植施工方案
- 水工闸门课件
- 水泥生产企业生产安全事故综合应急预案
- 全自动血液细胞分析仪产品技术要求深圳迈瑞
- 找对英语学习方法的第一本书
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
- 《诺丁山》经典台词
- 对铁路机车乘务员规章培训的探讨与实践
- 临床医学实验室 仪器设备一览表格模板
评论
0/150
提交评论