《第5章MCS-51单片机的输入输出通道接口.ppt》由会员分享,可在线阅读,更多相关《第5章MCS-51单片机的输入输出通道接口.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5章章 输入输出通道接口技术输入输出通道接口技术5.1 输入输出通道概述输入输出通道概述5.2 D/A转换器及接口技术转换器及接口技术5.3 A/D转换器及接口技术转换器及接口技术1第第5章章 输入输入/输出通道接口输出通道接口第第5章章 输入输出通道接口技术输入输出通道接口技术主要内容:主要内容:输入输入/输出通道的组成与配置,输出通道的组成与配置,A/D、D/A转换器转换器及其接口技术。通过本章的学习,了解模拟输入及其接口技术。通过本章的学习,了解模拟输入/输出输出通道设计的基本原理和方法,掌握常用通道设计的基本原理和方法,掌握常用A/D、D/A芯片芯片及其与及其与MCS-51单片机的
2、接口电路与程序设计。单片机的接口电路与程序设计。重点和难点重点和难点:不同方式的不同方式的A/D、D/A芯片与芯片与MCS-51的接口及其的接口及其程序设计。程序设计。2第第5章章 输入输入/输出通道接口输出通道接口5.2 D/A转换器及接口技术转换器及接口技术数/模转换就是将数字量转换成与它成正比的模拟量。例如:对于05V的直流电压,计算机用8位数字量描述述 最小值(最小值(00000000)B=0对应对应0V,最大值(最大值(11111111)B=255 对应对应 5V,中间值(中间值(01111111)B=127 对应对应2.5V 等等。等等。D/A的任务是接收到一个数字量后,给出一个相
3、应的电压。的任务是接收到一个数字量后,给出一个相应的电压。比如收到(比如收到(00111111)B,应给出幅度为应给出幅度为1.25V 的电压。的电压。3第第5章章 输入输入/输出通道接口输出通道接口5.2.1 D/A转换器性能指标转换器性能指标(1)分辨率:指D/A转换器能分辨的最小输出模拟增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。(2)精度:指D/A转换器的实际输出与理论值之间的误差,它以满量程的百分数或最低有效位的分数形式表示。(3)转换时间:从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间。(4)线性误差:D/A的实际转换特性
4、(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性之间的偏差就是D/A的线性误差。4第第5章章 输入输入/输出通道接口输出通道接口5.2.3 并行输入并行输入D/A芯片及接口技术芯片及接口技术并行输入D/A转换芯片DAC0832DAC0832是NS公司生产的DAC0830系列产品中的一种8位CMOS数模转换芯片,其特点如下:8位并行D/A转换;片内二级数据锁存,提供数据输入双缓冲、单缓冲、直通三种工作方式;电流输出型芯片(需外接运放),电流稳定时间为1s,只需在满量程下调整其线性度;单电源(+5V+15V,典型值+5V)供电;具有双缓冲控制输出;参考电压为-10+10V5第第5章章
5、 输入输入/输出通道接口输出通道接口DAC0832结构结构6第第5章章 输入输入/输出通道接口输出通道接口DAC0832的输出电路的输出电路DAC0832的输出量是电流,而实际应用中常常需要的是模拟电压。在这种情况下,芯片的输出还需要有将电流转换为电压的电路。Vout(D/2n)VREF7第第5章章 输入输入/输出通道接口输出通道接口DAC0832与与89C51接口接口DAC0832可以有三种工作形式:直通、单缓冲、双缓冲。可以有三种工作形式:直通、单缓冲、双缓冲。8第第5章章 输入输入/输出通道接口输出通道接口1)单缓冲工作方式应用单缓冲工作方式应用w将二级寄存器的控制信号并接,输入数据在控
6、制信号作用下(一次控制,一次缓冲),直接打入8位DAC寄存器中并进入8位D/A转换器进行D/A转换。9第第5章章 输入输入/输出通道接口输出通道接口 产生锯齿波的程序产生锯齿波的程序MOVDPTR,#7FFFHMOVA,#00HLOOP:MOVXDPTR,AINC ANOPNOPAJMPLOOP;1/282/283/28254/28255/28010第第5章章 输入输入/输出通道接口输出通道接口 产生方波的程序产生方波的程序MOV DPTR,#7FFFHLOOP:MOVA,#0FFHMOVXDPTR,AACALLDELAYMOV A,#00HMOVXDPTR,AACALLDELAYAJMPLO
7、OP11第第5章章 输入输入/输出通道接口输出通道接口2)双缓冲工作方式应用双缓冲工作方式应用 在多路D/A转换的情况下,若要求同步转换输出,必须采用双缓冲方式。DAC0832采用双缓冲方式时,数字量的输入锁存和D/A转换输出是分两步进行的。第一,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入寄存器中。第二,CPU对所有的D/A转换器发出控制信号,使各路输入寄存器中的数据进入DAC寄存器,实现同步转换输出。12第第5章章 输入输入/输出通道接口输出通道接口2)双缓冲工作方式应用)双缓冲工作方式应用13第第5章章 输入输入/输出通道接口输出通道接口2)双缓冲工作方式应用)双缓冲
8、工作方式应用MOVDPTR,#0DFFFHMOVA,#data1MOVXDPTR,AMOVDPTR,#7FFFHMOVA,#data2MOVXDPTR,AMOVDPTR,#0BFFFHMOVXDPTR,A14第第5章章 输入输入/输出通道接口输出通道接口5.3 A/D转换器及接口技术转换器及接口技术 计算机只能储存和处理二进制形式的数字量,凡遇到有模拟量的地方,就要进行模拟量向数字量转换,这就是模/数转换问题。将模拟量转换成数字量的过程称为A/D转换,与之有关的接口技术称为前向通道接口技术。因为在单片机应用系统中,常需要将检测到的连续变化的模拟量如温度、压力、流量、速度等转换成数字信号,才能输
9、入到单片机中进行处理,然后再将处理结果的数字量转换成模拟量输出,实现对被控对象的控制。15第第5章章 输入输入/输出通道接口输出通道接口5.3.1 A/D5.3.1 A/D转换器的性能指标转换器的性能指标(1 1)分辨率:)分辨率:分辨率是指输出数字量变化一个相邻数码所需输入模拟电压的变化量。A/D转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。(2 2)转转换换速速率率与与转转换换时时间间:转换速率是指A/D转换器每秒钟转换的次数。转换时间是指完成一次A/D转换所需的时间。转换时间是转换速率的倒数。(3 3)量量化化误误差差:A/D的阶梯状转移特性曲线与理想转移特性曲线之间
10、的最大偏差称为量化误差。(4 4)线线性性度度:实际A/D转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差和满刻度误差三种误差。(5 5)量量程程:量程是指A/D能够转换的电压范围,如05V,-10+10V等。16第第5章章 输入输入/输出通道接口输出通道接口逐次逼近式A/D转换器ADC0809ADC0809是美国国家半导体公司生产的CMOS工艺8通道、8位逐次逼近式A/D转换器。17第第5章章 输入输入/输出通道接口输出通道接口ADC0809 A/D转换器芯片转换器芯片18第第5章章 输入输入/输出通道接口输出通道接口ADC0809与与MCS-51单片机接口单片机接口ADC08
11、09与MCS-51连接可采用查询方式,也可采用中断方式。由于ADC0809片内有三态输出锁存器,因此可直接与MCS-51接口。把ALE信号与START信号接在一起,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。19第第5章章 输入输入/输出通道接口输出通道接口ADC0809与与MCS-51单片机接口单片机接口20第第5章章 输入输入/输出通道接口输出通道接口8路巡回检测系统路巡回检测系统【例】某粮库或某冷冻厂需对8点(8个冷冻室或8个粮仓)进行温度巡回检测。要求设计一个单片机巡回检测系统,使其能对各冷冻室或各粮仓的温度巡回检测并加以处理。设被测温度范围为-30+50,
12、温度检测精度要求误差不大于1。将读数依次存放在片外数据存储器30H37H单元。其采集程序和中断服务程序如下:21第第5章章 输入输入/输出通道接口输出通道接口8路巡回检测系统路巡回检测系统ORG0000HLJMPMAINORG0003HLJMPINT0FORG0100HMAIN:MOVR0,#30H;数据暂存区首址SETBIT0;脉冲触发方式SETBEA;开中断SETBEX0MOVDPTR,#7FF8H;指向0809首地址MOVXDPTR,A;启动A/D转换HERE:SJMPHERE;等待中断22第第5章章 输入输入/输出通道接口输出通道接口8路巡回检测系统路巡回检测系统中断服务程序:INT0
13、F:MOVXA,DPTR;读数MOVXR0,A;存数INC DPTR;更新通道INC R0;更新暂存单元CJNER0,#38H,NEXTMOVR0,#30H;数据暂存区首址MOVDPTR,#7FF8H;指向0809首地址RETINEXT:MOVXDPTR,ARETIEND23第第5章章 输入输入/输出通道接口输出通道接口串行输出A/D转换器 串行输出的A/D芯片由于节省单片机的I/O口线,越来越多地被采用。如具有SPI三线接口的TLC1549、TLC1543、TLC2543、MAX187等,具有I2C接口PCF8591(4路8位A/D,还含1路8位D/A)等。24第第5章章 输入输入/输出通道
14、接口输出通道接口串行串行A/D MAX187/189MAX187/189是MAXIM公司生产的具有SPI(SerialPeripheralInterface)总线接口的12位逐次逼近式(SAR)A/D转换芯片。特点如下:12位逐次逼近式(SAR)串行A/D转换芯片;转换速度为75kHz,转换时间为8.5s;输入模拟电压:05V;单一+5V供电;DIP8引脚封装,外接元件简单,使用方便。MAX187与MAX189的区别在于:MAX187具有内部基准,无需外部提供基准电压,MAX189则需外接电压基准。25第第5章章 输入输入/输出通道接口输出通道接口串行串行A/D MAX187/18926第第5
15、章章 输入输入/输出通道接口输出通道接口MAX187/189与单片机接口 当CS输入低电平时,启动A/D转换,此时DOUT引脚输出低电平,当DOUT输出变高电平时,说明转换结束(在转换期间,SCLK不允许送入脉冲)。从SCLK引脚输入读出脉冲,SCLK每输入一个脉冲,DOUT引脚上输出一位数据,数据输出的顺序为先高位后低位,在SCLK信号的下降沿,数据改变,在SCLK的上升沿,数据稳定。SCLK信号为高电平期间从DOUT引脚上读数据。27第第5章章 输入输入/输出通道接口输出通道接口MAX187/189与单片机接口工作流程:工作流程:清P1.7,启动MAX187开始A/D转换;读P1.5,等待
16、转换结束;当P1.5变高,转换结束;从P1.6引脚发串行脉冲,从P1.5引脚逐位读取数据。注意:注意:由于由于MCS-51单片机外接晶振最大不超过12MHz,即便是执行一条单周期指令也需1s,所以发送SCLK时无需延时。28第第5章章 输入输入/输出通道接口输出通道接口MAX187/189与单片机接口 HIGHEQU31HLOWEQU30HORG1000HSTART:MOVHIGH,#00MOVLOW,#00;将转换结果单元清除CLRP1.6CLRP1.7;启动A/D转换JNBP1.5,$;等待转换结束例题例题 如图上页图所示的MAX187与MCS-51连接的电路图,将MAX187转换结果存入31H、30H单元,右对齐,31H存高位(高4位补0)。29第第5章章 输入输入/输出通道接口输出通道接口SETBP1.6;SCLK上升沿MOVR7,#12;置循环初值12LP:CPLP1.6;发SCLK脉冲JNBP1.6,LP;等待SCLK变高MOVC,P1.5;将数据取到CMOVA,LOWRLCAMOVLOW,AMOVA,HIGHRLCAMOVHIGH,A;取到的数据位移入结果保存单元DJNZR7,LPSETBP1.7;结束RETEND30