《微机系统与接口技术作业》部分参考答案第7章 存储器系统P2176.某SRAM存储芯片,其字位结构为512K×8bit,试问其地址、数据引脚各是多少个?答:∵219=512K,所以地址引脚需19根;数据引脚需8根(8bit)。
8.现有1024×1bit的存储芯片,若用它组成容量为16K×8bit的存储器。
试求:(1)实现该存储器所需的芯片数量答:(16K×8bit)/(1K×1bit)=128片(2)该存储器所需地址的地址码总位数是多少?其中几位选片?几位用作片内地址? 答:∵214 =16K,所以地址码总位数为14位。
而1024×1bit存储芯片需要地址10位,因此选片地址为4位,片内地址为10位。
第8章 输入/输出系统P2442.接口电路的作用是什么?I/O接口应具备哪些功能?参见教材P2193.什么是端口?端口有几类?参见教材P220 8.1.2 输入输出端口4.I/O端口有哪两种编址方式?PC系列机采用哪种编址方式?答:I/O端口和存储单元统一编址及I/O端口独立编址两种。
PC机采用I/O端口独立编址。
7. 定时/计数器的3个通道在PC系列机中是如何应用的?答:0#计数器用于系统时钟中断;1#计数器用于动态存储器刷新定时;2#计数器用于发声系统音调控制。
10.系统机定时/计数器的通道0定时周期最长是多少?要实现长时间定时,应采取什么措施?如果采用外扩8254定时/计数器实现长时间定时,应采取哪些措施?答:系统机定时/计数器通道0定时周期最长是55ms。
要实现长时间定时,只能使用 INT 1CH 中断的方法,通过对预先设定的中断次数进行计数,达到n倍55ms的定时目的。
采用外扩8254,可以使用三个通道硬件级联的方法实现长时间定时。
补充题:设PC 系统机外扩了一片8254 及相应的实验电路。
(1) 根据由门电路构成的译码电路,分析出该片8254 的四个端口地址。
其中控制口的地址是213H(填16 进制格式)。
其他三个端口地址是210H~212H。
(2) 设CLK0 已接至8MHz 时钟,为了能从OUT0 输出4KHz 的方波,编写8254初始化程序,其中假设0 号定时计数器工作在二进制方式。
解:计数初值=(8×106)/4000=2000MOV DX,213H ;8254控制口地址MOV AL,00110110B ;命令字,0通道,16位读写,方式3,二进制计数OUT DX, ALMOV DX,210H ;0通道计数器端口地址MOV AX,2000 ;计数初值2000,因是二进制计数,所以后面不能加HOUT DX, AL ;先送低8位MOV AL,AHOUT DX, AL ;再送高8位第9章 中断系统P3001.叙述可屏蔽中断处理的全过程。
参见教材P254倒数第4行的“2. 8259A的中断过程“段落中的介绍,总共有7个要点。
3.什么是中断向量和中断向量表?中断类型码和中断向量的关系是什么?答:中断服务程序的入口地址就是中断向量,它由服务程序所在段的段地址和服务程序入口的偏移地址两部分组成。
将PC机256个中断向量放在系统最低端的1K字节范围内(地址为0000H:0000H~0000H:03FFH)就构成了中断向量表。
中断类型码是为了区分不同中断而分配的一个n值号码,数值从0-255。
应用时,不管是软件中断或硬件中断,直接引用的都是中断类型码n。
当软件或硬件提供中断类型码n后,CPU自动将中断类型码n乘以4得到中断向量表中的一个地址,从此地址开始连续四个单元存放的是该型中断的中断向量。
因此,知道了中断类型码,则唯一确定了中断向量存放在中断向量表中的位置,CPU从表中获取该中断向量,根据CS:IP的值就可转向服务程序。
注意:前两个单元存放的是IP,后面两个单元存放的是CS。
5.CPU响应可屏蔽中断的条件是什么?答:见教材P263倒数第3行开始的3个要点。
6.CPU响应非屏蔽中断的条件是什么?答:见教材P264第2行开始的2个要点。
8.键盘硬中断和键盘软中断的关系是什么?答:键盘硬中断(9型中断)负责实时接收键盘输入的键代码,并写入到键盘缓冲区中,而用户程序通过键盘软中断(INT 16H)从键盘缓冲区中读取信息。
键盘缓冲区存取数据遵循先进先出的规律,它在键盘硬中断和INT 16H软中断之间起到传递信息缓冲的作用。
补充题:假设微机系统外扩了如下的一个‘单脉冲发生器’,该‘单脉冲发生器’电路受一个自复开关K的控制,每按一次K,该电路输出一个正脉冲,输入到系统机从8259的IR1作为外部中断请求。
要求:每按一次K,屏幕上显示一行字符串“Welcome!”。
主机键盘按任意键,程序结束,返回DOS。
(要求给出完整的源程序)分析:该电路使用了微机系统的硬件中断进行处理,首先要确定硬件中断的中断类型号,中断请求信号是由从8259A芯片的IR1引脚引入(图见P265),中断类型号是71H,但由于其71H 型中断服务程序中使用了INT 0AH指令,即重新指向了0AH型中断(见266),因此用户中断类型是0AH。
需要特别注意,对于硬件中断,一定要对8259A中断屏蔽寄存器IMR进行操作,而且中断服务程序结束前要写中断结束命令字,这些都是与软中断1CH程序不同的地方。
程序如下:.486data segment use16old0a dd ?meseg db ' Welcome!',0dh,0ah,'$'data endscode segment use16assume cs:code ,ds:datastart:mov ax,datamov ds, axcli ;CPU关中断call write0A ;写0AH型中断向量in al,21h ;读主8259A中断屏蔽字and al,11111011b ;将主8259A IMR(中断屏蔽寄存器)的D2位置0 out 21h,al ;开放8259A IR2引脚中断请求(即开放来自从片的中断请求)in al, 0a1h ;读从8259A中断屏蔽字and al,11111101b ;将从8259A IMR的D1位置0out 0a1h,al ;开放从8259A IR1引脚中断请求STI ;CPU开中断x1: mov ah, 1 ;int 16h ;调用PC按键输入功能jz x1 ;如没有PC按键输入,则循环等待in al,21h ;有PC按键输入,进入结束程序前的工作。
读主8259A中断屏蔽字or al,04h ;将主8259A IMR的D2位置1out 21h, al ;屏蔽主8259A IR2中断请求in al,0a1h ;读从8259A中断屏蔽字or al,02h ;将从8259A IMR的D1位置1out 0a1h, al ;屏蔽从8259A IR1中断请求mov ah,4ch ;结束返回DOSint 21hservice proc ;单脉冲按键中断服务程序push axpush dxmov dx, offset meseg ;取欲显示字符串的偏移地址mov ah,9h ;显示字符串功能号int 21H ;显示字符串mov al,20h ;中断结束命令字out 20h,al ;写入中断结束命令pop dxpop axiret ;中断返回service endpwrite0a proc ;写0AH型中断向量子程序push dsmov ax,codemov ds,axmov dx,offset servicemov ax,250ah ;AH=功能号,AL=中断类型号,DS:DX=中断服务程序入口地址 int 21hpop dsretwrite0a endpcode ends ;代码段结束end start ;汇编结束,start表示启动地址第10章 微型计算机系统串行通信P3343.异步通信一帧字符的格式是什么?答:1位起始位,5-8位数据位,1位可选奇偶校验位,1位、1.5位、或2位停止位4.设异步通信一帧字符由八个数据位,无校验,一个停止位,如果波特率为9600,则每秒能传输多少字符?答:每秒传输字符=传输速率/每帧字符的位数,结果为:9600/(1+8+0+1)=960个5.单工、半双工、全双工通信方式的特点是什么?参见教材P302倒数第4行-P303第5行7.分别叙述TTL和RS-232C的电平标准,通常采用什么器件完成两者之间的电平转换?答:TTL采用正逻辑,规定0V~0.3V为逻辑“0”,3V~5V为逻辑“1”。
而RS-232C采用负逻辑,规定逻辑“1”在-3V~-15V之间,逻辑“0”在+3V~+15V之间。
通常采用MC1488和MC1489电平转换器件,MC1488实现TTL->RS-232转换,MC1489实现RS-232->TTL转换。
11.用系统机串行口采用中断方式完成字符发送和接收,编程时应采取哪些措施?答:①置8250中断允许寄存器的D1位为1,D0位为1,允许8250产生发送和接收中断请求;②置8250MODEM控制寄存器的D3位为1,允许8250将中断请求信号送至8259A。
见教材P309图10-8;③将主8259A IMR(中断屏蔽字)的D4位或D3位置0(取决于主串口还是辅串口),即开放主8259A IR4或主8259A IR3中断;④写入0CH型中断向量(主串口)或0BH型中断向量(辅串口);⑤使用STI指令,允许CPU响应中断。
补充:A、B两台PC机利用主串口进行点-点单工通信(不用联络线),发送采用查询方式,接收采用中断方式。
一帧字符包含7个数据位,1个停止位,1个校验位,通信速率为4800波特(分频系数为0018H)。
(1) 下图是A、B 两机的RS—232C 接口示意图,根据题意完成连线(不可有多余连线)。
因2脚是TXD信号,3脚是RXD信号,又不用联络线,因此只需两根线连接。
7脚是信号地。
(2)下图是从PC机的RS-232C接口引脚观察到的波形,所传送字符的16进制ASCII码是_46H___;该帧数据采用的奇偶校验方式是__奇__校验;传送该帧数据需要的时间是_1/480秒。
传送方向 0 0 1 1 0 0 0 1 0 1注意:波形是RS-232电平,它采用负逻辑表示,数据传送顺序是先传送D0位,再传送D1位……,最后是D6位。
+12V-12V (3)用对端口直接编程的方法为接收方编写8250初始化程序段。
I8250 PROCMOV DX,3FBHMOV AL,80HOUT DX, AL ;寻址位置1MOV DX,3F9HMOV AL,00OUT DX, AL ;写除数高8位=0MOV DX, 3F8HMOV AL,18HOUT DX, AL ;写除数低8位=18HMOV DX,3FBHMOV AL,0AHOUT DX, AL ;设置数据帧格式MOV DX, 3F9HMOV AL, 01HOUT DX, AL ;写中断允许寄存器(仅允许接收中断,D0=1)MOV DX,3FCHMOV AL,08HOUT DX, AL ;写MODEM控制寄存器(允许8250送出中断请求,D3=1)RETI8250 ENDP第11章 并行I/O接口P3642.8255A各端口有几种工作方式?答:A端口有三种:方式0、方式1和方式2;B端口有方式0和方式1,C端口有方式0。