1、第5章 MCS-51单片机的输入/输出通道接口 主要内容:输入/输出通道的组成与配置,A/D、D/A转换器及其接口技术。通过本章的学习,使读者了解输入/输出通道设计的基本原理和方法,掌握常用A/D、D/A芯片及其与MCS-51单片机的接口电路与程序设计。重点和难点在于不同方式的A/D、D/A芯片与MCS-51的接口及其程序设计。贵阳论坛gywoo 输入通道(前向通道):输入通道(前向通道):被测对象与单片机联系的信号通道。包括传感器或敏感元件、通道结构、信号调节、A/D转换、电源的配置、抗干扰等。输出通道(后向通道):输出通道(后向通道):单片机与被控对象联系的信号通道。包括功率驱动、干扰的抑
2、制、D/A转换等。5.1.1 5.1.1 传感器传感器 传感器:传感器:传感器是测量系统中的一种前端部件,它将各种输入变量转换成可供测量的信号。传感器的分类:传感器的分类:(1)按传感器的用途可以将传感器分为:压敏和力敏传感器、位置传感器、液面传感器、能耗传感器、速度传感器、热敏传感器、加速度传感器、射线辐射传感器、振动传感器、湿敏传感器、磁敏传感器、气敏传感器、真空度传感器和生物传感器等。(2)按传感器输出信号标准可将传感器分为:模拟传感器、数字传感器、开关传感器等。直接采用数字传感器是计算机专业学生的最佳选择!5.1 5.1 输入输入/输出通道概述输出通道概述 传感器的发展方向:传感器的发
3、展方向:传感器已经成为现代信息技术系统三大支柱之一,在工业、农业、航空航天、军事国防等领域得到了日益广泛的应用。其发展方向主要有以下几个方面:(1)利用新的物理现象、化学反应、生物效应设计传感器。(2)引入数据融合技术。(3)使用新型材料,向微功耗、集成化及无源化发展。(4)采用新的加工技术。(5)向微型化发展。(6)向高可靠性、宽温度范围发展等。(7)器件自身是数字化的,不需要再经过数/模、模/数变换。常用传感器的简介:常用传感器的简介:1、温度传感器DS18B20特性介绍特性介绍 DS18B20是DALLAS公司的最新单线数字温度传感器。是世界上第一片支持“一线总线”接口的温度传感器,仅需
4、要一个端 口引脚就可以与单片机进行通信。无须别的外围器件。多个18B20可以并联在唯一的三线上,实现多点组网功能。测量温度范围为-55+125,在-10+85范围内,精度为0.5。可通过数据线供电,电压范围为3.05.5伏。可以程序设定912位的分辨率,精度为0.5。用户设定的报警温度存储在E2PROM中,掉电后依然保存。负电压特性,电源极性接反时,温度计不会烧毁,但不能正常工作。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色,继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念,18B20使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统
5、。DS18B20外形和封装如图:18B20演示 程序设计由A0315班余锡钱同学完成。2、红外线传感器 家中许多的电器产品都有遥控的功能,例如电视机、录像机、VCD、空调等家电产品,它们都是以红外遥控的方式进行遥控。(一)、(一)、红外遥控系统红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。例如:我们用电视机的遥控器作为单片机的键盘使用,通过红外线遥例如:我们用电视机的遥控器作为单片机的键盘使用,通过红外线遥控装置来代替在单片机实验板上
6、的键盘(复位键除外),这样设计控装置来代替在单片机实验板上的键盘(复位键除外),这样设计的键盘又多又好。的键盘又多又好。万能红外线接收模块万能红外线接收模块;例题例题红外遥控实验程序如下红外遥控实验程序如下:;yaokong.asm yaokong.asm 遥控器测试程序遥控器测试程序;按任意键试验板数码管指示灯闪烁。任意遥控器均可!按任意键试验板数码管指示灯闪烁。任意遥控器均可!;万能红外接收头万能红外接收头0038 1-GND 2-VCC 3-(P3.7)0038 1-GND 2-VCC 3-(P3.7)ORG 0000H ORG 0000H START:MOV P0,#0FFH;STAR
7、T:MOV P0,#0FFH;开机初始化开机初始化MOV P1,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV P3,#0FFHJB P3.7,$;JB P3.7,$;等待遥控信号出现等待遥控信号出现MOV P1,#0F0HMOV P1,#0F0HMOV p2,#0F0HMOV p2,#0F0HMOV P0,#0F0HMOV P0,#0F0HJNB P3.7,$;JNB P3.7,$;如果是低电平就原地等待,高电平就退出如果是低电平就原地等待,高电平就退出AJMP STARTAJMP STARTENDEND5.1.2 5.1.2
8、 单片机应用系统的输入单片机应用系统的输入/输出通道输出通道 过程过程I/O通道:通道:单片机系统和被控对象之间信息的交互通道(输入通道、输出通道)称为过程I/O通道,过程I/O通道的一般结构如下图所示。特点:特点:(1)要靠近拾取对象采集信息;(2)传感器、变送器的性能和工作环境因素严重影响通道的方案设计;(3)一般是模拟、数字等混杂电路;(4)常需要放大电路;(5)抗干扰设计非常重要。输入通道的结构类型:输入通道的结构类型:输入通道结构形式取决于被测对象的环境、输出信号的类型、数量、大小等。其结构如下页图所示。1 1输入通道输入通道2 2输出通道输出通道 特点特点:(1)小信号输出,大功率
9、控制;(2)输出伺服驱动控制信号;(3)电磁和机械干扰较为严重。通道结构:通道结构:在输出通道中,单片机完成控制处理后的输出,总是以数字信号或模拟信号的形式,通过I/O口或者数据总线传送给被控对象。输出通道的结构如下页图所示。3 3信号处理电路信号处理电路 输入通道中,信号处理的任务是可由硬件实现能够完成小信号放大,信号变换,滤波、零点校正、线性化处理、温度补偿、误差修正和量程切换等任务。可由硬件实现,有些也可由软件实现。(1)开关量输入 被控对象的一些开关状态可以经开关量输入通道输入到单片机系统,这些开关信号根据实际情况需要经过电平匹配、电气隔离或互感器后才能够通过单片机接口,接入到单片机系
10、统。(2)小信号放大技术 输入通道中,对小信号需要经过测量放大器、可编程增益放大器及带有放大器的小信号双线发送器等电路进行放大调节。(3)隔离放大技术 在某些要求输入和输出电路彼此隔离的情况下,必须使用隔离放大器。常用隔离放大器有变压器耦合隔离放大器和光耦合隔离放大器两种。5.2 D/A5.2 D/A转换器及接口技术转换器及接口技术 D/A D/A转换器(转换器(Digit to Analog ConverterDigit to Analog Converter):):将数字量转换成模拟量的器件称为D/A转换器,通常用DAC表示。D/AD/A转换接口器设计中主要考虑的问题:转换接口器设计中主要
11、考虑的问题:D/A转换芯片的选择、数字量的码输入、精度、输出模拟量的类型与范围、转换时间、与CPU的接口方式等。5.2.1 D/A5.2.1 D/A转换器的性能指标转换器的性能指标(1)分辨率:指D/A转换器能分辨的最小输出模拟增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。可用最低位(LSB)表示。如,n位D/A转换器的分辨率为1/2n。(2)精度:精度是指D/A转换器的实际输出与理论值之间的误差,它是以满量程VFS的百分数或最低有效位(LSB)的分数形式表示。(3)线性误差:D/A的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线
12、)之间是有偏差的,这个偏差就是D/A的线性误差。即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。常以LSB的分数形式表示。(4)转换时间TS(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。(5)偏移量误差:偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。5.2.2 D/A5.2.2 D/A转换器的分类转换器的分类 按输出形式分类:按输出形式分类:电压输出型和电流输出型。按是否含有锁存器分类:按是否含有锁存器分类:内部无锁存器和内部有锁存器。按能否作乘法运算分类:按能否作乘法运算分类:乘算型和非乘算
13、型。按输入数字量方式分类:按输入数字量方式分类:并行总线D/A转换器和串行总线D/A转换器。按转换时间分类:按转换时间分类:超高速D/A(TS100ns)、高速D/A(TS为100ns 10s)、中速D/A(TS为10s100s)、低速D/A(TS100s)等。5.2.3 D/A5.2.3 D/A转换器的接口转换器的接口 1TLC5615的特点与引脚的特点与引脚 表2-5 工作寄存器组选择控制表 TLC5615为DIP8封装,引脚如下图所示。引脚功能如下:DIN:串行信号输入端 SCLK:串行数据输入端 :片选信号 DOUT:串行数据输出端,用于级联 AGND:模拟地 REFIN:基准电压输入
14、 OUT:DAC模拟电压输出端 Vdd:电源输入(4.55.5V)CS2 2编程时序图编程时序图 例题例题 利用上图所示电路,使用利用上图所示电路,使用TLC5615编程转换放在编程转换放在R1、R2中的数据。中的数据。(此处讲此处讲述看时序图的方法,同学们注意了述看时序图的方法,同学们注意了)SETB P1.3;P1.3是是CS片选信号片选信号,先置高先置高,使之无效使之无效NOPNOPCLR P1.1;P1.1是是DIN信号信号,串行数据输入端串行数据输入端,先置低先置低CLR P1.2;P1.2是是SCLK信号信号,串行时钟输入端串行时钟输入端,先置低先置低(初始化结束初始化结束)CLR
15、 P1.3;P1.3P1.3变低变低,片选有效片选有效,选中芯片选中芯片NOP;适当的延时可以使芯片工作更为可靠适当的延时可以使芯片工作更为可靠!NOPMOV A,R1;从从R1中取出低中取出低8位到位到A寄存器寄存器MOV R3,#08H;循环初值循环初值 8次次AA:RLC,A;最低位送入最低位送入C寄存器寄存器MOV P1.1,C;位数据送上位数据送上DINNOPSETB P1.2;发出一个发出一个sclk时钟脉冲时钟脉冲NOPNOPCLR P1.2;脉冲变低脉冲变低,此时该位数据就被放到此时该位数据就被放到锁存器锁存器中了中了DJNZ R3,AA;8个位都送完了吗个位都送完了吗?没有则
16、转没有则转AA去去NOV R3,#08H;R3R3重新置初值重新置初值8,8,以便对高以便对高8 8位进行读入位进行读入MOV A,R2;将将R2R2的数据读入的数据读入ABB:RLC A;最低位送入最低位送入C CMOV P1.1,C;位数据送位数据送DINDINNOPNOPSETB P1.2;脉冲高脉冲高NOPNOP;脉冲高脉冲高CLR P1.2;脉冲低脉冲低,(数据就上芯片了数据就上芯片了!)DJNZ R3,BB;8个位都送完了吗个位都送完了吗?没有则转没有则转BB去去SETB P1.3;1616个位都送完后个位都送完后,片选片选CSCS变高变高,芯片不被选中啦芯片不被选中啦CLR P1
17、.2;恢复原有状态啦恢复原有状态啦(因因56155615是是1010位位D/A,D/A,所以所以R1,R2R1,R2的数据格式是的数据格式是CLR P1.1;最高最高6 6位和最低位和最低2 2位是无效的虚位位是无效的虚位,送入之前必须用程序调整它。送入之前必须用程序调整它。5.3 A/D5.3 A/D转换器及接口技术转换器及接口技术 A/D转换器(转换器(Analog To Digit Converter):):将模拟量转换为与之成比例的数字量的器件称为A/D转换器,常用ADC表示。5.3.1 A/D5.3.1 A/D转换器的性能指标转换器的性能指标 (1)分辨率:分辨率是指输出数字量变化一
18、个相邻数码所需输入模拟电压的变化量。A/D转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。例如:例如:具有12位分辨率的ADC能分辨出满刻度的(1/2)12或满刻度的0.0245%。一个10V满刻度的12位ADC能够分辨输入电压变化的最小值为2.4mV。而 位的A/D转换器(满字为2019),其分辨率为满刻度的1/2019100%=0.05%。213(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换的次数。转换时间是指完成一次A/D转换所需的时间(包括稳定时间)。转换时间是转换速率的倒数。(3)量化误差:有限分辨率A/D的阶梯状转移特性曲线与理想无限分辨率A/D的转
19、移特性曲线(直线)之间的最大偏差称为量化误差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB,1/2LSB。(4)线性度:实际A/D转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差(输入信号为零时,输出信号不为零的值)和满刻度误差(满度输出时,对应的输入信号与理想输入信号值之差)三种误差。(5)量程:量程是指A/D能够转换的电压范围,如05V,-10+10V等。(6)其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。5.3.2 A/D5.3.2 A/D转换器的分类转换器的分类 串行串行A/D转换器转换器MAX187/189
20、MAX187/189 特点:特点:引脚数少(常见的8引脚或更少),集成度高(基本上无需外接其他器件),价格低,易于数字隔离,易于芯片升级,廉价,速度略微降低。(1)MAX187/189芯片引脚及功能 MAX187/189是MAXIM公司生产的具有SPI(Serial Peripheral Interface)总线接口的12位逐次逼近式(SAR)A/D转换芯片。特点如下:12位逐次逼近式(SAR)串行A/D转换芯片;转换速度为75 kHz,转换时间为8.5s;输入模拟电压:05V;单一+5 V供电;DIP8引脚封装,外接元件简单,使用方便。MAX187与MAX189的区别在于:MAX187具有内
21、部基准,无需外部提供基准电压,MAX189则需外接电压基准。5.3.3 A/D5.3.3 A/D转换器的接口转换器的接口 MAX187/189芯片引脚如下图所示。引脚的功能如下:V VDDDD:工作电源:+5V5%;GNDGND:模拟和数字地;V VREFREF:参考电压输入;:片选输入;AINAIN:模拟电压输入,范围为0VREF或04.096 V(MAX187);(shut downshut down):关闭控制信号输入,提供三级关闭方式:待命低功耗状态(电流仅10 A),允许使用内部基准;禁止使用内部基准;D DOUTOUT:串行数据输出,在串行脉冲SCLK的下降沿数据变化;SCLK:串
22、行时钟输入,最大允许频率为5 MHz。CSSHDN 使用MAX187/189进行A/D转换时分的步骤:启动A/D转换,等待转换结束 当 输入低电平时,启动A/D转换,此时DOUT引脚输出低电平,充当传递“转换结束”信号的作用。当DOUT输出变高电平时,说明转换结束(在转换期间,SCLK不允许送入脉冲)。串行读出转换结果 从SCLK引脚输入读出脉冲,SCLK每输入一个脉冲,DOUT引脚上输出一位数据,数据输出的顺序为先高位后低位,在SCLK信号的下降沿,数据改变,在SCLK的上升沿,数据稳定。在SCLK信号为高电平期间从DOUT引脚上读数据。CS(2)接口与编程 MAX187与MCS-51的连接
23、电路如下图所示。其中,P1.7为控制片选,P1.6为输入串行移位脉冲,P1.5为接收串行数据端。MAX187外接4.7 F退耦电容激活内部电压基准,接+5 V允许使用内部基准。注意:注意:MAX187/189的片选在转换和读出数据期间必须始终保持低电平。工作流程:工作流程:清P1.7,启动MAX187开始A/D转换;读P1.5,等待转换结束;当P1.5变高,转换结束;从P1.6引脚发串行脉冲,从P1.5引脚逐位读取数据。注意:注意:由于由于MCS-51单片机外接晶振最大不超过12 MHz,即便是执行一条单周期指令也需1 s,所以发送SCLK时无需延时。例题例题 如图上页图所示的MAX187与M
24、CS-51连接的电路图,将MAX187转换结果存入31H、30H单元,右对齐,31H存高位(高4位补0)。解解:程序如下:程序如下:HIGH EQU 31H LOW EQU 30H ORG 1000HSTART:MOV HIGH,#00 MOV LOW,#00;将转换结果单元清除 CLR P1.6 CLR P1.7;启动A/D转换 JNB P1.5,$;等待转换结束 SETB P1.6;SCLK上升沿 MOV R7,#12;置循环初值12 LP:CPL P1.6;发SCLK脉冲 JNB P1.6,LP;等待SCLK变高 MOV C,P1.5;将数据取到C MOV A,LOW RLC A MOV
25、 LOW,A MOV A,HIGH RLC A MOV HIGH,A;将取到的数据位逐位移入结果保存单元 DJNZ R7,LP SETB P1.7;结束 RET END 功能:功能:主要实现从现场采集数据,由单片机分析处理或显示打印,为现场操作者提供操作指导等功能。1 1数据采集系统的一般结构数据采集系统的一般结构需要解决的主要问题:需要解决的主要问题:模拟量输入通道的设计。模拟量通道结构:模拟量通道结构:(1)每路模拟量均有各自独立的A/D转换器、采样保持器。其特点是电路结构简单、程序设计方便,A/D转换是并行的,转换速度较快,成本昂贵,仅在高速数据采集系统中采用。(2)多路模拟量共用一套采样保持器、A/D转换器。其特点是经济实用,在性能指标要求许可的情况下,一般采用该方案。5.3.4 5.3.4 数据采集系统数据采集系统作业与练习:5.2 5.45.11 5.155.18 5.195.20