微机第5-6章习题解答_第1页
微机第5-6章习题解答_第2页
微机第5-6章习题解答_第3页
微机第5-6章习题解答_第4页
微机第5-6章习题解答_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第五、六章

习题解答5.18086CPU对其I/O端口的寻址采用哪种方式?它的输入指令:

INAL,PORT;INAL,DX;

INAX,PORT;INAX,DX的作用有何区别?5.1答:8086CPU对I/O端口的寻址采用的是I/O端口单独寻址方式,它安排有专门的输入/输出指令即IN、OUT指令。4条输入指令的区别是:INAL,PORT:直接寻址端口地址和输入的数据均为8位,即:(PORT)→ALINAL,DX:间接寻址端口地址为16位,输入的数据为8位,即:(DX)→ALINAX,PORT:直接寻址端口地址为8位,输入的数据为16位,即: (PORT)→AL,(PORT+1)→AHINAX,DX:间接寻址端口地址和输入的数据均为16位,即: (DX)→AL,(DX+1)→AH

5.4

在查询方式、中断方式以及DMA方式中,有一个共性的问题是:系统如何知道接口部件已准备好,可以进行I/O数据传送?试简述之。答:①在查询方式中,通过程序检测接口电路中状态寄存器的“准备好”(Ready)位,以确定当前可否进行数据传输;②在中断方式下,当外设已准备好时,接口电路会向CPU发一个中断请求,CPU响应后,便通过运行中断服务程序来实现数据输入/输出;③在DMA方式中,外设要求传输数据时,接口电路会向DMA控制器发出DMA请求信号,导致DMA传输数据。5.5某输入设备的接口电路中,其数据端口地址为3F8H;状态端口地址为3FEH,当其D7位为1时,表示输入数据已准备好。试编写查询方式数据传送的程序段,要求从该设备读入100个字节,并存入到自2000H:2000H开始的内存单元之中。

解:

MOVAX,2000HMOVDS,AX;设置数据段基址为2000HMOVBX,2000HMOVCX,64H;计数器初值为100NEXT:MOVDX,3FEH;状态端口地址WAIT:INAL,DX;读入状态

TESTAL,80H;设备准备好?

JZWAIT

;否,转回继续查询状态

MOVDX,3F8H;数据端口

INAL,DX;输入数据

MOV[BX],AL;存入缓冲区

INCBX;指向下一单元

LOOPNEXT

;循环控制共输入100个字节

…5.6设计一个采用74LS138的I/O端口的地址译码器,要求能寻址的端口地址范围分别是:①340H~347H;②348H~34FH;③350H~357H;④378H~37FH。答:由题目要求,该译码器使用CPU的十根地址总线A9~A0,其中:

A9~A3与一起用于对74LS138的输入;

A2~A0用于各接口芯片的片内I/O端口的寻址。M/A B C 74LS138

A3A4A5A6

&A9A8A7340H~347H348H~34FH350H~357H378H~37FH5.128259A只占用2个I/O端口地址(奇、偶地址),对其编程时将如何区别7个可编程的寄存器:ICW1~ICW4、OCW1~OCW3?答:⑴7个可编程的寄存器中占用偶地址的有ICW1、OCW2、OCW3,它们之间的互相区分则采用写入的控制字中不同的特征位的方式来进行。其中:ICW1的D4位必须为1;OCW2的D4D3位必须为00;OCW3的D4D3位必须为01。⑵占用奇地址的有ICW2、ICW3、ICW4和OCW1,它们之间的互相区分则采用写入顺序来进行,其中:ICW2、ICW3、ICW4在8259A初始化编程过程中,必须严格按顺序依次写入;而OCW1则是在初始化完成后,在8259A的工作过程中写入。5.16

某8086系统中有三片8259A安排为非缓冲、级连使用,两从片A、B分别接入主片的IR2、IR4;三片8259A的端口地址分别为20H、22H;30H、32H;40H、42H;主片及从片A、从片B的IR5上各接有一个外部中断源,其中断类型号分别为75H、7DH和85H;所有中断都采用电平触发方式、全嵌套、非自动EOI方式。试完成:①画出该系统中3片8259级连部分电路简要的电气原 理图;②编写出全部初始化程序。答:①该系统的电气原理图如下图所示。②各片的初始化程序如下:

8259ACAS0从片ACAS1CAS2IR0…IR7INT

8259ACAS0从片BCAS1CAS2IR0…IR7INTINTCAS08259ACAS1主片CAS2

IR2IR4IR7IR0………Vcc来自CPU的INTA去CPU的INTR…主片的初始化程序:MOVAL,19H;ICW1=0001,1001B,电平触发,多片级连 使用,要ICW4OUT20H,AL;写入偶地址MOVAL,75H;ICW2控制字:中断类型号OUT22H,AL;写入奇地址MOVAL,14H;ICW3:IR4、IR2上接有从片OUT22H,ALMOVAL,11H;ICW4=00010001B,特殊全嵌套方式,

;非自动中断结束方式,8086系统OUT22H,AL从片A的初始化程序:

MOVAL,19H;ICW1控制字:同主片OUT30H,ALMOVAL,7DH;ICW2控制字:中断类型号为OUT32H,AL MOVAL,02H;ICW3控制字:本从片的标识码OUT32H,AL(INT接主片的IR2)MOVAL,01H;ICW4控制字:全嵌套、非缓冲、非自动 结束中断,8086系统OUT32H,AL从片B的初始化程序:MOVAL,19H;ICW1控制字:同主片OUT40H,ALMOVAL,85H;ICW2控制字:中断类型号为 OUT42H,ALMOVAL,04H;ICW3控制字:本从片的标识码 (INT接到主片的IR4)OUT42H,ALMOVAL,01H;ICW4控制字:同从片AOUT42H,AL产生:20H、22H、30H、32H、40H、42H片选信号的译码电路如右图所示。

(一)A B C 74LS138

A4A5A6A7

A220H、22H(主片)30H、32H(从片A)40H、42H(从片B)M/≥1≥1

A3A0产生:20H、22H、30H、32H、40H、42H片选信号的译码电路如右图所示。

(二)A B C 74LS138

A4A5A6A7

A020H~2EH(主片)30H~3EH(从片A)40H~4EH(从片B)M/6.4设8253计数器0~2和控制字寄存器的端口地址依次为F8H~FBH,说明如下程序的作用。MOVAL,33H;00110011,计0,16位,方1,BCDOUT0FBH,AL;写入方式控制字到控制寄存器MOVAL,80H;OUT0F8H,AL;MOVAL,50H;OUT0F8H,AL;程序的作用是:

对8253芯片的计数器0初始化为:工作方式1、BCD码计数、十六位计数器,计数器的初始值为5080。

6.5

设8253的4个端口地址分别为300H、302H、304H和306H,由CLK0输入计数脉冲频率为2MHz。

要求通道0输出1.5kHz的方波,通道1、通道2均用通道0的输出作计数脉冲,通道1输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。

试编写初始化程序,并画出8253相关引脚的连线图。

分析:按要求可知:

(1)计数器0用作方波发生器(方式3),其分频系数为: N0=2×106÷(1.5×103)≈1333=0535H

(2)计数器1用作分频器(方式2),其分频系数为:

N1=1500÷300=5

(3)计数器2用作分频器(方式2),其分频系数为:

N2=1500÷50=30=1EHMOVDX,306HMOVAL,37H(或36H)

;通道0,16位初值,方式3,BCD进制计数OUTDX,AL;写入通道0控制字MOVDX,300HMOVAL,35HOUTDX,AL;写入初值1333(或0535H)的低8位入通道0MOVAL,05HOUTDX,AL;写入初值1333(或0535H)的高8位入通道0MOVDX,306HMOVAL,54H(或55H)

;通道1,8位初值,方式2,二进制计数OUTDX,AL;写入通道1控制字MOVDX,

温馨提示

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

评论

0/150

提交评论