《微机可编程IO接口.ppt》由会员分享,可在线阅读,更多相关《微机可编程IO接口.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章第七章第七章第七章 并行并行并行并行I/OI/OI/OI/O接口接口接口接口 与可编程并行接口与可编程并行接口与可编程并行接口与可编程并行接口陆尧胜陆尧胜陆尧胜陆尧胜 谢军谢军谢军谢军 主讲主讲主讲主讲暨南大学信息科学技术学院电子工程系暨南大学信息科学技术学院电子工程系暨南大学信息科学技术学院电子工程系暨南大学信息科学技术学院电子工程系微机系统与接口微机系统与接口1微机系统与接口 第八章第八章并行并行I/O接口与可接口与可编程并行接口编程并行接口n可编程接口概术可编程接口概术n可编程并行输入输可编程并行输入输出接口芯片出接口芯片8255An可编程定时计数器可编程定时计数器接口芯片接口芯片
2、8253 2微机系统与接口 n 可编程接口概术可编程接口概术 一个简单的具有输入功能和输出功能的可编程一个简单的具有输入功能和输出功能的可编程接口接口电路(如下图),包括:电路(如下图),包括:1)一个输入接口,其组成主要是八位的三态门;)一个输入接口,其组成主要是八位的三态门;2)一个输出接口,其组成主要是八位的锁存器;)一个输出接口,其组成主要是八位的锁存器;3)另外还有八位的多路转换开关及控制这个开关)另外还有八位的多路转换开关及控制这个开关的寄存器的寄存器FF。3微机系统与接口 可编程接口电路示意图可编程接口电路示意图:4微机系统与接口 -用户对寄存器用户对寄存器FF写入的内容称为命令
3、字或方写入的内容称为命令字或方式控制字;式控制字;-寄存器寄存器FF称为命令寄存器,相应的端口称为称为命令寄存器,相应的端口称为命令端口或控制端口;命令端口或控制端口;-对可编程芯片初始化过程实际上就是对芯片对可编程芯片初始化过程实际上就是对芯片的控制端口写入各种命令字的操作过程。的控制端口写入各种命令字的操作过程。(思考:如何构造一个(思考:如何构造一个16-BIT 接口电路?)接口电路?)可编程接口的初始化可编程接口的初始化5微机系统与接口 n8255A并行并行I/O接口接口n8253计数器计数器/定时器定时器n8259A中断控制器中断控制器(第九章)n8251串行通讯控制器串行通讯控制器
4、(第十章)常用的可编程芯片常用的可编程芯片:6微机系统与接口 可编程并行输入输出接口可编程并行输入输出接口 -i-i8255A一、接口功能一、接口功能:8255A是是一一种种通通用用的的可可编编程程并并行行IO接接口口芯芯片片,广广泛泛用用于于几几乎乎所所有有系系列列的的微微型型机机系系统统中,如中,如8086、MC-S51、Z80-CPU系统等。系统等。8255A具具有有3个个带带锁锁存存或或缓缓冲冲的的数数据据端端口口,可可与与外外设设并并行行进进行行数数据据交交换换。用用户户可可用用程程序序来来选择多种操作方式。选择多种操作方式。通通用用性性强强、使使用用灵灵活活,可可为为CPU与与外外
5、设设之之间提供并行输入输出通道。间提供并行输入输出通道。7微机系统与接口 A组控制(寄存器)数据总线缓冲器读/写控制逻辑B组控制(寄存器)A组A口(8位)A组C口高位(4位)B组C口低位(4位)B组B口(8位)D0D7RDWRA1A0RESETCSPA0PA7PC4PC7PC0PC3PB0PB7二、二、8255A8255A的内部结构的内部结构:8微机系统与接口 二、二、8255A8255A的内部结构的内部结构:9微机系统与接口 RDRD:读信号,低电平有效。:读信号,低电平有效。WRWR:写信号,低电平有效。:写信号,低电平有效。RESETRESET:复位信号,高电平:复位信号,高电平有效。它
6、清除控制寄存器有效。它清除控制寄存器并将并将8255A8255A的的A A、B B、C C三个三个端口均置为输入方式;输端口均置为输入方式;输入寄存器和状态寄存器被入寄存器和状态寄存器被复位,并且屏蔽中断请求;复位,并且屏蔽中断请求;2424条面向外设信号线呈现条面向外设信号线呈现高阻悬浮状态。高阻悬浮状态。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB7PB5PB4PB3PB8D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1
7、A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A三、三、8255A8255A的管脚的管脚:10微机系统与接口 8255A 8255A的管脚说明的管脚说明:1、与外设连接的管脚、与外设连接的管脚 8255A 8255A有三个数据端口,每个端口是有三个数据端口,每个端口是8 8位的,与外设相连位的,与外设相连接的管脚共有接的管脚共有2424位。其中:位。其中:A A口有口有PAPA7 7PAPA0 0八个八个I/OI/O引脚,引脚,B B口有口有PBPB7 7PBPB0 0八个八个I/OI/O引引脚,脚,C C口有口有PCPC7 7PCPC0 0八个八个I/OI/O
8、引脚。引脚。特别地,特别地,PCPC7 7PCPC0 0,其中可有若干根复用线可用于,其中可有若干根复用线可用于“联联络络”信号或状态信号,其具体定义与端口的工作方式有信号或状态信号,其具体定义与端口的工作方式有关。关。11微机系统与接口 2、与、与CPU连接的管脚连接的管脚 -数据线数据线D D7 7DD0 0 -读写控制线读写控制线 -复位线复位线RESETRESET -片选信号片选信号 -端口地址控制线端口地址控制线A A0 0和和A A1 1。12微机系统与接口 3、电源线和地线、电源线和地线 8255A8255A的电源引脚为的电源引脚为V VCCCC和和GNDGND:V VCCCC为
9、电源线,一般取为电源线,一般取5V 5V。GNDGND为电源地线。为电源地线。13微机系统与接口 8255A的工作方式及编程的工作方式及编程1、8255A的工作方式的工作方式8255A8255A有三种工作方式,它们是:有三种工作方式,它们是:方式方式0 0基本输入输出方式;基本输入输出方式;方式方式1 1选通输入输出方式;选通输入输出方式;方式方式2 2双向传送方式。双向传送方式。Mode0/mode1/mode3问题:与信息传递方式的对照?问题:与信息传递方式的对照?14微机系统与接口 2、8255A编程编程 所谓所谓8255A8255A编程,就是用户在使用编程,就是用户在使用8255825
10、5前,用软件(前,用软件(/程序程序/指令)来定义端口指令)来定义端口的工作方式,重组硬件结构,选择所需的工作方式,重组硬件结构,选择所需要的功能。要的功能。15微机系统与接口 1.8255A8255A的方式命令字的方式命令字作用作用:指定指定8255A8255A的工作方式及该方式下的工作方式及该方式下3 3个并行个并行端口(端口(PAPA、PBPB、PCPC)的功能,是作输入还是作输出。)的功能,是作输入还是作输出。格式:格式:8 8位,其中最高位是特征位,一定要写位,其中最高位是特征位,一定要写1 1,其,其余各位定义如下,应根据用户的设计要求填写余各位定义如下,应根据用户的设计要求填写1
11、 1或或0 0。1D6D5D4D3D2D1D0特征位A组方式00=0方式01=1方式10=2方式11=不用PA0=输出1=输入PC470=输出1=输入B组方式0=0方式1=1方式PB0=输出1=输入PC030=输出1=输入16微机系统与接口 例例1 1:要把要把A A口指定为口指定为1 1方式,输入,方式,输入,C C口上半部为口上半部为输出;输出;B B组指定为组指定为0 0方式,输出,方式,输出,C C口下半部定口下半部定为输入,则工作方式命令字(代码)是:为输入,则工作方式命令字(代码)是:10110001B10110001B或或B1HB1H。若将此命令代码写到若将此命令代码写到8255
12、A8255A的命令寄存器,即实现的命令寄存器,即实现了对了对8255A8255A工作方式及端口功能的指定,或者说完成了工作方式及端口功能的指定,或者说完成了对对8255A8255A的初始化。初始化的程序段为:的初始化。初始化的程序段为:MOVDX,303H;8255A命令口地址命令口地址MOVAL,0B1H;初始化命令;初始化命令OUTDX,AL;送到命令口;送到命令口17微机系统与接口 2.2.按位置位按位置位/复位命令复位命令作用:作用:指定指定PC口的某一位(某一个引脚)输出高平或低口的某一位(某一个引脚)输出高平或低电平电平。(位操作,只限于。(位操作,只限于C C口)口)格式:格式:
13、8 8位,其中最高位是特征位,一定要写位,其中最高位是特征位,一定要写0 0,其余各,其余各位的定义如下,应根据用户的设计要求填写位的定义如下,应根据用户的设计要求填写1 1或或0.0.0D6D5D4D3D2D1D0特征位 不 用(一般写0)位 选 择000=C口0位001=C口1位111=C口7位1=置位(高电平)0=复位(低电平)18微机系统与接口 例例2 2:若要把若要把C C口的口的PCPC2 2引脚置成高电平输出,则命令字应引脚置成高电平输出,则命令字应该为该为00000101B00000101B或或05H05H。将该命令的代码写入将该命令的代码写入8255A8255A的命令寄存器,
14、就会使的命令寄存器,就会使得从得从PCPC口的口的PCPC2 2引脚输出高电平,其程序段为:引脚输出高电平,其程序段为:MOVDX,303H;8255A命令口地址命令口地址MOVAL,05H;使;使PC2=1的命令字的命令字OUTDX,AL;送到命令口;送到命令口 如果要使引脚如果要使引脚PC2PC2输出低电位,则程序段为:输出低电位,则程序段为:MOVDX,303H;8255A命令口地址命令口地址MOVAL,04H;使;使PC2=0的命令字的命令字OUTDX,AL ;送到命令口;送到命令口19微机系统与接口 例例3 3:利用利用8255A8255A的的PCPC7 7产生负脉冲,作打印机接口电
15、路的产生负脉冲,作打印机接口电路的数据选通信号,其初始化程序段为:数据选通信号,其初始化程序段为:MOV DX MOV DX,303H 303H ;8255A8255A命令口命令口 MOV AL MOV AL,00001110B 00001110B ;置;置PCPC7 7=0=0 OUT DX OUT DX,ALAL NOP NOP ;维持低电平,延时;维持低电平,延时 NOP NOP MOV AL MOV AL,00001111B 00001111B ;置;置PCPC7 7=1=1 OUT DX OUT DX,ALAL 利用利用C C口的按位控制特性可产生脉冲或方波输出,对外口的按位控制特性
16、可产生脉冲或方波输出,对外设进行控制。设进行控制。(思考题:如何同时在(思考题:如何同时在PCPC4 4和和PCPC7 7产生脉冲波?)产生脉冲波?)20微机系统与接口 3.A 3.A口和口和B B口的口的“位操作位操作”A口、B口也可以按位输出高低电平,但是,它与前面的按位置位/复位命令有本质的差别,并且实现的方法也不同,是以送数据到A口、B口来实现的。其具体作法是:若要使某一位置高电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,该字节中使该位为1,其他位为0,然后再送到同一端口,即可使该位为1;同样,将读入的原输出值“与”上一个字节,该字节中使该位为0,其他位为1,然后再送
17、到同一端口,即可使该位清零。1 0 1 0 1 0 1 0OR 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1AND 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 021微机系统与接口 例例5 5:若要使若要使PA7PA7位输出高位输出高/低电平,则用下列低电平,则用下列程序段:程序段:1 1)使使PA7PA7输出高电平输出高电平.MOV DX,300H ;PA数据口地址数据口地址 IN AL,DX ;读入;读入A口原输出内容口原输出内容 MOV AH,AL ;保存原输出内容;保存原输出内容 OR AL,80H ;使;使PA7=1
18、OUT DX,AL ;输出;输出PA7 MOV AL,AH ;恢复原输出内容;恢复原输出内容 OUT DX,AL22微机系统与接口 2 2)使)使PAPA7 7输出低电平输出低电平MOV DX,300H ;A口地址IN AL,DX ;读入端口原输出值MOV AH,AL ;保存原输出值OR AL,7FH ;使PA7=0OUT DX,AL ;输出PA7 MOV AL,AH ;恢复原输出内容OUT DX,AL 23微机系统与接口 4.4.关于命令字的提示关于命令字的提示 方式命令是对方式命令是对8255A8255A的的3 3个端口的工作方式及功能进行指定,个端口的工作方式及功能进行指定,即进行初始化
19、,初始工作要在使用即进行初始化,初始工作要在使用8255A8255A之前做。之前做。按位置位按位置位/复位命令只是对复位命令只是对PCPC口的输出进行控制,使用它口的输出进行控制,使用它不破坏已经建立的不破坏已经建立的3 3种工作方式,而是对它们实现动态控种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。制的一种支持。它可放在初始化程序以后的任何地方。两个命令的最高位(两个命令的最高位(D7D7)都分配作了特征位,之所以要设)都分配作了特征位,之所以要设置特征位,是为了硬件识别两个不同的命令。置特征位,是为了硬件识别两个不同的命令。按位置位按位置位/复位的命令代码
20、只能写入命令口(易弄错)。复位的命令代码只能写入命令口(易弄错)。24微机系统与接口 五、五、8255A的三种工作方式的三种工作方式n1、8255A工作在方式工作在方式0nn例例1:8255A的的A口和口和B口工作在方式口工作在方式0,A口口为输入端口,接有四个开关。为输入端口,接有四个开关。B口为输出端,口为输出端,接有一个七段发光二极管,连接电路如图所示。接有一个七段发光二极管,连接电路如图所示。试编一程序要求七段发光二极管显示开关所拨试编一程序要求七段发光二极管显示开关所拨通的数字。通的数字。25微机系统与接口 电路LED数码管段码表(字形码)26微机系统与接口 程序段:程序段:mov
21、al,90h ;设置8255方式字mov dx,ctrl_port ;方式0,A口输入、B口输入out dx,al mov dx,a_portin al,dx ;取键盘信息and al,0fh ;屏蔽高4位mov bx,offset tab1;取段码表首地址xlat ;查表得段码mov dx,b_port ;输出显示out dx,al27微机系统与接口 应用举例nLED LED 数码管动态显示系统数码管动态显示系统n实验实验(参考参考)n作业作业28微机系统与接口 2 2、8255A工作在方式工作在方式1选通输入方式选通输入方式PC4-STBA:A口的选通信号,当其有效时,外设把数据打入A口的
22、输入缓冲器 PR5-IBFA:A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据。PC3-INTRA:A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU从A口取数 INTE:中断允许信号。INTE 29微机系统与接口 8255A工作在方式工作在方式1(输入)(输入)时时序序图图30微机系统与接口 8255A工作在方式工作在方式1(输入)(输入)当当A口已接受外设数据后,有两种方口已接受外设数据后,有两种方式通知式通知CPU取数:其一用条件查询方式,取数:其一用条件查询方式,通过查询缓冲器是否通过查询缓冲器是否“满满”,即,即IBFA是是否为高
23、电平来取数。其二用中断方式。否为高电平来取数。其二用中断方式。31微机系统与接口 在条件传送中,一般要有所谓的在条件传送中,一般要有所谓的“握握手手”信号来协调数据的传送。信号来协调数据的传送。“握手握手”信号至少要有两位信号线,其中一位是信号至少要有两位信号线,其中一位是由接口电路发给外设,功能是向外设提由接口电路发给外设,功能是向外设提供接口电路的信息。另一位是由外设发供接口电路的信息。另一位是由外设发给接口,功能是向接口提供外设的信息。给接口,功能是向接口提供外设的信息。8255A的选通输入方式中的选通输入方式中STBASTBA和和IBFA是一对是一对“握手握手”信号。信号。32微机系统
24、与接口 状态字:状态字:8255A的选通输入方式中的选通输入方式中STBASTBA和和IBFA信信号也可通过查询其状态字来获取:号也可通过查询其状态字来获取:通过读通过读C C口可获得状态字,口可获得状态字,A A组状态位占组状态位占C C口口的高的高5 5位,位,B B组的状态字占低组的状态字占低3 3位。位。从从C C口读取的状态字与口读取的状态字与C C口外部引脚完全无关。口外部引脚完全无关。33微机系统与接口 例例2:8255A8255A的的A A口和口和B B口分别工作在方式口分别工作在方式1 1和方式和方式0 0,A A口为输入端口,接有口为输入端口,接有8 8个开个开关。关。B
25、B口为输出端,接有口为输出端,接有8 8个发光二极管,个发光二极管,连接电路如图所示。现要求用方式连接电路如图所示。现要求用方式1 1把把改变后的键信息输入到改变后的键信息输入到CPUCPU并通过并通过B B口显口显示。示。34微机系统与接口 例题例题2电路图电路图35微机系统与接口 系统的工作过程:1、用户通过改变、用户通过改变K0K7,产生新的键信息;,产生新的键信息;2、按下开关、按下开关K,产生选通信号,数据进入,产生选通信号,数据进入A口的缓冲器,口的缓冲器,此步骤实际上告诉此步骤实际上告诉CPU,8255的的A口来了一个新数据;口来了一个新数据;3、IBFA有效使有效使LED点亮。
26、这里含有两个信息,一个是点亮。这里含有两个信息,一个是8255A通知通知CPU其其A口来了一个新数据,另一个是告诉用户口来了一个新数据,另一个是告诉用户CPU尚未尚未取走这个这个数据,用户不得再送其他数据;取走这个这个数据,用户不得再送其他数据;4、CPU取走这个数据,取走这个数据,LED熄灭;熄灭;5、转步骤、转步骤1。36微机系统与接口 设设8255的的I/O地地址址分分布布为为88H8EH,相相应应的的程程序序段段如下:如下:moval,10111001b;设设置置A口口为为方方式式1的输入,的输入,loop1:inal,8ch;取;取C口的状态线口的状态线testal,00100000
27、b;测试;测试IBFA信息信息jzloop1;等待用户设定新的键值;等待用户设定新的键值movcx,0ffffh;延时,;延时,LED灯亮(相对于步骤灯亮(相对于步骤3)loop2:looploop2inal,80h;取取数数。LED灯灯灭灭(相相对对于于步步骤骤4)out82h,al;更新;更新B口的显示口的显示jmploop1;重复;重复37微机系统与接口 3 3、8255A工作在方式工作在方式1选通输输出方式选通输输出方式外设回答信号。由外设发出。当其有效时,表示外设已接收数据。A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。A口的中断请求信号。当其有效时,
28、8255A的A口向CPU申请中断,要求CPU送数给A口 中断允许信号。38微机系统与接口 8255A工作在方式工作在方式1(输出)时序图(输出)时序图39微机系统与接口 当当A口已接受外设数据后,有两种方式通口已接受外设数据后,有两种方式通知知CPU取数:其一用条件查询方式,通取数:其一用条件查询方式,通过查询缓冲器是否过查询缓冲器是否“满满”,即,即IBFA是否是否为高电平来取数。其二用中断方式。为高电平来取数。其二用中断方式。40微机系统与接口 在在这这种种方方式式下下,OBFA和和ACKA是是一一对对“握握手手”信信号号。OBFA是是8255A产产生生,当当其其有有效效时时,告告诉诉外外
29、设设A口口已已有有一一个个新新数数据据。ACKA是是外外设设产产生生,当当其其有有效效时时,通知通知A口外设已把数据取走。口外设已把数据取走。41微机系统与接口 例例3:8255A的的A口口工工作作在在方方式式1的的输输出出,接接有有8个个发发光光二二极极管管,现现要要求求把把内内存存中中的的10个个数数,通通过过A口口发发送送给给发发光光二二极极管管以以二二进制的形式供用户抄录。进制的形式供用户抄录。42微机系统与接口 例题例题3电路图电路图43微机系统与接口 这个系统的工作过程如下:这个系统的工作过程如下:1、CPU把内存中的一个数据写入把内存中的一个数据写入A口;口;2、LED灯亮,告诉
30、用户灯亮,告诉用户LED显示的是新数据;显示的是新数据;3、用户抄录数据;用户抄录数据;4、用户按下开关用户按下开关K,发,发ACK信号,告诉信号,告诉CPU数数据已取走;据已取走;转第一步。转第一步。44微机系统与接口 movcx,10;送;送10个数个数movbx,offsetxx;数组指针送;数组指针送bxloop1:moval,bx;取数;取数out88h,al;送数到;送数到A口口loop2:inal,8ch;取;取C口状态线口状态线anlal,80h;测试;测试IBOAjnzloop2;用用户户尚尚未未抄抄录录数数据据,检检测测;等等待待,;此时;此时;LED灯亮(对应步骤灯亮(对
31、应步骤2)calldelay;用用户户已已抄抄录录数数据据,LED灯灯灭灭(对对;应步;应步骤骤4)incbx;准备送下一个数;准备送下一个数looploop1;循环;循环10次次45微机系统与接口 4 4、8255A工作在方式工作在方式2双向双向外设回答信号。由外设发出。当其有效时,表示外设已接收数据。A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU访问A口 中断允许信号。中断允许信号。A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据A口的选通信号,当其有效时
32、,外设把数据打入A口的输入缓冲器46微机系统与接口 如如果果设设定定某某个个8255A的的A口口和和B口口分分别别工工作作在在方方式式2和和方方式式1下下,则则这这个个8255A的的C口口的的I/O功功能能将将不不在在存存在在。当当然然如如果果B口口是是工工作作在在方方式式0下下,则则C口还有口还有3根线可作根线可作I/O线用。线用。47微机系统与接口 六、8255应用举例1、与打印机接口、与打印机接口例例4:在某一:在某一8086系统中接有一个打印机,系统中接有一个打印机,8255A作为输出接口,工作在方式作为输出接口,工作在方式0。试编。试编一程序将缓冲区一程序将缓冲区BUFF内的内的40
33、0H个字节的个字节的ACK码送打印机打印。码送打印机打印。48微机系统与接口 打印机具体工作过程如下:打印机具体工作过程如下:1、数数据据线线D7D0出出现现有有效效数据;数据;2、STB有有效效,通通知知打打印印机机,接接口口给给打打印印机机一一个个数数据据,数据从数据线进入打印机;数据从数据线进入打印机;3、BUSY有有效效,告告诉诉接接口口,打打印印机机正正在在打打印印数数据据。打打印印完完毕毕,BUSY变变为为无无效效,表示打印结束。表示打印结束。49微机系统与接口 程序段:程序段:print_dataproc;打印子程序,入口在;打印子程序,入口在dl中中print1:inal,c_
34、port;无条件读;无条件读C口数据口数据testal,00010000b;测试;测试busy线线jnzprint1;busy有效,循环测试有效,循环测试moval,dlouta_port,al;打印数据进入;打印数据进入A口口moval,00000000b;发选通信号;发选通信号outctrl_port,almoval,00000001boutctrl_port,alret;返回主程序;返回主程序print_datAendp50微机系统与接口 2、人机交互接口人机交互接口LED LED 动态显示动态显示 例例5 5、常用的显示称为动态显示,它采用扫、常用的显示称为动态显示,它采用扫描显示技术
35、,可以使硬件开销降低很多。对于描显示技术,可以使硬件开销降低很多。对于一个一个8位数据显示,它就需要两个输出端口就位数据显示,它就需要两个输出端口就可以了。其电路如图所示。在两个输出端口中,可以了。其电路如图所示。在两个输出端口中,一个称为段信号通道,它用来输出要显示数据一个称为段信号通道,它用来输出要显示数据的段码;另一个称为位信号通道,用来决定当的段码;另一个称为位信号通道,用来决定当前要显示数据的位置。前要显示数据的位置。51微机系统与接口 动态显示电路图52微机系统与接口 n显示系统的具体工作步骤如下:显示系统的具体工作步骤如下:a、设要显示的初始位码设要显示的初始位码i0;b、送第送
36、第i位的段信号;位的段信号;c、送第送第i位的位信号;位的位信号;d、延时;延时;e、i1if、如果如果i小于小于8,转,转bg、8位数据显示结束。位数据显示结束。53微机系统与接口 n程序段:程序段:a_port equ80h;定义;定义8255A的四个端口的四个端口b_port equ82hc_port equ84hctrl_portequ86hdatasegment;定义数据段;定义数据段tab1db3FH,06H,5BH,4FH,;定义段码表;定义段码表dispbuffdb2,0,0,2,0,8,2,2;定义显示缓冲区;定义显示缓冲区dataends54微机系统与接口 3、人机交互接口
37、人机交互接口键盘扫描键盘扫描 例例6 6、图所示为矩阵式键盘电路,其特点、图所示为矩阵式键盘电路,其特点是由按键组成一个矩阵,矩阵的行线和是由按键组成一个矩阵,矩阵的行线和列线分别作为两个传输方向相反的列线分别作为两个传输方向相反的I/OI/O接接口信号线,比如行线作为输入接口信号口信号线,比如行线作为输入接口信号线,列线作为输出接口信号线,或反之。线,列线作为输出接口信号线,或反之。55微机系统与接口 键盘扫描电路图56微机系统与接口 在翻转法中,行列线交换输入、输在翻转法中,行列线交换输入、输出,两步就可获取键位置信息。可见出,两步就可获取键位置信息。可见这种方法要比扫描法效率高。这种方法要比扫描法效率高。57微机系统与接口