版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/2/1计算机接口技术1第10章人机交互设备接口本章内容基本人机交互设备键盘、LED显示器、打印机键盘/LED显示器接口电路的解决方案LED显示器接口设计矩阵键盘接口设计并行打印机接口设计2023/2/1计算机接口技术210.1人机交互设备
人机交互设备:人和计算机之间建立联系、交流信息的输入/输出设备,是计算机系统的基本配置。10.2键盘10.2.1键盘的类型键盘是微型计算机系统中最基本的人机对话输入设备。键盘按键,有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是一个使电路接通与断开的开关。键盘的结构有线性键盘和矩阵键盘两种形式。2023/2/1计算机接口技术310.2.2线性键盘的工作原理与接口电路1.线性键盘的工作原理线性键盘由若干个独立的按键组成,每个按键的两端,一端接地,另一端通过电阻接+5V电源,并与接口的数据线直接连接,如图10.1所示。当无键按下时,所有数据线的逻辑电平都是高电平,为全1(FFH),即全1表示无键按下;当其中任意一键按下时,它所对应的数据线接地,其逻辑电平就变成低电平,即逻辑0表示有按键按下。2.线性键盘的接口电路线性键盘的接口是并行接口,采用通用并行接口芯片82C55A与键盘开关连接,如图10.1所示。2023/2/1计算机接口技术42023/2/1计算机接口技术53.线性键盘接口程序线性键盘接口程序是配合线性键盘实现键盘功能的组成部分,其主要作用有两点,一是判断是否有键按下,通过查询接口输入数据是否为全1。若是全1,无键按下;若不是全1,则有键按下。二是确定按下的是哪一个键,根据哪一个数据位是逻辑0,则与此位数据线相连的键被按下。至于每个按键的功能,可由用户定义,以便当按下某个键时,就可转去执行相应的操作。例如,在上图中要求当按下S0键时报警,按下S1键时解除报警,按下S2键时退出。线性键盘寻键程序流程如图10.2所示。2023/2/1计算机接口技术6图10.2线性键盘的程序流程2023/2/1计算机接口技术7线性键盘的汇编语言程序段
MOVDX,303H ;初始化82C55A MOVAL,10010000B
;82C55A方式命令 OUTDX,ALKB:MOVDX,300H;查3个键(S0S1S2)是否键按下
INAL,DX;读键状态(闭合/断开状态) ANDAL,07H;查低3位
CMPAL,07H
;查有无键按下
JZKB;无键按下,返回
CALLDELAY1
;有键按下,延时去抖
MOVDX,300H;再读键状态
INAL,DXANDAL,07H;查低3位
CMPAL,07H;再查有无键按下
JZKB ;无键按下,返回2023/2/1计算机接口技术8TESTAL,01H
;有键按下,是否S0键
JZBJ ;是,转报警子程
TESTAL,02H ;是否S1键
JZJBJ ;是,转解除报警
TESTAL,03H ;是否S2键
JZSTP ;是,停止,退出
JMPKB ;不是,返回DELAY: 延时子程序(略) BJ: 报警子程序(略)JBJ: 解除报警子程序(略)STP: MOVAX,4C00H ;退出
INT21H2023/2/1计算机接口技术9线性键盘C语言程序段如下 unsignedchartmp;outportb(0x303,0x90); //初始化82C55do{ tmp=inportb(0x300); //读键状态
if(tmp&0x07!=0x07){ //查低3位,判断有无键按下
delay(10); //延时去抖
tmp=inportb(0x300); //再读键状态
if(tmp&0x07!=0x07){ //查低3位,查有无键按下
if(tmp&0x01==0x00) //是否S0键
BJ(); //是,转报警子程
if(tmp&0x02==0x00) //是否S1键
JBJ(); //是,转解除报警
if(tmp&0x03==0x00) //是否S2键
STP(); //是,停止,退出
} }}while(!kbhit());2023/2/1计算机接口技术1010.2.3矩阵键盘工作的动态扫描技术1.矩阵键盘的工作原理矩阵键盘的结构是将按键排成n行m列的矩阵形式,并且在行线或列线上通过电阻接高电平(+5V)。按键的行线与列线交叉点互不相通,是通过按键来接通的。下面以4×4键盘为例说明矩阵键盘的工作原理,如图10.3所示。
图10.3矩阵键盘的结构及接口(列扫描)2023/2/1计算机接口技术11
矩阵键盘与线性键盘一样,也是首先确定是否有按键按下,然后再识别按下的是哪一个键。这个工作是采用一种扫描的方法进行,扫描分逐行扫描(行扫描)和逐列扫描(列扫描)两种方式,称为动态扫描技术。行扫描方式的特点是,矩阵键盘的列线一头接输入端口,另一头固定接高电平(+5V),矩阵键盘的行线接输出端口,轮流对列线输出低电平(0V),即对列线进行逐列扫描,然后从列线读取扫描的结果。列扫描方式的特点是,其行线与列线的连接及方向刚好与行扫描方式的相反,即行线一头接输入端口,另一头固定接高电平(+5V),列线接输出端口,轮流对行线输出低电平(0V),即对行线进行逐行扫描然后从行线读取扫描的结果。
2.矩阵键盘的接口电路矩阵键盘的接口电路如图10.3所示。它是采用列扫描方式的并行接口电路,其工作过程分析如下:2023/2/1计算机接口技术12图10.3中,PA0~PA3与0列~3列连接,PB0~PB3与0行~3行连接。采用列扫描方式找出被按下的键在矩阵中的位置,其过程是:先从0列开始,通过PA端口,向0列输出0(PA0=0),向其他列输出1(PA1=PA2=PA3=1),然后从PB端口读入,检测PB0~PB3的电平:若PB0=0,表示是S1键按下;若PB1=0,表示是S5键按下;...;若PB03=0,表示是S13键按下。如果PB0~PB3的电平都为1,则说明这一列没有键按下,就对第二列进行扫描,于是向1列输出0,向其它列输出1,再检测PB0~PB3的电平。
依次逐列检测,直到找出被按下的键为止。2023/2/1计算机接口技术1310.3LED显示器
10.3.1LED显示器工作原理7段数码显示器是将多个LED管组成一定字形的显示器,因此也可以叫做字形显示器,有共阴极和共阳极两种结构,如图10.4所示。共阴极:阴极连在一起,并接地,根据二极管导通的条件,分别对每只LED管的阳极加不同的电平使其导通(点亮)或截止(熄灭),阳极加高电平点亮,加低电平熄灭,如图10.4所示。共阳极:阳极连在一起,接高电平,对每只阴极加不同的电平,阴极加低电平点亮,加高电平熄灭。2023/2/1计算机接口技术14图10.4中的电阻是限流电阻,以防发光二极管烧毁,其阻值一般取为使流经LED管的电流在10~20mA。2023/2/1计算机接口技术1510.3.2LED显示器的字形码7段数码显示器实际为8段,另一段用来显示小数点P。字形码格式如图10.5所示。由字形码构成的LED显示器字符如表10.1所示。其中包括共阴极与共阳极两种不同显示器所显示的字符与字形码,表中的两种字形码虽然不同,但所表示的字符则相同。2023/2/1计算机接口技术1610.3.3LED显示器动态显示的扫描方式LED显示器采用扫描的方法使多位显示器逐位轮流循环显示,为此,首先把各位显示器的8根段线并联在一起,作为一组“段控”信号线,同时给每位显示器分配1根“位控”信号线。在接口电路中设置两个端口,一个用于发送“位控”信号,控制显示器的哪一位显示,即显示哪一位;另一个用于发送“段控”信号,控制显示器发光二极管的那些段点亮,即显示字形码。2023/2/1计算机接口技术17扫描过程:“段控”端口发出一个字形码,送到每个显示器的段线上,“位控”端口发出一个控制信号,指定某一位显示器显示,该位显示器就点亮,并持续1~5ms,然后熄灭所有的显示器。依次从“段控”端口发字形码信息,再从“位控”端口发位控信号,去点亮某一位显示器并持续一段时间,然后熄灭。从第1位到最末位把要显示的不同字符显示一遍,即为一个扫描周期。当扫描周期符合视觉暂留效应的要求时,人们就觉察不出字符的变动与闪烁,而感觉每位显示器都在同时显示。显示器“位控”信号线相当于键盘的行扫描线。2023/2/1计算机接口技术1810.4键盘/LED接口电路解决方案
方案采用专用接口芯片构成外置式的键盘/LED接口。
82C79A是双功能专用接口芯片,兼有键盘输入接口和字符显示器输出接口两种用途。作为键盘输入接口时,扫描方式,可连接64(8×8)个键的矩阵键盘,经扩充可128(8×8×2)个键,并具有自动去抖动功能。作为字符显示器输出接口时,可连接16个7段数码显示器。数码显示器,采用动态扫描方式,实现动态显示。10.4.182C79A的外部特性82C79A芯片是一种具有40条引脚的双列直插式芯片,如图10.6所示。由于82C79A是双功能接口,可以同时为两种不同外部设备的接口提供支持,因此所设置的外部引脚信号比较多,按功能可分为面向CPU、面向键盘和面向显示器3组,如表10.2所示。2023/2/1计算机接口技术19图10.682C79A芯片引脚功能及引脚信号分类2023/2/1计算机接口技术202023/2/1计算机接口技术2110.4.282C79A的编程模型1、寄存器功能82C79A内部寄存器分为共用寄存器和键盘专用及显示器专用的寄存器3种,分别介绍如下。(1)显示器/键盘共用寄存器共用模块主要是扫描计数器,其输出可同时作为键盘的行扫描和显示器的位扫描(“位控”信号),扫描方式分编码扫描和译码扫描两种,由编程命令选定。编码扫描:4位扫描线输出线SL0~SL3,由外部译码器译码产生16根扫描信号线,供键盘和显示器使用。故编码扫描方式能够扫描16×8的矩阵键盘和16位数码显示器。译码扫描:由内部译码器译码后,产生的4根扫描线SL0~SL3,直接作为键盘和显示器扫描信号。可见,译码扫描方式只能扫描4×8的矩阵键盘和4位数码显示器,并且不需要设置外部译码器。2023/2/1计算机接口技术22(2)键盘专用寄存器键盘接口模块包括返回缓冲器、FIFORAM及状态寄存器。返回缓冲器作为键盘接口芯片实现行扫描方式。在行扫描时,返回缓冲器用于锁存来自RL0~RL2的键盘列线返回值,即按键的列值。另外,行扫描时所搜寻到闭合键所在的按键行值SL0~SL2,两者合起来就形成键盘上按键的行号、列号编码。如果在加上用于键功能扩展的两位CTRL、SHIFT一起组成一个完整的键盘按键数据。键盘按键的数据格式如表10.3所示。2023/2/1计算机接口技术23表10.3中各位的含义:SL0~SL2是按键的行编码,由行扫描计数器的值确定;RL0~RL2是按键的列编码,由返回缓冲器的值确定。从6位行列编码可知,82C79A支持64个键的键盘矩阵。再加上CTRL和SHIFT两位附加按键参加编码,可以扩展到128个键。2023/2/1计算机接口技术24FIFORAM及状态寄存器FIFORAM是一个8×8的先进先出片内存储器,用于暂存从键盘输入的按键数据,供CPU读取。
为了报告FIFORAM中有无数据和空、满等的状态,设置FIFORAM状态寄存器。只要FIFORAM存储器有数据未取走,状态寄存器就产生IRQ信号请求中断,要求CPU读取数据。(3)用于LED显示器的寄存器LED显示器接口模块包括显示存储器RAM、显示字符寄存器和显示地址寄存器。显示存储器RAM显示存储器RAM用来存储显示数据,容量为16×8位,对应16个数码显示器。显示存储器内容在显示过程中保持不变。2023/2/1计算机接口技术25
显示字符寄存器
显示字符寄存器用于存放将要显示的字符的字形码。显示字符寄存器的内容是动态变化的,在显示过程中它与显示扫描配合,轮流从显示RAM中读出要显示的信息并依次送到被选中的显示器,循环不断地刷新显示字符,使显示器件呈现稳定的显示字符。
显示字符寄存器分为A、B两组OUTA0~3和OUTB0~3,构成一个8段的字形码,作为“段控”信号送到每位显示器。2023/2/1计算机接口技术26显示地址寄存器显示地址寄存器用于存放读/写显示存储器RAM的地址指针,指出显示字符从哪一位开始以及每次读出或写入之后地址是否自动加1。(4)寄存器端口地址82C79A只分配了两个端口地址,一个数据端口(30CH),一个命令/状态端口(30DH)。但它有8个命令字,因此出现端口地址共享的问题。为此,采用在命令字中加特征位的方法识别共享端口中的命令字。2023/2/1计算机接口技术272.编程命令与状态字82C79A芯片可执行的命令共有8条,命令字中的0,1,2,4号命令(带*号)是必须使用的,它们用于初始化。其中,0号设置键盘及显示方式,1号设置扫描频率,2号指定读FIFORAM,4号指定写显示存储器RAM。
而初始化后的实际输入/输出操作是从(向)82C79A的数据口读(写)数据来实现的。2023/2/1计算机接口技术28命令字的一般格式如表10.4所示。其中,高3位为特征位,产生8种编码对应着8个不同的命令字。低5位是命令参数位,表示不同命令字的含义。(注:标有“×”的位无用)2023/2/1计算机接口技术29(1)0号命令:设置键盘及显示器工作方式000:命令特征码。命令分3个字段,K0,K2K1,DD。●K0:用来设定扫描方式,为键盘和显示器共用。其含义:K0=0,为编码扫描;K0=1,为译码扫描。●K2K1:用来设定键盘输入方式。有4种键盘输入方式,如表10.5所示。2023/2/1计算机接口技术30表10.5中,双键锁定,N键轮回,是处理多键同时按下的方式。双键锁定:两个键同时按下时,只把后释放的键当作有效键N键轮回:多个同时按下时,键盘扫描能根据它们被发现的顺序依次将相应键盘数据送入FIFORAM中●DD:用来设定显示输出方式。有4种显示输出方式,如表10.6所示。2023/2/1计算机接口技术31在表10.6中,左进方式是指显示字符从最左一位(最高位)开始,逐个向右顺序输出,左进方式也是手机拨号的显示方式;右进方式是指显示字符从最右一位开始,最高位从右边进入,以后逐个左移。右进方式也是计算器的显示方式。例如,要求扫描键盘输入,双键锁定;8个字符显示,右进方式;键盘和LED显示器的扫描方式为编码扫描,则82C79A的工作方式命令为00010000B。2023/2/1计算机接口技术32(2)1号命令:设置扫描频率001:命令特征码。命令包含5个有效位PPPPP。●PPPPP:用来设定对外部输入CLK的分频系数N(N值可为2~31),以便获得82C79A内部要求的100kHz的扫描频率。PPPPP分频系数的5位二进制数。例如,外部提供的时钟LCK为2.5MHz,要求产生100kHz的扫描频率,则设置扫描频率的命令为00111001B。(3)2号命令:读FIFORAM
010:命令特征码。命令分2个字段,A2~A0,AI。●A2~A0:用来指定读取键盘FIFORAM中字符的起始地址,A2~A0可有8种编码,以指定FIFORAM中的8个地址单元任意一个作为读取的起始地址。2023/2/1计算机接口技术33●AI:自动地址增量标志位。当AI=1时,每次读出FIFORAM后,地址自动加1指向下一存储单元;当AI=0时,读出后地址不变(即不自动加1,但可由人工改变地址)。
需要特别指出的是,该命令并不是实际从FIFORAM中读取数据,仅仅指定是读取键盘的FIFORAM,而不是读取显示器RAM,因此,若要实现读键盘的数据,还必须接着在该命令后面从数据端口读数。2023/2/1计算机接口技术34例如,要求从键盘FIFORAM读1个字节数据,从0位开始读取,读数据后地址不自动加1,其程序段为如下。MOVDX,30DH;82C79A命令端口MOVAL,01000000B
;2号命令,读FIFORAMOUTDX,ALMOVDX,30CH;82C79A数据端口INAL,DX
;从FIFORAM读1个字节数据2023/2/1计算机接口技术35(4)4号命令:写显示RAM
100:命令特征码。命令字分2个字段,A0~A3,AI。●A0~A3:用来指定写显示RAM中字符的起始地址,A0~A3可有16种编码,以指定显示RAM中的16个地址单元任意一个作为写的起始地址。●AI:自动地址增量标志。当AI=1时,每次写后地址自动增1,当AI=0时,写后地址不变。一旦数据写入,82C79A的硬件便自动管理显示RAM的输出并同步扫描信号。同样,需要特别指出的是,该命令并不是实际向显示器RAM中写入数据,仅仅指定是写入显示器的RAM,而不是写入键盘的FIFORAM,因此,若要实现写入显示器数据,还必须接着在该命令后面从数据端口写入数据。2023/2/1计算机接口技术36例如,如果要求向显示器RAM写入数据,并且从0位起,地址自动加1,其程序段如下。
MOVDX,30DH ;82C79A的命令口
MOVAL,10010000B
;4号命令,写显示RAM OUTDX,AL MOVSI,OFSETBUF MOVDX,30CH ;82C79A的数据口
MOVAL,[SI]
OUTDX,AL
;向显示RAM写入数据
2023/2/1计算机接口技术37(5)状态字状态字主要用来指示FIFORAM中待取走的字符数和有无错误发生。格式如图10.7所示。8位状态字中的D0~D45位是常用的,用于查询方式,其中,D5位表示“超出”,D4位表示“空”,D3位表示“满”,D2~D0位表示键盘存储区里是否尚有未取走的字符。●O:超出标志位。当向已满的FIFORAM中写入,使FIFORAM中的字符个数n>8而产生重叠时,O被置为1。
2023/2/1计算机接口技术38●U:“空”标志位。当FIFORAM中的字符个数n=0时U被置为1。
●F:“满”标志位。当FIFORAM中的字符个数n=8时,F被置为1。●NNN:表示FIFORAM中待CPU取走的字符个数为n。例如,当要求采用查询方式从键盘FIFORAM读取数据时,先应该查状态寄存器是否有数据可读。这可以查标志位“空”、“满”或者查待CPU取走的字符个数n,其程序段为。LOOP1: MOVDX,30DH;状态口
INAL,DX;读状态字
TESTAL,00000111B
;检查是否有待取走的字符
JZLOOP1;无,再查2023/2/1计算机接口技术3910.5LED显示器接口设计例10.1LED显示器接口设计1.要求设计一个8位LED显示器,要求从0位开始显示13579H六个字符,显示方式为左进,采用编码扫描。2.分析
采用82C79A作为LED显示器接口可以实现上述要求。另外,为了实现编码扫描要外加扫描译码器和提供LED显示器的驱动电路。2023/2/1计算机接口技术403.设计(1)硬件设计
接口电路由82C79A芯片、扫描译码器7445和段驱动器7406组成,如图10.8所示。图中的82C79A为接口的核心,主管显示器与CPU之间的连接,执行控制命令;扫描译码器7445负责LED显示器的动态扫描,作为“位控”信号控制8位显示器的哪一位点亮;反向器驱动器7406为LED的8段字型码提供电流驱动,作为“段控”信号控制8段显示器的哪一段发光。2023/2/1计算机接口技术41图10.8LED接口电路2023/2/1计算机接口技术42图10.8中,8个LED显示器相同的段连到一起,由7406驱动,实现段控。LED显示器为共阳极,每个阳极通过开关三极管及限流电阻与+5V连接,三极管的导通与截止由7445的8个输出端控制,实现8位显示器的位控。当82C79A的扫描信号SL0~3经7445译码所产生的输出信号循环变化时,就可以使各位显示器轮流点亮或熄灭,实现LED显示器的动态扫描。(2)软件设计下面是从0位开始显示13579H六个字符的程序,六个字符的字形码存放在内存的BUF区。2023/2/1计算机接口技术43LED显示器的汇编语言程序段如下。CODESEGMENT ASSUMECS:CODE,DS:CODE ORG100HBEGIN: JMPSTART BUFDB06H,4FH,6DH,07H,67H,76H ;六个字符的字形码START: MOVAX,CODE MOVCS,AX MOVDS,AX ;82C79A初始化
MOVDX,30DH;82C79A的命令口
MOVAL,00000000B
;0号命令,显示方式命令
MOVDX,AL MOVAL,001110001B
;1号命令,设置分频系数252023/2/1计算机接口技术44OUTDX,AL MOVAL,10010000B
;4号命令,写显示RAM命令 OUTDX,AL
MOVSI,OFSETBUF;显示字符首址
MOVCX,06H ;显示字符数
L: MOVDX,30CH;82C79A的数据口
MOVAL,[SI]
OUTDX,AL
;向显示RAM写数据 INCSI ;缓存地址加1 DECCX ;字数减1 JNZL ;未完,继续
MOVAX,4C00H ;已完,返回
INT21HCODEENDS ENDBEGIN2023/2/1计算机接口技术45//LED显示器的C语言程序如下。
unsignedchardisplay[6]={0x06,0x4f,0x6d,0x07,0x67,0x76};outportb(0x30d,0x00); //显示方式:8字符显示,左端输入,编码扫描outportb(0x30d,0x39); //分频系数25,产生100kHz扫描频率outportb(0x30d,0x90); //指定写显示RAM命令,从0位起,地址自动加1for(i=0;i<6;i++){ outportb(0x30c,display[i]); //从内存单元中取显示代码送显示RAM delay(50); //延时}2023/2/1计算机接口技术4610.6矩阵键盘接口设计例10.2键盘接口电路设计1.要求设计一个24键的键盘接口。要求键盘采用编码扫描、双键锁定工作方式。从键盘读取10个字符代码。外部时钟CLK=2.5MHz。2.分析为了实现24键的键盘矩阵,采用3行8列的结构形式。同时为了满足编码扫描工作方式,故使用82C79A的3根扫描输出信号SL0~SL2,接至译码器74LS156的输入端,经译码后,产生低电平有效的3根输出线Y0~Y2,作为键盘矩阵的3个行扫描信号。键盘矩阵的8个列线的一端与82C79A的返回信号RL0~RL7相连接,另一端通过电阻接高电平(+5V)。2023/2/1计算机接口技术473.设计(1)硬件设计
根据上述分析,24键的键盘矩阵接口电路原理如图10.9所示。图10.9键盘接口电路2023/2/1计算机接口技术48(2)软件设计键盘输入汇编语言程序段如下。CODESEGMENT ASSUMECS:CODE,DS:CODE ORG100HSTART: JMPBEGIN ;从0100H处执行第一条指令
BUFDB10DUP(0)BEGIN: MOVAX,CODE MOVDS,AX ;设置数据段的段地
MOVDX,30DH ;82C79A初始化
MOVAL,00000000B
;0号命令,键盘输入工作方式
OUTDX,AL MOVAL,00111001B
;1号命令,设置分频系数为25, OUTDX,AL2023/2/1计算机接口技术49MOVDI,OFSETBUF MOVCX,10LOOP1: MOVDX,30DH ;读状态字
INAL,DX TESTAL,00000111B
;检查是否有待取走的字符
JZLOOP1 ;无,再查
MOVAL,01000000B
;2号命令,读FIFORAM OUTDX,AL MOVDX,30CH ;读数据
INAL,DX
;从键盘读取数据
MOV[DI],AL ;存入内存BUF INCDI DECCX JNZLOOP1MOVAX,4C00H ;退出
INT21H2023/2/1计算机接口技术50CODEENDS ENDSTART//键盘输入C语言程序段如下。unsignedcharbuf[10];unsignedchari;outportb(0x30d,0x00); //设定键盘输入工作方式(编码扫描、双键锁定)outportb(0x30d,0x39); //设置分频系数为25,产生100kHz扫描频率for(i=0;i<10;i++){ while(inportb(0x30d)&0x07==0x00);//检查是否有待CPU取走的字符
outportb(0x30d,0x40); //有,指定读FIFORAM buf[i]=inportb(0x30c); //读键盘,并存入内存BUF}2023/2/1计算机接口技术514.讨论①HELLO五个字符的字形码在内存区的存放顺序与在显示器上的顺序相反,这是什么原因?②如果显示的字符不是从第0位,而是从第2位或第3位开始显示,程序要如何修改?2023/2/1计算机接口技术5210.7打印机接口
打印机是微型计算机系统中一种常用的输出设。目前打印机技术正朝着高速度、低噪声、美观清晰和彩色打印的方向发展。打印机的种类很多,性能差别也很大。当前流行的有针式打印机、激光打印机、喷墨式打印机等。10.7.1并行打印机接口标准1.信号线定义
Centronics标准定义了36芯插头/座,其信号线如表10.7所示。最主要的是8根并行数据线DATA1~DATA8,2根握手联络信号线、及1根状态线BUSY,应重点了解。2023/2/1计算机接口技术532023/2/1计算机接口技术542.工作时序Centronics标准对打印机接口的工作时序,即打印机与CPU之间传送数据的过程作了规定,如图10.10所示。图10.10并行打印机接口标准工作时序2023/2/1计算机接口技术55打印机与CPU之间传送数据的过程:是按照Centronics打印机接口标准的工作时序进行的,以查询方式为例,其工作步骤如下。①当CPU要求打印机打印数据时,CPU首先查询BUSY。若BUSY=1,打印机忙,则等待;当BUSY=0,打印不忙时,才送数据。②
CPU通过并行接口,把数据送到DATA1~DATA8数据线上,此时数据并未进入打印机。③
CPU再送出一个数据选通信号(负脉冲),把数据线上的数据打入到打印机的内部缓冲器。④打印机在收到数据后,向CPU发出“忙”信号,表明打印机正在处理输入的数据。等到输入的数据处理完毕,打印机撤销“忙”信号,置BUSY=0。⑤接着,打印机送出一个回答信号
给CPU,表示一个字符已经处理完毕。2023/2/1计算机接口技术563.打印机连接器
Centronics接口标准对打印机连接器规定为D-36芯插头/插座。而台式PC机配置的打印机接口插座简化为D-25芯,去掉了Centronics中的一些未使用信号和地线。很明显,打印机接口标准的连接器与PC机的打印机接口插座不兼容,因此要对两者信号线的排列作一些调整,要特别注意两者相应信号线的对接,按照图10.11所示的信号线连接。2023/2/1计算机接口技术57图10.11打印机与PC机并口信号线连接图2023/2/1计算机接口技术5810.7.2并行打印机接口设计例10.3并行打印机接口电路设计1.要求
要求为某应用系统配置一个并行打印机接口,通过接口采用查询方式把存放在BUF缓冲区的256个字符(ASCII码)送去打印。2.分析由于打印机接口面向的对象是打印机接口标准而不是打印机本身,因此打印机接口硬件电路设计要以标准所定义的信号线为依据,而软件设计应以接口标准所规定的工作时序为依据。3.设计(1)打印机接口电路设计打印机接口电路原理框图如图10.12所示。2023/2/1计算机接口技术59图10.12并行打印机接口电路框图2023/2/1计算机接口技术60该电路的设计思路是:按照Centronics标准对打印机接口信号线的定义,最基本的信号线需要8根数据线(DATA1~DATA8),1根控制线(STROBE,),1根状态线(BUSY)和1根地线。为此,采用82C55A作打印机的接口比较合适。
分配A端口作为数据口,输出8位打印数据,工作方式为0方式。
分配PC7作为控制信号,输出1个选通信号STROBE,将数据线上的数据输入打印机缓冲器。
分配PC2作为状态线来接收打印机的状态信号BUSY,这样就满足了打印机Centronics接口标准中主要信号线的要求。2023/2/1计算机接口技术61图10.13打印控制程序流程图(2)打印机接口控制程序设计打印机接口控制程序流程如图10.13所示。2023/2/1计算机接口技术62打印机接口控制汇编语言程序段如下。DATASEGMENT CTL55EQU303H;82C55A的控制口
PA55EQU300H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版异地离婚协议书
- 2024届山东省济南市历城某中学54级高三第二次诊断性检测语文试卷含解析
- 2024版项目管理与咨询服务合同3篇
- 2024铁路货物运输合同标的概述
- 2025年度宠物店店铺转让及宠物养护服务协议3篇
- 2024美团外卖店外卖配送服务规范合同范本3篇
- (单元知识考点 + 历年考试高频题)译林版四年级上册Unit 5 Our new home
- 2024运动员参赛免责协议书模板
- 2025年度厂房租赁安全协议:安全生产信息化与数据监测合同3篇
- 麻醉学-中西医结合系课件
- 【工作总结】建筑中级职称专业技术工作总结
- 江苏省2022年普通高中学业水平合格性考试数学试题(考试版)
- 2023年二轮复习解答题专题三:一次函数的应用方案选取型(原卷版+解析)
- 2024版小学英语新课程标准测试题及答案
- 多旋翼无人机驾驶员执照(CAAC)备考试题库大全-上部分
- 2024年村级意识形态工作计划
- 《青少年特发性脊柱侧凸治未病干预指南》-公示稿
- 幼儿园游戏案例分析-奇思妙想玩轮胎
- JGJ94-2008建筑桩基技术规范
- 志愿者与志愿服务专题培训课件(图文)
- 煤矿采空区岩土工程勘察规范
评论
0/150
提交评论