




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口技术期末复习课(njupt)(重要应用举例)一。接口电路原理图的分析。二。CPU对接口电路的操作涉及的程序设计。三。中断部分涉及的程序设计四。定时器部分程序设计主要为对8254的初始化编程五。串口部分主要程序设计是针对8250芯片的直接对端口操作方式下的初始化和查询方式的数据发送和接收编程六。8255部分程序设计主要是对8255的初始化和方式0,1下对8255的数据端口的操作。七。用户使用PC系统的芯片和外扩芯片的差异。八。串行异步通信波形分析一。接口电路原理图的分析。1。从原理图中分析出其中的端口和端口类型(数据,状态,控制)如果电路为可编程芯片(8254,8255等)构成,则可以直接得到其中的端口和类型;如果电路由门电路等分立元件构成,则需要依据电路的构成来具体分析其中的端口和类型(例如对教材上P.223,224的查询方式输入/输出接口电路的分析)。2。从原理图中分析译码电路,以确定其中的端口的地址。译码电路的分析方法为:列出地址列表的全部状态变化,从中寻找出端口对应的地址。
[举例]
设ISA总线外扩了以下的数码管显示电路,针对该接口电路编程,演示8字循环左移。[举例]
设ISA总线外扩了以下的数码管显示电路,针对该接口电路编程,演示8字循环左移。IOW8位同相驱动器
8位锁存器(段选).a~h段
6位反相驱动器
8位锁存器(位选)口地址译码器A0ISA:D0~D7ISA:D0~D7
或非
CS
口地址译码器
段选锁存器其口地址=201H,203H,205H,207H
执行:MOVDX,201HMOVAL,字形码
OUTDX,ALA8A6A4AENA7A5A3A9CS如左,当口地址=200H~207H时,CS=0
位选锁存器。口地址=200H,202H,204H,206H
执行MOVDX,200HMOVAL,01HOUTDX,AL;使第一位数码管共阴极=低电平列表分析过程:AENA9A8A7A6A5A4A3A2A1A001000000XX0->位选01000000XX1->段选硬件电路:
D7~D0RDWRGATE0A1GATE1A0CLK0CLK1
OUT0CSOUT1
8254
D7~D0IORIOWA1A0
A9A4A3
A87652AEN+52兆8KHZ方波1.6KHZ连续脉冲[举例]列表分析过程:AENA9A8A7A6A5A4A3A2A1A001000011000->定时器001000011001->定时器101000011010->定时器201000011011->控制口二。CPU对接口电路的操作涉及的程序设计。大纲要求掌握CPU对接口电路的四种操作方式中的三种:无条件传送,查询,中断。1.无条件传送编写程序时直接采用OUT指令对端口写数据,IN指令从端口读数据。注意:端口地址超过8位时,要用DX间址.
如:MOVDX,210HOUTDX,AL
2。查询使用查询方式对端口操作时,无论是读还是写数据口,先都需要读取状态口的数据,以判别此时CPU是否可以从数据口读到数据或CPU是否可以向数据口写数据。总结:对于可编程芯片8250,8255
对8250,在发送数据前,读通信线状态寄存器(状态口)获取发送保持或移位寄存器(数据口)是否空闲;在接收数据前,读通信线状态寄存器(状态口)获取接收缓冲寄存器(数据口)是否已经收到1帧数据。对8255,方式1时,CPU读取A口或B口(数据口)前,读取PC口(视为状态口,虽然没有作为联络线的PC引脚仍然可作I/O用),判别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初始化的子程序(采用查询方式的))三。中断部分涉及的程序设计中断部分涉及到的程序设计主要是1。主程序的编写包括
※主程序的结构
※中断向量的置换(读中断向量和写中断向量)
※硬件中断通路的开放和屏蔽。涉及到是否要对中断
8259写中断屏蔽字的问题2。中断服务程序的编写,其中根据置换的中断类型不同,需要解决是否要对中断管理器8259写中断结束命令字的问题。※主程序的结构。由于中断是随机发生的,所以主程序中并不能确定中断何时发生,与普通程序相比较。与中断服务程序配套的主程序增加了中断向量置换和有可能有的硬件中断通路的打开,在程序结束返回系统前,也需要将系统恢复原状的操作,即恢复系统中断向量,重新关闭硬件中断通路。※中断向量的置换(读中断向量和写中断向量)使用两个DOS功能调用进行。[INT21H的35H子功能]功能:读出n型中断向量入口:AL=中断类型码出口:ES:BX=n型中断向量[INT21H的25H子功能]功能:写入n型中断向量入口:DS=中断服务程序所在代码段的段基址
DX=中断服务程序入口的偏移地址
AL=中断类型码,[举例]在定时中断程序设计中涉及到的对1C中断向量的操作READ1CPROC;保存系统1CH型中断向量
MOVAX,351CHINT21HMOVWORDPTROLD1C,BXMOVWORDPTROLD1C+2,ESRETREAD1CENDP;--------------------------------WRITE1CPROC;写入用户1CH型中断向量
PUSHDSMOVAX,CODEMOVDS,AXMOVDX,OFFSETSERVICEMOVAX,251CHINT21HPOPDSRETWRITE1CENDP;---------------------------------RESETPROC;恢复系统1CH型中断向量
MOVDX,WORDPTROLD1CMOVDS,WORDPTROLD1C+2;注意与上一句顺序不能倒换
MOVAX,251CHINT21HRETRESETENDPCODEENDSENDBEG※硬件中断通路的打开。对由系统机主/从8259管理的接口电路硬件中断,在使用中断方式对接口操作时,需要打开硬件中断的通道。对于日时钟08H(或其中的1CH),默认下主8259已经打开,无需再进行开放操作。对于用户中断71H(或其中的0AH),需要打开主8259的IR2和从8259的IR1。使用向主/从8259写对应的中断屏蔽字的方法就可实现通道的开放操作。[举例]打开71H用户中断的通道I8259PROCINAL,21HANDAL,11111011BOUT21H,AL;开放从8259中断
INAL,0A1HANDAL,11111101BOUT0A1H,AL;开放用户中断
RETI8259ENDP注意:有时还需要打开接口电路自身的中断允许,以使得接口电路能送出中断请求信号。对于串口8250芯片,需要向中断允许寄存器和MODEM控制寄存器写对应的命令字以完成使8250能送出中断请求。对于8255芯片,工作在方式1时,需要使用C口按位置1/0命令字写往控制口以使得PC口的对应位置1以开放A口或B口的中断请求。(请仔细阅读P347.例11.2.1对8255初始化的子程序(采用中断方式的))2。中断服务程序的编写中断服务程序结构SERVICEPROC保护现场的语句中断服务程序里具体完成的事情{对主/从8259写中断结束命令字}仅在需要时有这样的操作恢复现场的语句
IRETSERVICEENDP保护现场和恢复现场通常是利用堆栈完成对那些主程序中用到,在中断服务程序中也会用到的寄存器进行保护,使得它们都可以在主程序和中断服务程序中正常使用,而避免发生其中的数值被互相修改的问题。如PUSHA,POPA,但注意一定要成对使用。对8259写中断结束命令字决定于被置换掉的原有的硬件中断服务程序是否需要这样的操作。总结为:置换日时钟08H中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。置换日时钟引发的1CH中断,不需要在用户自己的中断服务程序中对主8259写中断结束命令字。置换用户中断引发的71中断,需要在用户自己的中断服务程序中对主从8259写中断结束命令字。置换用户中断引发的0A中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。◎请仔细阅读中断一章的课件中补充的利用日时钟中断设计定时程序以及教材P347.例11.2.1利用用户中断设计的程序以完成对中断部分程序设计的掌握。四。定时器部分程序设计主要为对8254的初始化编程步骤:1.根据被使用的定时计数器的工作方式,数据写入方式(低8位,高8位,低8位和高8位),数据写入的数制类型(二进制,BCD码)确定方式选择命令字,写入到8254控制口。
2.根据计数初值=fclk
/fout计算出计数初值,按照确定的数据写入方式,将其写入到8254对应的定时计数器端口。注意:1.每次设定工作方式和写入初值只能对8254中1个定时计数器完成初始化。如果要对2个或3个定时计数器都进行初始化,这样的操作过程要重复进行2次或3次。
2.注意写入的计数初值是二进制还是BCD码。二进制还是BCD码是由程序员来指定的。[举例]设8254的口地址为40H~43H,要求2#计数器工作在方式3,计数初值=4000,请写出2#的初始化程序段。解1:设初值为二进制,初值写入顺序为先低8位后高8位。
MOVAL,10110110BOUT43H,ALMOVAX,4000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川省农产品购销合同范本
- 2025企业借款协议合同范本
- 2025 果园、草地承包合同
- 房屋租赁合同范本范本
- 政府采购委托合同范本
- 市区房按揭贷款购买合同
- 租房看房协议书范本
- 2025信息技术服务购销合同范本
- 2025专利权许可合同样本
- 2025年03月浙江丽水市龙泉市事业单位公开招聘工作人员70人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 如果历史是一群喵
- 人教版小学数学六下第六单元《统计与概率》单元集体备课整体教学设计
- 工业设计项目报价单模板
- 手术前呼吸功能评估
- 针灸优势病种
- 中华八大菜系-闽菜
- 基于单片机的恒压供水系统设计(附原理图、程序清单及外文翻译)
- 《中医诊断学课件》
- MQL4命令中文详解手册
- 保安外包服务投标方案(技术标)
- 2023年浙江杭州市属事业单位统一招聘工作人员371人笔试参考题库(共500题)答案详解版
评论
0/150
提交评论