微机原理与接口技术复习2010.ppt
微机原理与接口技术复习,第7章 存储器系统,存储系统概念存储器分类(RAM、ROM)存储容量的表示,如1KB表示1K字节,1MB表示1兆字节。B表示字节的概念。重点是存储器扩展时的位扩展和字扩展的概念。存储器数据线和地址线有什么关系?如:使用1KB4的芯片,要构成4KB8的存储体,需要几片?(8片),地址线需要几位?(12位),数据线需要几位?(8位)。,第8章输入/输出系统,一接口电路的作用二、端口的概念、分类三、端口有两种编址方式。PC系列机采用端口独立编址,并且仅使用10位地址A9-A0 参加译码。四、最常用的 I/O 指令1.直接寻址 I/O 指令(8位端口地址)2.DX间接寻址 I/O 指令(当端口地址 8位),五、微机系统与 I/O 端口的信息交换 有四种方式:无条件传送,查询方式,中断方式,DMA方式,要掌握:查询方式下输入与输出的编程过程,六、8254定时器/计数器(1)掌握8254定时器/计数器的基本结构(三个16位计数器、控制寄存器)和计数器的外部引脚功能(GATE,CLK,OUT)。例:8254计数器电路中,GATE=1表示_。,(2)8254有6种工作方式(方式0 方式5)重点:方式2、方式3(包括计数过程、波形、周期和启动方式)方式2、3初值自动重装,其余四种方式没有初值自动重装功能。,例:设8254计数器1工作于方式3,输入时钟为1000Hz,计数初值为10H,且采用二进制计数方式,则一个周期内计数器1输出信号的高电平和低电平分别为 _和_ ms。,(3)掌握8254在微型计算机系统中的应用(外扩8254和PC机系统中8254),例:8254的三个计数器在PC系列中是如何应用的?,(4)8254初始化编程 向控制寄存器写入方式选择命令字。目的:选择一个计数器,并确定其工作方式和 计数值(或 计数初值)的读/写顺序。向选择的计数器写入计数初值(计数初值=Tout/Tclk),作业1:设PC 系统机外扩了一片8254 及相应的实验电路。,(1)根据由门电路构成的译码电路,分析出该片8254 的四个端口地址。其中控制口的地址是_213H_。,(2)设CLK0 已接至8MHz 时钟,为了能从OUT0 输出4KHz 的方波,编写了8254初始化程序,其中假设0 号定时计数器工作在二进制方式。,I8254 PROC MOV DX,213H MOV AL,00110110B OUT DX,AL MOV DX,210H MOV AX,2000 OUT DX,AL MOV AL,AH OUT DX,AL RET I8254 ENDP,第9章中断系统,一中断概念 CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序,这一全过程称为中断。二、中断指令 STI CLI INT n IRET 要求掌握。中断指令在中断程序设计中何时使用。CPU执行中断指令后,完成哪些操作。STI,CLI只对可屏蔽中断请求有效,例:CPU执行IRET指令后,从栈顶弹出 字节数据,分别赋给_、_和 _。,三中断向量,。中断向量是实模式下,中断服务子程序的 入口地址。在实模式下,CPU把256种中断向量组成一张表设置在 系统的RAM最低端的1K单元(0 3FFH)。n型中断向量存放在内存单元地址4*n4*n+3这四个单元,n 型服务程序入口的偏移地址,n 型服务程序入口的段基址,n 型中断向量,例:实模式下,从内存地址0000H:0048H开始的连续4个单元中存放的内容为00H,38H,30H,50H,则该地址所对应的中断类型码为_,该中断所对应的中断服务子程序的入口地址为_。,。中断向量表的引导作用,中断向量的读取 INT 21H的35H子功能 入口:AH=35H,AL=中断类型码(中断号)出口:ES:BX=中断向量的段地址和偏移地址 写入中断向量 INT 21H的25H子功能 入口:AH=25H,AL=中断类型码 DS=要写入的中断服务程序所在代码段的段基址 DX=中断服务程序入口的偏移地址,CPU中断,硬件中断(外部中断),软件中断(内部中断),PC机256种中断,四、微机系统中断分类,(1)对于CPU中断、软件中断、非屏蔽中断(NMI)。概念。中断类型码的获得 CPU中断 自动获得 软件中断 包含在软中断指令中 非屏蔽中断 自动获得,n=2(2)对于可屏蔽中断 可屏蔽中断是通过8259中断控制器连至CPU的 INTR。对于8259要求掌握:。8259中断响应过程(即CPU响应可屏蔽中断过程),重点:ISR,IRR,IMR的作用 中断响应信号是2个连续的负脉冲,每个负脉冲的 作用 例:CPU响应可屏蔽中断的条件是什么?。8259应用编程,每一个硬件中断服务程序结束前必须向8259送中断 结束命令字(20H),向8259中断屏蔽寄存器写入屏蔽字。,对于微机系统可屏蔽硬件中断要求掌握:,。系统分配的8259口地址,对于要求掌握的可屏蔽中断:,。用户中断 中断源 外部 中断向量 71H,0AH 用户可置换的中断向量 71H,0AH,。日时钟中断 中断源 定时器 中断向量 08H,1CH 用户可置换的中断向量 08H,1CH 重点掌握1CH,五。中断程序设计(1)主程序的编写主要包括 a.中断向量的置换(读中断向量和写中断向量)b.硬件中断通路的开放和屏蔽。涉及到是否要对中断 对于日时钟 08H(或其中的1CH),默认下主8259已经打开,无需再进行开放操作。(2)中断服务程序的编写根据置换的中断类型不同,需要解决是否要对中断管理器8259写中断结束命令字的问题。对于日时钟 08H(或其中的1CH),不需要写中断结束命令字,假设微机系统外扩了如下的一个单脉冲发生器,该单脉冲发生器电路受一个自复开关K的控制,每按一次K,该电路输出一个正脉冲,输入到系统机从8259的IR1作为外部中断请求。要求:每按一次K,屏幕上显示一行字符串“Welcome!”。主机键盘按任意键,程序结束,返回DOS。(要求给出完整的源程序),.486 DATA SEGMENT USE16 MESG DB“B01040101”,”$”DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG:MOV AX,DATA MOV DS,AX CLI CALL WRITE0A CALL I8259 STISCAN:MOV AH,1 INT 16H JZ SCAN MOV AH,4CH INT 21H,SERVICE PROC PUSHA PUSH DS MOV AX,DATA MOV DS,AX MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AL,20H OUT 20H,AL;70型中断服务已经关闭了从片的ISR,在0A型服务中关闭主片的ISR POP DS POPA IRETSERVICE ENDP,WRITE0A PROC PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,250AH INT 21H POP DS RETWRITE0A ENDP,I8259A PROC IN AL,21H AND AL,11111011B;?OUT 21H,AL IN AL,0A1H AND AL,11111101B;?OUT 0A1H,AL RETI8259A ENDPCODE ENDS END BEG,第10章串行通信,一基本概念1.异步串行通信的数据传输方式:单工通信、半双工通信、全双工通信。三种传输方式的特点。例:单工、半双工、全双工通信方式的特点是什么?,2.异步串行通信一帧数据的格式及通信速率的计算。,起始位,停止位,一帧,奇偶校验位,数据位,(低位),高位),3.为实现通信,收发双方一帧数据的格式和通信速率要保持一致。,例:异步通信一帧数据格式中,按照发送的次序,先传送_,紧接着是数据_位,数据位后依次为_,_。,4.RS232信号采用负逻辑。,“1”=3V 15V,“0”=3V 15V,二、8250芯片 8250内部寄存器的功能。三8250的编程(1)8250的初始化编程。(2)8250的应用编程 串行通信程序设计包括硬件连接和软件编程。,8250初始化步骤,80H线路控制寄存器,使除数寄存器访问位=1 根据波特率计算出除数高/低8位除数寄存器高/低8位,确定通信速率 D7=0的命令字线路控制寄存器:有2个目的,定义一帧数据格式使除数寄存器访问位=0,从而使后继的对合用端口的访问只读写非除数寄存器,设置中断允许命令字,查询方式,则中断允许命令字=0,禁止中断中断方式,使中断允许命令字相应位置1,设置MODEM控制寄存器,中断方式:D3=1,允许8250送出中断请求查询方式:D3=0内环方式:D4=1正常通信:D4=0使用联络线:D1、D0位置1,8250查询方式下接收和发送程序的编程 在发送数据前,读通信线状态寄存器(状态口)获知发送保持寄存器或移位寄存器是否空闲,只有空闲(D5=1或D6=1)时,CPU才能使用写数据(数据口);在接收数据前,读通信线状态寄存器(状态口)获取接收缓冲寄存器是否已经收到1帧数据,即D0=1时,CPU才能读数据(使用数据口)。,A、B两台PC机利用主串口进行点-点单工通信(不用联络线),发送采用查询方式,接收采用中断方式。一帧字符包含7个数据位,1个停止位,1个校验位,通信速率为4800波特(分频系数为0018H)。,(1)下图是A、B两机的RS232C接口示意图,根据题意完成连线(不可有多余连线)。,(2)下图是从PC机的RS-232C接口引脚观察到的波形,所传送字符的16进制ASCII码是_;该帧数据采用的奇偶校验方式是_校验;传送该帧数据需要的时间是_。,(3)用对端口直接编程的方法为接收方编写8250初始化程序段。,I8250 PROC MOV DX,3FBH MOV AL,80H OUT DX,AL;寻址位置1 MOV DX,3F9H MOV AL,00H OUT DX,AL;写除数高8位 MOV DX,3F8H MOV AL,18H OUT DX,AL;写除数低8位,MOV DX,3FBH MOV AL,0AH OUT DX,AL;无校验传送,8位数据 MOV DX,3F9H MOV AL,01H;接收为中断方式 OUT DX,AL MOV DX,3FCH MOV AL,08H;OUT2=1,允许中断信号送出 OUT DX,AL RETI8250 ENDP,第11章并行I/O接口,一、8255A定时器/计数器(1)内部结构、端口地址以及与系统总线的连接(2)8255A三种工作方式(方式0 方式2)的工作特点和I/O过程,A口可工作在方式0、1、2B口可工作在方式0、1C口可工作在方式0,十 二,二、8255初始化编程,十 三,工作在方式0时:方式选择命令字控制口 工作在方式1、2时:,a)方式选择命令字控制口b)允许中断(或禁止中断)的命令字控制口,(3)在方式1中C口哪几个引脚作为信号联络线,各信号联络线的含义。例:8255的数据口中,_口可工作在双向方式。例:8255A的B口初始化定义为选通型(方式1)输入,对8255A采用查询方式,必须先查询_;若采用中断方式,必须先置PC_为1,并且利用_作为中断请求信号线。,a.如果数据口(A,B或C)工作在方式0,直接采用IN/OUT指令对其进行读写。b.如果数据口(A或B)工作在方式1,如果采用查询方式,且 A或B口定义为输入口,先用IN指令读入C口的内容,查询其中的IBF=1时(输入缓冲器满),表示CPU可以继续用IN指令从A或B口读入外设送来的数据。如果采用查询方式,且 A或B口定义为输出口,先用IN指令读入C口的内容,查询OBF=1时(输出缓冲器空),表示CPU可以用OUT指令向A或B口写数据以送给外设。,系统机外扩一片8255A及相应电路如下图所示,外扩8255A的端口地址为200H203H,现利用系统机的日时钟外扩1CH型中断,实现每隔1s使八个发光二极管同时闪烁一次,主机键盘有按键按下时结束,返回DOS操作系统。根据要求完成相关内容。,(1)从图可以分析出,A口工作在方式 0 的输 出(入/出)。(2)假设8255A的A口工作在方式1的查询输出方式,编写8255A的初始化子程序I8255。I8255A PROC MOV DX,203H MOV AL,10100000B OUT DX,AL;写入工作方式字 MOV AL,00001100B OUT DX,AL RETI8255 ENDP(3)编写子程序WRITE完成中断向量的置换。,(3)编写子程序WRITE完成中断向量的置换。,WRITE1C PROC;写入用户1CH型中断向量 PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,251CH INT 21H POP DS RETWRITE1C ENDP,打印机 掌握打印机的主要联络线和工作时序。DMA 掌握DMA的基本概念、DMA传送过程和8237的四种工作方式。,掌握作业,实验,