第8章 输入/输出通道及接口技术.ppt_第1页
第8章 输入/输出通道及接口技术.ppt_第2页
第8章 输入/输出通道及接口技术.ppt_第3页
第8章 输入/输出通道及接口技术.ppt_第4页
第8章 输入/输出通道及接口技术.ppt_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第8章 输入输出通道及接口技术,总体要求: 掌握光电耦合器的使用 掌握常用人机交互设备及接口技术 掌握DAC、ADC和MCS-51的接口及应用 掌握步进电机的原理及接口应用 能够独立完成本章作业 学习重点: 常用人机交互设备及接口技术 DAC0832 、ADC0809接口技术及应用,8.1 输入/输出通道概述 8.2 光电隔离接口 8.3 常用人机交互设备接口 8.4 D/A、A/D转换器,2,3,8.1 输入输出通道概述,8.1.1 输入通道概述 将单片机用作测控系统时,系统都会有一个被测信号的输入通道,单片机通过输入通道拾取必要的输入信号。 输入通道是设置在单片机和被测对象之间的信息传

2、送和转换的连接通道,单片机对被测对象状态的拾取,一般离不开传感器或敏感元件。,4,输入通道的特点: (1) 输入通道的类型取决于从传感器送入信号的类型,由于不同的信号需要不同的转换电路,这也就决定了输入通道的类型。 (2) 输入通道的主要技术指标是信号的转换精度和速度,它们是选择转换器件的依据。 (3) 输入通道往往是模拟电路和数字电路的混合电路,对于传感器输出的微弱信号必须加以放大。 (4) 对于被测现场环境较差的情况,为防止干扰信号进入单片机控制系统,需要在输入通道中加入抗干扰措施。,5,图8-1 输入通道结构图,6,8.1.2 输出通道概述 输出通道是计算机用以连接各种被控装置的信号通道

3、。计算机完成对输入通道所输入的数据处理后,总是以数字信号送往输出通道的。然后根据被控装置控制信号的要求,在输出通道中将送入的信号进行变化,以达到控制被控装置的目的。如图8-2是输入通道的结构图。,7,图8-2 输出通道结构图,8,8.2 光电隔离接口,8.2.1 光电耦合器件简介 单片机控制系统要控制或检测高电压、大电流的信号时,必须采取电气上的隔离,以防止现场强电磁干扰或工频电压干扰通过输出通道反窜到控制系统。信号的隔离,最常用的是光电隔离技术,因为光信号的传送不受电场、磁场的干扰,可以有效地隔离电信号。,9,光电耦合器是一种能有效地隔离噪音和抑制干扰的新型半导体器件。图8-3是常用的三极管

4、型光电耦合器原理图。 光电耦合器是以“电-光-电”转换的过程进行工作的。 光电耦合器之所以在传输信号的同时能有效地抑制尖脉冲和各种噪声干扰,使通道上的信号噪声比大为提高,主要有以下几方面的原因:,10,图8-3 三极管型光电耦合器的原理图,11,(1) 光电耦合器的输入阻抗很小,只有几百欧姆,而干扰源的阻抗较大,通常为105106。 (2) 光电耦合器的输入回路与输出回路之间没有电气联系,也没有共地;之间的分布电容极小,而绝缘电阻又很大,因此回路一边的各种干扰噪声都很难通过光电耦合器馈送到另一边去,避免了共阻抗耦合的干扰信号的产生。 (3) 光电耦合器可起到很好的安全保障作用,即使当外部设备出

5、现故障,甚至输入信号线短接时,也不会损坏仪表。 (4) 光电耦合器的响应速度极快,其响应延迟时间只有10s左右,适于对响应速度要求很高的场合。,12,8.2.2 常用光电耦合器件,光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强。 二极管晶体管耦合的4N25、TLP541G 二极管达林顿管耦合的4N38、TPL570 二极管TTL耦合的6N137,13,8.2.3 光电隔离技术的应用,微机接口电路中的光电隔离,图8-4 单机接口中的光电隔离电路,14,2. 功率驱动电路中的光电隔离,图8-5 双向可控硅隔离驱动电路,15,3. 远距离传送的光电隔离,图8-6 远距离传送的光电隔离

6、,16,4过零检测电路中的光电隔离,图8-7 过零检测的光电隔离电路,17,5注意事项 (1)在光电耦合器的输入部分和输出部分必须分别采用独立的电源,若两端共用一个电源,则光电耦合器的隔 离作用将失去意义。 (2)当用光电耦合起来隔离输入输出通道时,必须对所有 的信号(包括数字量信号、控制量信号、状态信号)全部隔离,使得被隔离设备的两边没有任何电气上的联系,否则这种隔离是没有意义的。,18,8.3 常用人机交互设备接口,8.3.1 键盘接口电路 在单片机应用系统中键盘是最常用的输入设备。通过键盘可以输入数据和命令,实现简单的人机对话。键盘可分为编码键盘和非编码键盘两种。本节主要讨论单片机应用系

7、统中使用较多的非编码键盘的接口方法。,19,1键盘工作原理 非编码键盘的结构形式有两种,即独立式键盘和行列式键盘。 独立式键盘的各个接键相互独立,每一个按键都有一根数据线,各按键的状态互不影响。其结构如图8-8所示。图中每一个按键的数据线通过电阻接+5V。当键盘上没有键闭合时,其数据线X0X7状态呈现高电平。当键盘上有一个键闭合时,该键相对应的数据线状态被拉至低电平。单片机可以通过检测其各数据线的状态,来判断是否有键闭合以及哪一个键闭合。,20,图8-8 独立式按键接口电路,行列式键盘的结构如图8-9所示。图中行线X0X3(P1.4 P1.7)定义为输入口,Y0Y3(P1.0 P1.3)定义为

8、输出口。当键盘上某一个键闭合时,该键所对应的行线与列线短路,行线的状态则由列线状态决定。例如,10键闭合时,行线X1和列线Y2短路,此时X1的电平由Y2所决定。在程序控制下,先使列线Y0(P1.0)为低电平,其余3根列线Y1、Y2、Y3(P1.1 P1.3)为高电平,然后单片机通过输入口读行线的状态,如果X0X3(P1.4 P1.7)都为高电平,则说明此列上无键闭合;如果X0X3(P1.4 P1.7)中有一个不为高电平,则说明此列上有键闭合,闭合键为低电平的行线和Y0相交的键。,21,如果Y0这一列线上没有键闭合,接着使列线Y1为低电平,其余的列线为高电平。用同样的方法检查Y1这一列上有无键闭

9、合。以此类推,最后使Y3为低电平,其余的列为为高电平,检查Y3这一列上是否有闭合键。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。,22,23,24,2. 单片机对键盘的扫描方式 在单片机应用系统中,为了节省硬件,通常采用行列式键盘。如图8-10是一行列式键盘与8031单片机接口电路,键盘有4行8列共32键,用8255作为接口芯片。键盘的行线接到8255的PC0PC3,列线接到8255的PA0PA7。一般来说,获取行列式键盘数据,单片机可以采用以下三种扫描控制方式。,25,图8-10 行列式键盘与8031单片机的接口电路,26,(1) 程序控制扫描方式 这种方式是在CPU完成其他工作后

10、,利用其空闲时间调用键盘扫描子程序,来响应键盘的输入要求。在执行键盘功能程序时,不再响应输入要求。其键盘扫描程序一般应具备如下功能: 判断键盘有无按下 其方法是由PA口输出全“0”,再读入PC口的状态,判断PC0PC3是否为全“1”,若是则无键按下,否则有键按下。 去键抖动影响 当判断到有键按下后,可采用软件延时一段时间(一般1015ms),再判断键盘状态,如果仍为有键按下状态,则认为有一个确定的键被按下,否则按照键抖动处理。,27, 有键按下确定闭合键的键号。 判断闭合的键是否释放 键闭合一次仅作一次键功能处理,其方法是当确认有键闭合,等待直到按键释放,才可进入执行键的功能操作。,28,(2

11、)定时扫描方式 定式扫描就是每隔一定时间,CPU扫描键盘一次,这种方式是利用单片机中的定时器/计数器产生时(例如10ms)中断,CPU响应定时器/计数器溢出中断请求,在中断服务程序中对键盘进行扫描,以响应键盘输入请求 (3) 中断扫描方式 定时扫描方式与程序控制扫描方式相比,优点在于响应键入的速度快。但存在的不足之处是,不管键盘上有无键闭合,CPU总是定时地要对键盘的状态进行扫描。,29,图8-11 具有中断功能的矩阵式键盘接口电路,30,8.3.2 LED显示器接口电路,在单片机应用系统中,显示器是一个不可缺少的人机交互设备之一,是单片机应用系统中最基本的输出装置。 显示器的种类很多,从液晶

12、显示、发光二级管显示到CRT显示器等,都可以与微机配接。其中单片机应用系统中最为常用的显示器是发光二级管数码显示器(简称LED 显示器)。 1. LED显示器结构和工作原理,31,图8-12 LED数码管,32,表8-1字段码和字段,33,表8-2 8段LED显示器字段码,34,2. LED显示器的控制方式 控制点亮LED显示器有静态控制和动态控制两种方法。 静态显示控制下每当显示器某一个字形时,每一位显示器的字段控制线是独立的。在此显示方式下显示一位数字或字符就需要一个8位输出口控制。如图8-13所示有4位(个)LED显示器,则就需要4个8位并行输出口。 静态显示方式下,LED显示器的电路连

13、接方法是:每位LED的字位控制线(即共阴极或共阳极)连在一起,接地或接+5V;其字段线(a-dp)分别接到一个8位I/O口。图8-13所示的一个4位LED静态显示方式.,35,图8-13 四位LED静态显示,36,动态显示控制,就是采用扫描的方法把多个LED显示器逐个点亮,对于某一显示器来说,每隔一段时间点亮一次,利用人眼的视觉暂留效应可以看到动态的整个显示,但要必须保证有足够快的扫描速度,才能使字符不闪烁;显示器的亮度即与各二级管的导通电流有关,也与占亮的持续时间和间隔时间的比值有关。合理地选择二级管的导通电流有关,也与点亮的持续时间和间隔时间的比值有关。合理地选择二级管的导通电流和扫描时间

14、参数,可以得到亮度较高且较稳定的显示效果。若显示器的位数不超过8个,则控制显示器各位公共极电位只需一个8位输出口(称为字位数据口或扫描口),控制显示器各位显示字形的段码输出口也只需要一个8位输出口(称为字段数据口)。图8-14所示8位LED动态显示方式。,37,图8-14 8位动态显示,38,3. 多色LED显示器 一般来说,当使用单个芯片时,LED的灯光就是单色的。当两个或多个不同色彩的芯片装入同一个环氧层时,就可以产生多色LED。封装在同一个环氧层中的红光、绿光及蓝光芯片可以分别控制,这样还可以产生不同的混色及其他纯色。,39,8.3.3 液晶显示器(LCD)接口电路 1. LCD显示器的

15、结构和工作原理,40,2. LCD显示器的驱动原理和驱动方式 (1)LCD显示器驱动原理 LCD一般采用交流驱动,通常采用异或门把显示器控制信号和显示频率信号合并为交变的驱动信号,如图8-16所示。当显示控制电极上的波形与公共电机上的方波相位相反时,则为显示状态。显示控制信号由C端输入,高电平为显示状态。显示频率信号是一个方波。当异或门的C端为低电平时,B端的电位与A端相同,LCD两端的电压为0,不显示;当异或门的C端为高电平时,B端的电位与A端相反,LCD两端呈现交替变化的电压,LCD显示。常用的扭曲向列型LCD的驱动电压范围是36V。由于LCD是容性负载,工作频率高功耗越大。而且显示频率升

16、高,对比度会变差,当频率升高到临界高频以上时,LCD就不能显示了,所以LCD宜用于低频工作,41,图8-16 LCD的基本驱动电路及波形,42,(2)LCD的驱动方式 LCD的驱动方式有静态和动态两种。不同的LCD显示器要采用不同的驱动方式。静态驱动方式的LCD每个显示器的每个字段都要引出电极,所有显示器的公共电极连在一起后引出。如图8-17所示的静态显示电路。显然显示位数越多,引出线也越多,相应的驱动电路也越多,通常用于显示位数较少的场合,动态驱动即分割驱动方式,它可以减少LCD的引出线和相应的驱动电路,故较适合于显示位数较多的场合。动态驱动方式实际上是用短阵驱动方法来驱动字符显示。字段引线

17、相当于行引线,公共电极相尖于列引线,字符的每一个字段相当于矩阵的一个点。,43,图8-17 六位LCD静态显示电路,44,8.3.4 可编程键盘/LED接口芯片8279 18279的组成及引脚 8279芯片有40条引脚,由单一+5V电源供电。如图8-18所示,它主要由以下几部分组成: (1) I/O控制和数据缓冲器; (2) 控制和定时寄存器及定时控制部分; (3) 扫描计数器; (4) 回送缓冲器与键盘去抖动控制电路; (5) FIFO(先进先出)寄存器和状态电路; (6) 显示器地址寄存器及显示RAM。,45,图8-18 8279引脚图,46,28279内部结构及各部分功能,图8-19 8

18、279内部结构图,47,(1) I/O控制及数据缓冲器(表8-3),48,(2) 控制与定时寄存器及定时控制,控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能。 定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(231),对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟。,49,(3) 扫描计数器,4位的计数器,有译码、编码两种方式,由编程设定。 译码方式:最低两位经译码,由SL0SL3输出,作为键盘及显示器的扫描信号(任何时刻,SL0SL3只有一个信号有效,实现4选1)。 编码方式:计数器的状态由SL0SL3直接输出,再经外部译

19、码,才能作为扫描信号(实现16选1) 。,50,(4) 恢复缓冲器、键盘去抖动及控制逻辑,回复缓冲器:缓冲并锁存回复信号RL0RL7的状态。 去抖动电路:实现对键盘输入的去抖动。 控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL0RL 7。 键盘输入方式,有键闭合时,去抖动电路被置位,延时10ms再检测,并将其位置信息与SHIFT、CNTL的状态一起形成键盘数据,送入FIFO RAM。 传感器输入方式,RL07的状态直接送入传感器RAM(即FIFO RAM)。 选通输入方式,在CNTL/STB的上升沿将RL0RL7状态送入FIFO RAM。,51,(5) FIFO/传感器RAM及其状态寄

20、存器 FIFO/传感器RAM:88位,键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM);传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态。 FIFO RAM的状态寄存器:键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态。 FIFO RAM不空时,会使IRQ变高;传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高。,52,(6) 显示RAM及显示地址寄存器(表8-4和表8-3),显示RAM:168位,存储字符的字形码,显示时,从OUTA0OUTA3和OUTB0OUTB3输出。 显示地址寄存器:显示RAM的内部地址, 可由命令直接设定,或设置为每次

21、读/写后自动加1。,53,表8-4 输出端与显示单元中各位的对应关系,(最多88键盘,扩充后可达644键定义,针对键盘数据格式),54,表8-5键盘数据格式,55,3工作方式 (1)数据输入方式键盘输入(键扫描)、传感器扫描、选通输入。 键扫描:按下一个键时,形成键盘数据,送入FIFO RAM,并产生IRQ(数据读出后撤除)。 传感器扫描:FIFO RAM中8个单元用于寄存传感器的现时状态,又称传感器RAM,地址编号与扫描线顺序一致,传感器阵列(最多为88位)中某一位状态发生变化时,产生IRQ。 选通输入:与8255A通输入端口的功能完全一样,CNTL/STB作为选通信号,上升沿锁存RL07到

22、FIFO RAM。,56,(2)显示输出方式8字符左入口、16字符左入口、8字符右入口、16字符右入口。 左入口:显示器位置编号与显示RAM地址一一对应(0号单元显示在0号显示器上),显示时从最左位开始。 右入口(计算器显示方式):最高位从最右边显示器进入,以后逐次左移。,57,4命令字 (1) 设置工作方式 (表8-6),58,表8-7分频系数,分频目的:得到100KHz的基本工作时钟。,59,(3) 设置读FIFO/传感器RAM的地址(表8-8),表8-8 FIFO/传感器,60,(4) 设置读显示RAM的地址(表8-9),表8-9读显示RAM,61,(5) 设置写显示RAM的地址(表8-

23、10),表8-10读写显示RAM,62,(6) 禁写显示RAM/消隐命令(8-11),表8-11禁写显示RAM,63,(7) 清除命令(表8-12),表8-12清除命令,64,(8)结束中断/设置错误方式(表8-13),表8-13结束中断,65,表8-14状态字,5状态字(指示FIFO RAM中字符数及是否有错误) (表8-14),DU:显示无效标志,由命令清除显示RAM时置1。 S/E:键盘输入方式下作特殊错误标志,=1:多键同时按下。 O:溢出标志,向已满的FIFO RAM写时置1。 U:不足标志,从已空的FIFO RAM读时置1。 N2N1N0:FIFO RAM中字符的个数。,66,68

24、279与MCS-51的连接应用 如图8-20所示。A0A3和B0B3为段控输出(高电平有效),外接驱动器后连至LED各段。对于七段LED来说,A3为最高位,B0为最低位,SL0SL3 为位控输出,经译码驱动后连至各LED可控制16位显示器,其扫描速度(A03及B03与其同步变化)则由内部定时器决定。,67,图8-20 8279的应用,68,更新显示器和用查询方法读出16个键输入数的程序如下: START:MOV DPTR,7FFFH;7FFFH为8279状态地址 MOV A,0DlH ;清除命令 MOVX DPTR,A ;命令字输入 WAIT1:MOVX A,DPTR ;读入状态 JB ACC

25、.7,WAIT1 ;清除等待 MOV A,2AH ;对时钟编程,设ALE为1MHz;10分频为100kHz MOVX DPTR,A ;命令送入 MOV A,08H ;显示器左边输入外部译 码,双键互锁方式 MOVX DPTR,A MOV R0,30H ;设30H3FH存放显示字形的段数据 MOV R7,10H ;显示16位数 MOV A,90H ;输出写显示数据命令 MOVX DPTR,A MOV DPTR,7EFFH;7EFFH 是8279数据地址,69,LOOPl: MOV A,R0 MOVX DPTR,A ;段选码送8279显示RAM INC R0 ;指向下一个段选码 DJNZ R7,L

26、OOP1 ;16 段选码送完? MOV R0,40H ;40H为键值存放单元首址 MOV R7,10H ;有16个键值 LOOP2:MOV DPTR,#7FFFH ;读8279状态 LOOP3:MOVX A,DPTR ANL A,0FH ;取状态字低4位 JZ LOOP3 ;FIFO中无键值时等待输入 MOV A,40H ;输出读FIFO的RAM命令 MOVX DPTR,A ;命令送入 MOV DPTR,7EFFH;读键输入数据 MOVR0,A ;键值存入内存40H4FH INC R0 ;指向下一个键值存放单元 DJNZR7,LOOP2 ;读完10H个键入数据 WAIT2:AJMP WAIT2

27、 ;键值读完等待,70,7. ZLG7290 键盘/LED驱动器,ZLG7290键盘/LED驱动器是周立功公司针对仪器仪表行业的需要自行研制的一款芯片。如图8-21所示为7290芯片的引脚图。该芯片能自动完成8位LED数码管的动态扫描和(最多)64按键检测扫描,大大减轻单片机的用于显示/键盘的工作时间和程序负担,可使集中资源用于信号的检测和控制。由于采用I2C总线方式使得芯片与单片机间的通讯只用2个I/O口便可完成,节省了单片机有限的口资源。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。,71,图8-21 ZLG7290引脚图,72,(1) 芯片特点 I2C串行接口,提供键盘中断

28、信号,方便于处理器接口; 可驱动8位共阴数码管或64只独立LED和64个按键; 可控扫描位数,可控任一数码管闪烁; 提供数据译码和循环,移位,段寻址等控制; 8个功能键,可检测任一键的连击次数; 无需外接元件即直接驱LED,可扩展驱动电流和驱动电压; 提供工业级器件,多种封装形式PDIP24等。 (2) 键盘部分功能 ZLG7290 可采样64个按键或传感器可检测每个按键的连击次数其基本功能如下:,73, 键盘去抖动处理 当键被按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不作处理会引起按键盘命令错误,所以要进行去抖动处理以读取稳定的键盘状态为准。 双键互锁处理 当有两个以上按键被

29、同时按下时,ZLG7290只采样优先级高的按键,优先顺序为(S1S2S64,如同时按下S2 和S18 时采样到S2)。 连击键处理 当某个按键按下时,输出一次键值后,如果该按键还未释放,该键值连续有效,就像连续压按该键一样,这种功能称为连击。连击次数计数器(Repeat Cnt)可区别出单击(某些功能不允许连击如开/关)或连击。判断连击次数可以检测被按时间。以防止某些功能误操作。 功能键处理 功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能,如PC机上的“Shift”、“Ctrl”、“Alt”键。,74,(3) 显示部分功能 在每个显示刷新周期。ZLG7290 按照扫描位数寄存器(

30、Scan Num) 指定的显示位数N,把显示缓存DpRam0 DpRamN 的内容按先后循序送入LED 驱动器实现动态显示,减少N 值可提高每位显示扫描时间的占空比,以提高LED 亮度,显示缓存中的内容不受影响。修改闪烁控制寄存器(FlashOnOff)可改变闪烁频率和占空比(亮和灭的时间)。 ZLG7290 提供两种控制方式:寄存器映象控制和命令解释控制,如上述对显示部分的控制,寄存器映象控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作。 命令解释控制是指通过解释命令缓冲区(CmdBuf0 CmdBuf1)中的指令,间接访问底层寄存器实现扩展控制功能,如实现寄存器的位操作:

31、对显示缓存循环,移位:对操作数译码等操作。,75,8.4 D/A、A/D转换器,8.4.1 D/A转换原理 1. D/A转换原理 D/A转换器输入信号是数字量,经转换输出的结果是模拟量(电压或电量)。输出量与输入量成正比。D/A转换器(DAC)在输出通道中起着非常重要的作用,图8-22是D/A转换示意图和特性表图。,76,图8-22 D/A转换示意图和特性表图,77,2. D/A转换器的主要技术指标 (1)分辨率 分辩率用以反映D/A转换器对输入量变化的灵敏程度。通常定义为当输入数字量发生单位数码变化时,所对应的输出模拟量的变化量,即等于模拟量输出的满量程值/2n(n为数字量的位数)。分辨率也

32、可表示成相对值(1/2n 的百分率形式)。在实际应用中,则更多地用输入数字量的位数n来表示,如8位、10位、12位等。对于n位D/A转化器,则其分辨率为n,它能对满刻度的2-n输入做出反应。,78,(2)转换精度 转换精度:是指一个实际的D/A转换器与理想的D/A转换器相比较的转换误差。通常可分为绝对精度和相对精度。 绝对精度是指对应于给定的满刻度数字量,D/A转换器实际输出值与理论值之间的误差。D/A转换器实际输出值与理论值之间的误差。它是由D/A转换器增益误差、零点误差、线性误差等引起的。 相对精度是指在满刻度输入校准的情况下,对应于任意数码的摸拟量输出值与理论值之间的误差。相对精度的偏差

33、值,通常用数字量最低有效位LSB的位数来表示。,79,(3)稳定时间 稳定时间是描述D/A转换速度快慢的重要参数,指输入数字量变化后,输出模拟量稳定到相应精度范围内所经历的时间。 (4)非线性误差 非线性误差指实际转换曲线与理想特性曲线之间的最大偏差。通常用相对于满量程的百分比或LSB的位数来表示,一般要求非线性误差不大2LSB。 (5)温度系数 温度系数指标是反映在规定的温度范围内(一般为-45+85度),温度每变化1度时,相对精度等技术参数的变化量。,80,8.4.2 DA0832与MCS-51单片机接口技术,1. DA0832芯片简介 DAC0832是采用CMOS工艺制成的8位D/A转换

34、器,它直接可与众多8位单片机和微处理器连接,其输出是以电流形式,可利用外接运算放大器转换成电压输出。DAC0832是目前国内使用较普遍的8位D/A转换器芯片。 (1) DAC0832的内部结构及引脚功能 DAC0832由一个输入寄存器,一个8位DAC寄存器和一个8位D/A转换器三个部分组成。其内部结构如图8-23a所示。DAC0832采用8位输入寄存器和8位DAC寄存器串接,实现了输入数据的两级缓冲,它的D/A转换器采用R-2RT型电阻网络。DAC0832的引脚排列如图8-23b所示。其各引脚的功能如下:,81,图8-23引脚和内部结构图 (a) DAC0832内部结构 (b) DAC0832

35、引脚图,82,(2)DAC0832的主要技术指标 分辨率:8位。 增益温度系统:0.02%FS/ 低功耗电量:20mW 单一电源:+5+15 稳定时间:1us (3)DAC0832的输出方式 前面已经提出,DAC0832是以电流形式输出,因此在需要电压形式输出时,必须外接电流信号到电压信号的转换电路,通常采用运算放大器来实现。从输出电压的极性来讲,有单极性输出和双极性输出两种方式。 单极性输出,83,图8-24 DAC0832单极性输出电路,84,输出电压的表示形式为: VOUT = -VREFD/256 式中D为输入数字量的十进制值,DAC0832输出的电流信号IOUT1 连接运算放大器的反

36、向输入端,所以转换结果为负。若VREF= +5V,当D= 0255(00HFFH)时,由上式可得VOUT = - 04.98 通过调整运算放大器的调零电位器,可以对D/A芯片进行零点补偿。通过调节外接在反馈回路上的电位器RP1,可以调整满量程。 双极性输出,85,图8-25 DAC0832双极性输出电路,86,电路采用两级运算放大器,其中运算放大器 用于将运算放大器的单极性输出转换成双极性输出。输出电压的表达形式为: VOUT = -VREF(128D)/128 即D=0时,VOUT = -VREF;D=128时VOUT = 0;D=255时,VOUT = VREF127/128。 DAC08

37、32双极性输出电路中电路输出电压的零点和满量程调整,可以分两步进行:第一步按单极性电路的调整方法完成第一级运算放大器的单极性输出调整;然后再调整第二级运算放大器,使输出电压与输入数据的关系符合要求。,87,2. DAC0832与MCS-51的接口,由于DAC0832芯片内含有两级8位的数据寄存器,因此它有如下几种工作方式: 下面介绍DAC0832几种工作方式与MCS-51单片机的接口及转换控制程序。 (1)直通方式 图8-26所示的电路中,DAC0832的WR1、WR2、XFER、CS 全部接地,数据线DI7DI0 直接连到8031单片机的P1口线上。一旦8031单片机P1口有数据输出,DAC

38、8032立即进行转换,可见此时DAC0832工作在直通方式。其特点是转换速度快、编程简单。控制转换程序可采用直接寻址指令对P1口进行操作,CPU只需执行MOV P1,A指令,便完成一次将存放在累加器A中的数字量的D/A转换。,88,图8-26 直通方式的DAC0832与8031的接口电路,89,(2)单缓冲方式 若应用系统只有一路D/A转换或虽然有多路转换,但时间上不要求同步输出时,则可以采用单缓冲方式接口。DAC0832采用单缓冲工作方式的接口电路如图8-27所示。,90,图8-27 单缓冲方式的DAC0832与8051的接口电路,91,DAC0832的数据输入线 DI7DI0接到8051的

39、P0口,由于DAC0832内部有输入寄存器,所以可以直接相连不必另加锁存器。输入寄存允许信号ILE接+5V,片选信号和数据传送信号一起连接到P2.7地址线上,两级写信号和一起接到8051的引脚。这样DAC0832就作为8051单片机的一个外部扩展的I/O口,端口地址为7FFFH。 执行下面几条指令就能完成将数字量DATA转换成模拟量并输出: MOV DPTR,7FFFH ;送DAC0832地址 MOV A,DATA ;要转换的数字量送A MOVX DPTR,A ;数字量送D/A芯片转换并输出,92,(3)双缓冲方式 所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。双缓冲方式

40、DAC0832的连接如图8-28所示。 为了实现寄存器的可控,应当给寄存器分配一个地址,以便能按地址进行操作。图8-28采用地址译码输出分别接XFER和CS来实现,然后再给WR1和WR2提供写选通信号,这样就完成了两个锁存器都可控的双缓冲接口方式。,93,图8-28 双缓冲方式的DAC0832与8031的接口电路,94,(1)锯齿波的产生 接口电路如图8-28所示,DAC0832工作于单缓冲方式。利用该电路产生锯齿波的参考程序如下: MOV DPTR,7FFFH ;指向DAC0832 MOV A,0 ;置输出数字量初置为0 LOOP:MOVX DPTR,A ;输出数字量并转换 INC A ;延

41、时 NOP NOP NOP AJMP LOOP ;反复,95,(2)三角波形的产生 MOV A,0FFH DOWN:MOV R0,0FEH MOVX R0,A;线性下降段 INC R0 MOVX R0,A DEC A JNZ DOWN UP: MOV R0,0FEH;线性上升段 MOVX R0,A INC R0 MOVX R0,A INC A JNZ UP MOV A,0FEH SJMP DOWN END,96,8.4.3 串行D/A转换及其它转换方式,DAC7512是具有内置缓冲放大器的低功耗单片12位数模转换器。 由于DAC7512串行数模转换器可选择供电电源来作为参考电压,因而具有很宽的

42、动态输出范围,此外,DAC7512数模转换器还具有三种关断工作模式。正常工作状态下,DAC7512在5V电压下的功耗仅为0.7mW,而省电状态下的功耗为1W。因此,低功耗的DAC7512无疑是便携式电池供电设备的理想器件。,97,1引脚功能,采用SOT23-5封装的DAC7512的引脚排列如图8-29所示。其引脚定义如下: VOUT:芯片模拟输出电压; GND:器件内所有电路的地参考点; VDD:供电电源,直流+2.7+5.5; DIN:串行数据输入; SCLK:串行时钟输入; SYNC:输入控制信号(低电平有效)。,98,图829 DAC7512引脚图,99,图8-30 DAC7512组成框

43、图,100,3. 与单片机的接口电路设计 DAC7512采用三线制(SCLK及DIN)串行接口,其串行写操作时序如图8-31所示。,图8-31 DAC7512的写操作时序,101,DAC7512采用三线制(SYNC ,SCLK及DIN)串行接口,其串行写操作时序如图8-31所示。写操作开始前,SYNC要置为低电平,DIN的数据在串行时钟SCLK的下降沿依次移入16位寄存器。在串行时钟的第16个下降沿到来时,将最后一位移入寄存器,可实现对工作模式的设置及DAC内容的刷新,从而完成一个写周期的操作。此时,SYNC可保持低电平或置高,但在下一个写周期开始前,SYNC必须转为高电平并至少保持33ns以

44、便SYNC有时间产生下降沿来启动下一个写周期。若SYNC在一个写周期内转为高电平,则本次写操作失败,寄存器强行复位。由于施密特缓冲器在SYNC高电平时的电流消耗大于低电平时的电流消耗,因此,在两次写操作之间,应把SYNC置低以降低功耗。DAC7512的片内移位寄存器宽度为16位,其中DB15、DB14是空闲位,DB13、DB12是工作模式选择位、DB11DB0是数据位。器件内部带有上电复位电路。上电后,寄存器置0,所以DAC7512处于正常工作模式,模拟输出电压为V。,102,表815 DAC7512的工作模式选择,103,掉电模式下,不仅器件功耗要减小,而且缓冲放大器的输出级通过内部电阻网络

45、接到1k、100k或开路。而处于掉电模式时,所有的线性电路都断开,但寄存器内的数据不受影响。与微处理器的接口DAC7512与8051微控制器的接口如图8-32所示。图中8051的TXD驱动DAC7512的SCLK,而RXD则驱动DAC7512的串行数据线。设计时可用8051的一个I/O位(如P3.3)作为SYNC信号。在数据传输期间,P3.3要保持低电平。由于8051的TXD脚输出时是低位在前,而DAC7512片内寄存器接收时是高位在前,故在传送数据前,应当用软件把数据调整好。,由于8051一次只能传输8位数据。因此,在一个写周期内,应当用个时钟在其下降沿把数据写入DAC7512。写数据时,M

46、SB在前。由于DAC7512内有16位寄存器,故在写完第一个字节后,P3.3仍然要保持低电平,以便传输第二个字节。,104,105,图8-32 DA7512与8051连接,106,8.4.4 A/D转换 1.A/D转换器原理 A/D转换器用于实现模拟量到数字量的转换,按转换原理可分为4种,即:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。 目前最常用的是双积分式A/D转换器和逐次逼近式A/D转换器。双积分式A/D转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。其缺点是转换速度较慢,因此,这种转换器主要用于速度要求不高的场合。,107,另一种常用的A

47、/D转换器是逐次逼近式的,逐次逼近式A/D转换器是一种速度较快,精度较高的转换器,其转换时间大约在几s到几百s之间。通常使用的逐次逼近式典型A/D转换器芯片有: (1) ADC0801ADC0805型8位MOS型A/D转换器(美国国家半导体公司产品)。 (2) ADC0808/0809型8位MOS型A/D转换器。 (3) ADC0816/0817。这类产品除输入通道数增加至16个以外,其它性能与ADC0808 /0809型基本相同。,108,.A/D转换器的主要技术指标,(1) 分辨率 是指A/D转换器对于输入模拟量变化的灵敏度。通常用数字量的位数来表示,加8位、10位、12位等。若分辨率为8

48、位,则表示它可对满量程的1/256的变化量做出反应分辨率越高,对摸拟量输入的微小变化反应越灵敏。 (2) 量程 是指A/D转换器所能转换的电压范围,如05V,010V等。 (3) 转换精度 转换精度可表示成绝对精度和相对精度两种形式。,109,绝对精度指对应于一个给定的数字量的实际摸拟量输入与理论的模拟量输入的差值,常用数字量的位数赤表示绝对误差,如绝对误差为 1/2LSB(最低有效应); 相对精度指在整个转换范围内任一数字量所对应的摸拟量实际值与理论之差,用百分比来表示满量程时的相对精度. 线性误差:也称非线性误差或线性度,指A/D转换器实际输入特性曲线与理论输出特性的偏差。 零点误差:也称

49、失调误差,指引起数字量输出由01所需要的输入电压与理论值的偏差。 满量程误差:也称增益误差,指满量程输出数值所对应的实际输入电压与理想值的偏差。 微分线性误差:也称微分非线性误差,指任意两个相邻数码对应的摸拟量的间隔值与理论间隔值的偏差。 (4) 转换速度 指完成一次A/D转换所需要的时间,110,8.4.5 ADC0809与MCS-51单片机接口技术,1. ADC0809芯片简介 (1)ADC0809内部结构 ADC0809是一种具有8路模拟量输入的8位逐次逼近式A/D转换器,采用CMOS制造工艺,在目前单片机测控系统中得到使用广泛。ADC0809芯片的内部结构如图8-33所示。ADC080

50、9采用由单一+5V电源供电,片内带有锁存功能的8路模拟多路开关,可对8路05V的输入摸拟电压信号进行输入,并共用一个A/D转换器进行转换。完成一次转换约需100。片内具有多路开关的地址译码和锁存电路、高阻抗斩波器、稳定比较器、256R电阻T型网络和树状电子开关以及逐次逼近寄存器。输出具有TIL三种锁存缓冲器,可直接连到单片机的数据总线上。对于输入为双极性的摸拟量,可以通过适当的外接电路来实现模数转换。,111,图8-33 ADC0809内部结构,112,图8-34 ADC0809的引脚图,(2)ADC0809的引脚功能,113,表8-16 ADC0809通道选择表,114,2ADC0809与M

51、CS-51单片机的接口技术 ADC0809与MCS-51单片机的接口电路比较简单,其典型的接口电路如图8-35所示。电路连接主要涉及两个问题:一个是8路摸拟信号通道的选择,另一个是A/D转换的控制。 在模拟通道选择上,ADC0809的通道地址ADDA、ADDB和ADDC分别由8031的地址总线低3位P0.0P0.2经地址锁存器74LS373输出后提供,并在ADC0809的地址锁存信号ALE有效时将通道地址锁存到ADC0809的地址锁存器中,以选择IN0IN7中的一个通道作为当前A/D转换通道。,115,图8-35 ADC0809与8031的接口电路,116,在转换控制上,涉及到转换的启动、转换

52、结束的判别和转换结果数据的读取。就单片机系统来看,ADC0809是作为8031单片机的一个扩展芯片,对它的通道地址锁存、转换的启停控制、转换后数据的读取都需通过端口操作进行。因此,电路中将8031的P2.7和WR相或后接到ADC0809的START引脚,同时又使START和ALE引脚相连。这样就可以在ALE和START信号的前测锁存待转换的通道地址,而在后沿启动转换。锁存通道地址和启动转换可用下列指令完成。 MOV DPTR,7F00H ;送入ADC0809的口地址 MOVX DPTR,A ;启动转换,117,注意:通道地址锁存和启动转换必须执行片外端口写操作指令来实现,原因是锁存通道地址和启

53、动转换都是通过8031的信号进行控制的。此处累加器A中的内容与A/D转换无关,可为任意值。再者,对于送人数据指针寄存器DPTR的ADC0809的地址必须含有待转换的通道地址,上面程序的启动转换是针对通道IN0,若要启动别的通道进行转换,只需修改ADC0809口地址的低3位即可。 对转换结果的读取,必须在确定一次转换结束后,通过控制ADC0809的OE引脚,然后方可从ADC0809的数据输出引脚获取。电路中8031的P2.7和RD引脚相或后连至ADC0809的OE,所以通过下列指令可以实现读取转换结果。 MOV DPTR,7F00H ;送入ADC0809输出允许口地址 MOVX A,DPTR ;

54、读入转换结果,118,这两条指令的执行过程中,送出ADC0809有效的输出允许口地址的同时,发出RD有效信号,使ADC0809的输出允许信号有效,从而打开三态门使结果数据从数据输出引脚上送出,同时又通过8031的数据总线送至8031的累加器A中。,119,3. ADC0809芯片应用举例 ADC0809与8031单片机接口的转换程序设计,根据硬件接口电路不同可以分为三种方式:查询方式、转件延时方式和中断方式。下面主要介绍常的软件方式和中断方式。 (1)软件延时方式的程序举例 对于一种A/D转换器来说,转换时间作为一项技术指标是明确的。假设8031系统时钟为6MHz,则ADC0809的时钟是由8

55、031的ALE经过二分频后获得,其转换时间大致为128us 。因此,启动转换后,通过执行一段时间超过128us的延时程序后,接着就可读取转换后的结果数据。,下面是一段采用软件延时方式,分别对8路模拟信号轮流采样一次,并依次把结果存放到片内数据存储器50H开始的单元中的程序。接口电路见图8-35所示,由电路可知ADC0809和IN0通道地址为7FF8H,具体程序如下:,120,MAIN:MOV R1,50H ;置转换结果存放数据区收址 MOV DPTR,7FF8H ;DOTR指向ADC0809的 通道IN0地址 MOV R7,08H ;置转换通道数 LOOP:MOVXDPTR,A ;启动A/D转

56、换 MOV R6,35H ;软件延时140us HERE:DJNZ R6,HERE MOVXA,DPTR ;读取转换结果 MOVR1,A ;转换结果存入结果数据区 INC DPTR ;指向下一个通道 INC R1 ;修改结果数据区指针 DJNZ R7,LOOP ;8路模拟信号是否都已转换完成 SJMP ,121,122,(2)中断方式的程序举例,由图8-35可见,ADC0809的EOC脚经过一个非门连接到8031的脚上,从信号的时序分析来看,当ADC0809转换结束时,EOC输出变高。则经过非门后该信号反向为下跳变,正好可以作为外中断的请求信号。采用中断方式的优点是可大大随即响应中断请求,由外

57、部中断1的中断服务程序读取A/D转换结果,并启动ADC0809的下一次转换,外部中断1采用边沿触发方式。 下面这段程序,完成的功能与软件延时方式的例子完全相同。具体程序如下:,123,主程序: ORG 0000H LJMP MAIN ORG 0013H LJMP PINT1 MAIN: MOV R2,50H ;R1指向转换结果存放区首址 SETB IT1 ;外部中断1初始化 SETB EA SETB EX1 MOV DPTR,7FF8H ;DPTR指向ADC0809的IN0通道地址 MOVX DPTR,A ;启动转换 MOV 30H,DPH ;保护DPTR MOV 31H,DPL ,124,中

58、断服务程序: PINT1: MOV DPH,30H ;恢复DPTR MOV DPL,31H MOVX A,DPTR ;读取转换结果 MOV R1,A ;结果存入结果数据区 INC DPTR ;指向下一个通道 CJNE R1,57H,LL1;是否8次转换完成 MOV DPTR,7FF8H;是则重新再赋8次转换的初值 MOV R1,50H LL1: MOV 30H,DPH ;保护DPTR MOV 31H,DPL INC R1 ;修改结果数据区指针 MOVX DPTR,A ;启动转换 RETI,125,8.4.6 串行转换及其他转换方式,TLC0834是位逐次逼近模数转换器具有输入可配置的多通道多路器和串形输入输出方式。其多路器可由软件配置为单端或差分输入,也可以配置为伪差分输入。另外,其输入基准电压大小可以调整。在全位分辨率下,它允许任意小的模拟电压编码间隔。由于TLC0834采用的是串行输入结构,因此封装体积小,可节省51系列单片机I/O资源,价格也较适中。,126,图8-36

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论