微机原理及接口技术期末复习课课件

上传人:我*** 文档编号:145967025 上传时间:2020-09-25 格式:PPT 页数:36 大小:212KB
返回 下载 相关 举报
微机原理及接口技术期末复习课课件_第1页
第1页 / 共36页
微机原理及接口技术期末复习课课件_第2页
第2页 / 共36页
微机原理及接口技术期末复习课课件_第3页
第3页 / 共36页
微机原理及接口技术期末复习课课件_第4页
第4页 / 共36页
微机原理及接口技术期末复习课课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《微机原理及接口技术期末复习课课件》由会员分享,可在线阅读,更多相关《微机原理及接口技术期末复习课课件(36页珍藏版)》请在金锄头文库上搜索。

1、微机原理及接口技术期末复习课(njupt)(重要应用举例),一。接口电路原理图的分析。 二。CPU对接口电路的操作涉及的程序设计。 三。中断部分涉及的程序设计 四。定时器部分程序设计主要为对8254的初始化编程 五。串口部分主要程序设计是针对8250芯片的直接对端口 操作方式下的初始化和查询方式的数据发送和接收编程 六。8255部分程序设计主要是对8255的初始化和方式0,1下对8255的数据端口的操作。 七。 用户使用PC系统的芯片和外扩芯片的差异。 八。串行异步通信波形分析,一。接口电路原理图的分析。 1。从原理图中分析出其中的端口和端口类型(数据,状态,控制) 如果电路为可编程芯片 (8

2、254,8255等)构成,则可以直接得到其中的端口和类型;如果电路由门电路等分立元件构成,则需要依据电路的构成来具体分析其中的端口和类型(例如对教材上P.223, 224的查询方式输入/输出接口电路的分析)。 2。从原理图中分析译码电路,以确定其中的端口的地址。 译码电路的分析方法为:列出地址列表的全部状态变化,从中寻找出端口对应的地址。,举例 设ISA总线外扩了以下的数码管显示电路, 针对该接 口电路编程, 演示8字循环左移。,举例 设ISA总线外扩了以下的数码管显示电路, 针对该接 口电路编程, 演示8字循环左移。,IOW,.,ah段,A0,ISA:D0 D7,ISA: D0 D7,或非,

3、CS, 口地址译码器, 段选锁存器 其口地址=201H, 203H, 205H, 207H 执行: MOV DX, 201H MOV AL, 字形码 OUT DX, AL, 位选锁存器。 口地址=200H, 202H, 204H, 206H,执行 MOV DX, 200H MOV AL, 01H OUT DX, AL ;使第一位数码管共阴极=低电平,列表分析过程: AEN A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 1 0 0 0 0 0 0 X X 0 - 位选 0 1 0 0 0 0 0 0 X X 1 - 段选,举例,列表分析过程: AEN A9 A8 A7 A6 A

4、5 A4 A3 A2 A1 A0 0 1 0 0 0 0 1 1 0 0 0 -定时器0 0 1 0 0 0 0 1 1 0 0 1 -定时器1 0 1 0 0 0 0 1 1 0 1 0 -定时器2 0 1 0 0 0 0 1 1 0 1 1 -控制口,二。CPU对接口电路的操作涉及的程序设计。 大纲要求掌握CPU对接口电路的四种操作方式中的三种: 无条件传送,查询,中断。 1.无条件传送 编写程序时直接采用OUT指令对端口写数据,IN指令从 端口读数据。 注意:端口地址超过8位时,要用DX间址. 如 : MOV DX, 210H OUT DX,AL,2。查询 使用查询方式对端口操作时,无论

5、是读还是写数据口,先都需要读取状态口的数据,以判别此时CPU是否可以从数据口读到数据或CPU是否可以向数据口写数据。 总结:对于可编程芯片8250,8255对8250,在发送数据前,读通信线状态寄存器(状态口)获取发送保持或移位寄存器(数据口)是否空闲;在接收数据前,读通信线状态寄存器(状态口)获取接收缓冲寄存器(数据口)是否已经收到1帧数据。 对8255,方式1时,CPU读取A口或B口(数据口)前,读取PC口(视为状态口,虽然没有作为联络线的PC引脚仍然可作I/O用 ),判别IBF是否为1,CPU向A口或B口(数据口)写数据前,读取PC口(状态口),判别OBF是否为1。,注意:对可编程芯片(

6、8250,8255)在采用查询方式操作时,一般需要禁止该芯片提出中断请求。 总结: 对8250,需要向中断允许寄存器和MODEM控制寄存器写对应的控制字以禁止8250提出中断。(请仔细阅读P320.例10.3.1 中对8250的初始化子程序) 对8255,需要使用C口按位置1/0命令字写往控制口以使得PC口的对应位置0以禁止A口或B口提出中断请求。(请仔细阅读P347.例11.2.1对8255初始化的子程序(采用查询方式的)),三。中断部分涉及的程序设计 中断部分涉及到的程序设计主要是 1。主程序的编写包括 主程序的结构 中断向量的置换(读中断向量和写中断向量) 硬件中断通路的开放和屏蔽。涉及

7、到是否要对中断 8259写中断屏蔽字的问题 2。中断服务程序的编写,其中根据置换的中断类型不同, 需要解决是否要对中断管理器8259写中断结束命令字的问题。,主程序的结构。 由于中断是随机发生的,所以主程序中并不能确定中断何时发生,与普通程序相比较。与中断服务程序配套的主程序增加了中断向量置换和有可能有的硬件中断通路的打开,在程序结束返回系统前,也需要将系统恢复原状的操作,即恢复系统中断向量,重新关闭硬件中断通路。,中断向量的置换(读中断向量和写中断向量) 使用两个DOS功能调用进行。 INT 21H 的35H子功能 功能:读出n型中断向量 入口:AL=中断类型码 出口:ES:BX=n型中断向

8、量 INT 21H 的25H子功能 功能:写入n型中断向量 入口:DS=中断服务程序所在代码段的段基址 DX=中断服务程序入口的偏移地址 AL= 中断类型码, 举例 在定时中断程序设计中涉及到的对 1C中断向量的操作 READ1C PROC ;保存系统1CH型中断向量 MOV AX,351CH INT 21H MOV WORD PTR OLD1C,BX MOV WORD PTR OLD1C+2,ES RET READ1C ENDP ;- WRITE1C PROC ;写入用户1CH型中断向量 PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE

9、MOV AX,251CH INT 21H,POP DS RET WRITE1C ENDP ;- RESET PROC ;恢复系统1CH型中断向量 MOV DX,WORD PTR OLD1C MOV DS,WORD PTR OLD1C+2 ;注意与上一句顺序不能倒换 MOV AX,251CH INT 21H RET RESET ENDP CODE ENDS END BEG,硬件中断通路的打开。 对由系统机主/ 从8259管理的接口电路硬件中断,在使用中 断方式对接口操作时,需要打开硬件中断的通道。 对于日时钟 08H (或其中的1CH), 默认下主8259已经打开,无 需再进行开放操作。 对于用

10、户中断71H(或其中的 0AH),需要打开主8259的 IR2和 从8259 的IR1。使用向主/从8259写对应的中断屏蔽字的方法 就可实现通道的开放操作。,举例 打开71H用户中断的通道 I8259 PROC IN AL,21H AND AL,11111011B OUT 21H,AL ;开放从8259中断 IN AL,0A1H AND AL,11111101B OUT 0A1H,AL ;开放用户中断 RET I8259 ENDP,注意:有时还需要打开接口电路自身的中断允许,以使得接口 电路能送出中断请求信号。 对于串口8250芯片,需要向中断允许寄存器和MODEM控制 寄存器 写对应的命令

11、字以完成使8250能送出中断请求。 对于8255芯片,工作在方式1时,需要使用C口按位置1/0命令 字写往控制口以使得PC口的对应位置1以开放A口或B口的中断 请求。(请仔细阅读P347.例11.2.1 对8255初始化的子程序(采用中断方式的)),2。中断服务程序的编写 中断服务程序结构 SERVICE PROC 保护现场的语句 中断服务程序里具体完成的事情 对主/从8259写中断结束命令字仅在需要时有这样的操作 恢复现场的语句 IRET SERVICE ENDP 保护现场和恢复现场通常是利用堆栈完成对那些主程序中 用到,在中断服务程序中也会用到的寄存器进行保护,使得 它们都可以在主程序和中

12、断服务程序中正常使用,而避免发 生其中的数值被互相修改的问题。如PUSHA ,POPA,但注意 一定要成对使用。,对8259写中断结束命令字决定于被置换掉的原有的硬件中断服务程序是否需要这样的操作。 总结为: 置换日时钟08H中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。 置换日时钟引发的1CH中断,不需要在用户自己的中断服务程序中对主8259写中断结束命令字。 置换用户中断引发的71中断,需要在用户自己的中断服务程序中对主从8259写中断结束命令字。 置换用户中断引发的0A中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。 请仔细阅读中断一章的课件中补充的

13、利用日时钟中断设计定时程序以及教材P347.例11.2.1 利用用户中断设计的程序 以完成对中断部分程序设计的掌握。,四。定时器部分程序设计主要为对8254的初始化编程 步骤: 1.根据被使用的定时计数器的工作方式,数据写入方式 (低8位,高8位,低8位和高8位),数据写入的数制类型(二进制,BCD码) 确定方式选择命令字,写入到8254控制口。 2. 根据计数初值=f c l k / f o u t 计算出计数初值,按照确定的数据写入方式,将其写入到8254对应的定时计数器端口。 注意:1. 每次设定工作方式和写入初值只能对8254中1个定时计数器完成初始化。如果要对2个或3个定时计数器都进

14、行初始化,这样的操作过程要重复进行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 OUT 42H, AL,解2: 设初值为BCD码, 写入顺序为先低后高。 MOV AL, 10110111B OUT 43H, AL MOV AL,

15、 0 OUT 42H, AL MOV AL, 40H OUT 42H, AL,五。串口部分主要程序设计是针对8250芯片的直接对端口操作方式下的初始化和查询方式的数据发送和接收编程 1。8250初始化步骤, 80H线路控制寄存器,使除数寄存器访问位=1 根据波特率计算出除数高/低8位除数寄存器高/低8位,确定通信速率 D7=0的命令字线路控制寄存器:有2个目的,九 二,定义一帧数据格式 使除数寄存器访问位=0,从而使后继的对合用端口的访问只读写非除数寄存器, 设置中断允许命令字,查询方式,则中断允许命令字=0,禁止中断 中断方式,使中断允许命令字相应位置1, 设置MODEM控制寄存器,中断方式:D3=1,允许8250送出中断请求 查询方式:D3=0 内环方式:D4=1 正常通信:D4=0 使用联络线:D1、D0位置1,举例 写出对主串口的初始化子程序,设通

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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