第10章基本人机交互设备接口_第1页
第10章基本人机交互设备接口_第2页
第10章基本人机交互设备接口_第3页
第10章基本人机交互设备接口_第4页
第10章基本人机交互设备接口_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-5-20计算机接口技术1第第10章章 人机交互设备接口人机交互设备接口本本 章章 内内 容容基本人机交互设备键盘、基本人机交互设备键盘、LED显示器、打印机显示器、打印机键盘键盘/LED显示器接口电路的解决方案显示器接口电路的解决方案LED显示器接口设计显示器接口设计矩阵键盘接口设计矩阵键盘接口设计并行打印机接口设计并行打印机接口设计2022-5-20计算机接口技术210.1 人机交互设备人机交互设备 人机交互设备:人和计算机之间建立联系、交流信息的输入/输出设备,是计算机系统的基本配置。10.2 键盘键盘 10.2.1 键盘的类型键盘的类型键盘键盘是微型计算机系统中最基本的最基本的

2、人机对话输入设备输入设备。键盘按键,有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是一个使电路接通与断开的开关。键盘的结构键盘的结构有线性键盘线性键盘和矩阵键盘矩阵键盘两种形式。2022-5-20计算机接口技术310.2.2 线性键盘的工作原理与接口电路线性键盘的工作原理与接口电路1.线性键盘的工作原理线性键盘的工作原理线性键盘由若干个独立的按键组成,每个按键的每个按键的两端两端,一端接地一端接地,另一端另一端通过电阻接接+5V电源电源,并与接口的数据线直并与接口的数据线直接连接接连接,如图10.1所示。当当无键按下时无键按下时,所有数据线的逻辑电所有数据线的逻辑电平都是

3、高电平平都是高电平,为全1(FFH),即全全1表示无键按下表示无键按下;当当其中其中任意一键按下时任意一键按下时,它所对应的数据线接地,其逻辑电平就变成逻辑电平就变成低电平低电平,即逻辑逻辑0表示有按键按下表示有按键按下。2.线性键盘的接口电路线性键盘的接口电路线性键盘的接口是并行接口线性键盘的接口是并行接口,采用通用并行接口芯片82C55A与键盘开关连接,如图如图10.1所示所示。2022-5-20计算机接口技术42022-5-20计算机接口技术53.线性键盘接口程序线性键盘接口程序线性键盘接口程序线性键盘接口程序是配合线性键盘实现键盘功能的组成部分,配合线性键盘实现键盘功能的组成部分,其主

4、主要作用有两点要作用有两点,一是判断是否有键按下一是判断是否有键按下,通过查询接口输入数据是否为全1。若是全1,无键按下;若不是全1,则有键按下。二是确定按下的是哪一个键二是确定按下的是哪一个键,根据哪一个数据位是逻辑0,则与此位数据线相连的键被按下。至于每个按键的功能至于每个按键的功能,可由用户定义可由用户定义,以便当按下某个键时,就可转去执行相应的操作。例如,在上图中要求当按下S0键时报警,按下S1键时解除报警,按下S2键时退出。线性键盘寻键程序流程如图10.2所示。2022-5-20计算机接口技术6图10.2 线性键盘的程序流程2022-5-20计算机接口技术7线性键盘的汇编语言程序段线

5、性键盘的汇编语言程序段 MOV DX,303H ;初始化82C55A MOV AL,10010000B ;82C55A方式命令方式命令 OUT DX,ALKB: MOV DX,300H ;查3个键(S0S1S2)是否键按下 IN AL, DX ;读键状态(闭合/断开状态) AND AL,07H ;查低3位 CMP AL,07H ;查有无键按下查有无键按下 JZ KB ;无键按下,返回 CALL DELAY1 ;有键按下,延时去抖延时去抖 MOV DX,300H ;再读键状态 IN AL,DX AND AL,07H ;查低3位 CMP AL,07H ;再查有无键按下 JZ KB ;无键按下,返回

6、2022-5-20计算机接口技术8 TEST AL,01H ;有键按下,有键按下,是否S0键JZ BJ ;是,转报警子程TEST AL,02H ;是否S1键JZ JBJ ;是,转解除报警TEST AL,03H ;是否S2键JZ STP ;是,停止,退出JMP KB ;不是,返回DELAY:延时子程序(略) BJ:报警子程序(略) JBJ: 解除报警子程序(略) STP: MOV AX,4C00H ;退出INT21H2022-5-20计算机接口技术9线性键盘线性键盘C C语言程序段如下语言程序段如下unsigned char tmp;outportb(0 x303,0 x90); /初始化82C

7、55dotmp=inportb(0 x300);/读键状态if(tmp&0 x07!=0 x07)/查低3位,判断有无键按下delay(10);/延时去抖tmp=inportb(0 x300);/再读键状态if(tmp&0 x07!=0 x07)/查低3位, 查有无键按下if(tmp&0 x01=0 x00)/是否S0键BJ();/是,转报警子程if(tmp&0 x02=0 x00)/是否S1键JBJ();/是,转解除报警if(tmp&0 x03=0 x00)/是否S2键STP();/是,停止,退出while(!kbhit();2022-5-20计算机接

8、口技术1010.2.3 矩阵键盘工作的动态扫描技术矩阵键盘工作的动态扫描技术1.矩阵键盘的工作原理矩阵键盘的工作原理矩阵键盘矩阵键盘的结构是将按键排成将按键排成n行行m列的矩阵形式列的矩阵形式,并且在行线或列线上通过电阻接高电平(+5V)。按键的行线与列线交叉点互不相通,是通过按键来接通的。下面以44键盘为例说明矩阵键盘的工作原理矩阵键盘的工作原理,如图如图10.3所示所示。图10.3 矩阵键盘的结构及接口(列扫描)2022-5-20计算机接口技术11 矩阵键盘与线性键盘一样矩阵键盘与线性键盘一样,也是首先确定是否有按键按下,也是首先确定是否有按键按下,然后再识别按下的是哪一个键然后再识别按下

9、的是哪一个键。这个工作是采用一种扫描的方法采用一种扫描的方法进行,扫描分扫描分逐行扫描(行扫描行扫描)和逐列扫描(列扫描列扫描)两种方式,称为动态扫描技术。行扫描方式的特点行扫描方式的特点是,矩阵键盘的列线一头接输入端口,另一头固定接高电平(+5V),矩阵键盘的行线接输出端口矩阵键盘的行线接输出端口,轮流对列线输出低电平(0V),即对列线进行逐列扫描对列线进行逐列扫描,然后从列线读取扫描的结果。列扫描方式的特点列扫描方式的特点是,其行线与列线的连接及方向刚好与行扫描方式的相反,即行线一头接输入端口,另一头固定接高电平(+5V),列列线接输出端口线接输出端口,轮流对行线输出低电平(0V),即对行

10、线进行逐行扫对行线进行逐行扫描描然后从行线读取扫描的结果。 2.矩阵键盘的接口电路矩阵键盘的接口电路矩阵键盘的接口电路矩阵键盘的接口电路如图如图10.3所示所示。它是采用列扫描方式的并行接口电路,其工作过程分析如下:2022-5-20计算机接口技术12图10.3中,PA0PA3与0列列3列连接列连接,PB0PB3与0行行3行连行连接接。采用列扫描方式找出被按下的键在矩阵中的位置采用列扫描方式找出被按下的键在矩阵中的位置,其过程其过程是是: 先从先从0列开始列开始,通过通过PA端口,端口,向向0列列输出输出0(PA0=0),向其他列向其他列输出输出1 (PA1=PA2=PA3=1),然后从从PB

11、端口端口读入读入,检测检测PB0PB3的电平的电平:若若PB0=0,表示表示是是S1键按下键按下;若若PB1=0,表示表示是是S5键按键按下;下;.;若若PB03=0,表示表示是是S13键按下。键按下。如果如果PB0PB3的电平的电平都都为为1,则则说明这一列说明这一列没有键按下没有键按下,就对第二列进行扫描就对第二列进行扫描,于是向向1列列输出输出0,向其它列向其它列输出输出1,再检测再检测PB0PB3的电平的电平。 依次逐列检测依次逐列检测,直到直到找出被按下的键为止找出被按下的键为止。2022-5-20计算机接口技术1310.3 LED显示器显示器 10.3.1 LED显示器工作原理显示

12、器工作原理7段数码显示器段数码显示器是将多个将多个LED管组成一定字形的显示器管组成一定字形的显示器,因此也可以叫做字形显示器叫做字形显示器,有共阴极共阴极和共阳极共阳极两种结构,两种结构,如图如图10.4所示所示。 共阴极:共阴极:阴极连在一起,并接地阴极连在一起,并接地,根据二极管导通的条件,分别对每只LED管的阳极加不同的电平使其导通(点亮)或截止(熄灭),阳极阳极加高电平加高电平点亮点亮,加低电平加低电平熄灭熄灭,如图10.4所示。 共阳极:共阳极:阳极连在一起,接高电平阳极连在一起,接高电平,对每只阴极加不同的电平,阴极阴极加低电平加低电平点亮点亮,加高电平加高电平熄灭熄灭。2022

13、-5-20计算机接口技术14图10.4中的电阻是限流电阻,以防发光二极管烧毁,其阻值一般取为使流经LED管的电流在1020mA。2022-5-20计算机接口技术1510.3.2 LED显示器的字形码显示器的字形码7段数码显示器实际为8段,另一段用来显示小数点P。字形码格式字形码格式如图如图10.5所示所示。由字形码构成的字形码构成的LED显示器字符显示器字符如表如表10.1所示所示。其中包括共阴极与共阳极两种不同显示器所显示的字符与字形码,表中的两种字形码虽然不同,但所表示的字符则相同。2022-5-20计算机接口技术1610.3.3 LED显示器动态显示的扫描方式显示器动态显示的扫描方式LE

14、DLED显示器显示器采用扫描的方法使多位显示器逐位轮流循环显示扫描的方法使多位显示器逐位轮流循环显示,为此,首先把各位显示器的8 8根段线并联在一起,作为一组根段线并联在一起,作为一组“段控段控”信号线信号线,同时给每位显示器分配给每位显示器分配1 1根根“位控位控”信号信号线线。在接口电路中在接口电路中设置两个端口设置两个端口,一个用于发送一个用于发送“位控位控”信号,控制显示器的哪一位显示,控制显示器的哪一位显示,即显示显示哪一位哪一位;另一个用于发送另一个用于发送“段控段控”信号,控制显示器发光二极管的那些段点亮控制显示器发光二极管的那些段点亮,即显显示字形码示字形码。2022-5-20

15、计算机接口技术17扫描过程扫描过程:“段控”端口发出一个字形码,送到每个显示器的段线上,“位控”端口发出一个控制信号,指定某一位显示器显示,该位显示器就点亮,并持续15ms,然后熄灭所有的显示器。依次从依次从“段控段控”端口端口发字形码信息发字形码信息,再从再从“位控位控”端口端口发位控信发位控信号,去点亮某一位显示器并持续一段时间号,去点亮某一位显示器并持续一段时间,然后熄灭然后熄灭。从第从第1 1位位到最末位把要显示的不同字符显示一遍,到最末位把要显示的不同字符显示一遍,即为一个扫描周期一个扫描周期。当扫描周期扫描周期符合视觉暂留效应视觉暂留效应的要求时,人们就觉察不出字符的变就觉察不出字

16、符的变动与闪烁动与闪烁,而感觉每位显示器都在同时显示感觉每位显示器都在同时显示。显示器显示器“位控位控”信信号线号线相当于键盘的行扫描线键盘的行扫描线。2022-5-20计算机接口技术1810.4 键盘键盘/LED接口电路解决方案接口电路解决方案 方案方案采用专用接口芯片采用专用接口芯片构成外置式构成外置式的键盘/LED接口。 82C79A是双功能专用接口芯片双功能专用接口芯片,兼有键盘输入接口键盘输入接口和字符显示器字符显示器输出接口输出接口两种用途。 作为键盘输入接口键盘输入接口时,扫描方式,可连接可连接64(88)个键的矩阵键盘个键的矩阵键盘,经扩充可128( 882)个键,并具有自动去

17、抖动功能。 作为字符显示器输出接口字符显示器输出接口时,可连接可连接16个个7段数码显示器段数码显示器。数码显示器,采用动态扫描方式,实现动态显示。10.4.1 82C79A的外部特性的外部特性82C79A82C79A芯片是一种具有40条引脚引脚的双列直插式芯片,如图如图10.610.6所示所示。由于82C79A是双功能接口,可以同时为两种不同外部设备的接口提供支持,因此所设置的外部引脚信号比较多,按功能可分为面向CPU、面向键盘和面向显示器3组,如表10.2所示。2022-5-20计算机接口技术19图10.6 82C79A芯片引脚功能及引脚信号分类2022-5-20计算机接口技术202022

18、-5-20计算机接口技术2110.4.2 82C79A的编程模型的编程模型1、寄存器功能、寄存器功能82C79A内部寄存器分为共用寄存器共用寄存器和键盘专用键盘专用及显示器专用显示器专用的寄存器3种,分别介绍如下。(1)显示器显示器/键盘共用寄存器键盘共用寄存器共用模块共用模块主要是主要是扫描计数器扫描计数器,其输出可同时作为键盘的行扫描和显示器的位扫描(“位控”信号),扫描方式扫描方式分编码扫描编码扫描和译码扫描译码扫描两种,由编程命令选定。编码扫描:编码扫描:4位扫描线输出线SL0SL3,由外部译码器译码外部译码器译码产生16根扫描信号线,供键盘和显示器使用。故编码扫描方式编码扫描方式能够

19、扫描扫描168的的矩阵矩阵键盘键盘和16位位数码显示器数码显示器。译码扫描:译码扫描:由内部译码器译码内部译码器译码后,产生的4根扫描线SL0SL3,直接作为键盘和显示器扫描信号。可见,译码扫描方式译码扫描方式只能扫描扫描48的的矩阵矩阵键盘键盘和4位数码位数码显示器显示器,并且不需要设置外部译码器。2022-5-20计算机接口技术22(2)键盘专用寄存器键盘专用寄存器键盘接口模块键盘接口模块包括返回缓冲器返回缓冲器、FIFO RAM及状态寄存器状态寄存器。返回缓冲器返回缓冲器作为键盘接口芯片实现行扫描方式。在行扫描时在行扫描时,返回缓冲器返回缓冲器用于锁锁存来自存来自RL0RL2的键盘列线返

20、回值的键盘列线返回值,即按键的列值按键的列值。另外,行扫描时行扫描时所搜寻到所搜寻到闭合键所在的按键按键行值行值SL0SL2,两者合起来两者合起来就形成键盘上形成键盘上按键的行号、列号编码按键的行号、列号编码。如果在加上用于键功能扩展的两位CTRL、SHIFT一起组成一个完整的键盘按键数据。键盘按键的数据格式键盘按键的数据格式如表如表10.3所示所示。2022-5-20计算机接口技术23表表10.3中各位的含义:中各位的含义:SL0SL2是按键的行编码是按键的行编码,由行扫描计数器的值确定由行扫描计数器的值确定;RL0RL2是是按键的列编码按键的列编码,由返回缓冲器的值确定由返回缓冲器的值确定

21、。从6位行列编码可知,82C79A支持64个键的键盘矩阵。再加上CTRL和SHIFT两位附加按两位附加按键参加编码键参加编码,可以扩展到128个键。2022-5-20计算机接口技术24 FIFO RAM及状态寄存器及状态寄存器 FIFO RAM是一个88 的先进先出片内存储器片内存储器,用于暂存从键盘输入的按键数据暂存从键盘输入的按键数据,供CPU读取。 为了报告为了报告FIFO RAM中中有无数据和空有无数据和空、满等的满等的状态状态,设置设置FIFO RAM状态寄存器状态寄存器。只要FIFO RAM存储器有数据未取走,状态寄存器就产生IRQ信号请求中断,要求CPU读取数据。(3)用于用于L

22、ED显示器的寄存器显示器的寄存器LED显示器接口模块显示器接口模块包括显示存储器显示存储器RAM、显示字符寄存器显示字符寄存器和显示地址寄存器。显示地址寄存器。显示存储器显示存储器RAM显示存储器显示存储器RAM用来存储显示数据用来存储显示数据,容量为168位,对应对应16个数码显示器个数码显示器。显示存储器内容在显示过程中保持不变。2022-5-20计算机接口技术25 显示字符寄存器显示字符寄存器 显示字符寄存器显示字符寄存器用于存放将要显示的字符的字形码用于存放将要显示的字符的字形码。显示字符寄存器的内容是动态变化的,在显示过程中它与显示扫描配合它与显示扫描配合,轮流从显,轮流从显示示RA

23、M中读出要显示的信息并依次送到被选中的显示器中读出要显示的信息并依次送到被选中的显示器,循环不断地循环不断地刷新显示字符刷新显示字符,使显示器件呈现稳定的显示字符。 显示字符寄存器分为显示字符寄存器分为A、B两组两组OUTA03和OUTB03,构成一个构成一个8段的字形码段的字形码,作为作为“段控段控”信号送到每位显示器信号送到每位显示器。2022-5-20计算机接口技术26显示地址寄存器显示地址寄存器显示地址寄存器显示地址寄存器用于存放读存放读/写写显示存储器显示存储器RAM的地址指针的地址指针,指出指出显示字符从哪一位开始显示字符从哪一位开始以及每次读出或写入之后地址是否每次读出或写入之后

24、地址是否自动加自动加1。(4)寄存器端口地址寄存器端口地址82C79A只分配了两个端口地址只分配了两个端口地址,一个数据端口(30CH),一个命令/状态端口(30DH)。但它有但它有8个命令字个命令字,因此出现端口地址出现端口地址共享的问题共享的问题。为此,采用采用在命令字中在命令字中加特征位的方法加特征位的方法识别共享识别共享端口中的命令字端口中的命令字。2022-5-20计算机接口技术272.编程命令与状态字编程命令与状态字82C79A芯片可执行的命令共有命令共有8条条,命令字中的命令字中的0,1,2,4号号命令命令(带(带*号)是号)是必须使用必须使用的,的,它们用于用于初始化初始化。其

25、中,0号号设置键设置键盘及显示方式盘及显示方式,1号号设置扫描频率设置扫描频率,2号号指定读指定读FIFO RAM,4号号指指定写显示存储器定写显示存储器RAM。 而初始化后的实际输入/输出操作是从(向)82C79A 的数据口读(写)数据来实现的。2022-5-20计算机接口技术28命令字的一般格式命令字的一般格式如表如表10.4所示所示。其中,高高3位位 为特征位为特征位,产生8种编码对应着8个不同的命令字。低低5位是命令参数位位是命令参数位,表示不同命令字的含义。(注:标有“”的位无用)2022-5-20计算机接口技术29(1)0号命令号命令:设置键盘及显示器工作方式设置键盘及显示器工作方

26、式000:命令特征码。命令分3个字段,K0,K2K1,DD。K0:用来设定扫描方式用来设定扫描方式,为键盘和显示器共用。其含义: K0=0,为编码扫描;K0=1,为译码扫描。K2K1:用来设定键盘输入方式用来设定键盘输入方式。有有4种键盘输入方式种键盘输入方式,如表如表10.5所示所示。2022-5-20计算机接口技术30表10.5中,双键锁定,双键锁定,N键轮回键轮回,是处理多键是处理多键同时按下同时按下的方式的方式。双键锁定双键锁定:两个键同时按下时,只把后释放的键当作有效键N键轮回键轮回:多个同时按下时,键盘扫描能根据它们被发现的顺序依次将相应键盘数据送入FIFO RAM中DD:用来设定

27、显示输出方式用来设定显示输出方式。有有4种显示输出方式种显示输出方式,如表如表10.6所示所示。2022-5-20计算机接口技术31在表10.6中,左进方式左进方式是指显示字符从最左一位是指显示字符从最左一位(最高位)开始始,逐个向右顺序输出,左进方式也是手机拨号的显示方式;右进方式右进方式是指显示字符从最右一位开始是指显示字符从最右一位开始,最高位从右边进入,以后逐个左移。右进方式也是计算器的显示方式。例如,要求扫描键盘输入扫描键盘输入,双键锁定双键锁定;8个字符显示个字符显示,右进方右进方式式;键盘和LED显示器的扫描方式为编码扫描扫描方式为编码扫描,则则82C79A的工作方式命令工作方式

28、命令为00010000B。2022-5-20计算机接口技术32(2)1号命令号命令:设置扫描频率设置扫描频率001:命令特征码。命令包含5个有效位PPPPP。PPPPP:用来设定对外部输入设定对外部输入CLK的分频系数的分频系数N(N值可为231),以便获得以便获得82C79A内部要求的内部要求的100kHz的扫描频率的扫描频率。PPPPP分频系数的5位二进制数。例如,外部外部提供的时钟时钟LCK为为2.5MHz,要求产生产生100kHz的扫描的扫描频率频率,则设置扫描频率的命令扫描频率的命令为00111001B。(3)2号命令号命令:读读FIFO RAM 010:命令特征码。命令分2个字段,

29、A2A0,AI。A2A0:用来指定指定读取读取键盘键盘FIFO RAM中字符的中字符的起始地址起始地址,A2A0 可有8种编码,以指定FIFO RAM中的8个地址单元任意一个作为读取的起始地址。2022-5-20计算机接口技术33AI:自动地址增量标志位自动地址增量标志位。当当AI=1时时,每次读出FIFO RAM后,地址自动加地址自动加1指向下一存储单元;当当AI=0时时,读出后地址不变地址不变(即不自动加,但可由人工改变地址)。 需要特别指出的是需要特别指出的是,该命令并不是实际从并不是实际从FIFO RAM中中读取数据读取数据,仅仅指定是读取键盘的指定是读取键盘的FIFO RAM,而不是

30、读取显示器RAM,因此,若要实现读键盘的数据若要实现读键盘的数据,还必须接还必须接着在该命令后面从数据端口读数着在该命令后面从数据端口读数。2022-5-20计算机接口技术34例如,要求从键盘从键盘FIFO RAM读读1个字节数据个字节数据,从0位开始读位开始读取,读数据后地址不自动加不自动加1,其程序段为如下。MOV DX,30DH ;82C79A命令端口MOV AL,01000000B ;2号命令,读号命令,读FIFO RAMOUT DX,ALMOV DX,30CH ;82C79A数据端口IN AL,DX ;从从FIFO RAM读读1个字节数据个字节数据2022-5-20计算机接口技术35

31、(4)4号命令号命令:写显示写显示RAM 100:命令特征码。命令字分2个字段,A0A3,AI。A0A3:用来指定写显示指定写显示RAM中字符的起始地址的起始地址,A0A3可有16种编码,以指定显示RAM中的16个地址单元任意一个作为写的起始地址。AI:自动地址增量标志自动地址增量标志。当AI=1时,每次写后地址自动增地址自动增1,当AI=0时,写后地址不变地址不变。一旦数据写入,82C79A的硬件便自动管理显示RAM的输出并同步扫描信号。同样,需要特别指出需要特别指出的是,该命令该命令并不是实际向显示器 RAM中写入数据,仅仅指定是写入显示器仅仅指定是写入显示器的RAM,而不是写入键盘的FI

32、FO RAM,因此,若要实现写入显示器数据若要实现写入显示器数据,还必须接着在该命令后面从数据端口写入数据从数据端口写入数据。2022-5-20计算机接口技术36例如,如果要求向显示器向显示器RAM写入数据写入数据,并且从从0位起位起,地址自动加址自动加1,其程序段如下。MOV DX,30DH ;82C79A的命令口MOV AL,10010000B ;4号命令,写显示号命令,写显示RAMOUT DX,ALMOV SI,OFSET BUFMOV DX,30CH ;82C79A的数据口MOV AL,SI OUT DX,AL ;向显示向显示RAM写入数据写入数据 2022-5-20计算机接口技术37

33、(5)状态字)状态字状态字状态字主要用来指示指示FIFO RAM中待取走的字符数中待取走的字符数和有无有无错误发错误发生。格式如图10.7所示。8位状态字中的D0D4 5位位是常用的常用的,用于查询方式,其中,D5位位表示表示“超出超出”,D4位位表示表示“空空”,D3位位表示表示“满满”,D2D0位位表示表示键盘存储区里是否尚有未取走的字符是否尚有未取走的字符。O:超出标志位超出标志位。当向已满的FIFO RAM中写入,使FIFO RAM中的字符个数n8而产生重叠时,O被置为被置为1。 2022-5-20计算机接口技术38U:“空空”标志位标志位。当FIFO RAM中的字符个数n=0时U被置

34、为被置为1。 F:“满满”标志位标志位。当FIFO RAM中的字符个数n=8时,F被置为被置为1。NNN:表示FIFO RAM中待待CPU取走的字符个数为取走的字符个数为n。例如,当要求采用查询方式从键盘FIFO RAM读取数据时,先应该查状态寄存器是否有数据可读。这可以查标志位“空”、“满”或者查待查待CPU取走的字符个数取走的字符个数n,其程序段为。LOOP1:MOV DX,30DH ;状态口IN AL,DX ;读状态字读状态字TEST AL,00000111B ;检查是否有待取走的字符检查是否有待取走的字符JZ LOOP1 ;无,再查2022-5-20计算机接口技术3910.5 LED显

35、示器接口设计显示器接口设计例例10.1 LED显示器接口设计显示器接口设计1要求要求 设计一个8位LED显示器,要求要求从0位开始位开始显示13579H六个字符,显示方式为左进显示方式为左进,采用编码扫描编码扫描。2分析分析 采用采用82C79A作为作为LED显示器接口显示器接口可以实现上述要求。另外,为了实现编码扫描要外加扫描译码器外加扫描译码器和提供LED显示器的驱动电路显示器的驱动电路。2022-5-20计算机接口技术403设计设计(1)硬件设计)硬件设计 接口电路接口电路由82C79A芯片、扫描译码器7445和段驱动器7406组成,如图如图10.8所示所示。图中的82C79A为接口的核

36、心为接口的核心,主管显示器与主管显示器与CPU之间的连接,之间的连接,执行控制命令执行控制命令;扫描译码器扫描译码器7445负责负责LED显示器的动动态扫描态扫描,作为作为“位控位控”信号控制信号控制8位显示器的哪一位点亮哪一位点亮;反向器反向器驱动器驱动器7406为LED的8段字型码提供电流驱动,作为作为“段控段控”信号信号控制控制8段显示器的哪一段发光哪一段发光。2022-5-20计算机接口技术41图图10.8 LED接口电路接口电路2022-5-20计算机接口技术42图10.8中,8个LED显示器相同的段连到一起,由7406驱动,实现段控。LED显示器为共阳极,每个阳极通过开关三极管及限

37、流电阻与+5V连接,三极管的导通与截止由7445的8个输出端控制,实现8位显示器的位控。当82C79A的扫描信号SL03经7445译码所产生的输出信号循环变化时,就可以使各位显示器轮流点亮或熄灭,实现LED显示器的动态扫描。 (2)软件设计)软件设计下面是从0位开始显示13579H六个字符的程序,六个字符的字形码存放在内存的BUF区。2022-5-20计算机接口技术43LED显示器的汇编语言程序段如下显示器的汇编语言程序段如下。CODE SEGMENTASSUME CS:CODE,DS:CODEORG 100HBEGIN:JMP STARTBUF DB 06H,4FH,6DH,07H,67H,

38、76H ;六个字符的字形码START:MOV AX,CODEMOV CS,AXMOV DS,AX ;82C79A初始化MOV DX,30DH ;82C79A的命令口MOV AL,00000000B ;0号命令号命令,显示方式命令显示方式命令MOV DX,ALMOV AL,001110001B ;1号命令号命令,设置分频系数设置分频系数252022-5-20计算机接口技术44 OUT DX,ALMOV AL,10010000 B ;4号命令号命令,写显示写显示RAM命令命令OUT DX,AL MOV SI,OFSET BUF ;显示字符首址MOV CX,06H ;显示字符数L:MOV DX,30

39、CH ;82C79A的数据口MOV AL,SI OUT DX,AL ;向显示向显示RAM写数据写数据INC SI ;缓存地址加1DEC CX ;字数减1JNZ L ;未完,继续MOV AX,4C00H ;已完,返回INT 21HCODE ENDSEND BEGIN2022-5-20计算机接口技术45/LED显示器的C语言程序如下。 unsigned char display6=0 x06,0 x4f,0 x6d,0 x07,0 x67,0 x76;outportb(0 x30d,0 x00); /显示方式:8字符显示,左端输入,编码扫描outportb(0 x30d,0 x39);/分频系数2

40、5,产生100kHz扫描频率outportb(0 x30d,0 x90); /指定写显示RAM命令,从0位起,地址自动加1for(i=0;i6;i+)outportb(0 x30c,displayi);/从内存单元中取显示代码送显示RAMdelay(50);/延时2022-5-20计算机接口技术4610.6 矩阵键盘接口设计矩阵键盘接口设计例例10.2 键盘接口电路设计键盘接口电路设计1要求要求设计一个24键的键盘接口。要求要求键盘采用编码扫描采用编码扫描、双键锁定双键锁定工作方式。从键盘读取从键盘读取10个字符个字符代码。外部时钟CLK=2.5MHz。2分析分析为了实现24键的键盘矩阵,采用

41、采用3行行8列的结构形式列的结构形式。同时为了满足编码扫描工作方式,故使用使用82C79A的3根扫描输出信号根扫描输出信号SL0SL2,接至译码器74LS156的输入端,经译码后,产生产生低电平有效的3根输出线根输出线Y0Y2,作为键作为键盘矩阵的3个行扫描信号个行扫描信号。键盘矩阵的8个列线个列线的一端一端与82C79A的返回信号返回信号RL0RL7相连接,另一端另一端通过电阻接高电平接高电平(+5V)。2022-5-20计算机接口技术473设计设计(1)硬件设计)硬件设计 根据上述分析,24键的键盘矩阵接口电路原理键的键盘矩阵接口电路原理如图如图10.9所示所示。图10.9 键盘接口电路2

42、022-5-20计算机接口技术48(2)软件设计)软件设计 键盘输入汇编语言程序段如下。键盘输入汇编语言程序段如下。CODE SEGMENTASSUME CS:CODE, DS:CODEORG 100HSTART:JMP BEGIN ;从0100H处执行第一条指令BUF DB 10 DUP(0)BEGIN:MOV AX,CODEMOV DS,AX ;设置数据段的段地MOV DX,30DH ;82C79A初始化MOV AL,00000000B ;0号命令号命令,键盘输入工作方式键盘输入工作方式OUT DX,ALMOV AL,00111001B ;1号命令号命令,设置分频系数为设置分频系数为25,

43、OUT DX,AL2022-5-20计算机接口技术49 MOV DI,OFSETBUF MOV CX,10LOOP1: MOV DX,30DH ;读状态字 IN AL,DX TEST AL,00000111B ;检查是否有待取走检查是否有待取走的字符的字符 JZ LOOP1 ;无,再查 MOV AL,01000000B ;2号命令号命令,读读FIFO RAM OUT DX,AL MOV DX,30CH ;读数据 IN AL,DX ;从键盘读从键盘读取数据取数据 MOVDI,AL ;存入内存BUF INC DI DEC CX JNZ LOOP1 MOV AX,4C00H ;退出 INT21H20

44、22-5-20计算机接口技术50 CODE ENDS END START/键盘输入键盘输入C语言程序段如下。语言程序段如下。unsigned char buf10;unsigned char i;outportb(0 x30d,0 x00);/设定键盘输入工作方式(编码扫描、双键锁定)outportb(0 x30d,0 x39);/设置分频系数为25,产生100kHz扫描频率for(i=0;i10;i+)while(inportb(0 x30d)&0 x07=0 x00); /检查是否有待CPU取走的字符outportb(0 x30d,0 x40);/有,指定读FIFO RAMbufi

45、=inportb(0 x30c);/读键盘,并存入内存BUF2022-5-20计算机接口技术514讨论讨论 HELLO五个字符的字形码在内存区的存放顺序与在显示器上的顺序相反,这是什么原因? 如果显示的字符不是从第0位,而是从第2位或第3位开始显示,程序要如何修改?2022-5-20计算机接口技术5210.7 打印机接口打印机接口 打印机是微型计算机系统中一种常用的输出设。目前打印机技术正朝着高速度、低噪声、美观清晰和彩色打印的方向发展。打印机的种类很多,性能差别也很大。当前流行的有针式打印机、激光打印机、喷墨式打印机等。10.7.1 并行打印机接口标准并行打印机接口标准1信号线定义信号线定义

46、Centronics标准标准定义了36芯插头/座,其信号线如表其信号线如表10.7所示所示。最主要的主要的是8根并行数据线根并行数据线DATA1 DATA8,2根握手联络信号线根握手联络信号线 、 及1根状态线根状态线BUSY,应重点了解。STROBEA C K2022-5-20计算机接口技术532022-5-20计算机接口技术542工作时序工作时序Centronics标准标准对打印机接口的工作时序的工作时序,即打印机与CPU之间传送数据的过程传送数据的过程作了规定,如图如图10.10所示所示。图图10.10 并行打印机接口标准工作时序并行打印机接口标准工作时序2022-5-20计算机接口技术

47、55打印机打印机与与CPU之间之间传送数据传送数据的的过程过程:是按照是按照Centronics打印机接口标准的工作时序进行的,以查询方打印机接口标准的工作时序进行的,以查询方式为例,其工作步骤如下。式为例,其工作步骤如下。 当CPU要求打印机打印数据时,CPU首先查询首先查询BUSY。若若BUSY=1,打印机忙打印机忙,则则等待等待;当当BUSY=0,打印不忙时打印不忙时,才才送数据送数据。 CPU 通过并行接口,把把数据送到数据送到DATA1DATA8数据线上数据线上,此时此时数据并未进入数据并未进入打印机打印机。 CPU再送出一个数据选通信号再送出一个数据选通信号 (负脉冲),把把数据线

48、上的数据数据线上的数据打入打入到到打印机打印机的内部缓冲器的内部缓冲器。 打印机打印机在收到数据后在收到数据后,向向CPU发出发出“忙忙”信号信号,表明表明打印机打印机正在处理输入的正在处理输入的数据数据。等到等到输入的数据处理完毕输入的数据处理完毕,打印机打印机撤销撤销“忙忙”信号信号,置置BUSY=0。 接着,打印机打印机送出一个回答信号送出一个回答信号 给给CPU,表示一个字符表示一个字符已经处理完毕已经处理完毕。ACKSTROBE2022-5-20计算机接口技术563打印机连接器打印机连接器 Centronics接口标准接口标准对打印机连接器打印机连接器规定为D-36芯芯插头/插座。而

49、台式台式PC机机配置的打印机接口插座打印机接口插座简化为D-25芯芯,去掉了Centronics中的一些未使用信号和地线。很明显,打印机接口标准打印机接口标准的连接器的连接器与与PC机的打印机接口插座机的打印机接口插座不兼容不兼容,因此要对两者信号线的排列作一些调整,要特别注意两者相应信号线的对接,按照按照图图10.11所示的信号线连接所示的信号线连接。2022-5-20计算机接口技术57图图10.11 打印机与打印机与PC机并口信号线连接图机并口信号线连接图2022-5-20计算机接口技术5810.7.2 并行打印机接口设计并行打印机接口设计例例10.3 并行打印机接口电路设计并行打印机接口

50、电路设计1要求要求 要求要求为某应用系统配置一个并行打印机接口配置一个并行打印机接口,通过接口采用查询方采用查询方式把式把存放在BUF缓冲区的256个字符个字符(ASCII码)送去打印送去打印。2分析分析 由于打印机接口打印机接口面向的对象面向的对象是打印机接口标准打印机接口标准而不是打印机本身而不是打印机本身,因此打印机接口硬件电路设计接口硬件电路设计要以要以标准所定义标准所定义的信号线的信号线为依据为依据,而软软件设计件设计应以应以接口标准所规定接口标准所规定的工作时序的工作时序为依据为依据。3设计设计(1)打印机接口电路设计)打印机接口电路设计打印机接口电路原理框图打印机接口电路原理框图如图如图10.12所示所示。2022-5-20计算机接口技术59图图10.12 并行打印机接口电路框图并行打印机接口电路框图2022-5-20计算机接口技术60该该电路的电路的设计思路是设计思路是:按照按照Centronics标准标准对打印机接口信号线的定义,最基本的信号线需要需要8根数据线根数据线(DATA1DATA8),1根控制线根控制线(STROBE,)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论