《uCCh82模拟量IO通道sxj》由会员分享,可在线阅读,更多相关《uCCh82模拟量IO通道sxj(43页珍藏版)》请在金锄头文库上搜索。
1、第第8 8章章 键盘显示及模拟量通道键盘显示及模拟量通道技术技术8.1 8.1 键盘键盘/ /显示器接口扩展技术显示器接口扩展技术8.2 8.2 模拟量模拟量I/OI/O通道通道8.2 8.2 模拟量模拟量I/OI/O通道通道p8.2.1 A/D8.2.1 A/D转换原理及主要性能指标转换原理及主要性能指标p8.2.2 MCS-518.2.2 MCS-51单片机与单片机与ADC0809ADC0809芯片接口设计芯片接口设计p8.2.3 D/A8.2.3 D/A转换原理及主要性能指标转换原理及主要性能指标p8.2.4 MCS-518.2.4 MCS-51单片机与单片机与DAC0832DAC083
2、2芯片接口设计芯片接口设计概述概述p模模/ /数转换(数转换(A/DA/D):由模拟量变为数字量的转换:由模拟量变为数字量的转换p数数/ /模转换(模转换(D/AD/A):由数字量转为模拟量的转换:由数字量转为模拟量的转换被测被测控的控的对象对象单片单片微机微机应用应用系统系统传感器传感器采样保持采样保持A/D开关控制部件开关控制部件模拟执行部件模拟执行部件D/A单片机应用系统结构单片机应用系统结构8.2.1 A/D8.2.1 A/D转换原理及主要性能指标转换原理及主要性能指标pA/DA/D转换的分类转换的分类n计数器式计数器式p结构简单,转换速度很慢,很少采用结构简单,转换速度很慢,很少采用
3、 n双积分式双积分式p抗干扰能力强,转换精度也很高,转换速度不理想抗干扰能力强,转换精度也很高,转换速度不理想n逐次逼近型逐次逼近型p结构不太复杂,转换速度也高结构不太复杂,转换速度也高+5 V0 V模拟电模拟电压输入压输入Comparator开关树开关树控制电路控制电路电阻阶梯网络电阻阶梯网络逐次逼近式逐次逼近式A/DA/D转换原理转换原理+5 V0 V输入输入Comparator 太高太高 太低太低01000001111101D0D1D2控制电路控制电路+5 V0 V输入输入Comparator3.8 V 太高太高 太低太低2.53.754.3701000001111101D0D1D2控制
4、电路控制电路pA/DA/D转换器的转换器的性能指标性能指标n分辨率分辨率p转换器所能分辨的被测量的最小值。转换器所能分辨的被测量的最小值。p如果数字量的位数为如果数字量的位数为n n,分辨率就等于,分辨率就等于1/21/2n n满刻度值。满刻度值。n转换速度转换速度n转换精度:量化间隔量化误差转换精度:量化间隔量化误差A/DA/D转换误差转换误差p量化间隔:量化间隔:p量化误差:绝对量化误差量化误差:绝对量化误差p相对量化误差相对量化误差 隔8.2.2 MCS-518.2.2 MCS-51单片机与单片机与ADC0809ADC0809芯片接口设计芯片接口设计p特性特性n8 8位位A/DA/DnC
5、MOSCMOS低功耗器件低功耗器件n8 8 通道多路开关输入切换电路通道多路开关输入切换电路n单电源单电源+5+5,VrefVref=+5V=+5Vn逐次逼近结构,每次转换时间:逐次逼近结构,每次转换时间: 100100 S Sn转换结果读取方式转换结果读取方式p延时读数延时读数p查询查询EOC=1EOC=1pEOCEOC申请中断申请中断1. ADC08091. ADC0809内部结构与引脚功能内部结构与引脚功能8 8路路模模拟拟量量输输入入通通道道地址锁存信号地址锁存信号 模拟通道地模拟通道地址线址线 A/DA/D转换启动信号转换启动信号 时钟信号时钟信号 转换结束转换结束状态信号状态信号
6、参考电压参考电压 输出允许信号输出允许信号 数数据据输输出出线线 上升沿上升沿清空内部寄存器清空内部寄存器下降沿下降沿开始开始A/DA/D转换转换A/DA/D期间期间应为低电平应为低电平C B A选通的通道通的通道0 0 0IN00 0 1IN10 1 0IN20 1 1IN31 0 0IN41 0 1IN51 1 0IN61 1 1IN72. MCS512. MCS51单片机与单片机与ADC0809ADC0809的接口的接口 pCLKCLKnALEALE信号信号分频分频CLOCKCLOCK端,可得端,可得500KHz500KHz的的A/DA/D转换脉转换脉冲冲Clock = 12 MHzAL
7、E = 2 MHzCLK = 500 kHzp必须处理好三个问题:必须处理好三个问题:n在在STARTSTART端送一个端送一个100ns100ns宽的宽的启动启动正脉冲正脉冲。n获取获取EOCEOC端上的状态信息,它是端上的状态信息,它是A/DA/D转换的转换的结束结束标志标志。n给给OEOE端送一个地址译码器的输出信号。端送一个地址译码器的输出信号。ADC0809 ADC0809 程序设计程序设计p(1 1) 模拟通道选择模拟通道选择p(2 2) 转换数据的传送转换数据的传送 MOVDPTR,#7FF8H;送入送入ADC0809口地址及路数地址口地址及路数地址MOVX DPTR, A;启动
8、启动A/D转换转换(IN0)A A与与A/DA/D转换转换无关无关可为可为任意值任意值仅为程序仅为程序“写写”操作操作(1)(1)模拟通道选择模拟通道选择(2)(2)转换数据的传送转换数据的传送 p(a a)定时传送方式)定时传送方式p(b b)查询方式)查询方式p(c c)中断方式)中断方式关键:关键:如何如何确认确认A/DA/D转换已经转换已经完成完成p 例例 n编程对编程对IN0IN0INT7INT7上的模拟电压信号进行巡回检测上的模拟电压信号进行巡回检测n要求要求p采用中断方式采集数据采用中断方式采集数据p依次存放在内部依次存放在内部RAMRAM的的60H60H67H67H单元中单元中
9、中断方式中断方式主程序:中断初始化主程序:中断初始化( (启动转换、送模拟量路数地址等启动转换、送模拟量路数地址等) )ORG0000HAJMPMAINORG0013HAJMPLINT1ORG0100HMAIN: MOVR0, #60H;数据区起始地址送数据区起始地址送R0MOVR2, #08H;模拟量路数送模拟量路数送R2SETBEA;CPU开中断开中断SETBEX1;允许允许/INT1中断中断SETBIT1; /INT1为边沿触发为边沿触发MOVDPTR, #7FF8H;送端口地址送端口地址MOVX DPTR, A;启动启动A/D转换转换LOOP: SJMPLOOP;等待中断等待中断A A
10、与与A/DA/D转换转换无关无关可为可为任意值任意值仅为程序仅为程序“写写”操作操作中断方式中断方式中断服务程序:接收中断服务程序:接收A/DA/D转换后的数字量转换后的数字量ORG0200HLINT1:MOVXA, DPTR;输入数字量送输入数字量送AMOVR0, A;存入数据区存入数据区INCR0;数据区指针数据区指针+1INCDPTR;模拟路数模拟路数+1DJNZR2, LOOP1;8路未转换完,则继续等待下次转换路未转换完,则继续等待下次转换CLREA;转换完毕,则关中断转换完毕,则关中断CLREX1;禁止外部中断禁止外部中断1中断中断RETI;中断返回中断返回LOOP1: MOVXD
11、PTR, A;再次启动再次启动A/D转换转换RETI;中断返回中断返回定时传送方式定时传送方式;P2.7接启动控制端接启动控制端;A、B、C分别接分别接A0、A1、A2;延时读取延时读取ORG0000H AJMP MAIN ORG0030HMAIN: MOVDPTR, #7FF8HMOVR0, #60HMOVR2, #08HMAIN0:MOVX DPTR,ALCALL DELAYMOVX A, DPTRMOVR0,AINCDPTRINCR0DJNZR2,MAIN0SJMP$DELAY:MOVR6,#20HNEXT: NOPNOPNOPDJNZR6, NEXTRETEND查询传送方式查询传送方式
12、;P2.7接启动控制端接启动控制端;A、B、C分别接分别接A0、A1、A2;查询查询P3.3(INT1)引脚状态读取引脚状态读取ORG0000H AJMP MAIN ORG0030HMAIN: MOVDPTR, #7FF8HMOVR0, #60HMOVR2, #08HMAIN0:MOVX DPTR,AJBP3.3,$MOVX A, DPTRMOVR0,AINCDPTRINCR0DJNZR2,MAIN0SJMP$ENDADC0809ADC0809的三个地址端的三个地址端A A、B B、C C也可与数据线相连也可与数据线相连MOVDPTR, #7FF8H ;送入送入0809的口地址的口地址MOVA
13、 , #07H;D2D1D0=111选择选择IN7通道通道 MOVX DPTR, A;启动启动A/D转换转换8.2.3 D/A8.2.3 D/A转换原理及主要性能指标转换原理及主要性能指标pD/AD/A转换的原理转换的原理 正比于正比于n输出模拟量输出模拟量 输入数字量输入数字量n输出模拟量输出模拟量 反映反映 输入数字量输入数字量 大小大小 pT T形电阻网络形电阻网络D/AD/A转换器的性能指标转换器的性能指标p分辨率(分辨率(resolutionresolution)n能分辨的能分辨的 最小输出最小输出 模拟模拟增量增量 LSB LSBp转换精度转换精度(conversion accur
14、acy) (conversion accuracy) n满量程时,满量程时,实际实际模拟输出值和模拟输出值和理论理论值的值的接近程度。接近程度。分辨率的分辨率的一半,即为一半,即为LSBLSB2 2 p偏移量误差偏移量误差(offset error) (offset error) n输出模拟量输出模拟量对零对零的的偏移值偏移值 p线性度线性度(linearity) (linearity) n实际转换特性曲线和理想直线之间的最大偏差实际转换特性曲线和理想直线之间的最大偏差 p其他:其他:n转换速度转换速度(conversion rate)(conversion rate)、温度灵敏度、温度灵敏度
15、(temperature sensitivity)(temperature sensitivity)8.2.4 MCS-518.2.4 MCS-51单片机与单片机与DAC0832DAC0832芯片接口设计芯片接口设计p DAC0832 DAC0832芯片内部结构和引脚芯片内部结构和引脚 DAC0832DAC0832芯片内部结构芯片内部结构存放存放CPUCPU送来送来的的数字量数字量(缓冲和锁存(缓冲和锁存 )00111接收信号接收信号0锁存信号锁存信号DAC0832DAC0832芯片内部结构芯片内部结构存存8 8位输入寄存器位输入寄存器送送的的数字量数字量001跟随输入跟随输入0锁存输入锁存输
16、入引脚功能(双列直插引脚功能(双列直插2020脚为例)脚为例)pDI0DI7:8位数据输入端位数据输入端pILE:输入数据允许锁存信号:输入数据允许锁存信号p/CS:片选端:片选端p/WR1:输入寄存器写选通信号:输入寄存器写选通信号p/WR2:DAC寄存器写选通信号寄存器写选通信号p/XFER:数据传送信号:数据传送信号pIOUT1、IOUT2:电流输出端:电流输出端pRFB:反馈电流输入端:反馈电流输入端pVREF:基准电压输入端:基准电压输入端pVCC:正电源端:正电源端pAGND:模拟地:模拟地pDGND:数字地:数字地DAC0832DAC0832的应用特性的应用特性p内无内无Vref
17、Vref,外接外接VrefVrefp输出为电流型输出为电流型DACDAC,要获得模拟电压,外加转换电路,获得要获得模拟电压,外加转换电路,获得的模拟电压有单极性和双极性两种的模拟电压有单极性和双极性两种p转换关系转换关系n单极性:单极性:A=-VrefDA=-VrefD256256n双极性:双极性:A=VrefA=Vref(D D128128)128128p两级两级数据数据锁存器锁存器,能实现,能实现多通道多通道D/AD/A同步转换输出同步转换输出单极性:单极性:A=-VrefA=-VrefD D256256双极性:双极性:A=A=VrefVref(D D128128)128128DAC083
18、2DAC0832与与MCS-51MCS-51的典型应用的典型应用p波形产生波形产生n锯齿波锯齿波n梯形波梯形波n三角波三角波n正弦波正弦波n任意波形发生器任意波形发生器DAC0832DAC0832的工作方式的工作方式p三种工作方式三种工作方式n(1)(1)直通直通p5 5个控制端均有效,个控制端均有效,直接直接D/AD/A转换;转换;n(2)(2)单缓冲单缓冲p5 5个控制端个控制端一次选通一次选通,即两个输入寄存器中任意一个处于,即两个输入寄存器中任意一个处于直通直通方式,另一个工作于方式,另一个工作于受控受控方式。方式。n(3)(3)双缓冲双缓冲p5 5个控制端分个控制端分二次选通二次选通
19、,即两个锁存器,即两个锁存器都都处于处于受控受控状态。状态。5 5个控制端个控制端ILEILE、/CS/CS、/WR1/WR1、/WR2/WR2、/XFER/XFER(1 1)直通)直通常用于常用于不带微机不带微机的控制系统。的控制系统。(2 2)单缓冲)单缓冲pDAC0832DAC0832内部的两个数据缓冲器内部的两个数据缓冲器n一个:一个:直通直通方式;另一个:方式;另一个:受受MCS51MCS51控制控制 MOVDPTR, #7FFFH ;指向指向DAC0832 MOVX DPTR, A;完成一次完成一次D/A输入与转换输入与转换01锯齿波程序锯齿波程序ORG 0200HSAW: MOV
20、 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;完成一轮循环后,再次循环完成一轮循环后,再次循
21、环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
22、DPTR, ALCALL DELAYH;高电平延时时间高电平延时时间MOV A,#DATAL;矩形波矩形波下限下限MOVX DPTR, ALCALL DELAYL;低电平延时时间低电平延时时间SJMP LP(3 3)双缓冲同步输出)双缓冲同步输出“8 8位输入寄存器位输入寄存器”和和“8 8位位DACDAC寄存器寄存器”都不在直通方式下工作都不在直通方式下工作 例例 利用利用DAC0832DAC0832实现两路同步输出实现两路同步输出ORG0100HMOVDPTR, #0DFFFH;DPTR指针指向指针指向0DFFFHMOVA, #XdataMOVX DPTR, A;Xdata写入写入1#DA
23、C0832MOVDPTR, #0BFFFH;DPTR指针指向指针指向0BFFFHMOVA, #YdataMOVX DPTR, A;Ydata写入写入2#DAC0832MOVDPTR, #7FFFH;DPTR指针指向指针指向7FFFHMOVX DPTR, A;启动启动1#DAC0832和和2#DAC0832工作工作END小结小结pD/AD/A和和A/DA/D转换原理转换原理pMCS-51MCS-51单片机与单片机与DAC0832DAC0832和和ADC0809ADC0809芯片接口设计芯片接口设计pD/AD/A和和A/DA/D转换的程序设计方法转换的程序设计方法p作业:作业:n预习实验并编写源程序。预习实验并编写源程序。n复习本课程的全部内容复习本课程的全部内容