ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:87.63KB ,
资源ID:7990108      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7990108.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第8章作业.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第8章作业.docx

1、第8章作业第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)

2、 8251A工作在异步方式时,每个字符的数据位长度可以是_,停止位长度可以是_。(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;控制;

3、控制字(6) 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 D6D5D4D3D2D1D010000

4、010控制字标志端口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与外设之间的连线,并进行编程。【解】(1) 用查询方式从外设读入数

6、据时,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 ;代码段开始ASSUME CS:CO

7、DE,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 ;用置位方式使PC4=

8、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传送控制和状态信息。将PC3连到8

9、259A的中断请求信号输入端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 图8-31 8255A与外设之间的连线读入数据的程序:DATA SEGMENT ;数据段开始DAT_BEG DB 100 DUP(?)DATA ENDS

10、;数据段结束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,AL ;置8255A之INTEA=1,允许端

11、口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 ;向8259A发EOIOUT 20H,ALPOP

12、 AXSTIIRET ;中断返回4试用8255A和8253芯片配合,设计一个交通信号自动控制系统。设计要求如下:(1) 在某一南北方向和东西方向的十字路口,每个方向都有红、黄、绿三色信号灯,如图8-79所示。要求信号灯按下列规则变化:首先使某一方向绿灯亮,另一方向红灯亮。当出现下述情况之一时,开始变灯:其一是红灯已亮30s ;其二是红灯路口停留的车辆已达5辆。变灯遵循的规律:首先使绿灯闪烁5s(注:0.5s灭,0.5s亮,重复5次),接着绿灯灭、黄灯亮,黄灯亮5s后,使得黄灯灭、红灯亮,紧接着使另一方向的红灯变为绿灯。在一个方向由绿灯变红灯的过程中,另一方向的红灯保持不变。(2) 画出硬件框图

13、,编写控制程序。提示:用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-32所示。图8-32

14、交通灯控制硬件框图8253方式选择控制字的内容:82H D7 D6D5D4D3D2D1D0100001控制字标志端口A设置成方式0端口A为输出口端口C端口B设置成方式0端口B为输入口端口C8255控制字的内容:34H计数初值:0FFFFH(65535),使用8086的时钟信号(频率:6MHz )D7 D6D5D4D3D2D1D00011100计数器0读写16位方式2二进制8255控制字的内容:54H,计数初值:46D7 D6D5D4D3D2D1D00101100计数器1只读写低8位方式2二进制8255控制字的内容:90H,计数初值:05HD7 D6D5D4D3D2D1D010010000计数器

15、2只读写低8位方式0二进制在程序中使用如下寄存器作为标志量:BL:最低位为0时,表示当前状态是“东西方向红灯亮” 最低位为1时,表示当前状态是“南北方向红灯亮”BH:红灯计时单元,初值为0,每0.5秒加1,值为60时,说明某一红灯已亮30秒。DL:绿灯闪烁计数单元,初值为0,每0.5秒加1,值为10时,说明某一绿灯已闪烁5秒。DH:黄灯计时单元,初值为0,每0.5秒加1,值为10时,说明某一黄灯已亮5秒。CH:绿灯闪烁时标志当前绿灯的状态,最低位为0时,表示当前状态是“灭”。中断服务程序流程图如图8-33所示,初始化程序段如下:MOV AL,82H ;初始化8255OUT 0D6H,ALMOV

16、 AL,34H ;初始化8253OUT 1E6H,ALMOV AL,54HOUT 1E6H,ALMOV AL,90HOUT 1E6H,ALMOV AL,FFH ;8253通道0计数初值OUT 1E0H,ALOUT 1E0H,ALMOV AL,46 ;8253通道1计数初值OUT 1E2H,ALMOV AL,05H ;8253通道2计数初值OUT 1E4H,ALXOR DX,DX ;清各标志单元XOR BX,BXMOV AL,21HOUT 0D0H,AL ;设初始状态:东西方向红灯亮,南北方向绿灯亮MOV CH,01H ;初始时,某一绿灯亮STI ;开中断 中断服务程序如下:IN AL,0D2H

17、 AND AL,01HJNZ CHANGE ;不为0,说明车辆计数5,转移到变灯处理INC BHCMP BH,60JAE CHANGE ;60,转移到变灯处理AND BL,01HJNZ CHANG1 ;BL01,当前状态:南北红灯亮MOV AL,21HOUT 0D0H,AL ;东西红灯亮,不变灯JMP RETURN ;中断返回CHANG1:MOV AL,0CHOUT 0D0H,AL ;南北红灯亮,不变灯JMP RETURN ;中断返回CHANGE:INC DL ;变灯处理开始CMP DL,10JA YELLO ;绿灯已闪烁5秒,转移到变黄灯处理AND BL,01HJNZ GREEN1 ;BL0

18、1,当前状态:南北红灯亮,转移AND CH,01HJNZ GREEN2 ;CH01,当前状态:绿灯亮MOV AL,21HOUT 0D0H,AL ;南北绿灯亮,东西红灯亮(不变)MOV CH,01H ;改变绿灯亮的标志JMP RETURN ;中断返回GREEN2:MOV AL,20HOUT 0D0H,AL ;南北绿灯灭,东西红灯亮(不变)MOV CH,00H ;改变绿灯亮的标志JMP RETURN ;中断返回GREEN1:AND CH,01HJNZ GREEN3 ;CH01,当前状态:绿灯亮图8-33 交通灯控制中断服务程序流程图MOV AL,0CHOUT 0D0H,AL ;东西绿灯亮,南北红灯

19、亮(不变)MOV CH,01H ;改变绿灯亮的标志JMP RETURN ;中断返回GREEN3:MOV AL,04HOUT 0D0H,AL ;东西绿灯灭,南北红灯亮(不变)MOV CH,00H ;改变绿灯亮的标志JMP RETURN ;中断返回YELLO: INC DH ;黄灯亮处理开始CMP DH,10JA YELLO1 ;黄灯已亮5秒,转移到变红灯处理AND BL,01HJNZ YELLO2 ;BL01,当前状态:南北红灯亮,转移MOV AL,22HOUT 0D0H,AL ;东西红灯亮,南北黄灯亮JMP RETURN ;中断返回YELLO2:MOV AL,14HOUT 0D0H,AL ;南

20、北红灯亮,东西黄灯亮JMP RETURN ;中断返回YELLO1:AND BL,01H JNZ RED1 ;原状态:南北红灯亮MOV AL,0CHOUT 0D0H,AL ;南北红灯亮,东西绿灯亮JMP REDRED1: MOV AL,21HOUT 0D0H,AL ;东西红灯亮,南北绿灯亮RED: ADD BL,01H ;南北标志取反XOR DX,DXXOR BH,BHMOV CH,01HRETURN:STIIRET ;中断返回5. 图8-80(见教材)是一个检测开关状态并控制相应的继电器通断的电路。要求当开关S0S7之一闭合时,使相应的继电器K0K7之一吸合(即让驱动电流流过继电器线圈);若开

21、关处于断开状态,则使相应的继电器释放。系统每隔20ms应检测一遍开关状态,并对继电器做相应控制。图中8255A的4个端口地址分别为2C0H、2C2H、2C4H和2C6H。试完成:(1) 8255A的初始化编程(初始状态所有继电器的线圈均无电流通过)。(2) 设系统中具有一个2MHz的时钟信号源,另由一片8253来实现20ms的定时,每当20ms到时自动向CPU申请中断。编写中断服务程序,并在其中完成开关的检测和继电器的控制。【解】(1) 8255A的初始化编程:8255A的方式选择控制字的内容:82H D7 D6D5D4D3D2D1D0100001控制字标志端口A设置成方式0端口A为输出口端口

22、C 端口B设置成方式0端口B为输入口端口C初始化程序:MOV AL,82H ;方式选择控制字送ALOUT 2C6H,AL ;方式选择控制字输出给8255A控制端口MOV AL,00H ;OUT 2C0H,AL ; 8255A PA端口输出0,使所有继电器的线圈均无电流通过(2) 开关S0S7之一闭合时,相应的PB0PB7的输入为1;PA0PA7输出高电平(1)时,可以使相应的继电器K0K7吸合;中断服务程序:PUSH AXIN AL,2C2H ;从端口B输入数据OUT 2C0H,AL ;从端口A输出数据POP AXSTIIRET ; 中断返回6设8086系统中有一片8251A芯片,其端口地址分

23、别为130H和132H。请按以下要求分别编出8251A的初始化程序:(1) 全双工异步方式通信,波特率系数为16,每个字符数据为7位,偶校验,1.5个停止位,传送过程错误不复位,且不使用调制解调器。(2) 全双工同步方式通信,每个字符数据为8位,不带校验,内同步,两个同步字符分别为EFH和FEH。【解】(1) 8251A的方式选择控制字的内容:0BAH D7 D6D5D4D3D2D1D0101110101.5个停止位偶校验每个字符数据为7位波特率系数为16初始化程序:MOV AL,0BAH ;方式选择控制字送ALOUT 132H,AL ;方式选择控制字输出给8255A控制端口(2) 8251A

24、的方式选择控制字的内容:0CH D7 D6D5D4D3D2D1D00001100内同步,两个同步字符无校验每个字符数据为8位同步方式初始化程序:MOV AL,40HOUT 132H,AL ;复位8251AMOV AL,0CH ;方式选择控制字送ALOUT 132H,AL ;方式选择控制字输出给8255A控制端口MOV AL,0EFHOUT 132H,AL ;写入第一个同步字符MOV AL,0FEHOUT 132H,AL ;写入第二个同步字符7两台计算机均利用8251A芯片进行串行通信,通信规则为:一方进行发送、另一方进行接收的半双工异步通信方式,波特率系数取16,每个字符传送7位,奇校验,2个

25、停止位。试用查询方式实现串行通信,设计出逻辑电路图,并编写通信程序。【解】【解】逻辑电路图如图8-34所示,设8251A的口地址:1A0H、1A2H。图8-34 两台计算机串行通信的逻辑电路图8251A的方式选择控制字的内容:0DAH D7 D6D5D4D3D2D1D0110110102个停止位奇校验每个字符数据为7位波特率系数为168251A的操作命令控制字(内部复位)的内容:40H D7 D6D5D4D3D2D1D001000000使8251A退回到接受方式选择控制字状态8251A的操作命令控制字(允许发送)的内容:37H D7 D6D5D4D3D2D1D000110111请求发送全部错误

26、标志复位正常工作接收允许数据终端准备好允许发送 (1) 发送程序MOV DX,1A2HMOV AL,00OUT DX,AL ;复位方式命令工作命令 MOV AL,40HOUT DX,AL ;内部复位(D6=1)NOPMOV AL,0DAHOUT DX,AL ;方式选择控制字输出给8251A控制端口MOV AL,37HOUT DX,AL ;工作命令:D0=1允许发送MOV CX,2DH ;发送字节数MOV SI,300H ;发送首址L1: MOV DX,1A2HIN AL,DXAND AL,01H ;D0=1:发送准备好JZ L1 ;发送状态(TXRDY)未准备好MOV DX,1A0HMOV AL,SIOUT DX,AL ;发送数据INC SILOOP L1MOV AX,4C00HINT 21H8251A的操作命令控制字(允许接收)的内容:14H D7 D6D5D4D3D2D1D000010100使全部错误标志复位正常工作接收允许(2) 接收程序MOV DX,1A2H ;复位方式命令工作命令MOV AL,00OUT DX,AL

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1