资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第8章 键盘显示及模拟量通道技 术8.1 键盘/显示器接口扩展技术8.2 模拟量I/O通道8.2 模拟量I/O通道p8.2.1 A/D转换原理及主要性能指标p8.2.2 MCS-51单片机与ADC0809芯片接口设计p8.2.3 D/A转换原理及主要性能指标p8.2.4 MCS-51单片机与DAC0832芯片接口设计概述p模/数转换(A/D):由模拟量变为数字量的转换p数/模转换(D/A):由数字量转为模拟量的转换被测 控的 对象单片 微机 应用 系统传感器采样保持A/D开关控制部件模拟执行部件D/A单片机应用系统结构8.2.1 A/D转换原理及主要性能指标pA/D转换的分类n计数器式p结构简单,转换速度很慢,很少采用 n双积分式p抗干扰能力强,转换精度也很高,转换速度不理想n逐次逼近型p结构不太复杂,转换速度也高+5 V0 V模拟电 压输入Comparator开关树控制电路电阻阶梯网络逐次逼近式A/D转换原理+5 V0 V输入Comparator太高太低0100000111 1101D0 D1D2控制电路+5 V0 V输入Comparator3.8 V太高太低2.53.754.370100000111 1101D0 D1D2控制电路pA/D转换器的性能指标n分辨率p转换器所能分辨的被测量的最小值。p如果数字量的位数为n,分辨率就等于1/2n满刻度值。n转换速度n转换精度:量化间隔量化误差A/D转换误差p量化间隔:p量化误差:绝对量化误差p相对量化误差 隔8.2.2 MCS-51单片机与ADC0809芯片接口设计p特性n8位A/DnCMOS低功耗器件n8 通道多路开关输入切换电路n单电源+5,Vref=+5Vn逐次逼近结构,每次转换时间:100Sn转换结果读取方式p延时读数p查询EOC=1pEOC申请中断1. ADC0809内部结构与引脚功能8 路 模 拟 量 输 入 通 道地址锁存信号 模拟通道地 址线 A/D转换启动信号 时钟信号 转换结束 状态信号 参考电压 输出允许信号 数 据 输 出 线 上升沿清空内部寄存器 下降沿开始A/D转换 A/D期间应为低电平C B A选通的通道0 0 0IN00 0 1IN10 1 0IN20 1 1IN31 0 0IN41 0 1IN51 1 0IN61 1 1IN7引脚: (双列直插28脚为例)pIN0IN7:8路模拟输入信号pA、B、C:地址选择线pALE:地址锁存控制线pD0D7:8位数字输出线pVcc、GND:电源pVref(+)、 Vref(-):参考电压输入,一般Vref(+)接参考电压, Vref(-)接地pOE:允许输出控制端pCLK:时钟输入信号;典型640KHz,大于1.43MHz,将停止转换pSTART:A/D转换启动信号,下降沿启动芯片并开始A/D转换pEOC:转换结束标志,0在转换,1转换结束。有0信号是在启动信 号START下降沿有效后大约10微秒(8CLK+2微秒)以后2. MCS51单片机与ADC0809的接口 CLK ALE信号分频CLOCK端,可得500KHz的A/D转换脉 冲Clock = 12 MHzALE = 2 MHzCLK = 500 kHzp必须处理好三个问题:n在START端送一个100ns宽的启动正脉冲。n获取EOC端上的状态信息,它是A/D转换的结束标志 。n给OE端送一个地址译码器的输出信号。ADC0809 程序设计p(1) 模拟通道选择p(2) 转换数据的传送 MOVDPTR,#7FF8H;送入ADC0809口地址及路数地址 MOVX DPTR, A;启动A/D转换(IN0)A与A/D转换无关 可为任意值 仅为程序“写”操作(1)模拟通道选择(2)转换数据的传送 p(a)定时传送方式p(b)查询方式p(c)中断方式关键: 如何确认A/D转换已经完成p例n编程对IN0INT7上的模拟电压信号进行巡回检测n要求p采用中断方式采集数据p依次存放在内部RAM的60H67H单元中中断方式 主程序:中断初始化(启动转换、送模拟量路数地址等)ORG0000H AJMPMAIN ORG0013H AJMPLINT1ORG0100HMAIN: MOVR0, #60H;数据区起始地址送R0MOVR2, #08H;模拟量路数送R2SETBEA;CPU开中断SETBEX1;允许/INT1中断SETBIT1; /INT1为边沿触发MOVDPTR, #7FF8H;送端口地址MOVX DPTR, A;启动A/D转换LOOP: SJMPLOOP;等待中断A与A/D转换无关 可为任意值 仅为程序“写”操作中断方式 中断服务程序:接收A/D转换后的数字量ORG0200HLINT1: MOVXA, DPTR;输入数字量送AMOVR0, A;存入数据区INCR0;数据区指针+1INCDPTR;模拟路数+1DJNZR2, LOOP1;8路未转换完,则继续等待下次转换CLREA;转换完毕,则关中断CLREX1;禁止外部中断1中断RETI;中断返回LOOP1:MOVXDPTR, A;再次启动A/D转换RETI;中断返回定时传送方式;P2.7接启动控制端;A、B、C分别接A0、A1、A2;延时读取ORG0000HAJMP MAINORG0030HMAIN: MOVDPTR, #7FF8HMOVR0, #60HMOVR2, #08HMAIN0:MOVX DPTR,ALCALL DELAY MOVX A, DPTRMOVR0,A INCDPTRINCR0DJNZR2,MAIN0 SJMP$ DELAY:MOVR6,#20H NEXT: NOP NOP NOP DJNZR6, NEXT RET END查询传送方式;P2.7接启动控制端;A、B、C分别接A0、A1、A2;查询P3.3(INT1)引脚状态读取ORG0000HAJMP MAINORG0030HMAIN: MOVDPTR, #7FF8HMOVR0, #60HMOVR2, #08HMAIN0:MOVX DPTR,AJBP3.3,$ MOVX A, DPTRMOVR0,AINCDPTRINCR0DJNZR2,MAIN0SJMP$ ENDADC0809的三个地址端A、B、C也可与数据线相连MOVDPTR, #7FF8H ;送入0809的口地址 MOVA , #07H;D2D1D0=111选择IN7通道 MOVX DPTR, A;启动A/D转换8.2.3 D/A转换原理及主要性能指标pD/A转换的原理正比于n输出模拟量 输入数字量n输出模拟量 反映 输入数字量 大小 pT形电阻网络D/A转换器的性能指标p分辨率(resolution)n能分辨的 最小输出 模拟增量 LSBp转换精度(conversion accuracy) n满量程时,实际模拟输出值和理论值的接近程度。分辨率的一半,即为LSB2 p偏移量误差(offset error) n输出模拟量对零的偏移值 p线性度(linearity) n实际转换特性曲线和理想直线之间的最大偏差 p其他:n转换速度(conversion rate)、温度灵敏度(temperature sensitivity)8.2.4 MCS-51单片机与DAC0832芯片接口设计p DAC0832芯片内部结构和引脚 DAC0832芯片内部结构存放CPU送来的数字量 (缓冲和锁存 )0 0111接收信号0锁存信号DAC0832芯片内部结构存8位输入寄存器送的 数字量0 01跟随输入0锁存输入引脚功能(双列直插20脚为例)pDI0DI7:8位数据输入端pILE:输入数据允许锁存信号p/CS:片选端p/WR1:输入寄存器写选通信号p/WR2:DAC寄存器写选通信号p/XFER:数据传送信号pIOUT1、IOUT2:电流输出端pRFB:反馈电流输入端pVREF:基准电压输入端pVCC:正电源端pAGND:模拟地pDGND:数字地DAC0832的应用特性p内无Vref,外接Vrefp输出为电流型DAC,要获得模拟电压,外加转换电路,获 得的模拟电压有单极性和双极性两种p转换关系n单极性:A=-VrefD256n双极性:A=Vref(D128)128p两级数据锁存器,能实现多通道D/A同步转换输出单极性:A=-VrefD256 双极性:A=Vref(D128)128DAC0832与MCS-51的典型应用p波形产生n锯齿波n梯形波n三角波n正弦波n任意波形发生器DAC0832的工作方式p三种工作方式n(1)直通p5个控制端均有效,直接D/A转换;n(2)单缓冲p5个控制端一次选通,即两个输入寄存器中任意一个处于直通方式,另一个工作于受控方式。n(3)双缓冲p5个控制端分二次选通,即两个锁存器都处于受控状态。5个控制端 ILE、/CS、/WR1、/WR2、/XFER(1)直通常用于不带微机的控制系统。(2)单缓冲pDAC0832内部的两个数据缓冲器n一个:直通方式;另一个:受MCS51控制 MOVDPTR, #7FFFH ;指向DAC0832 MOVX DPTR, A;完成一次D/A输入与转换01锯齿波程序ORG 0200HSAW:MOV DPTR,#7FFFH;输入寄存器地址MOV A,#00H;转换初值WW: MOVX DPTR,A;D/A转换INC A;A中的值加1NOP;延时NOPNOPAJMP WW;循环三角波程序ORG0000HSTART:MOVDPTR, #7FFFH CLRADOWN:MOVX DPTR, A;线性下降段INCAJNZDOWN;(A)0时,转DOWNMOVA, #0FFHUP:MOVX DPTR, A;线性上升段DECAJNZUP;(A)0时,转UPSJMPDOWN;完成一轮循环后,再次循环END方波程序ORG 0000HSTART:MOV DPTR, #7FFFHLOOP:MOV A, #33H;设置为“-1V”MOVX DPTR, A;设置上限电平为“-1V”ACALL DELAY;形成方波宽度MOV A, #0FFHMOVX DPTR, A;设置下限电平ACALL DELAY;形成方波宽度SJMP LOOP;完成一个周期循环后,再次循环DELAY: RET矩形波程序BEGIN:MOV DPTR, #7FFFHLP:MOV A, #DATAH;矩形波上限MOVX DPTR, ALCALL DELAYH;高电平延时时间MOV A,#DATAL;矩形波下限MOVX DPTR, ALCALL DELAYL;低电平延时时间SJMP LP(3)双缓冲同步输出“8位输入寄存器”和“8位DAC寄存器”都不在直通方式下工作 例 利用DAC0832实现两路同步输出ORG0100HMOVDPTR, #0DFFFH;DPTR指针指向0DFFFHMOVA, #XdataMOVX DPTR, A;Xdata写入1#DAC0832MOVDPTR, #0BFFFH;DPTR指针指向0BFFFHMOVA, #YdataMOVX DPTR, A;Ydata写入2#DAC0832MOVDPTR, #7FFFH;DPTR指针指向7FFFHMOVX DPTR, A;启动1#DAC0832和2#DAC0832工作END小结pD/A和A/D转换原理pMCS-51单片机与DAC0832和ADC0809芯片接口设计pD/A和A/D转换的程序设计方法p作业:n预习实验并编写源程序。n复习本课程的全部内容
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号