当前位置:文档之家› 接口作业解答

接口作业解答

作业1(第二章)

1、8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址为多少,指向此地址的CS和IP值是唯一的吗?

解:物理地址=12000H+FF00H=21F00H,不唯一。

2、T1状态下,8086的数据/地址线上是什么信息,用哪个信号将此信息锁存起来

解答:地址信息,ALE地址锁存信号。

4、若CS=A000H,求当前代码段在存储器中的物理地址范围是什么?若数据段位于52000H 到61FFFH的64K范围内,问DS=?

解答:A0000H—AFFFFH; 5200H

5、若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?

解答: 35800H,入栈10 个字节,(SP)=7F6H,出栈6个字节后(SP)=7FCH

6、某程序数据段中存放了两个字,1EE5H和2A8CH,已知(DS)=7850H,数据存放的偏移地址为3121H及285AH。试画图说明它们在存储器中的存放情况,若要读取这两个字,需要对存储器进行几次操作?

解答: 7850:3121H -> E5H

7850:3122H -> 1EH 两次

7850:285AH -> 8CH

7850:285BH -> 2AH 一次

作业2:(第五章)

1、某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电话,并说明每块芯片的端口地址范围。

作业3:(第七章)

1、已知:SP=0100H、SS=0500H、PSW=0240H,在存储单元中已有内容为(00024)=0060H、(00026H)=1000H,在(0800H:00A0H)中有中断指令INT 9。试问,执行INT 9指令后,SS、SP、CS、IP、PSW的内容是什么?栈顶的三个字是什么?

解答: CPU响应外部中断的流程:

1.从数据总线上取中断类型号;9H

2.将PSW入栈;SP=00FEH

3.保护断点,即将C S、IP入栈SP=00FAH

4.对PSW中的IF、TF位清0,禁止外部中断和单步中断

5.找到中断向量,转入相应中断服务子程序中断向量:9H*4=24H

取(4n)中的内容IP,取(4n+2)中的内容CS

CS:IP在(00024H)中,CS:IP为1000H:0060H

6.中断结束后弹出IP、CS和PSW,返回主程序断点处

推入栈中的三个字分别为:PSW 0240H,CS 0800H,IP 00A2H (A2,00,00,08,40,02) CS:IP=1000H:60H,SP=FAH,PSW=0040H

2、中断向量指什么,放在哪里?,对应8086的1CH的中断向量存放在哪里,如果1CH的中断处理程序从5110H:2030H开始,则中断向量应怎样存放?

解答:中断服务程序的入口地址,00000H—003FFH,1CH*4=70H,0070开始30 20 10 51 3、假如外设A1、A2、A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序,(中断服务程序中有STI指令)

(1)外设A3,A4同时发中断请求;

(2)外设A3中断处理中,外设A1发中断请求;

(3)外设A1中断处理未完成前,发出EOI结束命令,外设A5发中断请求。

解答:

3、某系统中有3片8259A级联使用,1片为8259A主片,2片为8259A从片,从片接入8259A 主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有一个外部中断源。中断类型基号分别为80H、90H、A0H、中断入口段基址在2000H,偏移地址分别为1800H、2800H、3800H、主片8259A的端口地址为CCF8H、CCFAH。一片8259A从片的端口地址为FEE8H、FEEAH,另一片为FEECH、FEEEH。中断采用电平触发,完全嵌套工作方式,普通EOI结束。

(1)画出硬件连接图;(2)编写初始化程序。

?解答: 中断向量形成

(将3个中断入口地址写入中断向量表)

MOV AX,2000H

MOV DS,AX

MOV DX,1800H

MOV AL,83H

MOV AH,25H

INT 21H

MOV DX,2800H

MOV AL,94H

MOV AH,25H

INT 21H

MOV DX,3800H

MOV AL,A4H

MOV AH,25H

INT 21

?主片初始化

MOV AL,00011001B ;定义ICW1

MOV DX,0CCF8H

OUT DX,AL

MOV AL,80H ;定义ICW2

MOV DX,0CCFAH

OUT DX,AL

MOV AL,00100100B ;定义ICW3

OUT DX,AL

MOV AL,00010001 B ;定义ICW4

OUT DX,AL

MOV AL,11010011B ;定义OCW1

OUT DX,AL

主片的中断结束命令:

MOV AL,20H ;定义OCW2

MOV DX,0CCF8H

OUT DX,AL

?从片1初始化

MOV AL,00011001B ;定义ICW1

MOV DX,0FEE8H

OUT DX,AL

MOV AL,90H ;定义ICW2

MOV DX,0FEEAH

OUT DX,AL

MOV AL,00000010B ;定义ICW3

OUT DX,AL

MOV AL,00000001B ;定义ICW4

OUT DX,AL

MOV AL,11101111B ;定义OCW1

OUT DX,AL

从片1的中断结束命令:

MOV AL,20H

MOV DX,0FEE8H

OUT DX,AL

?从片2初始化

MOV AL,00011001B ;定义ICW1

MOV DX,0FEECH

OUT DX,AL

MOV AL,0A0H ;定义ICW2

MOV DX,0FEEEH

OUT DX,AL

MOV AL,00000101B ;定义ICW3

OUT DX,AL

MOV AL,00000001B ;定义ICW4

OUT DX,AL

MOV AL,11101111B ;定义OCW1

OUT DX,AL

从片2的中断结束命令:

MOV AL,20H

MOV DX,0FEECH

OUT DX,AL

作业4:(第九章)

1、设8253的通道0~2和控制端口的地址分别为300H、302H、304H和306H,定义通道0

工作在方式3,CLK0=2MHz。试编写初始化程序,并画出硬件连线图。要求通道0输出

1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,

通道2每秒钟向CPU发50次中断请求。

解答:控制端口:306H

a)通道0

i.地址:300H;CLK0=2MHz;输出1.5kHz的方波

ii.工作在方式3;

iii.N0=2MHz/1.5kHz = 1333

b)通道1

i.地址:302H;CLK1= OUT0;输出300Hz的序列负脉冲;

ii.工作在方式 2 ;

iii.N1=1.5kHz/300Hz=5

c)通道2

i.地址:304H;CLK2= 系统时钟;每秒向CPU发50次中断请求;

ii.输出工作在方式3;

iii.N2= 2MHz/50 = 40000 = 9840H;

iv.或OUT0 接CLK2 ,则N2=300/50=6 或OUT1 接CLK2 ,则N2=1.5K/50=30

初始化程序

计数器0:

MOV AL,37H

MOV DX,306H

OUT DX, AL

MOV DX, 300H

MOV AL,33H

OUT DX,AL

MOV AL,13H

OUT DX,AL

计数器1:

MOV AL,55H

MOV DX , 306H

OUT DX,AL

MOV AL,05H

MOV DX, 302H

OUT DX ,AL

计数器2:

MOV AL,0B6H (95H)

MOV DX , 306H

OUT DX ,AL

MOV DX , 304H

MOV AX,9840H (6 或30)

OUT DX ,AL

MOV AL,AH

OUT DX ,AL

2、某微机系统中,8253的端口首地址为40H ,时钟频率5MHz ,要求通道0输出方波,使计算机每秒钟产生18.2次中断;通道1每隔15us 向8237A 提出一次DMA 请求;通道2输出频率为2000Hz 的方波,使编写8253的初始化程序,并画出有关的硬件连接图 解答:

? 控制端口:43H

? 通道0

? 地址:40H ;CLK0=5MHz ;输出18.2Hz 的方波

? 工作在方式3;

? N0=5MHz/18.2Hz = 274725 >>65536

因此必须采用级连的方案来解决这个问题

?

将频率5MHz 的时钟信号加在CLK0端并让通道0工作于方式2,若选N0=274,则 ?

再把OUT0连接到CLK1,并使通道1工作于方式3,为使 ,应取时间常数

初始化程序

计数器0:

MOV AL ,35H

OUT 43H ,AL

MOV AL ,74H

OUT 40H ,AL

MOV AL ,02H

OUT 40H ,AL

计数器1:

MOV AL ,77H

OUT 43H ,AL

MOV AL ,03H

OUT 41H ,AL

MOV AL ,10H

OUT 41H ,AL

3、设某系统中8254芯片的基地址为F0H ,在对3个通道编程时,都设为先读写低8位,后读写高8位,试编程完成下列工作:

对通道0-2的计数值进行锁存并读出来

对通道2的状态值进行锁存并读出来

解答:通道0~2地址:0F0~0F2H ,控制端口:0F3H 0527418248O U T f M H z H z ==118.2O U T f H z

=1111824818.21003C LK O U T N f f H z H z ===

对通道0~2的计数值进行锁存并读出来:

MOV AL,0DEH

OUT 0F3H,AL

MOV DX,0F0H

IN AL,DX

MOV DX,0F1H

IN AL,DX

MOV DX,0F2H

IN AL,DX

对通道2状态值锁存并读出:

MOV AL,0E8H

MOV DX,0F3H

IN AL,DX

作业5:(第六章)

1、若某一终端以2400波特的速率发送异步串行数据,发送1位需要多少时间?假如一个字符包含7个数据位、1个奇偶校验位、1个停止位,发送1个字符需要多少时间?

解答: (1) 1/2400 (2) 1/2400*10

2、若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟TxC频率为多少?解答: =9600*16=153600BPS

3、若8251A的端口地址为FF0H,FF2H,要求8251A工作于异步工作方式,波特率因子为16,有7个数据位,1个奇校验位,1个停止位,试对8251A进行初始化编程。

解答: MOV DX,0FF2H

MOV AL,5AH

OUT DX,AL

MOV AL,03H

OUT DX,AL

4、某微机系统用串行方式接收外设送来的数据,再把数据送到CRT去显示,若波特率为1200,波特率因子为16,用8253产生收发时钟,系统时钟频率为5MHz,收发数据个数为COUNT,数据存放到数据段中以BUFFER为始址的内存单元中。8253和8251A的基地址分别为300H和304H。

(1)画出系统硬件连线图。

(2)编写8253和8251A的初始化程序。

(3)编写接收数据和发送数据的程序。

解答: MOV DX,303H

MOV AL,00110100B

OUT DX,AL

MOV DX,300H

MOV AX,260

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV DX,305H

MOV AL,7AH

OUT DX,AL

MOV AL,15H

OUT DX,AL

MOV DX,305H

L1:IN AL,DX

TEST AL,02H

JZ L1

TEST AL,38H

JNZ ERR

MOV DX,304H

IN AL,DX

MOV BL,AL

MOV DX,305H

ERR:。。

作业6:(第六章)

1、设8255A的A口,B口,C口和控制字寄存器的端口地址分别80H,82H,84H和86H。要求A口工作在方式0输出,B口工作在方式0输入,C口高4位输入,低4位输出,试编写8255A的初始化程序。

解答: MOV AL,8AH

OUT 86H,AL

2、8255A的端口地址同第5题,要求PC4输出高电平,PC5输出低电平,PC6输出一个正脉冲,试写出完成这些功能的指令序列。

解答: ;PC4输出高电平

MOV DX,86H

MOV AL,09H

OUT DX,AL

;PC5输出低电平

MOV AL,0AH

OUT DX,AL

;PC6输出一个正脉冲

MOV AL,0DH

OUT DX,AL

MOV AL,0CH

OUT DX,AL

3、8255A的口地址为80H~83H,8253的口地址为84H~87H。

1)若A口接8个开关K7~K0,B口接8个指示灯LED7~LED0,当开关合上时相应的指示灯

点亮,断开时灯灭,要求每隔0.5秒检测一次开关状态,并在开关上显示出来,试画出硬件连线图,编写实现这种功能的程序。(可采用软件延时0.5秒)

2)若把接在端口A上的开关去掉,要求接在端口B上的指示灯轮流熄灭,每只灯熄灭1

秒钟,请编程实现这种功能。

解答: 1) 8253:

MOV AL,00110100BH

OUT 87H,AL

MOV AX,1000

OUT 84H,AL

MOV AL,AH

OUT 84H,AL

。。。。。。

MOV AL,10010001B

OUT 83H,AL

L1: IN AL , 82H

AND AL ,01H

JNZ L1

IN AL,80H

OUT 81H,AL

IRET

2)

8253;

MOV AL,01110100BH

OUT 83H,AL

MOV AX,2000

OUT 81H,AL

MOV AL,AH

OUT 81H,AL

MOV DL,01H

。。。

MOV AL,10000001B

OUT 83H,AL

L1: IN AL , 82H

AND AL ,02H

JNZ L1

MOV AL,DL

OUT 81H,AL

ROL DL,1

JMP L1

作业7:(第十章)

1、运算放大器的特点

2、在T型电阻网络组成的D/A转换器中,设开关K0、K1、K2、K

3、K4分别对应1位二

进制数,当二进制数据为10110时,流入运算放大器的电流为多少?画出这个T型网络。

3、试利用ADC0809、8253和8259A等芯片设计8通道A/D转换电路。系统中用8253作

定时器,采用中断方式控制采样率为500hz,设8253的通道0输入时钟脉冲为2MHz,输出端OUT0接8259A的IR2,8253的口地址为300H-303H,8259A的口地址为304,305H,ADC0809的8个通道的口地址为308H-30FH,查询EOC信号和状态口地址为306H,ADC的输入时钟为640kHz,A/D转换的结果依次存入数据段中以Buffer为始址的内存中。要求:画出硬件连接图;编写8253、8259的初始化程序及采集8路模拟信号的中断服务程序。

相关主题
相关文档 最新文档