微机课件微机复习2011章节

上传人:E**** 文档编号:91041356 上传时间:2019-06-21 格式:PPT 页数:16 大小:101.50KB
返回 下载 相关 举报
微机课件微机复习2011章节_第1页
第1页 / 共16页
微机课件微机复习2011章节_第2页
第2页 / 共16页
微机课件微机复习2011章节_第3页
第3页 / 共16页
微机课件微机复习2011章节_第4页
第4页 / 共16页
微机课件微机复习2011章节_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《微机课件微机复习2011章节》由会员分享,可在线阅读,更多相关《微机课件微机复习2011章节(16页珍藏版)》请在金锄头文库上搜索。

1、微机原理及接口技术期末复习课(通达)(应用部分),一。CPU对接口电路的操作涉及的程序设计。 二。中断部分涉及的程序设计 三 。定时器部分程序设计主要为对8254的初始化编程 四。串口部分主要程序设计是针对8250芯片的直接对端口 操作方式下的初始化和查询方式的数据发送和接收编程 五。8255部分程序设计主要是对8255的初始化和方式0,1下对8255的数据端口的操作。,一。CPU对接口电路的操作涉及的程序设计. 大纲要求掌握CPU对接口电路的四种操作方式中的三种: 无条件传送,查询,中断。 1.无条件传送 编写程序时直接采用OUT指令对端口写数据,IN指令从 端口读数据。 注意:端口地址超过

2、8位时,要用DX间址. 如 : MOV DX, 210H OUT DX,AL,2。查询 使用查询方式对端口操作时,无论是读还是写数据口,先都需要读取状态口的数据,以判别此时CPU是否可以从数据口读到数据或CPU是否可以向数据口写数据。 总结:对于可编程芯片8250,8255 对8250,在发送数据前,读通信线状态寄存器(状态口)获取发送保持或移位寄存器(数据口)是否空闲;在接收数据前,读通信线状态寄存器(状态口)获取接收缓冲寄存器(数据口)是否已经收到1帧数据。 对8255,方式1时,CPU读取A口或B口(数据口)前,读取PC口(视为状态口,虽然没有作为联络线的PC引脚仍然可作I/O用 ),判

3、别IBF是否为1,CPU向A口或B口(数据口)写数据前,读取PC口(状态口),判别OBF是否为1。,注意:对可编程芯片(8250,8255)在采用查询方式操作时,需要禁止该芯片提出中断请求。 总结: 对8250,需要向中断允许寄存器和MODEM控制寄存器写对应的控制字以禁止8250提出中断。(请仔细阅读P320.例10.3.1 中对8250的初始化子程序) 对8255,需要使用C口按位置1/0命令字写往控制口以使得PC口的对应位置0以禁止A口或B口提出中断请求。(请仔细阅读P347.例11.2.1对8255初始化的子程序(采用查询方式的)),三。中断部分涉及的程序设计 中断部分涉及到的程序设计

4、主要是 1。主程序的编写中主要包括 中断向量的置换(读中断向量和写中断向量) 硬件中断通路的开放和屏蔽。涉及到是否要对中断 8259写中断屏蔽字的问题 2。中断服务程序的编写,其中根据置换的中断类型不同, 需要解决是否要对中断管理器8259写中断结束命令字的问题。,四。定时器部分程序设计主要为对8254的初始化编程 步骤: 1.根据被使用的定时计数器的工作方式,数据写入方式 (低8位,高8位,低8位和高8位),数据写入的数制类型(二进制,BCD码) 确定方式选择命令字,写入到8254控制口。 2. 根据计数初值=f c l k / f o u t 计算出计数初值,按照确定的数据写入方式,将其写

5、入到8254对应的定时计数器端口。 注意:1. 每次设定工作方式和写入初值只能对8254中1个定时计数器完成初始化。如果要对2个或3个定时计数器都进行初始化,这样的操作过程要重复进行2次或3次。 2. 注意写入的计数初值是二进制还是BCD码。二进制还是BCD码是由程序员来指定的。,举例,设8254的口地址为40H 43H, 要求2#计数器工作在 方式3, 计数初值=4000, 请写出2#的初始化程序段。,解1: 设初值为二进制, 初值写入顺序为先低8位后高8位。 MOV AL, 10110110B OUT 43H, AL MOV AX, 4000 OUT 42H, AL MOV AL, AH

6、OUT 42H, AL,解2: 设初值为BCD码, 写入顺序为先低后高。 MOV AL, 10110111B OUT 43H, AL MOV AL, 0 OUT 42H, AL MOV AL, 40H OUT 42H, AL,五。串口部分主要程序设计是针对8250芯片的直接对端口操作方式下的初始化和查询方式的数据发送和接收编程 1。8250初始化步骤, 80H线路控制寄存器,使除数寄存器访问位=1 根据波特率计算出除数高/低8位除数寄存器高/低8位,确定通信速率 D7=0的命令字线路控制寄存器:有2个目的,九 二,定义一帧数据格式 使除数寄存器访问位=0,从而使后继的对合用端口的访问只读写非除

7、数寄存器, 设置中断允许命令字,查询方式,则中断允许命令字=0,禁止中断 中断方式,使中断允许命令字相应位置1, 设置MODEM控制寄存器,中断方式:D3=1,允许8250送出中断请求 查询方式:D3=0 内环方式:D4=1 正常通信:D4=0 使用联络线:D1、D0位置1,举例 写出对主串口的初始化子程序,设通信速率=2400波特,一帧数据中有8个数据位,1个停止位,奇校验,串口工作在正常通信方式,CPU采用查询方式访问主串口。 I8250 PROC MOV DX,3FBH MOV AL,80H OUT DX,AL ;寻址位置1 MOV DX,3F9H MOV AL,00H OUT DX,A

8、L ;写除数高8位 MOV DX,3F8H MOV AL,30H OUT DX,AL ;写除数低8位,MOV DX,3FBH MOV AL,0BH OUT DX,AL ;奇校验传送,8位数据,1位停止位 MOV DX,3F9H MOV AL,00H OUT DX,AL ;禁止8250内部中断 MOV DX,3FCH MOV AL,0 OUT DX,AL ;8250正常通信方式,禁止中断 RET I8250 ENDP,2。8250查询方式下接收和发送程序的直接端口编程,举例:利用主串口查询方式发送A,利用辅串口查询方式接收一个字符,SCANT:MOV DX ,3FDH IN AL ,DX TES

9、T AL ,20H;或40H JZ SCANT MOV DX ,3F8H MOV AL ,A OUT DX ,AL ,SCANR:MOV DX ,2FDH IN AL ,DX TEST AL ,01H JZ SCANR TEST AL ,00011110B JNZ ERR MOV DX ,2F8H IN AL ,DX ERR: 出错处理程序,六。8255部分程序设计主要是对8255的初始化和方式0,1下 对8255的数据端口的操作。 1。8255初始化步骤,2. 在A口或B口方式1时,把C口置0/置1命令字控制口,目的是禁止/允许某一口提中断,以配合采用查询方式/中断方式对8255进行读写操作。注:如果A,B,C三个口都设定工作在方式0,则不需要第2个步骤,1.方式选择命令字控制口,目的选择某一口的工作方式,例:要求置A口为方式0输出,B口为方式0输入,PC74为输出,PC30为输入,写出初始化片断,MOV AL,83H OUT 控口地址,AL,例:要求置A口为方式1输出,B口为方式0输入,CPU采用查询方式访问A口。写出初始化片断,MOV AL,83H OUT 控口地址,AL MOV AL,0CH OUT 控口地址,AL ; PC6置0,使INTEA=0,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号