第9章第9章人机交互设备接口学习目标:◆熟练掌握LED数码管、LCD显示器和CRT显示器的工作原理及其接口设计技术;◆掌握键盘、打印机接口技术,了解多媒体接口技术;◆理解鼠标、数码相机、触摸屏及图像扫描仪等输入接口;第9章人机交互设备接口本章目录:9.1键盘及其接口9.2显示器及其接口9.3打印机及其接口9.4多媒体技术及其接口9.5其它常用人-机输入接口习题与思考题9.1键盘及其接口键盘分外壳、按键和电路板三部分。按键开关按结构分为有触点式和无触点式两大类。有触点式按键开关有:机械式开关、薄膜开关、导电橡胶式开关和磁簧式开关等;无触点式按键开关有:电容式开关、电磁感应式开关和磁场效应式开关等。9.1.1键盘的工作原理9.1.2PC系列键盘及其接口电路9.1.1键盘的工作原理按键码的识别方式,键盘分为编码键盘和非编码键盘。编码键盘主要依靠硬件电路完成扫描、编码和传送,直接提供与按键相对应的编码信息,其特点是响应速度快,但硬件结构复杂。非编码键盘的扫描、编码和传送则由硬件和软件共同完成,其响应速度不如编码键盘快,但可以通过软件对键盘的某些按键重新定义,为扩充键盘功能提供了较大方便。常用非编码键盘有线性键盘和矩阵键盘。线性键盘线性键盘主要适用于小键盘,其按键不多,而每个按键均有一条输入线送到计算机接口上,如有n个按键,则有n条输入线。4键线性键盘示意图矩阵键盘矩阵键盘的按键按行列排放。如有i行j列,则可排列i×j个按键,但送往计算机的输入线共i+j条。20键矩阵键盘原理图键码识别键码识别主要指矩阵结构的键盘,主要的键码识别方法有:行扫描法、行列反转法和行列扫描法等。1.行扫描法键盘上的各键组合为一个二维矩阵形式,某一键所在的行列号即为此键的编码。判断某键是否闭合的原理为:首先向所有行输出低电平,如无任何键闭合,则+5V电平经电阻通向所有列线,因而所有列线应输出高电平。如果某一键按下闭合,则该键所在列与低电平短路,因而该列变为低电平。此时读列线即可判断有无键按下。进而通过行列号识别哪一个键被按下,从而查找到该键的键码。行扫描法键码识别示意图具体的识别方法向第0行输出低电平,其余各行输出高电平,然后读入所有列线的电平值。如果某列线为低电平,表示第0行和该列相交位置上的键被按下。如果列线全为高电平,说明第0行没有键按下。向第1行输出低电平,其余行输出高电平,如果读入的列线仍然全是高电平,说明第1行也无键按下,应继续检查第2行。依次类推。直到发现某一列变为低电平,即某键按下,则退出扫描。根据行号和列号识别闭合的是哪一个键,输出相应键码。也就是说由行号和列号作为该键的键码。这种由行列位置表示的键码称为行列码或位置扫描码,也称为键盘扫描码。2.行列反转法先向所有行线输出低电平,同时读入列线。如果有键按下,则该键所在的列线应为低电平,其余的列线为高电平。由此确定该键的列号。然后将行和列进行交换,向所有列线输出低电平,读行线,同样可确定该键的行号。有行号和列号就可以确定该键的位置和编码。行列反转法键码识别示意图8×8键键盘,使用8255A的PA口和PB口分别作为行线和列线的输入输出接口。首先设置PA口为输出,PB口为输入。向PA口输出低电平,读PB口。若PB口全为高电平,说明无键按下。若PB口中某一根线为低电平,如PB3,表示第3列有键按下。然后设置PA口为输入,PB口为输出。向PB口输出低电平,读PA口,同样可确定该键的行号。比如PA4为低电平,则说明按下的键在第4行。于是可以确定行号和列号,即可识别键码。3.行列扫描法行列扫描法是PC机键盘使用的主要键码识别方法,硬件结构与行扫描法类似。其工作原理如下:通过译码器向每一行依次输出低电平,其余各行为高电平。每扫描一行,读一次列线,如果列线全为高电平,说明该行没有键按下;如果某一列为低电平,说明有键按下,如此行号和列号都已确定。行扫描完成后,依次向每一列输出低电平,读行线,同样可确定行号和列号。将两次所得的行号和列号进行对比,如相同,则认为该键码正确无误,即获得该闭合键的行列扫描码。抖动和重键抖动问题:在一个键按下和释放的一瞬间,从微观上看,按键开关是在闭合和断开位置间跳动几次才能达到稳定状态。在电路上,按键按下闭合到释放表现为一个负的(或正的)矩形脉冲。抖动的存在使脉冲的开头和尾部出现一些毛齿波。毛齿波持续的时间一般小于10ms,如不加处理,可能被误判按键几次。重键问题:指由于误操作,两个或两个以上的键同时被按下闭合,此时键位扫描中会出现错误的行列值。消除抖动消除抖动的方法主要有两种:硬件方法采用RC滤波电路消除抖动的波形。软件方法通过延时一定时间,等信号稳定后再去识别键码。其方法如下:当检查到有键按下后延时约10ms,再检查是否有键按下。如果第二次检查不到按键,说明前次检查为抖动;如果第二次检查检查到按键,说明信号已稳定,为有效按键,可以读取其键码。等按键释放后重新进行处理。重键处理重键处理的主要方法:连锁法是不停地扫描键盘,重键期间不作识别,仅承认最后一个闭合键。顺序法是在识别某闭合键后保持不动,直到该键释放后再去识别其它按键。9.1.2PC系列键盘及其接口电路PC系列键盘从早期PC/XT使用的83键发展到现在的101/102键、104键、107键等,新的功能不断扩充,以适应高档微处理器和操作系统的要求。1.PC系列键盘工作原理PC系列键盘内部都有一个微处理器,键盘在其控制下实现闭合键扫描、键码识别,并实现与PC微机的通信PC/XT键盘工作原理示意图PC/XT键盘采用的是16×8矩阵结构,其核心为单片机Intel8048,不仅承担键码扫描与识别,而且负责与主机通信。首先,8048对键盘矩阵进行扫描,获取按键的扫描码,存入扫描码缓冲器。在主机允许键盘输入时,扫描码经I/O串行口送往主机的键盘接口。然后由8255A向CPU申请中断,CPU响应中断后由键盘中断服务程序将键盘扫描码转换成ASCII码或扩充码,与扫描码一起存入键盘缓冲区,供主机系统和用户应用程序使用。PC/XT键盘扫描电路2.PC系列键盘接口电路键盘接口主要完成以下功能:串行接收键盘送来的接通扫描码和断开扫描码,转换为并行数据并暂存起来,向主机发出中断请求信号。主机响应中断读取扫描码并转换成相应的ASCII码,存入键盘缓冲区。对控制键则做相应的处理。接口接收主机发送的命令并传送给键盘。PC/XT键盘接口电路3.键盘接口编程举例在PC/XT的BIOS中,与键盘输入相关的中断有类型09H的硬件中断和软件中断INT16H。在DOS操作系统的INT21H也提供键盘操作的常用功能。┇INAL,60H;读8255的A口PUSHAX;保存AL中的扫描码INAL,61H;读PB口原输出状态MOVAH,ALORAL,80H;置PB7为“1”OUT61H,AL;清除LS322和中断触发器XCHGAH,AL;PB口的原输出值;由AH转到ALOUT61H,AL;输出原状态PB7=1,;PB6=1的值,允许再接收POPAX;弹出AL中的扫描码MOVAH,AL;放入AH┇(1)INT09H中断服务程序中扫描码的读取部分检测键盘缓冲区是否有字符,如有,将其ASCII码和扫描码读入┇CHECK:MOVAH,1;置1号功能INT16H;执行中断JZCHECK;ZF=1,继续检测MOVAH,0;ZF=0,置0号功能INT16H┇(2)软件中断INT16H9.2显示器及其接口9.2.1LED显示器及其接口9.2.2LCD显示器及其接口9.2.3CRT显示器及其接口9.2.1LED显示器及其接口LED即发光二极管,是一种注入式电致发光半导体器件,它由P型和N型半导体组合而成,能够把电能转变为光能。常用的LED有单LED显示管、数码管和点阵显示器等。1.LED数码管的结构与原理LED数码管的结构七段数码管实际共八段:a、b、c、d、e、f、g共七段用来显示十进制或十六进制数字与一些字符;另一段DP用来显示小数点。LED有两种接法:各个发光二极管的阳极接在一起的称为共阳极显示器;阴极连在一起的称为共阴极显示器。对于共阳极显示器而言,发光的相应段须接低电平才能有效,而共阴极则相反,发光的相应段须接高电平。共阴极LED显示器段码2.LED数码管显示器的接口与编程LED的显示驱动方式:1、静态显示驱动2、动态显示驱动静态驱动加直流信号,动态驱动加交流信号。由于直流驱动会减少LCD的寿命,因此一般用交流信号动态驱动。LED静态显示静态显示,就是指当前显示器显示某个字符时,该显示器相应的发光二极管恒定地导通或截止,直到送入新的显示码为止。此种显示方式的每一位数字都需要一个8位触发器来驱动。静态显示时,较小的电流即可得到较高的亮度,故可由8255的输出口直接驱动。静态连接的缺点是I/O口利用效率低,一般适用于显示器位数较少的场合。LED静态驱动电路LED动态显示动态显示,是指按位轮流点亮各位显示器。或者说,接口电路对各位显示器轮流进行扫描,每隔一定时间点亮一次。此种情况下,显示器的亮度不仅与导通电流有关,还与点亮时间与断开时间有关。当显示器不多于8个时,用于控制显示器公共极电位的扫描口只须一个8位I/O口即可。而控制显示器各段字型的段数据口也只须一个8位I/O口。LED动态驱动电路例9.1根据图所示的静态驱动电路编程循环显示0~F字符(设LED为共阴极连接)。DATASEGMENTL_CODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,DB7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETL_CODE;BX指向七段显示码表L0:MOVCX,10H;显示16个字符MOVAL,0;显示初值L1:PUSHAXXLATL_CODE;取显示码OUTPORT,AL;输出显示MOVDX,0FFFFHDELAY:DECDXJNZDELAY;延时POPAXINCAL;指向下一个字符LOOPL1;循环JMPL0CODEENDSENDSTARTLED静态驱动电路显示程序9.2.2LCD显示器及其接口LCD是一种被动式显示器,由于其功耗低、体积小、重量轻、低辐射、抗干扰能力强等特点,因而得到广泛应用并迅速发展。1.LCD的分类目前应用较多的LCD主要分为三大类:扭曲向列型LCD(TN-LCD);超扭曲向列型(STN-LCD);有源阵列型LCD(AM-LCD)。前两种也统称为无源矩阵LCD,即PM-LCD。2.LCD的原理与结构LCD是利用晶体材料的电光效应制作的一种被动式显示器。液晶本身并不发光,依靠电信号的控制使周围环境光在显示部位反射或透射而得以显示。液晶显示器结构3.LCD显示器的接口常用的LCD驱动器芯片有段式驱动、点阵式驱动等。MOTOROLA公司生产的MC14543是常用的七段码LCD锁存/译码/驱动电路。而PCF8566则是一种串行送数的通用LCD驱动芯片。MC14543与LCD的接口只要在LD锁存禁止端加高电平,BI熄灭端加低电平,ph端输入方波,A、B、C、D端输入BCD码,则其输出端就会输出相应的与ph同相或反相的方波,从而驱动对应的液晶段亮或暗,显示出数字或字符。9.2.3CRT显示器及其接口CRT(CathodeRayTube,阴极射线管)显示器按显示原理分为:荫罩式CRT和电压穿透式CRT按显示色彩分为:单色显示器和彩色显示器计算机的显示系统包括显示器及其显示适配器两部分。1.CRT显示器的结构和原理当前使用的CRT显示器主要是彩色显示器,包括阴极射线管和控制电路两部分。显像管的功能:将电信号转换为光信号,将数据信号转换成光信号显示在荧光屏上,从而完成字符或图像的显示。彩色CRT组成原理示意图基本工作原理CRT加电以后,阴极被灯丝加热发出三支平行的电子束。电子束中大量的电子经加速极和阳极的吸引后加速离开阴极,经过加速极、聚焦极和阳极等组成的电子透镜的聚焦后形成