收藏 分销(赏)

微机原理与接口技术楼顺天版课后题答案样本.doc

上传人:二*** 文档编号:4575471 上传时间:2024-09-30 格式:DOC 页数:40 大小:3.11MB
下载 相关 举报
微机原理与接口技术楼顺天版课后题答案样本.doc_第1页
第1页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、微机原理与接口技术 楼顺天 周佳社编著 科学出版社找了好久,终于在期末从教师那儿弄了一份,但愿对人们有用!tcyc(R)4TtdatDT其中:T为8086微解决器时钟周期;tda为8086微解决器地址总线延时时间;tD为各种因素引起总线附加延时。这里tD应当以为是总线长度、附加逻辑电路、总线驱动器等引起延时时间总和。同理,存储器芯片最小写入时间应满足如下表达式:tcyc(W)4TtdatDT4.用下列RAM芯片构成32kB存储器模块,各需多少芯片?16位地址总线中有多少位参加片内寻址?多少位可用作片选控制信号?(1)1k1 (2)1k4 (3)4k8 (4)16k4解:(1)1k1 片,片内寻

2、址:,共10位; 片选控制信号:,共6位。(2)1k4 片,片内寻址:,共10位; 片选控制信号:,共6位。(3)4k8 片,片内寻址:,共12位; 片选控制信号:,共4位。(4)16k4片,片内寻址:,共14位; 片选控制信号:,共2位。5.若存储器模块存储容量为256kB,则运用上题中给出RAM芯片,求出构成256kB存储模块各需多少块芯片?20位地址总线中有多少位参加片内寻址?多少位可用作片选控制信号?解:(1)1k1 片,片内寻址:,共10位; 片选控制信号:,共10位。(2)1k4 片,片内寻址:,共10位; 片选控制信号:,共10位。(3)4k8 片,片内寻址:,共12位; 片选控

3、制信号:,共8位。(4)16k4片,片内寻址:,共14位; 片选控制信号:,共6位。6.一台8位微机系统地址总线为16位,其存储器中RAM容量为32kB,首地址为4000H,且地址是连接。问可用最高地址是多少?解:32K=8000H,因此,最高地址为:4000H+8000H-1=BFFFH则,可用最高地址为0BFFFH.7.某微机系统中内存首地址为4000H,末地址为7FFFH,求其内存容量。解:7FFFH-4000H+1=4000H=16KB 内存容量为16KB。8.运用全地址译码将6264芯片接在8088系统总线上,其所占地址范畴为00000H03FFFH,试画连接图。写入某数据并读出与之

4、比较,若有错,则在DL中写入01H;若每个单元均对,则在DL写入EEH,试编写此检测程序。解:由于6264片容量为8KB。RAM存储区域总容量为03FFFH-00000H+1=4000H=16KB,故需要2片6264芯片。连接图如图6.1所示。图6.1 与8088系统总线连接图检测程序段:MOV AX,0000HMOV DS,AXMOV SI,0MOV CX,16*1024MOV AL,55HCMPL: MOV SI,ALMOV BL,SICMP BL,ALJNE ERRORINC SILOOP CMPLMOV DL,0EEHJMP NEXTERROR:MOV DL,01HNEXT: 9.简述

5、EPROM编程过程,并阐明EEPROM编程过程。解:EPROM芯片编程有两种方式:原则编程和迅速编程。在原则编程方式下,每给出一种编程负脉冲就写入一种字节数据。Vpp上加编程电压,地址线、数据线上给出要编程单元地址及其数据,并使=0,=1。上述信号稳定后,在端加上宽度为50ms5ms负脉冲,就可将数据逐个写入。写入一种单元后将变低,可以对刚写入数据读出进行检查。迅速编程使用100编程脉冲依次写完所有要编程单元,然后从头开始检查每个写入字节。若写不对的,则重写此单元。写完再检查,不对的可重写。EEPROM编程时不需要加高电压,也不需要专门擦除过程。并口线EEPROM操作与SRAM相似,写入时间约

6、5ms。串行EEPROM写操作准时序进行,分为字节写方式和页写方式。10若要将4块6264芯片连接到8088最大方式系统A0000HA7FFFH地址空间中,现限定要采用74LS138作为地址译码器,试画出涉及板内数据总线驱动连接电路图。解:8088最大方式系统与存储器读写操作关于信号线有:地址总线,数据总线:,控制信号:。依照题目已知条件和74LS138译码器功能,设计板内数据总线驱动电路如图6.2(a)所示,板内存储器电路连接电路图如图6.2 (b)所示。图6.2(a)板内数据总线驱动电路图6.2 (b)板内存储器电路连接图11若在某8088微型计算机系统中,要将一块2764芯片连接到E00

7、00HE7FFFH空间中去,运用局部译码方式使它占有整个32kB空间,试画出地址译码电路及2764芯片与总线连接图。解:Intel 2764片容量为8KB,而题目给出地址共32KB,阐明有4个地址区重叠,即采用某些地址译码时,有2条高位地址线不参加译码(即不参加译码)。地址译码电路及2764与总线连接如图6.3所示。图6.3地址译码电路及2764与总线连接12在8086 CPU工作在最小方式构成微机系统中,扩充设计16kBSRAM电路,SRAM芯片选用Intel 6264,内存地址范畴为70000H73FFFH,试画出此SRAM电路与8086系统总线连接图。解:73FFFH-70000H+1=

8、4000H=16K Intel 6264片容量为8KB,RAM存储区总容量为16KB,故需要2片6264. 8086最小方式系统与存储器读写操作关于信号线有:地址总线,数据总线:,控制信号:。此SRAM电路与8086系统总线连接图如图6.4所示。图6.4 SRAM电路与8086系统总线连接图13E2PROM 28C16芯片各引脚功能是什么?如果要将一片28C16与8088系统总线相连接,并能随时改写28C16中各单元内容,试画出28C16和8088系统总线连接图(地址空间为40000H407FFH)。解:28C16引脚功能:l VCC,GND:电源和地l :11位地址线,可寻址2KB地址空间l

9、 :8位数据线l :写容许,低电平有效。l :输出容许,低电平有效。l :片选信号,低电平有效。依照所学知识,28C16与8088系统连接图如图6.5所示。图6.5 28C16与8088系统连接图7章习题1. 简述I/O接口基本功能。答:(1)地址选取 (2)控制功能 (3)状态批示 (4)速度匹配 (5)转换信息格式 (6)电平转换 (7)可编程性2. 简述I/O接口与I/O端口区别。答:I/O接口是指I/O设备与系统总线之间连接部件。 I/O端口是指I/O接口内部可由CPU进行读写操作各种寄存器,依照存储信息不同,这些寄存器分别称为数据端口、控制端口和状态端口。3. 简述I/O端口编址方式

10、及优缺陷。答:I/O端口编址方式可以分为独立编址和统一编址两种方式。独立编址方式是指I/O端口与存储器有互相独立地址空间。 统一编址方式是指I/O端口与存储器共享一种地址空间,所有存储单元只占用其中一某些地址,而I/O端口则占用此外一某些地址。优缺陷:独立编址方式长处之一是存储器容量可以达到与地址总线所决定地址空间相似;长处之二是访问I/O端口时地址位数可以较少,提高总线运用率。但是缺陷是必要设立专门I/O指令,增长了指令系统和关于硬件复杂性。与独立编址方式相比,统一编址方式长处是无需专门I/O指令,从而使编程较灵活,但是I/O端口占用了存储器一某些地址空间,因而影响到系统中存储器容量,并且访

11、问存储器和访问I/O端口必要使用相似位数地址,使指令地址码加长,总线中传送信息量增长。4. 简述程序查询、中断和DMA三种方式优缺陷。答:程序查询方式长处在于可以防止数据丢失,实现起来较为简朴;缺陷是它占用了微解决器大量时间,实时性较差。中断方式具备较好实时性;但在一定限度上增长成本和复杂性。DMA方式突出长处是传送过程不必解决器控制,数据也不必通过微解决器,而是直接在I/O设备与主存储器间进行,因而既节约了微解决器时间,也使传送速率大大提高;缺陷是输入/输出操作占用微解决器时间,并且很难达到较高数据传播率。5. 8086 CPU 有 20 条地址总线,可形成 1MB 存储器地址空间,可寻址范

12、畴为 00000H-FFFFFH;地址总线中 16 条线可用于I/O寻址,形成 64KB 输入输出地址空间,地址范畴为 0000H-FFFFH ;PC机中用了 10 条地址线进行I/O操作,其地址空间为 1KB ,可寻址范畴为 000H3FFH 。6. 对于微机而言,任何新增外部设备,最后总是要通过 I/O接口 与主机相接。7. 在主机板外开发某些新外设接口逻辑,这些接口逻辑一侧应与 I/O设备 相接,另一侧与 系统总线 相接。8. 需要靠在程序中排入I/O指令完毕数据输入输出方式有 B C 。(A)DMA (B)程序查询方式 (C)中断方式9. 8086CPU用 IN 指令从端口读入数据,用

13、 OUT 指令向端口写入数据。10. 在8088 CPU构成计算机系统中有一接口模块,片内占用16个端口地址30030FH,设计产生片选信号译码电路。解:由于片内有16个端口,非别占用30030FH地址。因而,该接口模块片选信号译码电路设计时,A3A0不参加译码。其译码电路如图7.1所示。图7.111. 在IBM PC系统中,如果AEN信号未参加I/O端口地址译码,会浮现什么问题?在没有DMA机构其他微机系统中,与否存在同样问题?答:在IBM PC系统中,如果AEN信号未参加I/O端口地址译码,则会浮现DMA机构与I/O端口竞争总线问题。在没有DMA机构其她微机系统中,不会存在同样问题。12.

14、 在8088 CPU 工作在最大方式构成微机系统中,运用74LS244设计一种输入端口,分派给该端口地址为04E5H,试画出连接图。解:连接图如图7.2所示。图7.213. 在上题基本上,运用74LS374设计一种输出端口,分派给该端口地址为E504H,试画出连接图。若上题中输入端口bit3、bit4和bit7 同步为1,将内存BUFFER开始持续10个字节单元数据由E504H端口输出;若不满足条件,则等待。试编写程序。解:连接图如图7.3所示。图7.3程序如下:MOV CX ,10 LEA SI,BUFFER MOV DX,04E5H WAIT1:IN AL,DX AND AL,98H CM

15、P AL,98H JNZ WAIT1 MOV DX,0E504H L1:MOV AL,SI OUT DX,AL INC SI LOOP L1 HLT14在8086最大系统中,分别运用2片74LS244和74LS273设计16位输入和输出接口,其起始端口地址为504H、506H,画出硬件连接图解:硬件连接图如图7.4所示。图7.4 硬件连接图9章习题1. 下列地址哪些可以分派给8253/8254计数器0?为什么?(23H、54H、97H、51H、FCH、59H)解:由于已经商定采用A2,A1作为8253内部地址线,并且计数器0地址为00,因此在题中所给地址中只有51H,59HA2和A1同步为0,

16、即:A2A1=00.2. 如果计数器0设定为方式0,GATE01,CLK01MHz,时常数为N1000,请画出OUT0波形。如果计数器1设定为方式1,其他参数与计数器0相似,画出OUT1波形。3. 编程实现:将8253计数器0设立成方式4,并置时常数10000,然后处在等待状态,直到CE内容1000后再向下执行。解:MOV DX,COUNTD ;写入计数器0方式控制字 MOV AL,00111000B OUT DX,AL MOV DX,COUNTA ;设立计数器0常数 MOV AX,10000 OUT DX,AL XCHG AL,AH OUT DX,AL L1: MOV DX,COUNTD ;

17、写入计数器0方式控制字 MOV AL,0H OUT DX,AL MOV DX,COUNTA ;读入CE IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH CMP AX,1000 ;鉴别CE当前大小 JA L1 4. 运用8253可以实现拟定期间延迟,编程实现延时10秒程序段(设可以使用基准时钟为1MHz)。解:本题使用计数器0和计数器1,并且计数器0输出OUT0作为计数器1时钟输入CLK1.程序如下:MOVDX,COUNTD;写计数器0方式控制字MOVAL,00110100BOUTDX,ALMOVDX,COUNTAMOVAX,10000 ;写计数器0时常数,分频得到

18、100Hz时钟频率OUTDX,ALXCHGAL,AHOUTDX,ALMOVDX,COUNTD;写计数器1方式控制字MOVAL,01110000BOUTDX,ALMOVDX,COUNTBMOVAX,999;分频得到0.1Hz时钟频率。(在方式0下,时常数为N时, ;OUT输出低电平宽度为N+1).OUTDX,ALXCHGAL,AHOUTDX,ALL1: ;延时MOVDX,COUNTD;当前CE内容锁存到OLMOVAL,01000000BOUTDX,ALMOVDX,COUNTBINAL,DXMOVAH,ALINAL,DXXCHGAL,AHCMPAX,999JNAL1;延时结束,则继续执行,否则,跳

19、到L1,继续延时.5. 比较8254方式0与方式4、方式1与方式5区别?方式0与方式4方式0 OUT端计数过程中为低,计数值减为0时,输出变高方式4 OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK负脉冲方式1与方式5方式1 OUT端输出宽度为n个CLK低电平,计数值减为0时,输出为高方式5 OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK负脉冲6. 在8088最小系统中,8253端口地址为284H287H。系统提供时钟为1MHz,规定在OUT0输出周期为20微秒方波,在OUT1输出周期为200微秒,其中每周期为负时间是180微秒信号。请编写8253初始化程序。解:OUT0

20、输出为20微妙方波,可用方式三直接产生,OUT1输出波形与书中例9.2类似,可用其中思想产生此信号。如果容许增长外部器件,也可在例9.1基本上,将OUT端信号通过与非门取反,这样即可产生题目规定信号。本例运用例9.1思想解答MOV DX,287H ;写计数器0控制方式字MOV AL,00010110BOUT DX,ALMOV DX,284H ;写计数器0时常数MOV AL,20OUR DX,ALMOV DX,287 ;写计数器2控制方式字MOV AL,10010110BOUT DX,ALMOV DX,286H ;写计数器2时常数MOV AL,200OUT DX,ALMOV DX,287HMOV

21、 AL,01010010B ;写计数器1控制方式字OUT DX,ALMOV DX,285HMOV AL,9 ;写计数器1时常数OUT DX,AL7. 通过8253计数器0方式0产生中断祈求信号,现需要延迟产生中断时刻,可采用:A) 在OUT0变高之前重置初值;B) 在OUT0变高之前在GATE0端加一负脉冲信号;C) 减少加在CLK0端信号频率;D) 以上全是。解:D A:方式0下,在OUT0变高之前重置初值,将在下一种CLK下降沿使时常数从CR读入CE并重新计数。B:在OUT0变高之前在GATE0端加一负脉冲信号可以延时一种时钟周期,达到延时目。C:减少加在CLK0端信号频率,可以增大时钟周

22、期,达到延长OUT0端低电平时间。(注:A中,如果重置初值为1,则不会达到延时效果)8. 已知8254计数器0端口地址为40H,控制字寄存器端口地址为43H,计数时钟频率为2MHz,运用这一通道设计当计数到0时发出中断祈求信号,其程序段如下,则中断祈求信号周期是 32.7675 ms。MOV AL,00110010BOUT 43H, ALMOV AL, 0FFHOUT 40H, ALOUT 40H, AL9. 若8254芯片可使用8086端口地址为D0D0HD0DFH,试画出系统设计连接图。设加到8254上时钟信号为2MHz,(1)运用计数器02分别产生下列三种信号: 周期为10us对称方波

23、每1s产生一种负脉冲 10s后产生一种负脉冲每种状况下,阐明8254如何连接并编写涉及初始化在内程序段。(2) 但愿运用8086通过一专用接口控制8253GATE端,当CPU使GATE有效开始,20us后在计数器0OUT端产生一种正脉冲,试设计完毕此规定硬件和软件。解:(1) 选用D0D0HD0DFH中偶地址DODO,DOD2,DOD4,DOD6为基本地址作为8254端口地址,设8086工作在最小方式下。8254端口地址译码电路如下图: 计数器0输入端加2MHz时钟信号,GATE0加+5V电压,输出OUT0信号为周期为10s对称方波。初始化代码:MOV DX,0D0D6H ;写计数器0工作方式

24、MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AL,20OUT DX,ALCLK0加2MHz始终信号,GATE0,GATE1加+5V电压,OUT0输出加到CLK1做时钟信号,OUT1输出为每1s产生一种负脉冲。初始代码:MOV DX,0D0D6H ;写计数器0工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AL,100OUT DX,ALMOV DX,0D0D6H ;写计数器1工作方式MOV AL,01110100B OUT DX,ALMOV DX,0D0D2H ;写计数器1

25、时常数MOV AX,0OUT DX,ALXCHG AL,AHOUT DX,ALCLK0加2MHz始终信号,GATE0,GATE1加+5V电压,OUT0输出加到CLK2做时钟信号,OUT2输出为10s后产生一种负脉冲。初始代码:MOV DX,0D0D6H ;写计数器0工作方式MOV AL,00110110BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AX,1000OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,0D0D6H ;写计数器2工作方式MOV AL,10111000BOUT DX,ALMOV DX,0D0D4H ;写计数器2时常数MOV

26、AX,0OUT DX,ALXCHG AL,AHOUT DX,AL1) 选用地址D0D0,DOD2,DOD4,DOD6为8253端口地址,D0D8为GATE端口地址,该端口采用74LS373,8253用方式4,在OUT输出端加非门实现脉冲功能。接口电路如图:初始代码为:MOV DX,0D0D8H ;GATE初始化MOV AL,0OUT DX,ALMOV DX,0D0D6H ;写计数器0工作方式MOV AL,00011000BOUT DX,ALMOV DX,0D0D0H ;写计数器0时常数MOV AL,40OUT DX,ALMOV DX,0D0D8HMOV AL,1OUT DX,AL ;使GATE

27、变高有效10. 若加到8254上时钟频率为0.5MHz,则一种计数器最长定期时间是多少?若规定10分钟产生一次定期中断,试提出解决方案。解:一种计数器最长定期时间应当是置入时常数0时,此时定期时间为:65536/0.5*106s=131ms采用方式0即:计数达到终值时中断来10分钟产生一次定期中断,此时时常数CR为:10*60*0.5*106=3*109.由于一种计数器最多分频65536,因此至少得使用2个计数器。咱们采用计数器0和计数器1.计数器0时常数CR0为60000,计数器1时常数CR1为50000.连接方式为:把0.5MHz时钟频率接到计数器0CLK0,然后把计数器0OUT0接到计数

28、器1CLK1。这样计数器1OUT1端输出就是10分钟产生一次定期中断。11. 织布机控制系统如图9.26所示,已知织布机每织1米发出一种正脉冲,每织100米规定接受到一脉冲,去触发剪裁设备把布剪开。(1)设8253端口地址为80H83H,编写对8253初始化程序。(2)假定系统提供信号频率为1MHz,但愿运用8253别的通道产生0.1秒周期信号,编写初始化程序。解:(1)MOVDX,83HMOVAL,00010100BOUTDX,ALMOVDX,80HMOVAL,100OUTDX,AL(2)将计数器1输出OUT1信号作为计数器2时钟输入CLK2,计数器1时钟输入为系统提供1MHZ信号MOVDX

29、,83HMOVAL,01110100BOUTDX,ALMOVDX,81HMOVAX,1000OUTDX,ALXCHGAL,AHMOVDX,ALMOVDX,83HMOVAL,10010110BOUTDX,ALMOVDX,82HMOVAL,100OUTDX,AL 图9.26 织布机控制系统12. 在IBM PC系统中依照下列不同条件设计接口逻辑,运用8253完毕对外部脉冲信号重复频率测量。(1) 被测脉冲信号重复频率在101000Hz范畴内。(2) 被测脉冲信号重复频率在0.51.5Hz范畴内。(3) 被测脉冲信号重复频率在10100Hz范畴内。(4) 被测是间歇脉冲信号,每次有信号时有100个脉

30、冲,重复频率为0.81.2MHz,间歇频率大概每秒15次,规定测有信号时脉冲重复频率。解:用两个计数器,计数器0CLK接待测信号,GATE接半周期为10s高电平信号,OUT接8259,同步取反接计数器1GATE端。计数器1CLK接系统时钟,半周期为T0。在这样逻辑电路下,计数器0功能是记录待测信号脉冲数N0,计数器1功能是记录在相似时间里系统时钟信号脉冲数N1。依照T=N1*T0/N0可计算出待测信号周期。S(t)是待测信号,S(t)为给定周期不不大于10s高电平信号。端口声明:COUNTA为计数器0地址,COUNTB为计数器2地址,COUNTD为控制器地址,COUNT为373地址程序如下:M

31、OV DX,COUNTD ;计数器1初始化 MOV AL,01110000B OUT DX,AL MOV DX,COUNTB OUT DX,AL MOV DX,COUNTB MOV AL,O OUT DX,ALMOV DX,COUNTD ;计数器0初始化MOV AL,00010000BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTI读两计数器计数,并进行计算中断服务子程序:PUSH AXPUSH BXPUSH CXPUSH DXMOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,

32、DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV BX,AXMOV DX,COUNTDMOV AL,00010000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV CX,T0MUL CXDIV BXMOV SFR,AXPOP DXPOP CXPOP BXPOP AXIRETSFR中保存成果即为待测信号周期。对于(1)题,10*10不不大于100,10*1000不不不大于65535,可以用计数法。同理(3)也可用此办法。对于(2)题,可用周期法。逻辑电路

33、图如下:程序如下:MOV DX,COUNTDMOV AL,0011 0100BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTIPUSH AXPUSH BXPUSH DXMOV DX,COUNTDMOV AL,0000 0000BOUT DX,ALMOV DX,COUNTAIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV BX,AXMOV DX,000FHMOV AX,4240HDIV BXMOV SFR,AXPOP DXPOP BXPOP AXIRET(4) 如图设计接口,计数器1用来记

34、录在50个脉冲所用时间,50个信号脉冲最多用1/0.8*50(约为63us)由于计数器1用1MHz CLK,故其计数个数N即为N us,因此当N63时,则有低电平间隔计入,须重新计数。当N63时,则计算得待测频率。程序如下:MOV DX,COUNTDMOV AL,00HOUT DX,ALMOV DX,COUNTDMOV AL,0001 0000BOUT DX,ALMOV DX,COUNTAMOV AL,50OUT DX,ALMOV DX,COUNTDMOV AL,0111 0000BOUT DX,ALMOV COUNTBMOV AL,0OUT DX,ALOUT DX,ALL2: MOV DX,

35、COUNT ;给GATE0和GATE1高电平,开始计数MOV AL,81HOUT DX,ALL1: NOP MOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,DXMOV DX,COUNTAIN AL,DXAND AL,AL ;判断与否计完50个脉冲,若未计完继续等待JNZ L1MOV DX,COUNTMOV AL,00H ;若计完则暂停计数OUT DX,ALMOV DX,COUNTD ;读计数器1成果MOV AL,01000000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXC

36、HG AL,AHNEG AXINC AXCMP AX,70H ;当AL不不大于70,则有间歇计入,重新测试JA L2MOV BL,ALMOV AL,50 ;计算频率DIV BLMOV FREC,AL10章习题1. 试分析 8255A方式0、方式1和方式2重要区别,并分别阐明它们适合于什么应用场合。答:方式0是基本输入/输出,端口A、B、C都可以作为输入输出端口。合用于CPU与非智能I/O设备数据传播;方式1是有联系信号输入/输出,端口A、B都可以设定成该方式,此时三个端口信号线提成了A、B两组,用作A组联系信号,用作B组联系信号。合用于高速CPU与低速I/O设备数据传播;方式2是双向传播,只有

37、A组端口可以设定成该方式,用作输出联系信号,用作输入联系信号,用作中断祈求信号。合用于双机之间数据并行传送。2. 8255AA组设立成方式1输入,与CPU之间采用中断方式联系,则产生中断祈求信号INTRA条件是 STBA= 1 ,IBFA= 1 ,INTEA= 1 。3. 如果8255A端口地址为300H303H,A组和B组均为方式0,端口A为输出,端口B为输入,PC3PC0为输入,PC7PC4为输出,写出8255A初始化程序段;编程实现将从端口C低4位读入值从高4位送出。解:MOV DX,303HMOV AL,10000011BOUT DX,ALMOV DX,302HIN AL,DXMOV

38、CL,4SHL AL,CLOUT DX,AL4. 在实际应用中经常需要检测设备状态,并进行批示。在8086最小方式系统下,有一片8255A,其分派端口地址为8F00H8F07H中奇地址,外部设备产生状态有16个(K15K0),规定采用4个发光二极管来批示开关量中“1”个数。(1)画出8255A连接图;(2)编写程序段实现持续检测并显示。解:(1)(2)MOV DX,8F07HMOV AL,10010010B ;端口A、B方式0输入,端口C方式0输出OUT DX,ALNEXT:MOV DX,8F03H ;从端口B读取高8位开关量IN AL,DXXCHG AL,AHMOV DX,8F01H ;从端

39、口A读取低8位开关量IN AL,DXMOV BX,AXXOR AL,ALMOV CX,16CLCL2:SHL BX,1JNC L1INC ALL1:LOOP L2MOV DX,8F05H ;从端口C送出OUT DX,ALJMP NEXT ;进行下一次检测5. 运用IBM PC系统机总线槽,开发由一片8255A构成子系统,8255A端口地址为260H263H,编程实现产生如图10.20所示8个信号(各个信号节拍不必严格相等)。图10.20 规定产生信号波形解:8355A与IBM PC机总线连接框图如下:可将8255A端口A作为要产生信号输出端口,设定为方式0输出,端口B和端口C不做使用,均设定为

40、方式0输出。程序段如下: MOV DX,263H ;设定8255A工作方式 MOV AL,10000000B OUT DX,AL MOV DX,260H ;产生指定信号 XOR AL,AL OUT DX,ALREP: MOV AL,80H MOV CX,7REP1: OUT DX,AL SAR AL,1 LOOP REP1 MOV CX,8REP2: SHL AL,1 OUT DX,AL LOOP REP2 JMP REP6. 在实际应用中,经常会遇到规定输入各种数据量,这时需要用到多路开关,如图10.21表达八选一逻辑框图及其真值表。既有8组16位开关量数据(无符号数),规定通过一片8255

41、A(端口地址为260H263H)分时输入到CPU(8088最小方式系统)中,并找出它们中最大值,并通过4个发光二极管批示其序号(灯亮表达“1”)。画出8255A连接图,并编程实现。解:由于开关量是16为数据,故可以将8255APA端与PB端设定为方式0,分别读取开关量低八位和高八位,以PC低三位端口控制八选一电路输出依次从X0到X7,使用PC端口高八位输出最大开关量序号(该序号为18),控制发光二极管亮灭以码批示序号。连接图如下:程序段如下: MOV DX,263H MOV AL,10011010B ;设定工作方式,PA,PB均工作于方式0,PA、PB为输入,PC为输出 OUT DX,AL MOV CX,8 XOR BX,BX MOV SI,0 ;SI表达输入开关量序号ST1: MOV DX,262H OUT DX,SI MOV DX,260H ;将开关量数据低八位写入AL IN AL,DX MOV DX,261H ;将开关量数据高八位写入AH IN AH,DX CMP BX,AX JA NEXT

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服