第8章输入/输出通道及接口技术课件.ppt
第8章 输入/输出通道及接口技术1总体要求:总体要求:l掌握光电耦合器的使用 l掌握常用人机交互设备及接口技术l掌握DAC、ADC和MCS-51的接口及应用l掌握步进电机的原理及接口应用l能够独立完成本章作业学习重点:学习重点:l常用人机交互设备及接口技术lDAC0832 、ADC0809接口技术及应用 第8章 输入/输出通道及接口技术8.1 8.1 输入输入/ /输出通道概述输出通道概述8.2 8.2 光电隔离接口光电隔离接口8.3 8.3 常用人机交互设备接口常用人机交互设备接口8.4 D/A8.4 D/A、A/DA/D转换器转换器2 第8章 输入/输出通道及接口技术38.1 8.1 输入输出通道概述输入输出通道概述8.1.1 输入通道概述输入通道概述 将单片机用作测控系统时,系统都会有一个被测信号的输入通道,单片机通过输入通道拾取必要的输入信号。 输入通道是设置在单片机和被测对象之间的信息传送和转换的连接通道,单片机对被测对象状态的拾取,一般离不开传感器或敏感元件。 第8章 输入/输出通道及接口技术4输入通道的特点: (1) 输入通道的类型取决于从传感器送入信号的类型,由于不同的信号需要不同的转换电路,这也就决定了输入通道的类型。 (2) 输入通道的主要技术指标是信号的转换精度和速度,它们是选择转换器件的依据。 (3) 输入通道往往是模拟电路和数字电路的混合电路,对于传感器输出的微弱信号必须加以放大。 (4) 对于被测现场环境较差的情况,为防止干扰信号进入单片机控制系统,需要在输入通道中加入抗干扰措施。 第8章 输入/输出通道及接口技术5图8-1 输入通道结构图 第8章 输入/输出通道及接口技术68.1.2 输出通道概述 输出通道是计算机用以连接各种被控装置的信号通道。计算机完成对输入通道所输入的数据处理后,总是以数字信号送往输出通道的。然后根据被控装置控制信号的要求,在输出通道中将送入的信号进行变化,以达到控制被控装置的目的。如图8-2是输入通道的结构图。 第8章 输入/输出通道及接口技术7图8-2 输出通道结构图 第8章 输入/输出通道及接口技术88.2 8.2 光电隔离接口光电隔离接口 8.2.1 8.2.1 光电耦合器件简介 单片机控制系统要控制或检测高电压、大电流的信号时,必须采取电气上的隔离,以防止现场强电磁干扰或工频电压干扰通过输出通道反窜到控制系统。信号的隔离,最常用的是光电隔离技术,因为光信号的传送不受电场、磁场的干扰,可以有效地隔离电信号。 第8章 输入/输出通道及接口技术9 光电耦合器是一种能有效地隔离噪音和抑制干扰的新型半导体器件。图8-3是常用的三极管型光电耦合器原理图。光电耦合器是以“电-光-电”转换的过程进行工作的。光电耦合器之所以在传输信号的同时能有效地抑制尖脉冲和各种噪声干扰,使通道上的信号噪声比大为提高,主要有以下几方面的原因: 第8章 输入/输出通道及接口技术10图8-3 三极管型光电耦合器的原理图 第8章 输入/输出通道及接口技术11 (1) 光电耦合器的输入阻抗很小,只有几百欧姆,而干扰源的阻抗较大,通常为105106。 (2) 光电耦合器的输入回路与输出回路之间没有电气联系,也没有共地;之间的分布电容极小,而绝缘电阻又很大,因此回路一边的各种干扰噪声都很难通过光电耦合器馈送到另一边去,避免了共阻抗耦合的干扰信号的产生。 (3) 光电耦合器可起到很好的安全保障作用,即使当外部设备出现故障,甚至输入信号线短接时,也不会损坏仪表。 (4) 光电耦合器的响应速度极快,其响应延迟时间只有10s左右,适于对响应速度要求很高的场合。 第8章 输入/输出通道及接口技术128.2.2 常用光电耦合器件 光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强。 二极管晶体管耦合的4N25、TLP541G 二极管达林顿管耦合的4N38、TPL570 二极管TTL耦合的6N137 第8章 输入/输出通道及接口技术131.微机接口电路中的光电隔离 图8-4 单机接口中的光电隔离电路 第8章 输入/输出通道及接口技术14 2. 功率驱动电路中的光电隔离图8-5 双向可控硅隔离驱动电路 第8章 输入/输出通道及接口技术153. 远距离传送的光电隔离图8-6 远距离传送的光电隔离 第8章 输入/输出通道及接口技术16 4过零检测电路中的光电隔离 图8-7 过零检测的光电隔离电路 第8章 输入/输出通道及接口技术17 5注意事项 (1)在光电耦合器的输入部分和输出部分必须分别采用独立的电源,若两端共用一个电源,则光电耦合器的隔 离作用将失去意义。 (2)当用光电耦合起来隔离输入输出通道时,必须对所有 的信号(包括数字量信号、控制量信号、状态信号)全部隔离,使得被隔离设备的两边没有任何电气上的联系,否则这种隔离是没有意义的。 第8章 输入/输出通道及接口技术188.3 8.3 常用人机交互设备接口常用人机交互设备接口 8.3.1 键盘接口电路键盘接口电路 在单片机应用系统中键盘是最常用的输入设备。通过键盘可以输入数据和命令,实现简单的人机对话。键盘可分为编码键盘和非编码键盘两种。本节主要讨论单片机应用系统中使用较多的非编码键盘的接口方法。 第8章 输入/输出通道及接口技术19 1 1键盘工作原理键盘工作原理 非编码键盘的结构形式有两种,即独立式键盘和行列式键盘。 独立式键盘的各个接键相互独立,每一个按键都有一根数据线,各按键的状态互不影响。其结构如图8-8所示。图中每一个按键的数据线通过电阻接+5V。当键盘上没有键闭合时,其数据线X0X7状态呈现高电平。当键盘上有一个键闭合时,该键相对应的数据线状态被拉至低电平。单片机可以通过检测其各数据线的状态,来判断是否有键闭合以及哪一个键闭合。 第8章 输入/输出通道及接口技术20 图8-8 独立式按键接口电路 第8章 输入/输出通道及接口技术 行列式键盘的结构如图8-9所示。图中行线X0X3(P1.4 P1.7)定义为输入口,Y0Y3(P1.0 P1.3)定义为输出口。当键盘上某一个键闭合时,该键所对应的行线与列线短路,行线的状态则由列线状态决定。例如,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 第8章 输入/输出通道及接口技术如果Y0这一列线上没有键闭合,接着使列线Y1为低电平,其余的列线为高电平。用同样的方法检查Y1这一列上有无键闭合。以此类推,最后使Y3为低电平,其余的列为为高电平,检查Y3这一列上是否有闭合键。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。22 第8章 输入/输出通道及接口技术 图8-9 行列式键盘的结构 23 第8章 输入/输出通道及接口技术24 2. 2. 单片机对键盘的扫描方式单片机对键盘的扫描方式 在单片机应用系统中,为了节省硬件,通常采用行列式键盘。如图8-10是一行列式键盘与8031单片机接口电路,键盘有4行8列共32键,用8255作为接口芯片。键盘的行线接到8255的PC0PC3,列线接到8255的PA0PA7。一般来说,获取行列式键盘数据,单片机可以采用以下三种扫描控制方式。 第8章 输入/输出通道及接口技术25图8-10 行列式键盘与8031单片机的接口电路 第8章 输入/输出通道及接口技术26(1) 程序控制扫描方式 这种方式是在CPU完成其他工作后,利用其空闲时间调用键盘扫描子程序,来响应键盘的输入要求。在执行键盘功能程序时,不再响应输入要求。其键盘扫描程序一般应具备如下功能: 判断键盘有无按下 其方法是由PA口输出全“0”,再读入PC口的状态,判断PC0PC3是否为全“1”,若是则无键按下,否则有键按下。 去键抖动影响 当判断到有键按下后,可采用软件延时一段时间(一般1015ms),再判断键盘状态,如果仍为有键按下状态,则认为有一个确定的键被按下,否则按照键抖动处理。 第8章 输入/输出通道及接口技术27 有键按下确定闭合键的键号。 判断闭合的键是否释放 键闭合一次仅作一次键功能处理,其方法是当确认有键闭合,等待直到按键释放,才可进入执行键的功能操作。 第8章 输入/输出通道及接口技术28(2)定时扫描方式 定式扫描就是每隔一定时间,CPU扫描键盘一次,这种方式是利用单片机中的定时器/计数器产生时(例如10ms)中断,CPU响应定时器/计数器溢出中断请求,在中断服务程序中对键盘进行扫描,以响应键盘输入请求 (3) 中断扫描方式 定时扫描方式与程序控制扫描方式相比,优点在于响应键入的速度快。但存在的不足之处是,不管键盘上有无键闭合,CPU总是定时地要对键盘的状态进行扫描。 第8章 输入/输出通道及接口技术29图8-11 具有中断功能的矩阵式键盘接口电路 第8章 输入/输出通道及接口技术308.3.2 LED显示器接口电路 在单片机应用系统中,显示器是一个不可缺少的人机交互设备之一,是单片机应用系统中最基本的输出装置。显示器的种类很多,从液晶显示、发光二级管显示到CRT显示器等,都可以与微机配接。其中单片机应用系统中最为常用的显示器是发光二级管数码显示器(简称LED 显示器)。 1. LED显示器结构和工作原理 第8章 输入/输出通道及接口技术31图8-12 LED数码管 第8章 输入/输出通道及接口技术32表8-1字段码和字段 第8章 输入/输出通道及接口技术33表8-2 8段LED显示器字段码 第8章 输入/输出通道及接口技术34 2. LED显示器的控制方式 控制点亮LED显示器有静态控制和动态控制两种方法。静态显示控制下每当显示器某一个字形时,每一位显示器的字段控制线是独立的。在此显示方式下显示一位数字或字符就需要一个8位输出口控制。如图8-13所示有4位(个)LED显示器,则就需要4个8位并行输出口。 静态显示方式下,LED显示器的电路连接方法是:每位LED的字位控制线(即共阴极或共阳极)连在一起,接地或接+5V;其字段线(a-dp)分别接到一个8位I/O口。图8-13所示的一个4位LED静态显示方式. 第8章 输入/输出通道及接口技术35图8-13 四位LED静态显示 第8章 输入/输出通道及接口技术36 动态显示控制,就是采用扫描的方法把多个LED显示器逐个点亮,对于某一显示器来说,每隔一段时间点亮一次,利用人眼的视觉暂留效应可以看到动态的整个显示,但要必须保证有足够快的扫描速度,才能使字符不闪烁;显示器的亮度即与各二级管的导通电流有关,也与占亮的持续时间和间隔时间的比值有关。合理地选择二级管的导通电流有关,也与点亮的持续时间和间隔时间的比值有关。合理地选择二级管的导通电流和扫描时间参数,可以得到亮度较高且较稳定的显示效果。若显示器的位数不超过8个,则控制显示器各位公共极电位只需一个8位输出口(称为字位数据口或扫描口),控制显示器各位显示字形的段码输出口也只需要一个8位输出口(称为字段数据口)。图8-14所示8位LED动态显示方式。 第8章 输入/输出通道及接口技术37图8-14 8位动态显示 第8章 输入/输出通道及接口技术38 3. 3. 多色多色LEDLED显示器显示器 一般来说,当使用单个芯片时,LED的灯光就是单色的。当两个或多个不同色彩的芯片装入同一个环氧层时,就可以产生多色LED。封装在同一个环氧层中的红光、绿光及蓝光芯片可以分别控制,这样还可以产生不同的混色及其他纯色。 第8章 输入/输出通道及接口技术398.3.3 液晶显示器(LCD)接口电路 1. LCD显示器的结构和工作原理 第8章 输入/输出通道及接口技术40 2. LCD显示器的驱动原理和驱动方式 (1)LCD显示器驱动原理 LCD一般采用交流驱动,通常采用异或门把显示器控制信号和显示频率信号合并为交变的驱动信号,如图8-16所示。当显示控制电极上的波形与公共电机上的方波相位相反时,则为显示状态。显示控制信号由C端输入,高电平为显示状态。显示频率信号是一个方波。当异或门的C端为低电平时,B端的电位与A端相同,LCD两端的电压为0,不显示;当异或门的C端为高电平时,B端的电位与A端相反,LCD两端呈现交替变化的电压,LCD显示。常用的扭曲向列型LCD的驱动电压范围是36V。由于LCD是容性负载,工作频率高功耗越大。而且显示频率升高,对比度会变差,当频率升高到临界高频以上时,LCD就不能显示了,所以LCD宜用于低频工作 第8章 输入/输出通道及接口技术41图8-16 LCD的基本驱动电路及波形 第8章 输入/输出通道及接口技术42 (2)LCD的驱动方式 LCD的驱动方式有静态和动态两种。不同的LCD显示器要采用不同的驱动方式。静态驱动方式的LCD每个显示器的每个字段都要引出电极,所有显示器的公共电极连在一起后引出。如图8-17所示的静态显示电路。显然显示位数越多,引出线也越多,相应的驱动电路也越多,通常用于显示位数较少的场合,动态驱动即分割驱动方式,它可以减少LCD的引出线和相应的驱动电路,故较适合于显示位数较多的场合。动态驱动方式实际上是用短阵驱动方法来驱动字符显示。字段引线相当于行引线,公共电极相尖于列引线,字符的每一个字段相当于矩阵的一个点。 第8章 输入/输出通道及接口技术43图8-17 六位LCD静态显示电路 第8章 输入/输出通道及接口技术448.3.4 可编程键盘/LED接口芯片8279 18279的组成及引脚 8279芯片有40条引脚,由单一+5V电源供电。如图8-18所示,它主要由以下几部分组成: (1) I/O控制和数据缓冲器; (2) 控制和定时寄存器及定时控制部分; (3) 扫描计数器; (4) 回送缓冲器与键盘去抖动控制电路; (5) FIFO(先进先出)寄存器和状态电路; (6) 显示器地址寄存器及显示RAM。 第8章 输入/输出通道及接口技术45图8-18 8279引脚图 第8章 输入/输出通道及接口技术4628279内部结构及各部分功能图8-19 8279内部结构图 第8章 输入/输出通道及接口技术47(1) I/O控制及数据缓冲器(表8-3)CSWRRDA0操 作0010写显示RAM0011写命令字0100读FIFO RAM或显示RAM0101读状态字 第8章 输入/输出通道及接口技术48(2) 控制与定时寄存器及定时控制 控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能。 定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(231),对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟。 第8章 输入/输出通道及接口技术49(3) 扫描计数器 4位的计数器,有译码、编码两种方式,由编程设定。 译码方式:最低两位经译码,由SL0SL3输出,作为键盘及显示器的扫描信号(任何时刻,SL0SL3只有一个信号有效,实现4选1)。 编码方式:计数器的状态由SL0SL3直接输出,再经外部译码,才能作为扫描信号(实现16选1) 。 第8章 输入/输出通道及接口技术50(4) 恢复缓冲器、键盘去抖动及控制逻辑 回复缓冲器:缓冲并锁存回复信号RL0RL7的状态。 去抖动电路:实现对键盘输入的去抖动。 控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL0RL 7。 键盘输入方式,有键闭合时,去抖动电路被置位,延时10ms再检测,并将其位置信息与SHIFT、CNTL的状态一起形成键盘数据,送入FIFO RAM。 传感器输入方式,RL07的状态直接送入传感器RAM(即FIFO RAM)。 选通输入方式,在CNTL/STB的上升沿将RL0RL7状态送入FIFO RAM。 第8章 输入/输出通道及接口技术51(5) FIFO/传感器RAM及其状态寄存器 FIFO/传感器RAM:88位,键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM);传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态。 FIFO RAM的状态寄存器:键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态。 FIFO RAM不空时,会使IRQ变高;传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高。 第8章 输入/输出通道及接口技术52(6) 显示RAM及显示地址寄存器(表8-4和表8-3) 显示RAM:168位,存储字符的字形码,显示时,从OUTA0OUTA3和OUTB0OUTB3输出。 显示地址寄存器:显示RAM的内部地址, 可由命令直接设定,或设置为每次读/写后自动加1。 第8章 输入/输出通道及接口技术53表8-4 输出端与显示单元中各位的对应关系(最多88键盘,扩充后可达644键定义,针对键盘数据格式) 第8章 输入/输出通道及接口技术54表8-5键盘数据格式 第8章 输入/输出通道及接口技术553工作方式 (1)数据输入方式键盘输入(键扫描)、传感器扫描、选通输入。 键扫描:按下一个键时,形成键盘数据,送入FIFO RAM,并产生IRQ(数据读出后撤除)。 传感器扫描:FIFO RAM中8个单元用于寄存传感器的现时状态,又称传感器RAM,地址编号与扫描线顺序一致,传感器阵列(最多为88位)中某一位状态发生变化时,产生IRQ。 选通输入:与8255A通输入端口的功能完全一样,CNTL/STB作为选通信号,上升沿锁存RL07到FIFO RAM。 第8章 输入/输出通道及接口技术56 (2)显示输出方式8字符左入口、16字符左入口、8字符右入口、16字符右入口。 左入口:显示器位置编号与显示RAM地址一一对应(0号单元显示在0号显示器上),显示时从最左位开始。 右入口(计算器显示方式):最高位从最右边显示器进入,以后逐次左移。 第8章 输入/输出通道及接口技术57 4命令字 (1) 设置工作方式 (表8-6)000D1D0K2K1K0特征位显示方式输入方式扫描方式00:8字符,左入口 01:16字符,左入口10:8字符,右入口11:16字符,右入口00:键盘,双键锁定 01:键盘,N键轮回10:传感器扫描 11:选通输入 0:编码扫描 1:译码扫描 第8章 输入/输出通道及接口技术58表8-7分频系数分频目的:得到100KHz的基本工作时钟。001PPPPP特征位分频系数N(23) 第8章 输入/输出通道及接口技术59(3) 设置读FIFO/传感器RAM的地址(表8-8)表8-8 FIFO/传感器010AIA2A1A0特征位自动增量0:读出后地址不变 1:每次读出地址自动加1无效FIFO RAM地址键盘方式无效,写0 第8章 输入/输出通道及接口技术60(4) 设置读显示RAM的地址(表8-9)表8-9读显示RAM011AIA3A2A1A0特征位自动增量0:读出后地址不变 1:每次读出地址自动加1显示RAM地址 第8章 输入/输出通道及接口技术61(5) 设置写显示RAM的地址(表8-10)表8-10读写显示RAM100AIA3A2A1A0特征位自动增量0:写入后地址不变 1:每次写入地址自动加1显示RAM地址 第8章 输入/输出通道及接口技术62(6) 禁写显示RAM/消隐命令(8-11)表8-11禁写显示RAM101IWAIWBBLABLB特征位无效A组禁写B组禁写A组消隐B组消隐1:相应显示RAM禁止写入 第8章 输入/输出通道及接口技术63(7) 清除命令(表8-12)表8-12清除命令 第8章 输入/输出通道及接口技术64(8)结束中断/设置错误方式(表8-13)表8-13结束中断111E特征位无效键盘N键轮回方式,发现多键同时按下,置状态位S/E,产生中断并阻止写入FIFO RAM 第8章 输入/输出通道及接口技术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中字符的个数。DUS/EOUFN2N1N0 第8章 输入/输出通道及接口技术66 68279与MCS-51的连接应用 如图8-20所示。A0A3和B0B3为段控输出(高电平有效),外接驱动器后连至LED各段。对于七段LED来说,A3为最高位,B0为最低位,SL0SL3 为位控输出,经译码驱动后连至各LED可控制16位显示器,其扫描速度(A03及B03与其同步变化)则由内部定时器决定。 第8章 输入/输出通道及接口技术67图8-20 8279的应用 第8章 输入/输出通道及接口技术68更新显示器和用查询方法读出16个键输入数的程序如下:START:MOV DPTR,7FFFH;7FFFH为8279状态地址 MOV A,0DlH ;清除命令 MOVX DPTR,A ;命令字输入WAIT1:MOVX A,DPTR ;读入状态 JB ACC.7,WAIT1 ;清除等待 MOV A,2AH ;对时钟编程,设ALE为1MHz;10分频为100kHzMOVX DPTR,A ;命令送入MOV A,08H ;显示器左边输入外部译 码,双键互锁方式MOVX DPTR,AMOV R0,30H ;设30H3FH存放显示字形的段数据MOV R7,10H ;显示16位数MOV A,90H ;输出写显示数据命令MOVX DPTR,AMOV DPTR,7EFFH;7EFFH 是8279数据地址 第8章 输入/输出通道及接口技术69LOOPl: MOV A,R0 MOVX DPTR,A ;段选码送8279显示RAM INC R0 ;指向下一个段选码 DJNZ R7,LOOP1 ;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 ;键值存入内存40H4FHINC R0 ;指向下一个键值存放单元DJNZ R7,LOOP2 ;读完10H个键入数据WAIT2:AJMP WAIT2 ;键值读完等待 第8章 输入/输出通道及接口技术707. ZLG7290 键盘/LED驱动器 ZLG7290键盘/LED驱动器是周立功公司针对仪器仪表行业的需要自行研制的一款芯片。如图8-21所示为7290芯片的引脚图。该芯片能自动完成8位LED数码管的动态扫描和(最多)64按键检测扫描,大大减轻单片机的用于显示/键盘的工作时间和程序负担,可使集中资源用于信号的检测和控制。由于采用I2C总线方式使得芯片与单片机间的通讯只用2个I/O口便可完成,节省了单片机有限的口资源。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。 第8章 输入/输出通道及接口技术71 第8章 输入/输出通道及接口技术72 (1) 芯片特点 I2C串行接口,提供键盘中断信号,方便于处理器接口; 可驱动8位共阴数码管或64只独立LED和64个按键; 可控扫描位数,可控任一数码管闪烁; 提供数据译码和循环,移位,段寻址等控制; 8个功能键,可检测任一键的连击次数; 无需外接元件即直接驱LED,可扩展驱动电流和驱动电压;提供工业级器件,多种封装形式PDIP24等。 (2) 键盘部分功能 ZLG7290 可采样64个按键或传感器可检测每个按键的连击次数其基本功能如下: 第8章 输入/输出通道及接口技术73 键盘去抖动处理 当键被按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不作处理会引起按键盘命令错误,所以要进行去抖动处理以读取稳定的键盘状态为准。 双键互锁处理 当有两个以上按键被同时按下时,ZLG7290只采样优先级高的按键,优先顺序为(S1S2S64,如同时按下S2 和S18 时采样到S2)。 连击键处理 当某个按键按下时,输出一次键值后,如果该按键还未释放,该键值连续有效,就像连续压按该键一样,这种功能称为连击。连击次数计数器(Repeat Cnt)可区别出单击(某些功能不允许连击如开/关)或连击。判断连击次数可以检测被按时间。以防止某些功能误操作。 功能键处理 功能键能实现2个以上按键同时按下来扩展按键数目或实现特殊功能,如PC机上的“Shift”、“Ctrl”、“Alt”键。 第8章 输入/输出通道及接口技术74 (3) 显示部分功能 在每个显示刷新周期。ZLG7290 按照扫描位数寄存器(Scan Num) 指定的显示位数N,把显示缓存DpRam0 DpRamN 的内容按先后循序送入LED 驱动器实现动态显示,减少N 值可提高每位显示扫描时间的占空比,以提高LED 亮度,显示缓存中的内容不受影响。修改闪烁控制寄存器(FlashOnOff)可改变闪烁频率和占空比(亮和灭的时间)。 ZLG7290 提供两种控制方式:寄存器映象控制和命令解释控制,如上述对显示部分的控制,寄存器映象控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作。命令解释控制是指通过解释命令缓冲区(CmdBuf0 CmdBuf1)中的指令,间接访问底层寄存器实现扩展控制功能,如实现寄存器的位操作:对显示缓存循环,移位:对操作数译码等操作。 第8章 输入/输出通道及接口技术758.4 D/A8.4 D/A、A/DA/D转换器转换器 8.4.1 D/A转换原理 1. D/A转换原理 D/A转换器输入信号是数字量,经转换输出的结果是模拟量(电压或电量)。输出量与输入量成正比。D/A转换器(DAC)在输出通道中起着非常重要的作用,图8-22是D/A转换示意图和特性表图。 第8章 输入/输出通道及接口技术76图8-22 D/A转换示意图和特性表图 第8章 输入/输出通道及接口技术77 2. D/A转换器的主要技术指标 (1)分辨率 分辩率用以反映D/A转换器对输入量变化的灵敏程度。通常定义为当输入数字量发生单位数码变化时,所对应的输出模拟量的变化量,即等于模拟量输出的满量程值/2n(n为数字量的位数)。分辨率也可表示成相对值(1/2n 的百分率形式)。在实际应用中,则更多地用输入数字量的位数n来表示,如8位、10位、12位等。对于n位D/A转化器,则其分辨率为n,它能对满刻度的2-n输入做出反应。 第8章 输入/输出通道及接口技术78 (2)转换精度 转换精度:是指一个实际的D/A转换器与理想的D/A转换器相比较的转换误差。通常可分为绝对精度和相对精度。 绝对精度是指对应于给定的满刻度数字量,D/A转换器实际输出值与理论值之间的误差。D/A转换器实际输出值与理论值之间的误差。它是由D/A转换器增益误差、零点误差、线性误差等引起的。 相对精度是指在满刻度输入校准的情况下,对应于任意数码的摸拟量输出值与理论值之间的误差。相对精度的偏差值,通常用数字量最低有效位LSB的位数来表示。 第8章 输入/输出通道及接口技术79 (3)稳定时间 稳定时间是描述D/A转换速度快慢的重要参数,指输入数字量变化后,输出模拟量稳定到相应精度范围内所经历的时间。 (4)非线性误差 非线性误差指实际转换曲线与理想特性曲线之间的最大偏差。通常用相对于满量程的百分比或LSB的位数来表示,一般要求非线性误差不大2LSB。 (5)温度系数 温度系数指标是反映在规定的温度范围内(一般为-45+85度),温度每变化1度时,相对精度等技术参数的变化量。 第8章 输入/输出通道及接口技术808.4.2 DA0832与MCS-51单片机接口技术 1. DA0832芯片简介 DAC0832是采用CMOS工艺制成的8位D/A转换器,它直接可与众多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所示。其各引脚的功能如下: 第8章 输入/输出通道及接口技术81图8-23引脚和内部结构图(a) DAC0832内部结构 (b) DAC0832引脚图 第8章 输入/输出通道及接口技术82 (2)DAC0832的主要技术指标 分辨率:8位。 增益温度系统:0.02%FS/ 低功耗电量:20mW 单一电源:+5+15 稳定时间:1us (3)DAC0832的输出方式 前面已经提出,DAC0832是以电流形式输出,因此在需要电压形式输出时,必须外接电流信号到电压信号的转换电路,通常采用运算放大器来实现。从输出电压的极性来讲,有单极性输出和双极性输出两种方式。 单极性输出 第8章 输入/输出通道及接口技术83图8-24 DAC0832单极性输出电路 第8章 输入/输出通道及接口技术84 输出电压的表示形式为: VOUT = -VREFD/256 式中D为输入数字量的十进制值,DAC0832输出的电流信号IOUT1 连接运算放大器的反向输入端,所以转换结果为负。若VREF= +5V,当D= 0255(00HFFH)时,由上式可得VOUT = - 04.98 通过调整运算放大器的调零电位器,可以对D/A芯片进行零点补偿。通过调节外接在反馈回路上的电位器RP1,可以调整满量程。 双极性输出 第8章 输入/输出通道及接口技术85图8-25 DAC0832双极性输出电路 第8章 输入/输出通道及接口技术86 电路采用两级运算放大器,其中运算放大器 用于将运算放大器的单极性输出转换成双极性输出。输出电压的表达形式为: VOUT = -VREF(128D)/128 即D=0时,VOUT = -VREF;D=128时VOUT = 0;D=255时,VOUT = VREF127/128。 DAC0832双极性输出电路中电路输出电压的零点和满量程调整,可以分两步进行:第一步按单极性电路的调整方法完成第一级运算放大器的单极性输出调整;然后再调整第二级运算放大器,使输出电压与输入数据的关系符合要求。 第8章 输入/输出通道及接口技术872. DAC0832与MCS-51的接口 由于DAC0832芯片内含有两级8位的数据寄存器,因此它有如下几种工作方式: 下面介绍DAC0832几种工作方式与MCS-51单片机的接口及转换控制程序。 (1)直通方式 图8-26所示的电路中,DAC0832的WR1、WR2、XFER、CS 全部接地,数据线DI7DI0 直接连到8031单片机的P1口线上。一旦8031单片机P1口有数据输出,DAC8032立即进行转换,可见此时DAC0832工作在直通方式。其特点是转换速度快、编程简单。控制转换程序可采用直接寻址指令对P1口进行操作,CPU只需执行MOV P1,A指令,便完成一次将存放在累加器A中的数字量的D/A转换。1WR1WR 第8章 输入/输出通道及接口技术88图8-26 直通方式的DAC0832与8031的接口电路 第8章 输入/输出通道及接口技术89 (2)单缓冲方式 若应用系统只有一路D/A转换或虽然有多路转换,但时间上不要求同步输出时,则可以采用单缓冲方式接口。DAC0832采用单缓冲工作方式的接口电路如图8-27所示。 第8章 输入/输出通道及接口技术90图8-27 单缓冲方式的DAC0832与8051的接口电路 第8章 输入/输出通道及接口技术91 DAC0832的数据输入线 DI7DI0接到8051的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芯片转换并输出 第8章 输入/输出通道及接口技术92 (3)双缓冲方式 所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。双缓冲方式DAC0832的连接如图8-28所示。 为了实现寄存器的可控,应当给寄存器分配一个地址,以便能按地址进行操作。图8-28采用地址译码输出分别接XFER和CS来实现,然后再给WR1和WR2提供写选通信号,这样就完成了两个锁存器都可控的双缓冲接口方式。 第8章 输入/输出通道及接口技术93图8-28 双缓冲方式的DAC0832与8031的接口电路 第8章 输入/输出通道及接口技术94 (1)锯齿波的产生 接口电路如图8-28所示,DAC0832工作于单缓冲方式。利用该电路产生锯齿波的参考程序如下: MOV DPTR,7FFFH ;指向DAC0832 MOV A,0 ;置输出数字量初置为0LOOP:MOVX DPTR,A ;输出数字量并转换 INC A ;延时 NOP NOP NOP AJMP LOOP ;反复 第8章 输入/输出通道及接口技术95 (2)三角波形的产生 MOV A,0FFHDOWN: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 第8章 输入/输出通道及接口技术968.4.3 串行D/A转换及其它转换方式 DAC7512是具有内置缓冲放大器的低功耗单片12位数模转换器。 由于DAC7512串行数模转换器可选择供电电源来作为参考电压,因而具有很宽的动态输出范围,此外,DAC7512数模转换器还具有三种关断工作模式。正常工作状态下,DAC7512在5V电压下的功耗仅为0.7mW,而省电状态下的功耗为1W。因此,低功耗的DAC7512无疑是便携式电池供电设备的理想器件。 第8章 输入/输出通道及接口技术971引脚功能 采用SOT23-5封装的DAC7512的引脚排列如图8-29所示。其引脚定义如下: VOUT:芯片模拟输出电压; GND:器件内所有电路的地参考点; VDD:供电电源,直流+2.7+5.5; DIN:串行数据输入; SCLK:串行时钟输入; SYNC:输入控制信号(低电平有效)。 第8章 输入/输出通道及接口技术98图829 DAC7512引脚图 第8章 输入/输出通道及接口技术99图8-30 DAC7512组成框图 第8章 输入/输出通道及接口技术1003. 与单片机的接口电路设计 DAC7512采用三线制(SCLK及DIN)串行接口,其串行写操作时序如图8-31所示。图8-31 DAC7512的写操作时序 第8章 输入/输出通道及接口技术101 DAC7512采用三线制(SYNC ,SCLK及DIN)串行接口,其串行写操作时序如图8-31所示。写操作开始前,SYNC要置为低电平,DIN的数据在串行时钟SCLK的下降沿依次移入16位寄存器。在串行时钟的第16个下降沿到来时,将最后一位移入寄存器,可实现对工作模式的设置及DAC内容的刷新,从而完成一个写周期的操作。此时,SYNC可保持低电平或置高,但在下一个写周期开始前,SYNC必须转为高