接口作业解答

更新时间:2023-11-12 17:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

作业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. 保护断点,即将CS、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发中断请求。 解答:

EOI IRET STI EOI IRET IR4 IRET 主程序 IR3 IR1 STI STI STI EOI …… STI EOI IRET IR5 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 MOV DX,0CCF8H OUT DX,AL

MOV AL,80H MOV DX,0CCFAH OUT DX,AL

MOV AL,00100100B OUT DX,AL

MOV AL,00010001 B OUT DX,AL

MOV AL,11010011B OUT DX,AL 主片的中断结束命令:

MOV AL,20H MOV DX,0CCF8H OUT DX,AL

? 从片1初始化

MOV AL,00011001B MOV DX,0FEE8H OUT DX,AL

;定义ICW1 ;定义ICW2 ;定义ICW3 ;定义ICW4 ;定义OCW1 ;定义OCW2 ICW1 ;定义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. ii.

地址:302H; CLK1= OUT0 ;输出300Hz的序列负脉冲; 工作在方式 2 ;

iii. N1=1.5kHz/300Hz=5 c) 通道2

i. 地址:304H;CLK2= 系统时钟 ;每秒向CPU发50次中断请求; ii. iii. iv. 输出工作在方式 3 ;

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

或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 MOV DX , 306H OUT DX ,AL MOV DX , 304H

MOV AX,9840H OUT DX ,AL MOV AL,AH OUT DX ,AL

+5V 8253 GATE0 CLK0 2MHzGATE1 CLK2 GATE2 OUT0 CLK1 OUT1 300HzOUT2 每秒50次IRQ (95H) (6 或30)

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

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

? ?

初始化程序 计数器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

将频率5MHz的时钟信号加在CLK0端并让通道0工作于方式2,若选N0=274,则 fOUT?5MHz274?18248Hz再把OUT0连接到CLK1,并使通道1工作于方式3,为使 fO U T ? 18.2 H z ,应取时间常数

01N1?fCLK1fOUT1?18248Hz18.2Hz?1003+5V 8253 GATE0 CLK0 GATE1 OUT0 CLK1 OUT1 2MHz18.2Hz的中断信号 对通道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、K3、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路模拟信号的中断服务程序。

本文来源:https://www.bwwdw.com/article/b5lv.html

Top