您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第7章_人机交互设备接口
浙江工业大学计算机学院1内容回顾并口基本概念并行传输与串行传输的概念与特点。并口的分类:基本并口电路、可编程并口电路。8255A可编程并行接口内部结构、外部引脚。8255A编程:方式选择控制字、C口置位/复位控制字。8255A工作方式:方式0、1、2。PC机中的并口应用PC/XT机:单片8255A,地址60~63H。PC/AT机:集成,地址和功能与PC/XT相同。23第七章人机交互设备接口显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口5(1)键盘分类①根据按键开关的结构:▲有触点式:机械式、弹簧式等。手感差、易磨损。▲无触点式:电容式、电感式。手感好、寿命长。②根据键盘插口形式:大口、小口、USB口。47.1键盘接口③根据键盘的编码方式:▲编码键盘由硬件电路完成扫描、编码和传送,直接提供与按键相对应的编码信息,并完成去抖、防串键等功能。特点:响应速度快,但硬件结构复杂,价格较贵。▲非编码键盘键盘的扫描、编码和传送由软、硬件共同完成。响应速度不如编码键盘快,但可通过修改软件重新定义按键,在需要扩充键盘功能时非常方便。5目前主要使用非编码键盘。(2)键盘的工作原理(非编码键盘)①线性键盘▲适用于按键较少的专用键盘,每个按键都有一条数据线送到计算机接口。▲缺点:按键较多时,数据线也增多,增加成本。6D0D1D2D3+5V键0键1键2键3②矩阵键盘▲按键按照行列排放。优点:节省输入线。▲缺点:需要采用特殊的方法(行扫描法、行列反转法、行列扫描法)进行按键识别。7(1)判断有无键按下▲CPU首先向所有的行输出低电平,若无键按下,则所有列线为高。若有键按下,则该键所在的列线因与行线相连而变为低电平。▲CPU此时读取列线的值即可判断是否有键按下。(2)判断是哪个键按下(行扫描法)▲先向第0行输出低电平,其余行输出高电平,然后读取所有列线的值。若某一列为低,则说明0行与该列交叉位置的键被按下,扫描成功即可退出。若列线全为高,说明本行无键按下,则继续扫描下一行。依次类推,直到找到按键的位置后退出扫描。▲确定了行号和列号,可形成键盘扫描码。8行扫描法【例7-1】如图的矩阵键盘,其行线接8255AA口的低4位,列线接B口的低4位。A、B口均为方式0,A口输出,B口输入。试采用行扫描法编程读取键盘码。910Start:MOVAL,82H;设置8255A的工作方式OUT83H,AL;判别是否有键按下MOVAL,00H;给A口输出00HOUT80H,ALWait1:INAL,81H;读入B口的值ANDAL,0FH;取低4位CMPAL,0FH;比较JZWait1;全1则无键按下,继续等待CALLDELAY;延时,消除抖动INAL,81H;再次读B口,测试有无低电平ANDAL,0FHCMPAL,0FHJZWAIT1;全1则是干扰,继续等待11;判断哪个键按下MOVCL,4;设置计数初值MOVAL,0FEH;使A0=0,准备扫描第一行Check:OUT80H,ALMOVAH,AL;保存行扫描码INAL,81H;读B口ANDAL,0FH;取低4位CMPAL,0FH;比较JNZTable;有键按下,转键值处理子程序MOVAL,AH;无键按下,则修改行扫描码ROLAL,1;循环左移1位DECCL;行数减1JNZCheck;未扫描完4行,则继续JMPSTART;重新扫描12Table:CALLKeyValue;AH=行扫描码,AL=列扫描码MOVAL,00;等待按键释放OUT80H,ALWait2:INAL,81H;读B口ANDAL,0FH;取低4位CMPAL,0FH;比较JNZWait2;按键未释放,则继续等待……;后续处理KeyValueProcCMPAX,0FE0EH;是否为0行0列扫描码JZL0;0行0列按键时的分支处理CMPAX,0FE0DH;是否为0行1列扫描码JZL1;0行1列按键时的分支处理.....;依次对16个按键分别判断RETKeyValueENDP▲首先向所有的行输出低电平,然后读入列线。若有键按下,则该键所在的列线为低电平,其它列线为高电平。由此可获得列号。▲然后向所有列线输出低电平,读取行线,以同样的方法确定按键的行号。▲通过行号和列号确定按键的位置和编码。13行列反转法(1)行扫描▲依次向行线输出低电平,其余各行为高电平。每扫描一行,读取一次列线,若列线全为高电平,则没有键按下,若有一列为低电平,则有键按下,获取按键的行号和列号,行扫描完成。(2)列扫描▲依次向列线输出低电平,然后读取行线值,再次获得按键的行号和列号。(3)扫描码比较▲两次获得行号和列号相同,则键码正确,即获得按键的行列扫描码。14行列扫描法(1)去抖▲现象:按键时,按键开关会在闭合和断开间跳动几次最后达到稳定状态,脉冲出现毛刺,持续时间小于10ms。▲后果:误判为多次按键。▲方法:硬件上,可采用RC滤波电路消除抖动波形。软件上,可延时一段时间,等信号稳定后再次读取识别码。(2)重键▲由于误操作,同时按下2个或多个键。▲连锁法:不停地扫描键盘,仅承认最后一个闭合键。▲顺序法:识别到一个闭合键后,直到该键释放后再去识别其它按键。15去抖与重键问题16内容概要显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口5键盘的分类键盘的工作原理(1)鼠标的工作原理▲将鼠标在平面移动时产生的位移和方向信息转换为屏幕上光标的坐标位置。(2)鼠标的分类▲2键式、3键式。▲机械式、光电式等。▲有线式、无线式。▲并口、串口、PS/2口、USB口等。177.2鼠标接口(3)鼠标的接口①MS串口通过9针或25针DB头与计算机连接,连到主机的COM1或COM2口,采用RS-232C标准通信。18只用到:1.RTS请求发送2.TXD发送数据3.DTR设备就绪4.GND信号地②PS/2串口▲通过6针的微型头与计算机连接。▲与MS串口鼠标的逻辑电平标准不同。MS串口鼠标使用RS-232C标准,为负逻辑:“1”为-3V~-15V;“0”为+3V~+15V。PS/2鼠标为TTL电平:“1”为+5V,“0”为0V。191:数据信号2:空3:GND4:Vcc/+5V5:时钟信号6:空③总线鼠标接口▲9针并口,与插槽中的扩展卡连接。目前很少使用。④USB鼠标接口▲广泛使用,支持热插拔。20(4)鼠标接口的编程▲仅向PC机单向传输数据,没有端口地址,所有功能都由INT33H功能来实现。▲INT33H的功能号为03H(存放在AX中)时,可获取鼠标指针的按键状态和指针位置。返回的信息:BX=按键状态。位0(左键是否按下:按下为1,未按下为0)位1(右键是否按下:按下为1,未按下为0)位2(中键是否按下:按下为1,未按下为0)CX=水平坐标,单位:像素。DX=垂直坐标,单位:像素。21【例7-2】单步执行下列程序,当进行鼠标操作时,BX、CX和DX会返回相应的操作信息。22LL:MOVAX,03HINT33HJMPLL23内容概要显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口5鼠标的工作原理鼠标的分类鼠标的接口鼠标接口的编程主要用于显示信息,由LED发光二极管组成。常用的LED显示系统有单个LED显示管、LED数码管和LED点阵显示器等,工作原理类似。(1)LED显示器结构247.3LED接口abcdefgDPabcdefgDP七段数码管:a~g段用来显示10进制或16进制数字和字符,DP段用来显示小数点。举例二极管导通,相应的段即发光。控制不同组合的段发光,就可显示各种数字和字符。控制各发光段上的代码为段码;控制某个数码管的码为位码。LED电路的2种接法25RRRRRRRabcdefgDPR+5VRRRRRRRabcdefgDPR共阳极:阳极共接+5V。发光段阴极接低电平才能导通发光。共阴极:阳极共接地。发光段阳极接高电平才能导通发光。(2)LED显示器接口的编程静态驱动(直流驱动)▲当显示某字符时,对应的二极管恒定的导通或截止。▲每位数字均需一个8位的触发器来驱动。▲缺点:I/O接口利用率低,一般用于显示位数较少的场合。268255PA0PA7PB0PB7+5VaDPaDP【例7-3】根据上图的LED静态驱动电路,编写程序显示字符00~0F。设8255的地址范围为40H~43H。27DATASEGMENTL_CODEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,10000000B;A、B口输出,方式0OUT43H,AL;写8255控制字28MOVBX,OFFSETL_CODEMOVCX,10HMOVSI,0L1:MOVAL,3FHOUT40H,AL;向A口送0的LED段码MOVAL,[BX][SI]OUT41H,AL;向B口送0~F的段码INCSILOOPL1CODEENDSENDSTART动态驱动▲指按位轮流点亮各位显示器。只要扫描的频率合适,就能得到稳定的显示。▲只有与B口相连的公共端为低电平时,与A口相连的段码才能显示。▲优点:位数较多时,通常采用动态显示法。298255PA0PA7+5V740730内容概要显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口5LED电路的结构:共阴/共阳LED接口的编程:静态/动态CRT显示器(阴极射线管):便宜、耐用;体积大、耗能。LCD(液晶):体积小、重量轻、耗电少;成本高。完整的显示系统由主机、显示控制适配器(显卡)和显示器组成。显卡控制显示器显示字符和图形,PC机对屏幕的任何操作都要通过显卡来实现。317.4显示器接口主机显示控制适配器(显卡)(显示接口)显示器(监视器)(1)显示器的工作原理CRT显示器3233LCD显示器液晶是具有规则性分子排列的有机化合物,分子按一定方向整齐排列。当有电流通过或电场改变时,晶体会改变排列方式从而产生透光度的差别。按此原理控制每个像素,便可构成所需图像。34(2)显示器接口(显卡)35显存:存放要显示的信息,包含字符码和属性。存储速率快。容量越大,显示效果越好。字符发生器:存储字母和常用数字符号的字模。当收到一个ASCII码时,字符发生器会从字模库中取出字模数据,转换为电信号发给显示器。图形产生器:将常用的绘图功能如画点、线、圆、面、多边形等直接集成在图形加速芯片上,从而减轻CPU的绘图运算负担,加快显示速度。控制电路:发出控制信号,控制显示器上亮点的位置和颜色。36与主机接口(总线接口):早期使用ISA、PCI,现在普遍使用AGP,传输速度快。显示器接口:有VGA模拟接口(15Pin)和DVI数字视频接口。DVI接口将显卡产生的数字信号原封不动地传输给显示器,从而避免了数/模转换过程和模拟传输过程中的信号损失。3738内容概要显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口5显示器的工作原理显示器接口(1)打印机的组成与分类组成:由控制电路和执行机构2部分组成。控制电路又包括CPU、端口、存储器、锁存器、驱动电路。分类397.5打印机接口打印机类型打印方式打印速度针式打印机击打式慢激光打印机非击打式快喷墨打印机非击打式较快(2)打印机接口标准通常采用36芯的Centronics并行接口标准。40Centronics并口的时序41①当打印机不忙时BUSY=0,主机向打印机输出数据。②数据稳定后,主机发选通信号STORBE;其下降沿将数据存入打印机内部的输入寄存器。③打印机收到数据后,STORBE上升沿将BUSY位置忙,打印机暂不接收新数据。④打印机处理完毕后返回ACK信号,撤消BUSY忙,可以接收新的数据。打印机与主机连接时,打印机一端是36芯D型头,主机一端是25芯D型头。42(3)打印机
本文标题:第7章_人机交互设备接口
链接地址:https://www.777doc.com/doc-1314322 .html