+5V+5V+5V最简单的线性结构键盘每一个引脚连接一个键输入0/1反映健是否高低第10章人机交互设备接口技术10.1键盘及其接口+5V+5V控制线检测线常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键10.1键盘及其接口1.扫描法先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现)此后,再将第1行接地,然后检测列线是否有变为低电位的线。如此往下一行一行地扫描,直到最后一行在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出通过组合行线和列线可识别此刻按下的是哪一键10.1键盘及其接口2.抖动和重健问题机械按键存在抖动现象当按下或释放一个键时,往往会出现按键在闭合位置和断开位置之间跳几下才稳定到闭合状态抖动的持续时间通常不大于10ms采用硬件消抖电路或软件延时方法解决重键指两个或多个键同时闭合出现重键时,读取的键值必然出现有一个以上的0是否给予识别和识别哪一个键重健问题的处理简单情况:不予识别,认为是错误的按键通常情况:只承认先识别出来的键正常的组合键:都识别出来DBPB6PB7PAIRQ1T1P10P21P11P22P204GND1CLOCK2DATA5+5V3RESETPC机键盘系统板80488255A8259ALS322串并转换器键盘阵列按键选通PC机键盘的工作原理PC机键盘的工作过程键盘电路正常工作时不断地扫描键盘矩阵有按键,则确定按键位置之后以串行数据形式发送给系统板键盘接口电路键按下时,发送该键的接通扫描码键松开时,发送该键的断开扫描码若一直按住某键,则以拍发速率(每秒2~30次)连续发送该键的接通扫描码接通扫描码反映该键在键盘上的位置断开扫描码(接通扫描码最高位置1)=接通扫描码+80H模拟量D/A传感器执行元件A/D数字量数字量模拟量模拟量输入(数据采集)模拟量输出(过程控制)计算机10.2D/A转换器模拟量I/O通道的组成模拟接口电路的任务模拟电路的任务0010110110101100工业生产过程传感器放大滤波多路转换&采样保持A/D转换放大驱动D/A转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换I/O接口输入通道输出通道10.2.1D/A转换器概述D/A变换器的基本工作原理组成:模拟开关、电阻网络、运算放大器两种电阻网络:权电阻网络、R-2R梯形电阻网络基本结构如图:VrefRf模拟开关电阻网络VO数字量∑D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电压Vin的关系为:fOinRV=-VR式中:Rf为反馈电阻R为输入电阻VinRfVo∑R若输入端有n个支路,则输出电压VO与输入电压Vi的关系为:n0fini=1i1V=-RVRVinRfVO∑R1式中:Ri为第i支路的输入电阻Rn…令每个支路的输入电阻为2iRf,并令Vin为一基准电压Vref,则有如果每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开,则上式变换为nn0frefrefiii=1i=1f11V=-RV=-V2R2n0irefii=11V=-SV2若Si=1,该项对VO有贡献若Si=0,该项对VO无贡献2R4R8R16R32R64R128R256RVrefRfVOS1S2S3S4S5S6S7S8与上式相对应的电路如下(图中n=8)图中的电阻网络就称为权电阻网络R-2R梯形电阻网络RfViV0…Vrefn-12102R2R2R2RRRRVn-1V2V1V02R+-nn0frefrefiii=1i=1f11V=-RV=-V2R210.2.2典型D/A转换器DAC0832特性:8位电流输出型D/A转换器T型电阻网络差动输出DAC0832内部结构输入数据~47~131619121817XFERWR2WR1CSILE&≥1≥1LE1LE2Rfb8位输入寄存器8位DAC寄存器8位D/A转换器VREFIOUT2IOUT1RfbAGND(模拟地)VCC(+5V或+15V)20103911128DAC0832框图DGND(数字地)D0D7~~引脚功能D7~D0:输入数据线ILE:输入锁存允许CS#:片选信号用于把数据写入到输入锁存器WR1#:写输入锁存器WR2#:写DAC寄存器XFER#:允许输入锁存器的数据传送到DAC寄存器上述二个信号用于启动转换VREF:参考电压,-10V~+10V,一般为+5V或+10VIOUT1、IOUT2:D/A转换差动电流输出,接运放的输入Rfb:内部反馈电阻引脚,接运放输出AGND、DGND:模拟地和数字地工作时序D/A转换可分为两个阶段:CS#=0、WR1#=0、ILE=1,使输入数据锁存到输入寄存器WR2#=0、XFER#=0,数据送到DAC寄存器,并开始转换D0D7~CSWR1ILE(高电平)WR2XFER(模拟输出电流变化)写输入寄存器写DAC寄存器工作模式单缓冲模式双缓冲模式DAC0832的接口设计---单缓冲方式1.使数据输入寄存器工作在锁存状态,DAC寄存器工作在不锁存状态(LE2始终有效,DAC寄存器直通)。只使用一级缓冲。适用于大多数情况.单缓冲模式使输入锁存器或DAC寄存器二者之一处于直通,即芯片只占用一个端口地址。CPU只需一次写入即开始转换。写入数据的程序为:MOVDX,PORTMOVAL,DATAOUTDX,AL双缓冲模式(标准模式)对输入寄存器和DAC寄存器均需控制;当输入寄存器控制信号有效时,数据写入输入寄存器中;再在DAC寄存器控制信号有效时,数据才写入DAC寄存器,并启动变换;此时芯片占用两个端口地址;优点:数据接收与D/A转换可异步进行;可实现多个DAC同步转换输出特点:分时写入、同步转换双缓冲方式——同步转换举例A10-A0译码器0832-10832-2port1port2port3双缓冲模式的数据写入程序MOVAL,dataMOVDX,port10832-1的输入寄存器地址OUTDX,ALMOVDX,port20832-2的输入寄存器地址OUTDX,ALMOVDX,port3DAC寄存器地址OUTDX,ALHLTD/A转换器的应用函数发生器只要往D/A转换器写入按规律变化的数据,即可在输出端获得正弦波、三角波、锯齿波、方波、阶梯波、梯形波等函数波形。直流电机的转速控制用不同的数值产生不同的电压,控制电机的转速其他需要用电压/电流来进行控制的场合10.3模/数(A/D)转换器用途将连续变化的模拟信号转换为数字信号,以便于计算机进行处理。常用于数据采集系统或数字化声音。采样:把时间连续变化的信号变换为时间离散的信号。保持:保持采样信号,使有充分时间转换为数字信号。量化:把采样保持电路的输出信号用单位量化电压的整数倍表示。编码:把量化的结果用二进制代码表示。A/D转换的一般步骤uI(t)C量化编码电路Dn-1D1D0…uI(t)S采样保持电路输入模拟量输出数字量1)采样和保持采样将一个时间上连续变化的模拟量转为时间上断续变化的(离散的)模拟量。或:把一个时间上连续变化的模拟量转换为一个脉冲串,脉冲的幅度取决于输入模拟量。保持将采样得到的模拟量值保持下来,使之等于采样控制脉冲存在的最后瞬间的采样值。目的:A/D转换期间保持采样值恒定不变。对于慢速变化的信号,可省略采样保持电路采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运放构成的跟随器三部分组成。采样控制信号S(t)=1时,T导通,Vin向Ch充电,Vc和Vout跟踪Vin变化,即对Vin采样。S(t)=0时,T截止,Vout将保持前一瞬间采样的数值不变。+-ChTVoutVin采样控制S(t)采样保持电路的波形VinS(t)Vout进行A/D转换时所用的输入电压,就是对保持下来的采样电压(每次采样结束时的输入电压)进行转换。采样周期的确定采样通常采用等时间间隔采样。采样频率fs不能低于2fimax(fimax为输入信号Vin的最高次谐波分量的频率);fs的上限受计算机的速度、存储容量、器件速度的限制。实际中一般取fs为fimax的4-5倍。2)量化和编码量化就是用基本的量化电平的个数来表示采样到模拟电压值。即把时间上离散而数值上连续的模拟量以一定的准确度变换为时间上、数值上都离散的具有标准量化级的等效数字值。(量化电平的大小取决于A/D变换器的字长)编码是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制码、BCD码或其它码来表示。10.3.1工作原理及技术指标逐次逼近型A/D转换器D/A+-Vi比较器逐次变换寄存器SAR┇┇}数字量输出时序及控制逻辑……VC原理:类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物主要技术指标精度量化间隔(分辨率)=Vmax/电平数(即满量程值)例:某8位ADC的满量程电压为5V,则其分辨率为5V/255=19.6mV量化误差:用数字(离散)量表示连续量时,由于数字量字长有限而无法精确地表示连续量所造成的误差。(字长越长,精度越高)绝对量化误差=量化间隔/2=(满量程电压/(2n-1))/2相对量化误差=1/2*1/量化电平数目*100%例:满量程电压=10V,A/D变换器位数=10位,则绝对量化误差≈10/211=4.88mV相对量化误差≈1/211*100%=0.049%主要技术指标(续)转换时间转换一次需要的时间。精度越高(字长越长),转换速度越慢。输入动态范围允许转换的电压的范围。如0~5V、-5V~+5V、0~10V等。典型的A/D转换器简介ADC08098通道(8路)输入8位字长逐位逼近型转换时间100μs内置三态输出缓冲器引脚功能D7~D0:输出数据线(三态)IN0~IN7:8通道(路)模拟输入ADDA、ADDB、ADDC:通道地址(通道选择)ALE:通道地址锁存START:启动转换EOC:转换结束,可用于查询或作为中断申请OE:输出允许(打开输出三态门)CLK:时钟输入(10KHz~1.2MHz)VREF(+)、VREF(-):基准参考电压ADC0809内部结构STARTEOCCLKOED7D0VREF(+)VREF(-)ADDCADDBADDAALEIN0IN7比较器8路模拟开关树状开关电阻网络三态输出锁存器时序与控制地址锁存及译码D/A8个模拟输入通道8选1逐位逼近寄存器SAR工作时序启动地址锁存ADDAADDCALE/STARTEOCOED0D7~~转换时间①②③④⑤ADC0809的工作过程送通道地址,以选择要转换的模拟输入;锁存通道地址到内部地址锁存器;启动A/D变换;判断转换是否结束;读转换结果ADC0809与系统的连接模拟输入端INi单路输入模拟信号可连接到任何一个输入端;地址线可根据输入固定连接;也可以由CPU给一个固定地址。多路输入模拟信号按顺序分别连接到输入端;要转换哪一路输入,就将其编号送到地址线上(动态选择)。单路输入时ADDCADDBADDAIN4ADC0809输入多路输入时ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入0输入1输入2输入3输入4CPU指定通道号+5V地址线ADDA-ADDC多路输入时,地址线不能固定连接到+5V或地线,而是要通过一个接口芯片与数据总线连接。接口芯片可以选用:锁存器74LS273,74LS373等(要占用一个I/O地址)可编程并行接口8255(要占用四个I/O地址)CPU用一条OUT指令把通道地址通过接口芯片送给ADC0809ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入DB74LS273Q2Q1Q0CP来自I/O译码D0-D7ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809DB8255PB2PB1PB0CS#来自I/O译码D0-D7A1A0A1A0用锁存器