烟台大学微机原理与接口技术期末考试Word文件下载.docx
《烟台大学微机原理与接口技术期末考试Word文件下载.docx》由会员分享,可在线阅读,更多相关《烟台大学微机原理与接口技术期末考试Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
ROM的地址范围F8000H-FBFFFH,RAM的地址范围F8000H-FBFFFH。
三、问答题(30分)
1.画图说明,在8088内部怎样形成的20位物理地址?
2.请简述8086CPU总线接口部件的工作过程。
3.串行通讯中,是什么原因发生了溢出错?
(5分)
4.一般的接口电路中安排有哪三类寄存器?
它们各自的作用是什么?
5.在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?
6.什么是分时复用?
分时复用的目的是什么?
在总线信号中,为什么常常将地址和数据组织为分时复用的信号?
四、分析硬件电路图(10分)
已知一个存储器子系统如下图所示,试指出其中RAM和EPROM的存储容量及各自的地址范围
五、程序设计题(30分)
1.串行异步通信发送8位二进制数01010101,采用起止式通信协议,使用奇校验和2个停止位。
画出发送该字符的波形图。
若用1200bps,则每秒最多能发送多少个数据?
(10分)
2.某8位D/A转换器的端口地址为220H,参考电压为5V,试编程产生如下波形:
(1)下限为0V,上限为5V的三角波;
(2)下限为1.2V,上限为4V的梯形波。
3.8255A的口地址为80H~83H,8253的口地址为84H~87H,若A口接8个开关K7~K0,B口接8个指示灯LED7~LED0,当开关合上时相应的指示灯亮,断开时灯灭,要求每隔0.5s检测一次开关状态,并在开关上显示出来,试画出硬件连线图,编写实现这种功能的程序。
六、综合设计题(10分)
试利用ADC0809,8253和8259A等芯片设计8通道A/D转换电路。
系统中用8253作定时器,采用中断方式控制采样率,采样率为500Hz。
设8253的通道0输入时钟脉冲为2MHz,输出端OUT0接8259A的IR2,8253的口地址为300H~303H,8259A的口地址为304H和305H,ADC0809的8个输入通道的口地址为308H~30FH,查询EOC信号和状态口地址为306H,ADC0809的输入时钟频率为640KHz,A/D转换的结果依次存入数据段中以BUFFER为始址的内存中,从通道0开始先存入各通道的第一个数据,再存放第二个数据,采集10秒钟后停止工作。
(1)画出硬件连线图。
(2)编写8253,8259A(只需写入中断屏蔽字)的初始化程序及采集8路模拟信号的中断服务程序。
参考答案:
1.代码如下:
ASSUMECS:
CODE,DS:
DATA,ES:
EXTRA
DATASEGMENT
SOUCEDW‘…’;
100字
DATAENDS
EXTRASEGMENT
DESTDW100DUP(?
)
EXTRAENDS
CODESEGMENT
START:
MOVAX,DATA
MOVDX,AX
MOVAX,EXTRA
MOVES,AX
LEASI,SOUCE
LEADI,DEST
MOVCX,100
CLD
REPMOVEW
CODEENDS
ENDSTART
2.代码如下:
SORT,DS:
DATA
BUFDB…;
N个数据
COUNTEQU($-BUF)/2
SORTSEGMENT
BEGIN:
MOVAX,DATA
MOVCX,COUNT-1
LOOP1:
MOVDX,CX
MOVBX,0
LOOP2:
MOVAX,BUF[BX]
CMPAX,BUF[BX+2]
JBENO_CHANGE
XCHGAX,BUF[BX+2]
MOVBUF[BX],AX
NO_CHANGE:
ADDBX,2
LOOPLOOP2
MOVCX,DX
LOOPLOOP1
MOVAX,4C00H
INT21H
SORTENDS
1.答:
①20位物理地址的形成如下图所示:
略
②段寄存器内容左移4位与16位偏移量相加,形成20位物理地址。
2.工作过程:
由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读"
信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。
当指令队列有2个或2个以上的字节空余时,BIU
自动将指令取到指令队列中。
若遇到转移指令等,则将指令队列清空,BIU重新取新地址中的指令代码,送入指令队列。
3.溢出错:
传送过程中,CPU未来得及取走前一个字符,缓冲器又送一个新的字符过来,产生溢出。
4.答:
数据寄存器:
在输入时,它保存从外设发往CPU的数据(称数据输入寄存器);
输出时,它保存从CPU发往外设的数据(称数据输出寄存器)。
状态寄存器:
保持状态数据,CPU可从中读取当前接口电路的状态,其状态间接反映了外设的状态。
控制寄存器:
保存控制数据,CPU可向其中写入命令,选择接口电路的工作方式,并控制外设进行有关操作。
在I/O接口中,这三类可操作的寄存器分别称为数据端口、状态端口和控制端口,或简称数据口、状态口和控制口。
每类端口的数量可能不止一个。
5.答:
①全译码方式:
存储器芯片中的每一个存储单元对应一个唯一的地址。
译码需要的器件多:
②部分译码方式:
存储器芯片中的一个存储单元有多个地址。
译码简单;
③线选:
地址有可能不连续。
不需要译码器。
6.答:
A.分时复用:
让不同的信号使用同一根传输线,在不同的时间段内分别进行传输。
B.由于数据宽度和寻址范围的增加,使总线信号的数量急剧增加,同时为防止高频使用时的信号串扰,需要在信号线之问插入更多的地线/电源线,这就进一步增加了总线和总线接口的几何尺寸。
为此,许多总线都采用了分时复用的技术来尽量减少信号线的数量。
C.地址和数据的分时复用,数量众多,复用后节省的传输线相当可观。
由于集成电路技术的进步,复用的信号可以在芯片内部被拆分为单一的信号。
1.
1200/12=100个数据
2.
(1):
MOVDX,220H
MOVAL,0FFH
UP:
INCAL
OUTDX,AL
CMPAL,0FFH
JNZUP
DOWN:
DECAL
CMPAL,00H
JNZDOWN
JMPUP
2)MOVDX,220H
MOVAL,3CH
UP:
CMPAL,0CDH
CALLDELAY-20MS
CMPAL,3CH
3.编程前进行分析:
8255A:
A口输入,B口输出
8253:
2MHz/2Hz=1000000
通道0工作于方式2,取N0=1000
通道1工作于方式0,取N1=999,即得OUT1每0.5秒中断一次。
主程序如下:
MOVAX,SEGINTR
MOVDS,AX
MOVDX,OFFSETINTR
MOVAL,N
MOVAH,25H
INT21H
MOVAL,10010000B
OUT83H,AL
MOVAL,00110101B
OUT87H,AL
MOVAL,00H
OUT84H,AL
MOVAL,10H
MOVAL,01110001B
OUT87H,AL
MOVAL,99HOUT85H,AL
MOVAL,09H
OUT85H,AL
STI
AGAIN:
HLT
JMPAGAIN
中断服务程序如下:
INTR:
PUSHAX
STI
INAL,80H
NOTAL
OUT81H,AL
MOVAL,99H
MOVAL,09H
CLI
MOVAL,20H
OUT20H,AL
POPAX
IRET
(1)
(2)因为8253的时钟输入频率为2MHz,而要求的采样频率f=500Hz,即用8253定时,每隔2ms中断一次,因此8253的分频次数(时间常数)N=2MHz/500Hz=4000。
采集10秒钟,共采集10s/2ms=5000次,即8253中断次数为5000次。
DATASEGMENT
BUFFERDB8*5000DUP(?
)
DATAENDS
;
数据采集子程序
MOVDX,303H
MOVAL,00110101B
OUTDX,AL
MOVDX,300H;
通道0
MOVAX,4000H;
时间常数
MOVAL,AH
OUTDX,AL
MOVAL,11111001B;
屏蔽字
MOVDX,305H
MOVSI,OFFSETBUFFER
MOVBX,5000
AGAIN:
CMPBX,0
JNZAGAIN
MOVAL,11111101B
MOVAH,4CH;
退出中断
中断服务程序
ADINTPROCNEAR
MOVCX,0008H
MOVDX,308H
NEXT:
PUSHDX
MOVDX,306H
POLL:
INAL,DX
TESTAL,80H
JNZPOLL
NO_END:
INAL,DX
JZNO_END
POPDX
MOV[SI],AL
INCDX
INCSI
LOOPNEXT
DECBX
MOVAL,20H
MOVDX,304H
STI;
开中断
ADINTENDP