《微型计算机原理及应用技术 第二版 (朱金钧 麻新旗) 第章教程习题简答.doc》由会员分享,可在线阅读,更多相关《微型计算机原理及应用技术 第二版 (朱金钧 麻新旗) 第章教程习题简答.doc(16页珍藏版)》请在金锄头文库上搜索。
1、第8章 接口技术 教材习题解答1填空题(1) 8255A内部包括两组控制电路,其中A组控制_的工作方式和读写操作,B组控制_的工作方式和读写操作。(2) 8255A的端口A工作于方式2时,使用端口C的_位作为与CPU的外部设备的联络信号。(3) 当8255A的端口A和端口B均工作于方式1输出时,端口C的PC4和PC5可以作为_使用。(4) 8255A的端口A工作于方式2时,端口B可以工作于_。(5) 8255A中,可以按位进行置位/复位的端口是_,其置位/复位操作是通过向_口地址写入_实现的。(6) 8251A工作在同步方式时,最大波特率为_;工作在异步方式时,最大波特率为_。(7) 8251
2、A工作在异步方式时,每个字符的数据位长度可以是_,停止位长度可以是_。(8) 8251A从串行输入线接收到一个字符后,将信号_置为有效。(9) 8251A工作在同步方式时,同步检测引脚SYNDET可以作为输入或者输出信号使用。若工作在外同步方式,该引脚作为_;若工作在内同步方式,该引脚作为_。(10) 8253工作于方式0下,控制信号GATE变成低电平后,对计数器的影响是_。【解】(1) 端口A、端口C高4位(PC7PC4)端口B、端口C低4位(PC3PC0)(2) PC3PC7(3) (端口A的选通输入信号)、IBFA(输入缓冲器满信号)(4) 方式0或方式1(5) 端口C;控制;控制字(6
3、) 64 Kbit/s ;19.2 Kbit/s(7) 5、6、7、或8位 ;1个、1.5或2位(8) RXRDY(9) 输入端;输出端(10) 计数暂停2已知8255A的端口A、B、C和控制口地址分别为120H、122H、124H和126H,试按下列要求设计初始化程序:(1) 将端口A和端口B设置成方式0,端口A、端口C作为输出口,端口B作为输入口。(2) 将端口A设置成方式2,端口B设置成方式1,端口B作为输出口。(3) 将端口A和端口B均设置成方式1的输入状态,且PC6、PC7设置成输出位。【解】(1) 方式选择控制字的内容:82H D7 D6D5D4D3D2D1D010000010控制
4、字标志端口A设置成方式0端口A为输出口端口C(74)作为输出口端口B设置成方式0端口B为输入口端口C(30)作为输出口初始化程序:MOV AL,82H ;方式选择控制字送ALOUT 126H,AL ;方式选择控制字输出给8255A控制端口(2) 方式选择控制字的内容:0C4H D7 D6D5D4D3D2D1D01110控制字标志端口A设置成方式2端口B设置成方式1端口B为输出口初始化程序:MOV AL,0C4H ;方式选择控制字送ALOUT 126H,AL ;方式选择控制字输出给8255A控制端口(3) 方式选择控制字的内容:0B6H D7 D6D5D4D3D2D1D01011011控制字标志
5、端口A设置成方式1端口A为输入口端口C(74)作为输出口端口B设置成方式1端口B为输入口初始化程序:MOV AL,0B6H ;方式选择控制字送ALOUT 126H,AL ;方式选择控制字输出给8255A控制端口3某一外部输入设备,当它准备好一个数据时,那个发出一个数据准备好的状态信号READY(高电平有效)。当CPU把数据取走后,要求CPU通过线向外设发一负脉冲,以便外设清除READY信号。试用8255A作为接口芯片,分别用查询和中断方式从外设读入100个数据,将其存入从DAT_BEG开始的内存区。要求:画出8255A与外设之间的连线,并进行编程。【解】PA70PC4PC28255AREADY
6、外设(1) 用查询方式从外设读入数据时,8255A与外设之间的连线如图8-30所示,使用端口C传送控制和状态信息。图8-30 8255A与外设之间的连线方式选择控制字的内容:91H D7 D6D5D4D3D2D1D0100101控制字标志端口A设置成方式0端口A为输入口端口C(74)作为输出口端口B 端口B端口C(30)作为输入口设在系统中8255A的端口地址为:端口A:00E0H 端口B:00E2H 端口C:00E4H 控制口:00E6H读入数据的程序:DATA SEGMENT;数据段开始DAT_BEG DB 100 DUP(?)DATA ENDS;数据段结束CODE SEGMENT;代码段
7、开始ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;装填数据段LEA BX,DAT_BEG;传送变量的地址MOV AL,91H ;方式控制字送ALOUT 0E6H,AL ;方式控制字写入8255A控制口MOV AL,09H ;用置位方式使PC4=1OUT 0E6H,AL ;使为高MOV CX,9RDLP: IN AL,0E4H;读入端口C的内容(READY信号)AND AL,04HJZ RDLP ;未准备好,则等待IN AL,0E0H;已准备好,则从端口A输入数据MOV BX,AL ;将输入数据保存到内存中INC BXMOV AL,08H;
8、用置位方式使PC4=0OUT 0E6H,AL ;使为低CALL DELAY ;一段定时程序,形成负脉冲MOV AL,09H ;用置位方式使PC4=1OUT 0E6H,AL ;使为高LOOP RDLPMOV AH,4CHINT 21H;返回DOSDELAY PROC;定义延时子程序MOV CX,100;向CX中送延时常数,决定延时的时间DELAY2:NOPLOOP DELAY2RETDELAY ENDP;定义延时子程序结束CODE ENDS;代码段结束END START;源程序结束(2) 用中断方式从外设读入数据时,8255A与外设之间的连线如图8-31所示,使用端口C传送控制和状态信息。将PC
9、3连到8259A的中断请求信号输入端IR3,其对应的中断类型号为0BH,由于0BH4=002CH,所以应该将中断向量写入0000:002CH开始的4个单元中。假设8259A在系统程序中已经完成初始化。方式选择控制字的内容:0B0H D7 D6D5D4D3D2D1D01011控制字标志端口A设置成方式1端口A为输入口端口C端口B端口B端口C设在系统中8255A的端口地址为:端口A:00E0H 端口B:00E2H 端口C:00E4H 控制口:00E6H PA70PC5PC48255AREADY外设图8-31 8255A与外设之间的连线读入数据的程序:DATA SEGMENT;数据段开始DAT_BE
10、G DB 100 DUP(?)DATA ENDS;数据段结束CODE SEGMENT;代码段开始ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;装填数据段MOV AL,0B0H ;方式控制字送ALMOV AL,0BH ;用置位方式使PC5=1OUT 0E6H,AL ;使为高MOV AX,0MOV ES,AX ;ES为0,指向中断向量表MOV AX,0100H ;取中断服务子程序入口地址偏移量MOV ES:002CH,AXMOV AX,3200H ;取中断服务子程序入口地址段值MOV ES:002EH,AXMOV AL,0DHOUT 0E6H
11、,AL ;置8255A之INTEA=1,允许端口A中断STI ;8086CPU开放中断中断服务子程序如下:PUSH AXPUSH BXLEA BX,DAT_BEG ;传送变量的地址IN AL,0E0H ;已准备好,则从端口A输入数据MOV BX,AL ;将输入数据保存到内存中INC BXMOV AL,0AH;用置位方式使PC4=0OUT 0E6H,AL ;使为低DELAY: MOV CX,100 ; 向CX中送延时常数;一段延时程序,形成负脉冲DELAY1:LOOP DELAY1MOV AL,0BH ;用置位方式使PC4=1OUT 0E6H,AL ;使为高POP BXMOV AL,20H ;向
12、8259A发EOIOUT 20H,ALPOP AXSTIIRET ;中断返回4试用8255A和8253芯片配合,设计一个交通信号自动控制系统。设计要求如下:(1) 在某一南北方向和东西方向的十字路口,每个方向都有红、黄、绿三色信号灯,如图8-79所示。要求信号灯按下列规则变化: 首先使某一方向绿灯亮,另一方向红灯亮。当出现下述情况之一时,开始变灯:其一是红灯已亮30s ;其二是红灯路口停留的车辆已达5辆。 变灯遵循的规律:首先使绿灯闪烁5s(注:0.5s灭,0.5s亮,重复5次),接着绿灯灭、黄灯亮,黄灯亮5s后,使得黄灯灭、红灯亮,紧接着使另一方向的红灯变为绿灯。在一个方向由绿灯变红灯的过程
13、中,另一方向的红灯保持不变。(2) 画出硬件框图,编写控制程序。提示:用8253来实现定时和检测车辆。用8255A某一端口的6根线控制交通灯。对于检测车辆,假设另有传感器电路配合,此传感器电路每当有一辆车时会发出一个脉冲信号。【解】用8255的端口A的6根线控制交通灯:(输出1时灯亮)PA7PA6PA5PA4PA3PA2PA1PA0未用未用东西红灯东西黄灯东西绿灯南北红灯南北黄灯南北绿灯设8253的端口地址分别为:0D0H(端口A),0D2H(端口B),0D4H(端口C),0D6H(控制口)。设8255的端口地址分别为:1E0H(通道0),1E 2H(通道1),1E 4H(通道2),1E6H(控制口)。硬件框图如图8-