版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章
MCS-51单片机的
输入/输出通道接口主要内容:输入/输出通道的组成与配置,设计的基本原理和方法;A/D、D/A转换器性能、与MCS-51单片机的接口电路与程序设计。重点:典型A/D、D/A芯片的性能,与MCS-51接口电路与程序设计。难点:各种A/D、D/A芯片的选择、灵活应用。第5章
MCS-51单片机的
输入/输出通道接口5.1输入/输出通道概述
5.2D/A转换器及接口技术5.3A/D转换器及接口技术过程I/O通道:单片机系统和被控对象之间信息的交互通道。包括输入通道、输出通道。5.1.1传感器传感器:将各种输入变量转换成可供测量信号的器件。
分类:(1)按用途:压敏、力敏、位置、液面、能耗、速度、热敏、加速度、射线辐射、振动、湿敏、磁敏、气敏、真空度和生物传感器等。(2)按输出信号:模拟传感器、数字传感器、开关传感器等。5.1输入/输出通道概述
发展方向:(1)利用新的物理现象、化学反应、生物效应设计传感器;(2)信号处理中的信息融合技术;(3)新型材料,及无源化发展;(4)新的加工技术;(5)集成化、微型化、微功耗及无源化;(6)高可靠性、宽温度范围。应用领域:传感器已经成为现代信息技术系统三大支柱之一,广泛应用于工业、农业、航空航天、军事国防等领域。5.1.2单片机应用系统的输入/输出通道
过程I/O通道的一般结构输入通道(前向通道):
被测对象与单片机之间的信号通道。组成:传感器或敏感元件、通道结构、信号调节、A/D转换、电源的配置、干扰的抑制等。设计:(1)靠近对象采集信息;(2)输入通道的结构——被测对象的环境、输入信号的类型、数量、大小,传感器、变送器的性能。(3)模拟、数字等混杂电路;(4)放大电路;(5)抗干扰。1.输入通道单片机应用系统输入通道结构
2.输出通道
输出通道(后向通道):
单片机与被控对象之间的信号通道。组成:功率驱动、D/A转换、干扰的抑制等。设计:(1)通道结构:(2)输出信号与传送(模拟信号与数字信号,I/O口与数据总线;(3)驱动控制(小信号输出,大功率控制);(4)抗干扰(电磁、机械干扰)。单片机应用系统输出通道结构
3.信号处理电路功能:信号放大/变换,滤波、零点校正、线性化处理、温度补偿、误差修正和量程切换等。注意:信号处理可由硬件实现,有些也可由软件实现。(1)开关量输入:电平匹配、电气隔离、互感器。(2)小信号放大技术:测量放大器、可编程增益放大器、带有放大器的小信号双线发送器。(3)隔离放大技术:隔离放大器(变压器耦合隔离放大器和光耦合隔离放大器)5.2D/A转换器及接口技术
D/A转换器(DigittoAnalogConverter)
将数字量转换成模拟量的器件称为D/A转换器,通常用DAC表示。D/A转换接口器设计中主要考虑的问题芯片的选择、精度、转换时间、与CPU的接口方式、数字量的码输入、输出模拟量的类型与范围、功耗等。5.2.1D/A转换器的性能指标(1)分辨率:D/A转换器能分辨的最小输出模拟增量,即相邻两个二进制码对应的输出电压之差。可用最低位(LSB)表示。如,n位D/A转换器的分辨率为1/2n。(2)精度:D/A转换器的实际输出与理论值之间的误差,以满量程VFS的百分数或最低有效位(LSB)的分数形式表示。(3)线性误差:D/A的实际转换特性与理想的转换特性之间的偏差。即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。常以LSB的分数形式表示。(4)转换时间TS(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间。(5)偏移量误差:输入数字量为零时,输出模拟量对零的偏移值。
5.2.2D/A转换器的分类
按输出信号分类:电压输出型和电流输出型。按是否含有锁存器分类:内部无锁存器和内部有锁存器。按能否作乘法运算分类:乘算型和非乘算型。按输入数字量方式分类:并行D/A和串行D/A。按转换时间(TS)分类:
高速D/A(<100ns)、高速D/A(100ns~10μs)中速D/A(10μs~100μs)、低速D/A(>100μs)5.2.3D/A转换器的接口电路
1.DAC0832(1)DAC0832的特点美国国家半导体公司(NationalSemiconductor,NS)公司生产,DAC0830系列。①8位并行D/A转换;②二级数据锁存;③三种工作方式:直通、单缓冲、双缓冲;④电流输出型芯片;⑤CMOS工艺,DIP20封装,单电源(+5V~+15V,典型值+5V)供电;⑥参考电压为-10~+10V⑦与MCS-51连接方便。
DAC0830系列均为DIP20封装,管脚兼容。D0—D7:8位数字量输入端
:片选端,低有效ILE:
数据锁存允许
,:写控制信号1,2
:数据传送控制信号Iout1,Iout2:电流输出端1,2RFB:
内置反馈电阻端VREF:
参考电压源(-10V~+10V)
DGND,AGND:数字地、模拟地:Vcc:
+5~+15V电源供电端DAC0832内部结构电路
2.电压输出方法采用运算放大器。输出电压VOUT=×(-VREF)硬件电路
3.单缓冲方式接口
内部数据寄存器有一个处于直通方式,另一个处于受单片机控制。
ILE——+5V,片选信号、数据传输控制——P2.7,两个写信号——CPU的写。数据线直接相连。地址为7FFFH。硬件电路
完成一次D/A转换的A/D软件设计[例题]
利用DAC0832作波形发生器产生三角波。解:电路如上页所示。程序如下:
ORG0100H START:MOVDPTR,#7FFFH;地址指向DAC0832 MOVA,#00H ;三角波起始电压为0UP:MOVX@DPTR,A ;数字量送DAC0832转换
INCA ;三角波上升边
JNZUP ;未到最高点0FFH,返回UP继续
DECA;去掉最高点0FFHDOWN:DECA ;到三角波最高值,开始下降边
MOVX@DPTR,A ;数字量送DAC0832转换
JNZDOWN ;未到最低点0,返回DOWN继续
INCA;去掉最低点00H SJMPUP ;返回上升边
END 系统工作过程
适用场合:多路D/A同步进行D/A转换输出。4.双缓冲方式
硬件电路
[例题]
假设某一分时控制系统,由一台单片机控制并行的两台设备,两台设备的模拟控制信号分别由两片DAC0832输出,要求两片DAC0832同步输出并行控制。解:如上页图所示,利用DAC0832双缓冲原理,对不同端口地址的访问具有不同的操作功能,具体功能如下表所示。P2.7P2.6P2.5功能口地址0111#数据由DB→第一级锁存7FFFH1100#数据由DB→第一级锁存0DFFFH1011#及0#同时由第一级→第二级0BFFFH实现同步输出的操作步骤为:
①1#待转换数据由数据总线→1#的第一级锁存(写7FFFH口);②0#待转换数据由数据总线→0#D的第一级锁存(写0DFFFH口);③1#、0#的第一级锁存器中的数据→各自的第二级锁存,同时开始D/A转换(写0BFFFH),同时输出控制信号。子程序如下:
ORG0100H START:MOVDPTR,#7FFFH ;数据指针指向1#的第一级锁存器
MOVA,#data1;取第一个待转换数据data1 MOVX@DPTR,A ;送入第一级缓冲器
MOVDPTR,#0DFFFH ;数据指针指向0#的第一级锁存器
MOVA,#data0 ;取第二个待转换数据data0 MOVX@DPTR,A ;送入第一级缓冲器
MOVDPTR,#0BFFFH ;数据指针指向1#0#的第二级缓冲地址
MOVX@DPTR,A;1#和0#数据同时进入第二级锁存,开始转换
RET END 系统工作过程
5.3A/D转换器及接口技术
A/D转换器(AnalogToDigitConverter)将模拟量转换为数字量的器件,常用ADC表示。5.3.1A/D转换器的性能指标
(1)分辨率:输出数字量变化一个相邻数码所需输入模拟电压的变化量。用LSB或满刻度电压与2n之比值表示。例如:12位分辨率的ADC能分辨出满刻度的1/212或满刻度的0.0245%。一个10V满刻度的12位ADC能够分辨输入电压变化的最小值为2.4mV。而位的A/D转换器(满字为1999),其分辨率为满刻度的1/1999×100%=0.05%。(2)转换速率与转换时间:A/D转换器每秒钟转换的次数称为转换速率;完成一次A/D转换所需的时间(包括稳定时间)称为转换时间。转换时间是转换速率的倒数。(3)量化误差:有限分辨率A/D的阶梯状转移特性曲线与理想无限分辨率A/D的转移特性曲线之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB,1/2LSB。(4)线性度:实际A/D转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差和满刻度误差。(5)量程:A/D能够转换的电压范围,如0~5V,-10~+10V等。(6)其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。5.3.2A/D转换器的分类
5.3.3A/D转换器的接口电路
1.逐次逼近式A/D转换器(SAR)组成:结果寄存器、比较器、D/A和控制逻辑。原理:采用对分搜索逐位比较的方法逐步逼近,利用数字量试探地进行D/A转换,比较判断。
D/A输出最高位起依次逐位置1,与待转换的模拟量比较,小于该位置1,大于该位清0;逐位比较,最后得到的数字量即A/D转换的结果。特点:转换速度较快(几
S~几百
S),高频输入模拟量需加采样保持电路;小信号输入模拟量需加信号处理电路。(1)ADC0809的特点
NS公司生产,逐次逼近型A/D转换器。①8位A/D,误差1LSB;②转换时间为100µs(当外部时钟输入频率fc=640kHz)③带有锁存控制逻辑的8通道多路输入转换开关;④带锁存器的三态数据输出,⑤单一电源+5V,采用单一电源+5V供电时量程为0~5V;⑥无需零位或满量程调整,使用5V或采用经调整模拟间距的电压基准工作;⑦CMOS工艺,DIP28封装;⑧转换结果读取方式有延时、查询EOC=1、EOC申请中断;⑨与MCS-51连接方便。(2)ADC0809引脚功能
IN0—IN7:8通道模拟量输入端
2-8—2-1:8位数字量输出端C、B、A:地址锁存器的地址线ALE:地址锁存允许START:清0内寄存器,启动转换OE:允许读A/D结果,CLK:时钟输入,10kHz~1280kHz,典型值640kHzEOC:转换结束Vcc:+5VVref+:参考电压,+5VVref-:0V
8路模拟量输入IN7~IN0选择地址与选通的通道间的关系如下表所示。某一时刻,只有一路被选通进行转换。CBA被选通的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7(3)接口电路与编程
ADC0809典型应用如下图所示。MCS-51的P0口——数据总线,写读与P2.7或非——START/ALE、OE,,地址线低位——C、B、A,中断或查询方式读取A/D转换结果。硬件电路
[例题]
假设ADC0809与MCS-51的硬件连接如上页图所示,要求采用中断方法,顺序进行8路A/D转换,将IN0~IN7转换结果分别存入片内RAM的30H~37H地址单元中。解:程序如下:
ORG0000H LJMPMAIN ;转主程序
ORG0003H ;中断服务入口地址
LJMPINT0F ;中断服务。
ORG0100H MAIN:MOVSP,#60HMOVR0,#30H ;内部数据指针指向30H单元
MOVDPTR,#7FF8H ;指向P2.7口,且选通IN0
(低3位地址为000)
SETBIT0 ;设置下降沿触发
SETBEX0 ;允许中断
SETBEA ;开总中断允许
MOVX@DPTR,A ;启动A/D转换
SJMP$ ;等待转换结束中断中断服务程序如下:
INT0F:MOVXA,@DPTR ;取A/D转换结果
MOV@R0,A ;存结果
INCR0 ;内部指针下移
INCDPTR ;外部指针下移,指向下一路
CJNER0,#38H,NEXT ;未转换完8路,继续转换
CLREX0 ;关中断允许
RETI ;中断返回
NEXT:MOVX@DPTR,A ;启动下一路A/D转换
RETI ;中断返回,继续等待下一次
END 系统工作过程
2.双积分型A/D转换器
特点:转换速度较慢(几十mS~几百mS);转换精度高、性价比高、抗干扰能力强。在速度要求不很高的实际工程中广泛使用。常用型号:
MC14433,ICL7106,ICL7135,AD7555等。(1)MC14433特点
①位双积分型A/D转换器;②外部基准电压输入:200mV或2V;③自动调零;④量程有199.9mV或1.999V两种;⑤转换速度为1~10次/秒,速度较慢。
DIP24封装。VDD:模拟正电源端,典型值+5V;VEE:模拟负电源端,典型值-5V;VSS、
VAGND
:数字地,模拟地;VX:被测电压输入端;Vref:电压基准输入端(2V或200mV);R1:外接积分电阻输入;C1:外接积分电容输入;R1/C1:外接电阻R1和外接电容C1的公共端,C1典型值0.1µF,电阻R1为470k
(量程为200mV时)或27k
(量程为2V时);(2)MC14433引脚功能C01,C02:外接失调补偿电容端,典型值为0.1µF;CLK0,CLK1:时钟外接电阻RC接入端,典型值470k
;DU:更新转换控制信号输入;EOC:转换结束输出,当DU有效后,EOC变低,16400个时钟脉冲后产生一个0.5倍时钟周期宽度的正脉冲,表示转换结束。;
:过量程状态输出。当|VX|>VREF时,有效;DS1~DS4:分别表示千、百、十、个位的选通脉冲输出,格式为18个时钟周期宽度的正脉冲。例如,在DS2有效期间,Q0~Q3上输出的BCD码表示转换的百位的数值;Q0~Q3:某位BCD码数字量输出。Q3为高位,Q0为低位。(3)MC14433选通时序EOC输出1/2个CLK周期正脉冲表示转换结束,依次DS1,DS2,DS3,DS4有效。读曲千、百、十、个位数据。
BCD输出DS1有效时千位的含义Q3Q2Q1Q0极性千位量程1110+01010—01111+0欠量程1011—0欠量程0100+10000—10111+1过量程0011—1过量程Q3~Q0上输出的千位数据选通含义(4)接口与编程[例题]
MC14433与MCS-51的连接如下图所示,采用中断方式,结果存储格式如下表所示,欠量程、过量程和极性分别保存在00H~02H位地址单元中。
存储单元31H高4位31H低4位30H高4位30H低4位所存数据千位百位十位个位解:程序如下:
UNDER:EQU00H ;位地址单元存放欠量程(1真0假)
OVER:EQU01H ;位地址单元存放过量程(1真0假)
POLA:EQU02H ;位地址单元存放极性(1负0正)
HIGH:EQU31H ;高位
LOW:EQU30H ;低位
ORG0000H LJMPMAIN ORG0013H ;中断服务入口地址
LJMPINT1F MAIN:MOVLOW,#0 MOVHIGH,#0 ;将存放结果的单元清0 CLRUNDER CLROVER ;将存放欠量程、超量程的位地址单元内容清0 CLRPOLA ;假定结果为正
SETBIT1 ;置外部中断为下降沿触发
SETBEX1 ;开中断允许
SETBEA ;开中断总允许
LJMP$ ;等待中断
INT1F:MOVA,P1 ;进入中断,说明MC14433转换结束,读P1口
JNBACC.4,INT1F ;DS1无效,等待
JBACC.2,NEXT ;Q2=1表示正,已经预处理过,继续
SETBPOLA ;为负,需将02H置位
NEXT:JBACC.3,NEXT1 ;千位为0,已经预处理过,继续
ORLHIGH,#10H ;将千位信息保存在高位单元中
NEXT1:JBACC.0,ERROR ;转欠、超量程处理,有千位已能区分
INI1:MOVA,P1 JNBACC.5,INI1 ;等待百位选通信号
ANLA,#0FH ;屏蔽高4位
ORLHIGH,A INI2:MOVA,P1 JNBACC.6,INI2;等待十位选通信号
ANLA,#0FH ;屏蔽高4位
SWAPA ;交换到高4位
ORLLOW,A INI3:MOVA,P1 JNBACC.7,INI1 ;等待个位选通信号
ANLA,#0FH ;屏蔽高4位
ORLLOW,A RETI ERROR:MOVA,HIGH ;欠、超量程处理
CJNEA,#0,OV ;有千位表示过量程
SETBUNDER ;置欠量程标志
RETI OV:SETBOVER ;置过量程标志
RETI END 3.串行A/D转换器
特点:引脚数少,集成度高,易于数字隔离,易于芯片升级,廉价,速度略微降低。(1)MAX187/189芯片引脚及功能美国MAXIM公司生产,具有SPI总线接口。①12位逐次逼近式(SAR)串行A/D;②转换速度为75kHz,转换时间为8.5µs;③输入模拟电压:0~5V;④单一+5V供电;⑤DIP8封装,外接元件简单,使用方便。
MAX187与MAX189的区别在于:MAX187具有内部基准,MAX189则需外接电压基准。
MAX187/189芯片引脚如下图所示。VDD:工作电源:+5V±5%;GND:模拟和数字地;VREF:参考电压输入;
:片选;AIN:模拟电压输入,范围为0~VREF或0~4.096V;
(shutdown):关闭控制信号输入,提供三级关闭方式:待命低功耗状态(电流仅10µA),允许使用内部基准;禁止使用内部基准;DOUT:串行数据输出,在串行脉冲SCLK的下降沿数据变化;SCLK:串行时钟输入,最大允许频率为5MHz。(2)使用MAX187/189进行A/D转换的步骤①启动A/D转换,等待转换结束
=0→启动A/D转换→
DOUT=0→转换结束→DOUT=1。在转换期间,SCLK不允许输入脉冲。②串行转换结果读出从SCLK引脚输入读出脉冲,SCLK每输入一个脉冲,DOUT引脚上输出一位数据,数据输出的顺序为先高位后低位,在SCLK信号的下降沿,数据改变,在SCLK的上升沿,数据稳定。在SCLK信号为高电平期间从DOUT引脚上读数据。
(2)接口与编程
MAX187与MCS-51的连接电路如下图所示。P1.7——片选,P1.6——输入串行移位脉冲,P1.5——接收串行数据端。MAX187外接4.7µF退耦电容激活内部电压基准,接+5V允许使用内部基准。注意:MAX187/189的片选在转换和读出数据期间必须始终保持低电平。硬件电路
工作流程:P1.7=0→启动A/D→读P1.5→P1.5=1,转换结束→从P1.6引脚发SCLK,从P1.5引脚逐位读取数据。
注意:由于MCS-51单片机外接晶振最大不超过12MHz,即便是执行一条单周期指令也需1µs,所以发送SCLK时无需延时。
[例题]
MCS-51
外扩MAX187,编程实现将MAX187转换结果存入31H、30H单元,右对齐,31H存高位(高4位补0)。解:程序如下:
HIGHEQU31H LOWEQU30HORG0000HLJMPSTART ORG0030H START:MOVSP,#60HMOVHIGH,#00MOVLOW,#00CLRP1.6
CLRP1.7 ;启动A/D转换
JNBP1.5,$ ;等待转换结束
SETBP1.6 ;SCLK上升沿
MOVR7,#12 ;置循环初值12LP:CPLP1.6 ;发SCLK脉冲
JNBP1.6,LP ;等待SCLK变高
MOVC,P1.5 ;将数据取到C MOVA,LOW RLCA MOVLOW,A MOVA,HIGH RLCA MOVHIGH,A ;将取到的数据位逐位移入结果保存单元
DJNZR7,LP SETBP1.7 ;结束
SJMP$ END 系统工作过程
功能:现场数据采集,单片机分析处理或显示打印,为现场操作者提供操作指导等。
1.数据采集系统的一般结构需要解决的主要问题:模拟量输入通道的设计。模拟量通道结构:(1)每路模拟量均有各自独立的A/D转换器、采样保持器。特点:电路结构简单、程序设计方便,A/D转换是并行的,转换速度较快,成本昂贵,仅在高速数据采集系统中采用。(2)多路模拟量共用一个采样保持器、A/D转换器。特点:速度慢,经济实用,在指标要求许可的情况下采用。5.3.4数据采集系统
2.数据采集系统应用举例采样保持器不考虑(多数A/D转换器内含);多路模拟转换器采用常用的8路模拟转换开关CD4051。C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 夏季机械维修安全操作
- 煤矿井下安全防护
- 跨境算力中心与垃圾飞灰熔融协同中跨国飞灰熔融能耗算力-基于国际飞灰资源化协会算力中心飞灰熔融过程调控调度指南规范分析
- 2026 年夏季四防雷电灾害风险防范安全课件
- 成都市节能与化工技术服务中心2026年部门预算
- 建设工程废物清运合同
- 显微根管治疗四手操作
- 健康成长安全同行-宣传教育主题班会
- 精神病患者家庭护理教育
- 石油销售公司工作总结
- JTG C10-2007 公路勘测规范
- (高清版)DZT 0216-2020 煤层气储量估算规范
- ISO22301-2019业务连续性内审及管理评审全套资料
- 《中外管理思想史》课件
- 干部职工调动登记表
- 劳务施工施工方案
- 公路工程试验检测大纲
- C反应蛋白临床意义课件
- 牛羊布病流行病学调查表
- 外科学教学课件:乳房疾病
- JJG 596-2012电子式交流电能表
评论
0/150
提交评论