微机原理复习资料.docx_第1页
微机原理复习资料.docx_第2页
微机原理复习资料.docx_第3页
微机原理复习资料.docx_第4页
微机原理复习资料.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Part1二。接口电路原理图的分析。1。从原理图中分析出其中的端口和端口类型(数据,状态,控制) 如果电路为可编程芯片 (8254,8255等)构成,则可以直接得到其中的端口和类型;如果电路由门电路等分立元件构成,则需要依据电路的构成来具体分析其中的端口和类型(*)。2。从原理图中分析译码电路,以确定其中的端口的地址。译码电路的分析方法为:列出地址列表的全部状态变化,从中寻找出端口对应的地址。 三。CPU对接口电路的操作涉及的程序设计。要求掌握CPU对接口电路的四种操作方式中的三种方式的程序设计:无条件传送,查询,中断。1.无条件传送编写程序时无须获知外设的状态,直接采用OUT指令对端口写数据,IN指令从端口读数据。注意:当端口地址超过8位时,要用DX间址. 如 : MOV DX, 210H OUT DX,AL 2。查询使用查询方式对端口操作时,无论是读还是写数据口,先都需要获取外设的状态,了解到外设是否准备好数据或处于空闲状态;在实际编程中,先在一个循环中反复读取状态口的数据,判别某个状态位是否有效,如有效则可以跳出循环,从数据口读数据或向数据口写数据。总结:对于可编程芯片8250,8255对8250,在发送数据前,先读通信线状态寄存器(状态口)获知发送保持寄存器是否空闲(D5=1),然后可以将需要发送的数据写入发送保持寄存器(数据口);在接收数据前,先读通信线状态寄存器(状态口)获取接收缓冲寄存器是否已经收到1帧数据(D0=1), 然后可以从接收缓冲寄存器(数据口)读入收到的数据。对8255,方式1时,CPU读取A口或B口(数据口)前,先读取C口(此时视C为状态口),判别IBF是否为1; CPU向A口或B口(数据口)写数据前,读取C口,判别OBF是否为1。 注意:对可编程芯片(8250,8255)在采用查询方式操作时,一般需要禁止该芯片提出中断请求。总结:对8250,需要向中断允许寄存器和MODEM控制寄存器写对应的控制字以禁止8250提出中断。(请仔细阅读P320.例10.3.1 中对8250的初始化子程序)对8255,需要将C口按位置1/0命令字写入控制口以使得C口的对应位置0以禁止A口或B口提出中断请求。(请仔细阅读P347.例11.2.1对8255初始化的子程序(采用查询方式的程序))注意:有时还需要打开接口电路自身的中断允许,以使得接口电路能送出中断请求信号。 对于串口8250芯片,需要向中断允许寄存器和MODEM控制寄存器 写对应的命令字以完成使8250能送出中断请求。 对于8255芯片,工作在方式1时,需要使用C口按位置1/0命令字写往控制口以使得PC口的对应位置1以开放A口或B口的中断请求。(请仔细阅读P347.例11.2.1 对8255初始化的子程序(采用中断方式的))中断服务程序的编写中断服务程序结构SERVICE PROC保护现场的语句中断服务程序里具体完成的事情对主/从8259写中断结束命令字仅在需要时有这样的操作恢复现场的语句 IRETSERVICE ENDP保护现场和恢复现场通常是利用堆栈完成对那些主程序中用到,在中断服务程序中也会用到的寄存器进行保护,使得它们都可以在主程序和中断服务程序中正常使用,而避免发生其中的数值被互相修改的问题。如PUSHA ,POPA,但注意一定要成对使用。(中断服务程序的结构可以参见补充的定时中断程序以及8255一章中P.347中断程序)对8259写中断结束命令字决定于被置换掉的原有的硬件中断服务程序是否需要这样的操作。总结为:置换日时钟08H中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。置换日时钟引发的1CH中断,不需要在用户自己的中断服务程序中对主8259写中断结束命令字。(参见补充的利用日时钟中断设计定时程序)置换用户中断引发的71中断,需要在用户自己的中断服务程序中对主从8259写中断结束命令字。置换用户中断引发的0A中断,需要在用户自己的中断服务程序中对主8259写中断结束命令字。(参见教材P347.例11.2.1 利用用户中断设计的程序 )Part2定时器/计数器8254 程序设计对8254的初始化编程(2个步骤)步骤: 1.根据被使用的定时计数器的工作方式,数据写入方式 (低8位,高8位,低8位和高8位),数据写入的数制类型(二进制,BCD码) 确定方式选择命令字,写入到8254控制口。 2. 根据计数初值=f c l k / f o u t 计算出计数初值,按照确定的数据写入方式,将其写入到8254对应的定时计数器端口。注意:1. 每次设定工作方式和写入初值只能对8254中1个定时计数器完成初始化。如果要对2个或3个定时计数器都进行初始化,这样的操作过程要重复进行2次或3次。 2. 注意写入的计数初值是二进制还是BCD码。二进制还是BCD码是由程序员来指定的。partppppPart3Part4串行接口 概念1了解串行通信与并行通信的区别与特点; 2. 了解串行通信的通信方式有异步、同步两种。 3掌握异步通信协议 数据帧的格式 波特率的定义; RS-232C标准的常用引脚(7个); RS-232C标准EIA电平特点和TTL电平的转换 4掌握单工,半双工,全双工通信定义和调制解调的含义 Part52。对8255的读写操作。 如果数据口(A,B或C)工作在方式0,直接采用IN/OUT指令对其进行读写。如果数据口(A或B)工作在方式1, 如果采用查询方式,且 A或B口定义为输入口,先用IN指令读入C口的内容,查询其中的IBFa或IBFb =1 时表示CPU可以继续用IN指令从A或B口读入外设送来的数据。 如果采用查询方式,且 A或B口定义为输出口,先用IN指令读入C口的内容,查询OBFa或OBFb =1 时表示CPU可以用OUT指令向A或B口写数据以送给外设。 如果采用中断方式,且对应 A或B口的中断请求输出INTRa或INTRb连接到PC系统机从8259IR1(用户中断),则一般采用将用户中断71H引发的0AH中断置换指向用户编写的中断服务程序,在中断服务程序中用IN或OUT指令完成对A或B口的读写。(请仔细阅读教材 P347.例11.2.1 ) 期中一。数制/码制转换1、二进制数,十进制数,十六进制数和BCD码数之间的转换方法等。 例 :(210.875)10( )2( D2. E )16 (10010111)BCD( 97 )10( 01100001 )2例 :(129)10( 10000001 )2( 81 )16 2 、真值数和补码数之间的转换方法等例 :若X补0AAH,则X的真值为( -86 ) 10例 :字长8位,则-6补( FA ) 16,若X补E8H,则X的真值为( -1E ) 163、n位字长的有符号数、无符号数的数值范围 设机器数字长=n位,则n位补码数,其真值范围为 2n-1 +2n-11位 无符号数其数值范围为 0 2n1 例 : 16位二进制数所能表示的无符号数范围是_0 _65535_。复习作业 P.15 - 1(1)-(6), 以及课件范例二。补码运算和判断溢出以及6个状态标志的变化用补码形式完成运算。要求有运算过程,写出运算结果、C,O,A, P,S, Z 标志的具体值,并判断结果是有溢出(CPU角度和程序员角度)例 :字长8位 (+66)+942H+09H=4BH O=0,C=0, A=0,P=1, S=0,Z=0复习作业 P.15 - 1(7) , P85 - 3 以及课件范例三。存储空间中三种地址空间的概念以及IO空间的概念,实模式下由逻辑地址得到物理地址物理地址计算公式:物理地址=段基址*16+偏移地址例:一个有16个字节的数据区,它的起始地址为3000H:4567H,则这个数据区首字节的物理地址是( 34567H ) ,最后一个字节的物理地址为( 34576H ) 。复习作业P.85 - 1 七。计算机系统构成及CPU1. 冯氏结构以及现代计算机硬件组成 的5个部分2. 三总线结构AB,DB,CB 以及 控制信号 D/C W/R M/IO3. CPU 内部的 基本结构寄存器,名称以及对应容量,以及功能 例:设BX=1200H,SI=0002H,DS=3000H,(31200H)=50H,(31201H)=02H,(31202H)=0F7H,(31

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论