微机原理常考填空以及注意事项第(六)弹~

hi,更新第六期啦~

1,补充例:内部中断服务程序

  编写80H号中断服务程序,符号地址为N80H,并调用。

  功能:显示以“0”结尾字符串,利用显示器功能调用INT  10H实现字符显示。

  字符串缓冲区首地址为:DS:DX

 

2,利用INT n指令调用中断服务程序

3,

4,用8255A方式0与打印机接口

 

解析:8255A方式0可以使用查询方式和无条件传送方式,8255A方式1用于中断方式。

 8255A通过A口8位数据输出连接到打印机上,要设置方式控制字1 00 0 0 0 0 1B=81H

 MOV DX,控制口地址 

 MOV AL,81H

 OUT DX,AL

PC7连接的是选通信号STROBE#, 然后打印机回应给8255A一个信号BUSY忙,如果8255A再给

打印机发的话,需要先检测一下PC2口,如果PC2=1说明打印机是忙的,只有在PC2=0时,8255

才把数据送往打印机,然后才发选通信号,然后PC7=0时表示选通也就是数据已经送给了打印

机,在PC7=1时就是没有选通也就是数据还没有送往打印机   。

 答:

初始化:

先写8255的初始化①8255控制字 MOV DX,控制口

                                      MOV  AL,控制字81H

                                      OUT  DX,AL;控制字送控制口上

8255的初始化第二步②送一个置位复位字 PC7=1时要对PC置位复位,PC7=1说明置位无选通打印

机还没有收到数据 ,当PC7=0时说明选通打印机收到数据了,PC7=1说明传送结束。

MOV AL,置位复位字PC7=1时 0 000 111 1=0FH ;PC7置位

OUT DX,AL

以下是打印程序段:

第三步打印机传数据的过程③而采用查询传送方式时 首先CPU要从状态口上也就是C口的第二位上

就是状态口来检测C口第二位是不是忙,也就是在正式传输数据打印之前要先检测通过IN指令从PC

口取一个状态字给了AL(IN AL,PC口),然后TEST检测,检测AL的第二位(因为是PC2)

,所以PC2测试哪一位哪一位为1(TEST AL,0000 0100B)(PC2=1时表示忙,PC2=0时不

忙),忙就转L1,JNZ L1;PC2=1时忙

下面就是不忙了顺序执行 CPU给8255传数。CPU输出用OUT

总结:首先CPU往8255A的A口送数据①在每传一个数问问打印机忙吗,如果不忙传数②随后选通

信号到来就是PC7=0就选通

8255A通知一下打印机我数据给你送过去了你接收一下  这就是选通。

5,以下展开题目分析

分析:(1)8255A中的方式1是中断方式

 (2)方式1:选通I/O方式

通常使用固定的联络信号;

适于查询和中断方式

可以产生中断;

一般作为中断方式I/O

输入使用IN指令,输出使用OUT指令;

(3)

B端口输出:也就是PC2=1开中断  PC0=1向CPU发了中断的请求

展开题解:PC2允许开中断

5,如果是8255方式1的中断数据的输入输出,要固定使用联络信号,B口的输出联络信号是012,

A口的输入联络信号是345,4表示开中断,3表示中断请求,固定的

6,8255的中断传输比查询传输要方便,要节省时间 。

7,总结8255连接小灯泡的例子:

分析:(1)灯是输出OUT,开关是输入IN。

 (2)8255A中方式0用的无条件传输,因为没有用到联络(C口),也没有置位复位字。

(3)当PA口=0时说明闭合,当PB口=0时说明灯亮。

(4)

    MOV DX,20BH
    MOV AL,90H
    OUT DX,AL;初始化
    MOV DX,208H
    IN AL,DX;读A口开关
    MOV DX,209H
    OUT DX,AL;写B口,灯亮

8,

    MOV DX,0F6H
    MOV AL,;控制字 
    OUT DX,AL
    MOV DX,F0H
    IN AL,DX
    NOT
    MOV DX,F2H
    OUT DX,AL

9,

9,8255A发光二极管的例题

分析:根据题意要求,可选择并行接口芯片8255A的任意一个并行口(A口、B口或C口),并将其初始

化为方式0输出,采用无条件方式实现对8个发光二极管的循环点亮。

设号255的A口连接发光二极管,给出连接电路和程序。

10,8253的例题

11,

 

 在前提是8255中PB0=0时,PA7=1时亮,8255A的A口灯输出,B口开关输入。

8253中,能够周期性自动产生信号的只有方式2(频率发生器或者分频器)和方式3(方波)。

8255查询测试开关是不是亮,由于8255的开关是在B口上,IN  AL,B口端口地址;PB0=0说明闭

PB0的八位:只有是0位上是0时闭合,就要用test测试。

76543210
xxxxxxx0

L1: IN  AL,B口

test  AL,01H

JNZ  L1;开关断开时查询等待 

以下就是闭合的状态,让A口的PA7=1亮

MOV AL,80H

OUT A口,AL;使PA7=1灯亮

8255的基本输入输出方式是方式0,8255的控制字1 00 0 0 0 1 0B=82H

12,

13,

14,

分析:定时0.5s就用8253,每搁5s检测一次A口上的开关,当开关闭合时,对应的灯亮。

这个熄灭1s也需要用8253,在没有开关的情况下,每只灯轮流熄灭1s。

首先8255的初始化,8253的初始化。

(1)当PA=0时闭合,PB=1时灯亮,通过8253来实现延时,0.5s和1s ,在8253中输入的脉冲是

2MHZ ,

15,以下是  存储器设计画图分析   的总结题型

分析:(1)单片8K×4=2的13次方×4

 分为A0~A12(片内地址线)和 D0~D3(片内数据线)

(2)总容量64KB=64K×8(因为总容量是8条数据线)

 分为A0~A15(A13A14A15是片外)和 D0~D7 (数据线)

(3)64K×8 /  8K×4  = 8组 (串联)(字扩展)× 2片(并联)(位扩展) = 16片

 (4)需要8组字扩展,位扩展是每组两片。

 (5)设计画图:一般CPU画在左侧,写上片内地址线A0~A几,然后A几A几A几总共几根地址

线,加上数据线D0~D7,WR#  RD#  ,然后连接38译码器,三个输入端ABC和三个使能端G1 G2A# G2B#  ,译码器上的圈只表示低

电平,只有门电路上的圈才取反,译码器的输出Y0( 在最下面 )~Y7低电平有效 ,

其中,RAM是可读可写的,包括SRAM和DRAM ,没有说明默认有读信号线OE#和写信号线

WE#,另外有片选信号线;

对于一个存储芯片所必须的要有OE# WE# CS#

而对于CPU有 WR# RD#  

 译码器输出得到存储芯片上的片选信号CS#

然后画存储芯片RAM,每组的每片是从A0~A几(片内地址线),把CPU的片内地址线依次连接

到存储芯片上每组每片上,然后每组每片的片选端上CS#,

(6)确定地址范围:

16,

(1)4096就是4×1024=4KB=4K×8

(2)原则:①尽量选择大容量的,②尽量地址线相同(指的是片内地址线),

RAM1K×8
ROM1K×4

(3)其中ROM的2K×16的不行,存储字长是8位的超了就不行。

(4)总容量4K×8分为:①RAM:2KB ROM:2KB ②只用ROM:4KB(选用)

(5)参考答案(方案1)

(1)由已知4096个存储单元的存储器系统的容量是4KB,即为4KX8位,设分别由2KB的RAM和

2KB的ROM组成。选择RAM的1Kx8位的芯片和ROM的1K×4位芯片。(1K和1K片内地址线相

同)

存储器系统共需要4组,选择2:4译码器。

 

17,

 (1)

A15    A14A13 A12 A11~A0地址范围
ROM0   0  Y0#00...0~11...10000H~3FFFH
RAM11   0  Y2#00...0~11...18000H~BFFFH
RAM21   1  Y3#00...0~11...1C000H~FFFFH

 18,

 (1)8086的数据线D0~D15(分为D0~D7和D8~D15)  16条数据线

(2)最小模式下的存储器系统地址线A0~A19,主存系统是分为奇偶体的,奇体连接数据的高八

位D8~D15还有BHE#,偶体连接低八位D0~D7,一定要把A0拿出来连接片选端  。

(3)64KB= 32K×16 总容量保持不变后面变成16的

(4)32K×16  /   32K×8   =  2片

(5)CPU的A1~A15连接每片的A0~A14,

(6)总结:地址线总线和数据总线要根据CPU和芯片来定,8086的地址线AB是20位,8086的地

址总线是16位,8088的地址线是20位,数据线是8位,还有控制总线读写等  。

19,

 (1)2164:DRAM动态需要刷新,结构是4个128×128的矩阵,刷新是按行刷新的,4个一行就是

4×128=512个单元进行刷新,一共128行,

(2)对于64KB是64K×8,就是8位,8088系统中,如果是32K×16,就是16位,8086系统中。

(3)2164是64K×1,有行引脚RAS#(5号脚),列引脚 CAS#(15号脚),

20,动态RAM:①刷新②电容保存电荷,漏电,③假读,以行进行刷新,④刷新周期,2ms(128

行的时间)。

21, 

22,

23,RAM分为SRAM(OE#,WE#,CS#引脚)和DRAM(WE#=0时是写,WE#=1时是读 CS# )

ROM分为EPROM(OE#,CS#)和E方PROM(OE#,CS#)

24,以下是接口的题例

分析:(1)控制字10111001B=B9H

MOV DX,0103H

MOV AL,B9H

OUT DX,AL

8255的方式1和方式2可以采用中断,一般用方式1。

中断源的两种方式一个查询中断,一个向量中断。

中断向量 是子程序的的入口地址。

 

上面这个是直接寻址。下面是间接寻址或相对寻址。

  

 

功能01H键盘接收,02H屏幕显示,09H显示字符串,4CH返回DOS,设置中断向量一个特有的

DOS调用25H号功能。

 

 25,如何进行中断向量的设置和获取,如何执行中断服务子程序。

 DOS功能调用中断INT 21H

参考:

 N80H是新的子程序的入口地址,位移量存入DX,段地址存入AX,

中断响应是CPU自动到中断向量表中去找到子程序的入口地址。

 

 

 

 

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值