微机原理与接口技术_基于8086和Proteus仿真__复习资料

上传人:ra****d 文档编号:243011913 上传时间:2024-09-13 格式:PPT 页数:194 大小:3.52MB
返回 下载 相关 举报
微机原理与接口技术_基于8086和Proteus仿真__复习资料_第1页
第1页 / 共194页
微机原理与接口技术_基于8086和Proteus仿真__复习资料_第2页
第2页 / 共194页
微机原理与接口技术_基于8086和Proteus仿真__复习资料_第3页
第3页 / 共194页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,微型计算机系统,8086,微处理器的工作模式及引脚特性,2,8086,微型计算机系统的总线时序,4,半导体存储器的分类,1,8086,微处理器的结构,1,8086,微型计算机系统,3,微处理器结构,8086CPU,16,位微处理器,8086CPU,具有,20,条地址线,可直接寻址,1MB,容量的内存空间,在访问,I/O,端口时,使用地址线,16,条,,最多可寻址,64K,个,I/O,端口。有,16,根数据线,8086内部结构有两个功能模块:,模块之一:总线接口单元,BIU,,,主要完成,计算物理地址,、从内存中取指令、实现指令规定的读,/,写存储器或外部设备等信息传输类操作。,模块之二:执行单元,EU,,,主要负责指令译码、执行和数据运算,包括计算有效地址,8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?,答:总线接口部件BIU功能:根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送。执行部件EU,作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。,8086,指令队列的作用是什么?,答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让,CPU,轮番进行取指和执行的工作,从而提高,CPU,的利用率。,EU,BIU,指令队列,8086CPU内部存放器有哪几种?各自的特点和作用是什么?,8086CPU有14个16位存放器和8个8位存放器,可分为:,数据存放器;指针和变址存放器;段存放器;指令指针存放器;标志存放器。,图2-5 8086/8088,CPU,的寄存器结构,数据存放器主要用来存放操作数或中间结果,以减少访问存储器的次数。有:,4个16位的存放器:AX、BX、CX、DX;,8个8位的存放器:AH、AL、BH、BL、CH、CL、DH、DL;,可以存放偏移地址:BX BP SI DI,其中BX放数据段的地址,BP放堆栈段的地址,简要解释以下名词的意义:存储器,堆栈,IP,SP,BP,段存放器,状态标志,控制标志,存储器:是计算机系统中的记忆元件,用于存储指令和数据。,堆栈:在存储器中开辟的一个区域,用来存放需要暂时保存的数据。其操作特点是先进后出。,IP:指令指针存放器,用来存放将要执行的下一条指令在现行代码段中的偏移地址。,SP:堆栈指针存放器,用于指向当前栈顶单元。,BP:基址指针,间接寻址中用于存放基址,隐含段地址为SS。,段存放器:用于存放逻辑段的段地址。,状态标志:SF、ZF、OF、AF、PF 和CF,反映运算结果的状态特征。,控制标志:IF、DF 和TF,对可屏蔽中断、字符串操作指针变换方向和单步运行起控制作用。,为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成假设干个逻辑段进行管理,4个16位的段存放器来存放每一个逻辑段的段起始地址。,堆栈段存放器SS=2400H,堆栈指针SP=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。,SS=2400H,SP=1200H;PA=SS10HSP= 2400H10H1200H = 25200H。,标志存放器FR,FR是一个16位的存放器。9个位用作标志位:,状态标志位有6个,记录程序中运行结果的状态信息,是根据指令的运行结果由CPU自动设置的。这些状态信息通常作为后续转移指令的转移控制条件,所以也称为条件码。,控制标志位有3个,可以编程设置,用于控制处理器执行指令的方式。控制标志设置之后,可对后面的操作产生控制作用。,未标明的位在8086中不用。,OF,11,15 12,DF,10,IF,9,TF,8,SF,7,ZF,6,5,AF,4,3,PF,2,1,CF,0,例,8086的标志存放器分为 6 个 状态 标志位和 3 个 控制 标志位,它们各自的含义和作用是什么,OF,11,15 12,DF,10,IF,9,TF,8,SF,7,ZF,6,5,AF,4,3,PF,2,1,CF,0,要完成下述运算或控制,用什么标志位判别?其值是什么?,1比较两数是否相等 2两数运算后结果是正数还是负数,3两数相加后是否溢出 4采用偶校验方式,判定是否要补1,5两数相减后比较大小 6中断信号能否允许,答:1ZF,两数相减,假设ZF=1,那么相等。,2SF,SF=1 那么为负,否那么为正,3对有符号数:OF,OF=1 为溢出;对无符号数:CF,CF=1 为溢出,4PF,PF=1,不补1,5对有符号数:无溢出时OF=0,如 ZF=1,那么两数相等;如 ZF=0 且 SF=0,那么被减数大;如 ZF=0 且 SF=1,那么减数大; 有溢出时OF=1,如 SF=1,那么被减数大;如F=0,那么减数大; 对无符号数:如 ZF=1,那么两数相等;如 CF=0,那么被减数大;如 CF=1,那么减数大,6IF,IF=1,允许中断,存储器组织与段存放器,存放器是微处理器内部暂存数据的存储单元,以名称表示,存储器那么是微处理器外部存放程序及其数据的空间,主存需要利用地址区别,数据的存储格式,D,7,D,0,字节,D,15,D,0,字,D,31,D,0,双字,D,7,D,0,00006,H,78,H,00005,H,56,H,00004,H,12,H,00003,H,34,H,00002,H,00001,H,00000,H,低地址,存储单元及其存储内容,每个存储单元都有一个编号;被称为存储器地址,每个存储单元存放一个字节的内容,0002,H,单元存放有一个数据34,H,表达为0002,H34H,多字节数据存放方式,图中2号“字单元的内容为:,0002H = 1234H,2号“双字单元的内容为:,0002H = 78561234H,8086的存储器空间最大可以为多少?怎样用16位存放器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?,答:8086的存储器空间最大可以为2201MB;8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段存放器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。,物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址,是CPU 访问存储器的实际寻址地址,对于8086 系统,地址范围为00000HFFFFFH。,逻辑地址:由段基址和偏移地址组成,均为无符号的16 位二进制数,程序设计时采用逻辑地址,可由逻辑地址变换为物理地址,物理地址=段基址16+偏移地址。,偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。,有效地址:是指令中计算出的要访问的存储单元的偏移地址。,物理地址计算公式:物理地址 = 段地址10H有效地址或偏移地址,简要解释以下名词的意义:物理地址,逻辑地址:,8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段存放器的作用是什么,8086CPU将1MB的存储空间分成逻辑段来进行管理:最多可分成64K个段;每个逻辑段最大为64KB。各段的起始位置由程序员指出,可以彼此别离,也可以首尾相连、重叠或局部重叠。,4个16位的段存放器用来存放每一个逻辑段的“段基地址段起始地址地高16位:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。,段存放器装入如下数据,写出每段的起始和结束地址。,11000H 21234H 32300H 4E000H 5AB00H,答:110000H1FFFFH,212340H2233FH,323000H32FFFH,4E0000HEFFFFH,5AB000HBAFFFH,10550,H,250,A0H,2,EF00H,8,FF00H,CS,SS,CS,DS,ES,解:,各段分布及段首址见右图所示。,操作数的物理地址为:,250,AH,10H+0204H = 252A4H,CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,,DS段有一操作数,其偏移地址=0204H,,1)画出各段在内存中的分布,2)指出各段首地址,3)该操作数的物理地址=?,例,段存放器CS1200H,指令指针存放器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?,答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。,假设当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,假设此时入栈10 个字节,SP 内容是什么?假设再出栈6 个字节,SP 为什么值?,答:物理地址:35000H35800H。入栈 10 个字节后 SP 为 7F6H。再出栈 6 个字节后 SP,为 7FCH。,8086CPU,重新启动后,从何处开始执行指令?,答:重新启动后,,CS=FFFFH,,,IP=0000H,,故从物理地址为,FFFF0H,的位置开始执行指令。,8086,系统中存储器采用什么结构?用什么信号来选中存储体?,答:,8086,系统中,存储器采用分体结构,,1MB,的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为,512KB,。,使用,A,0,和,BHE,来区分两个存储体。当,A,0,=0,时,选中偶地址存储体,与数据总线低,8,位相连,从低,8,位数据总线读,/,写一个字节。当,BHE =0,时,选中奇地址存储体,与数据总线高,8,位相连,从高,8,位数据总线读,/,写一个字节。,当,A,0,=0,,,BHE =0,时,同时选中两个存储体,读,/,写一个字。,3.3 8086,微型计算机系统,微型计算机的结构示意图,存,储,器,I/O,接,口,输,入,设,备,I/O,接,口,数据总线,DB,控制总线,CB,地址总线,AB,输,出,设,备,CPU,什么是微机的总线,分为哪三组?,答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线,8086,微处理器的工作模式及引脚特性,8086的工作模式,8086CPU具有两种不同的工作模式来适应不同的应用场合:,最小模式,系统的控制总线就直接由CPU的控制线供给,最大模式 :8086通过一个总线控制器8288来形成各种总线周期,控制信号由8288供给。,8086的工作模式由硬件设计决定:,引脚连电源 5V,那么8086处在最小模式;,引脚接地,那么8086处在最大模式。,MN,/MX,MN/MX,说明8086 系统中“最小模式和“最大模式两种工作方式的主要区别是什么?,答:为了便于组成不同规模的系统,在8086 芯片中设计了两种工作模式,即最小模式和最大模式。最小模式用于单机系统,系统中所需要的控制信号全部由8086 直接提供;最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器8288 提供。,8086,系统中为什么要用地址锁存器?,8282,地址锁存器与,CPU,如何连接?,答:为了减少引脚的数量,,8086CPU,的地址引脚和数据引脚分时复用,为了保证在总线操作周期中地址信号能有效而稳定的输出,必须使用地址锁存器。由于,8086,有,20,条地址线,故需使用三片,8282,,其中,OE,接地,,STB,与,CPU,的,ALE,相连,前两片,8282,的,DI0DI7,分别与,CPU,的,AD0AD15,相连,第三片,8282,的,DI0DI3,分别与,CPU,的,AD16AD19,相连,,DI4,与,CPU,的,BHE,相连。,INTR,、,INTA,、,NMI,、,ALE,、,HOLD,、,HLDA,引脚的名称各是什么,?,答:,INTR,是可屏蔽请求信号,,INTA,中断响应信号,,NMI,是不可屏蔽中断请求信号,,ALE,是地址锁存允许信号,,HOLD,总线请求信号,,HLDA,总线请求响应信号。,CPU,执行指令时涉及三种周期:,时钟周期,总线周期,指令周期,3. 3.4 8086,微型计算机系统的总线时序,8086,微型计算机系统的总线时序,总线周期,把CPU通过总线进行某种操作的过程称为总线周期Bus Cycle,表示从M或I/O端口存取一个数据所需的时间。,根据总线操作功能的不同,分为:,存储器读周期、存储器写周期,I/O读周期、I/O写周期,一个根本的总线周期由4个时钟周期组成T1、T2、T3、T4。附加的时钟周期等待状态Tw,指令周期,总线周期,总线周期,时钟周期,时钟周期,时钟周期,时钟周期,一个根本的总线周期,什么叫总线周期?在,CPU,读,/,写总线周期中,数据在哪个机器状态出现在数据总线上?,答:,CPU,完成一次存储器访问或,I/O,端口操作所需要的时间称为一个总线周期,由几个,T,状态组成。在读,/,写总线周期中,数据在,T2,T4,状态出现在数据总线上。,中断响应周期时序,一般外部设备的中断是通过INTR引脚向CPU发出中断请求的,这个可屏蔽中断请求信号的有效电平高电平,必须维持到CPU响应中断为止。假设标志IF1,表示CPU允许中断,此时CPU在执行完当前指令后响应中断,其中断响应周期时序如以下图所示。,第,4,章,8086,寻址方式与指令系统,概述,1,8086,寻址方式,2,8086,指令系统,3,808的七种根本的数据寻址方式,(1)立即寻址;,(2)存放器寻址;,(3)直接寻址;,(4)存放器间接寻址;,(5)存放器相对寻址;,(6)基址变址寻址;,(7)相对基址变址寻址。,存储器寻址方式,分别说明以下指令的源操作数和目的操作数各采用什么寻址方式。,1MOV AX,2408H 2MOV CL,0FFH 3MOV BX,SI,4MOV 5BX,BL 5MOV BP+100H,AX 6MOV BX+DI,$,7MOV DX,ES:BX+SI 8MOV VALBP+DI,DX,9IN AL,05H 10MOV DS,AX,答:1立即数,存放器 2立即数,存放器 3存放器间接,存放器,4存放器,存放器相对 5存放器,存放器相对 6立即数,基址变址,7基址变址,存放器 8存放器,相对基址变址,9直接端口寻址,存放器 10存放器,存放器,设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,,数据段中变量名为VAL 的偏移地址值为0030H,试说明以下源操作数字段的寻址方式是什,么?物理地址值是多少?,1MOV AX,100H 2MOV AX,VAL 3MOV AX,BX,4MOV AX,ES:BX 5MOV AX,SI 6MOV AX,BX+10H,7MOV AX,BP 8MOV AX,VALBPSI,9MOV AX,VALBXDI 10MOV AX,BPDI,答:1直接,10100H 2直接,10030H 3存放器间接,10100H,4存放器间接,20210H 5存放器间接,100A0H 6存放器相对,10110H,7存放器间接,35200H 8相对基址变址,352D0H,9相对基址变址,10154H 10基址变址,35224H,4.3 8086指令系统,8086指令系统包括六大类指令87条:,数据传送指令,算术运算指令,逻辑运算和移位指令,串操作指令,控制转移指令,处理器控制指令,指出以下指令中哪些是错误的,错在什么地方。,1MOV DL,AX 2MOV 8650H,AX 3MOV DS,0200H,4MOV BX,1200H 5MOV IP,0FFH 6MOV BX+SI+3,IP,7MOV AX,BXBP 8MOV AL,ES:BP 9MOV DL,SIDI,10MOV AX,OFFSET 0A20H 11MOV AL,OFFSET TABLE,12XCHG AL,50H 13IN BL,05H 14OUT AL,0FFEH,答:1长度不匹配 2立即数不能做目的操作数,3段存放器不能用立即数赋值 4两个内存单元不能直接传送数据,5IP 不能用指令直接修改 6指令中不能出现 IP,7BX/BP 应与 SI/DI 搭配 8正确,9SI/DI 应与 BX/BP 搭配 10OFFSET 后应跟内存单元,11偏移地址为16 位,AL 长度不够 12立即数不能用于XCHG,13IN 必须用 AL/AX 14操作数顺序反向;地址应为 8 位,指令,指令对错,P74 5,PUSH POP CMP TEST XLAT LEA LOOP XOR,CBW,JMP段间、段内,JCC 段内,SHL SHR SAL SAR,MOVSB MOVSW (STD CLD DF 1,0) REP MOVSB,P75 8,、,9,、,10,汇编语言程序设计,伪指令,指示汇编、链接程序如何进行汇编和链接,影响目标代码生成,本身不产生目标代码。,有符号定义语句、数据定义语句、程序结构语句、模块链接语句、有关宏的语句、条件汇编语句等。,等值语句,格式:符号名,EQU,表达式,变量定义语句,DB,变量为字节数据类型,DW,变量为字数据类型,存放时低对低高对高。,DD,变量为双字数据类型,存放时低对低高对高。,1为数据项分配存储单元,用变量名作为该存储单元的名称。,例:X DB25H,2预留内存单元,但不赋值,以存放运算结果.,例: A DB ?,3定义一个数组,例:W_TABLE DW 1122H,3344H,B_TABLE DB 1,2,4,9,16,当表中的操作数相同时,,可用重复操作符DUP来缩写:,格式: 重复次数 DUP( 操作数),例:ALL_ZERO DB 0,0,0,0,0,0,ALL_ZERO DB 6 DUP0,4定义字符串只能用DB定义 ,例:MESSAGE DBHELLO,每个字符的值为它的ASCII码值,所以,用DB来定义。,3. 指定地址伪指令 ORG,分析操作符SEG、OFFSET、TYPE、SIZE 、LENGTH,P89 5,例如:,MY_DATA SEGMENT,ORG 100H,MYDAT DW 1,2,$+4,MY_DATA ENDS,框架一:,DATA SEGMENT;,定义数据段,VAL1 DB 12H , 8EH ;,定义变量,DATA ENDS,;,数据段结束,CODE SEGMENT;,定义代码段,ASSUME DS:DATA , CS: CODE;,段属性说明,START: MOV AX , DATA;,初始化,DS,MOV DS , AX,;,填写代码,MOV AX , 4C00H;,返回,DOS,INT 21H,CODE ENDS ;,代码段结束,END START ;,源程序结束,DOS功能调用方法输入、输出,1 单字符输入 ( 01H功能),入口参数 无,功能号 AH = 01H,类型号 21H,出口参数 AL = 键入字符的ASCII码,2 显示单字符 ( 02H、功能),入口参数 DL = 要显示字符的ASCII 码,功能号 AH = 02H,类型号 21H,出口参数 无,实现功能 显示指定字符,光标随动。,对存储单元操作,BUF DB 1,2,.,MOV SI, OFFSET BUF,MOV AX, SI,比较、转移,比较大小,CMP AX,BX,转移,JCC CC 代表条件 无符号数 A,B,E,N,有符号数 G,L,E,N,CMP AX,BX,JA NEXT(标号满足条件转移到标号行,MOV AX,1 不满足条件执行,NEXT: MOV AX,0 满足条件执行AX 大于 BX),循环,MOV CX, 100,LOOP LOP1,算法,最大、最小,统计正、负数,统计数字、字符个数,大、小写转换,例,5-2,例,5-12,例,5-4,存储器,存储器分类,内存:是内部存储器的简称,又称主存。内存直接与CPU相联接,是计算机的组成局部。,外存:即外部存储器,也称辅存。外存不直接与CPU相联接,而是通过I/O接口与CPU联接,其主要特点是大容量。,按存取方式分类,随机存储器RAM (Random Access Memory),只读存储器ROMRead-Only Memory,串行访问存储器(Serial Access Storage),随机存取存储器,RAM,特点:,RAM的读写次数无限。,如果断开RAM的电源,其内容将全部丧失。,RAM的分类 :,静态RAMSRAM,Static RAM,动态RAMDRAM,Dynamic RAM(要定时刷新,只读存储器,ROM,EPROM 存放系统监控程序,无需在线修改的 参数(如BIOS)。,E2PROM数据、参数等有掉电保护要求的数据。,RAM有几种,各有什么特点?ROM有几种,各有什么特点?,答:RAM有两种,SRAM(静态RAM),它采用触发器电路构成一个二进制位信息的存储单元,这种触发器一般由6个晶体管组成,它读出采用单边读出的原理,写入采用双边写入原理;DRAM动态RAM,它集成度高,内部存储单元按矩阵形式排列成存储体,通常采用行,列地址复合选择寻址法。ROM有5种,固定掩摸编程ROM,可编程PROM,紫外光檫除可编程EPROM,电可檫除的可编程EPROM,闪速存储器。,假设用4K位的RAM芯片组成8K8为的存储器,需要多少芯片?A19A0地址线中哪些参与片内寻址,哪些用做芯片组的片选信号?,答:需要16片芯片;其中A11-A0参与片内寻址;A12做芯片组的片选信号。,假设系统分别使用512K8、16、64的RAM,各需要多少条地址线进行寻址,各需要多少条数据线?,答:512K8需要19条地址线,8条数据线。需要10条地址线,4条数据线。16需要14条地址线,8条数据线。64需要16条地址线,1条数据线。,某微机系统的RAM容量为8K*8,假设首地址为4800H,那么最后一个单元的地址是多少?,答:最后一个单元的地址是:4800H+213-1,8086,系统的存储器接口,存储器与系统之间的连接主要包括:,数据线,的连接,地址线,的连接,控制信号,的连接。控制信号一般包括读、写、片选等信号。,数据线,16位微机系统中存储器与系统的联接 8位存储体 ,8086系统的分为奇存储体、偶存储体:,地址线,片内地址,片内地址线数量由储存器芯片型号容量决定 如27128的容量为16K,储存器芯片内的地址为14位。,8086系统片内地址线与CPU的地址线的连接,由于8086系统采用奇、偶存储体结构,A0作为偶存储体的片选信号,所以与CPU的地址线的连接从A1开始,如27128的A0- A13对应A1- A14,片外地址,CPU的地址线与的片内地址线相连后剩余的高位地址线,片外地址线经译码电路后与存储体的片选信号线相连。,译码电路,如62256容量32KA0-A14接A1-A15,片外地址A16-A19,如要求RAM的地址范围从80000H-8FFFFFH,那么片外地址为1000A19-A16如采用3-8译码器电路如下:当A19-A16为1000时Y0为低电平CS有效,控制信号,最大模式MEMW、MEMR,最小模式,IO/M接片选 WR RD,注:,MEMW=IO/M+WR MEMR=IO/M+RD,根本输入输出接口,什么是接口?其作用是什么,连接外部设备与微型计算机的接口电路。,作用:1解决CPU与外设工作速度不匹配的问题;2解决CPU与外设工作时序配合问题;3实现信息格式转换;4解决信息类型与信号电平匹配的问题。,输入/输出接口电路有哪些存放器,各自的作用是什么?,通常有数据输入、数据输出、控制和状态存放器等。在CPU与外部设备之间进行数据传输时,各类信息写入接口中相应的存放器,或从相应存放器读出。CPU从数据输入存放器和状态存放器中读出数据和状态,但不能向其中写内容; CPU往数据输出存放器和控制存放器中写数据和控制信息,但不能从其中读内容。,什么叫端口,I/O端口有哪两种编址方式,各自的优缺点是什么,端口指输入/输出接口中的存放器,统一编址方式是将I/O端口与内存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。该方式主要优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用局部存储器的地址空间,不容易区分是访问存储器还是外部设备。,独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。,CPU,与输入输出设备之间传送的信息由哪几类?相应的端口称为什么端口?,【,解答,】CPU,与输入,/,输出设备交换的信息有,3,类:数据信息、状态信息和控制信息。数据信息相应的端口称为数据端口;状态信息相应的端口称为状态端口;控制信息相应的端口称为控制端口。,CPU,和外设之间的数据传送方式有哪几种?无条件传送方式通常用在哪些场合?,【,解答,】CPU,和外设之间的数据传送方式通常有四种:无条件传送方式、查询传送方式、中断传送方式、,DMA,传送方式和,I/O,处理机方式。,开关、,LED,等,在一个微型计算机系统中,确定采用何种方式进行数据传送的依据是什么?,无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定的或的场合。,条件传送方式主要用于不能保证输入设备总是准备好了数据或者输出设备已经处在可以接收数据的状态。,中断控制方式主要用于需要提高CPU利用率和进行实时数据处理的情况。,DMA控制方式主要用于快速完成大批的数据交换任务。,在实际工作中,具体采用哪种方式要根据实际工作环境与需要结合各种方式的特点进行选择。,IN AL, DX DX指定的端口存放器的内容送AL,OUT DX,AL AL的内容送DX指定的端口存放器,中断,常见的中断源有哪几类?CPU响应中断的条件是什么?,常见的中断源有:一般的输入/输出设备请求中断;实时时钟请求中断;故障源;数据通道中断和软件中断。,CPU响应中断的条件:假设为非屏蔽中断请求,那么CPU执行完现行指令后,就立即响应中断。CPU假设要响应可屏蔽中断请求,必须满足以下三个条件: 无总线请求; CPU允许中断; CPU执行完现行指令。,简述微机系统的中断处理过程。,【解答】1中断请求:外设需要进行中断处理时,向CPU提出中断请求。,2中断响应:CPU执行完现行指令后,就立即响应非屏蔽中断请求。可屏蔽中断请求,CPU假设要响应必须满足三个条件。,3中断处理:保护现场、开中断、中断效劳。,4中断返回:CPU执行IRET中断返回指令时,自动把断点地址从堆栈中弹出到CS和IP中,原来的标志存放器内容弹回Flags,恢复到原来的断点继续执行程序。,8086的中断分哪两大类?各自有什么特点?中断向量和中断向量表的含义是什么?8086一共可处理多少级中断?,【解答】8086的中断分为外部中断和内部中断两种:外部中断由外部硬件产生,由CPU外部中断请求信号触发,分为非屏蔽中断NMI和可屏蔽中断INTR。内部中断是为了处理程序运行过程中发生的一些意外情况或调试程序而提供的中断。,8086的中断系统能够处理256个不同的中断,每一个中断安排一个编号,范围为0255,称为中断类型。每种中断类型对应的中断效劳程序的入口地址称为中断向量。把系统中所有的中断向量按中断类型从小到大的顺序放到存储器的特定区域,该区域称为中断向量表。每个中断向量在中断向量表中占用4字节,CPU响应中断后通过将中断类型4得到中断向量在中断向量表中的首地址。,设置中断向量的方法:,1、将中断效劳程序的入口地址直接写入中断向量表中的相应单元,MOV AX , 0000H,MOV DS , AX,MOV SI , 中断类型号 * 4,MOV AX , 中断效劳程序偏移地址,MOV SI, AX,MOV AX , 中断效劳程序段地址,MOV SI+2 , AX,2,、二是利用,DOS,功能调用完成中断向量的设置,中断向量设置,(DOS,功能调用,INT 21H),功能号:,AH=25H,入口参数:,AL=,中断类型号,,DS:DX=,中断向量,(,段地址,:,偏移地址,),获取中断向量,(DOS,功能调用,INT 21H),功能号:,AH=35H,入口参数:,AL=,中断类型号,出口参数:,ES:BX=,中断向量,(,段地址,:,偏移地址,),例如,设某中断的中断类型号n为40H,中断效劳子程序的入口地址为INT-P,调用25H号功能装入中断向量的程序段如下:,CLI; IF=0,关中断,MOVAL, 40H; 中断类型号40H送AL,MOVDX, SEG INT-P ; 中断效劳子程序的段基址送DS,MOVDS, DX,MOVDX, OFFSET INT-P ;中断效劳子程序的偏移地址送DXMOVAH,25H ; 25H功能调用 INT21H STI ; IF=1,开中断 INT-P:; 中断效劳子程序IRET; 中断返回,简述,8086,的中断类型,非屏蔽中断和可屏蔽中断有哪些不同之处?,CPU,通过什么响应条件来处理这两种不同的中断?,【,解答,】8086,的中断系统能够处理,256,个不同的中断源,并为每一个中断安排一个编号,范围为,0,255,,称为中断类型。,硬件中断分为非屏蔽中断和可屏蔽中断,非屏蔽中断不受中断允许标志位,IF,的影响,在,IF=0,关中断的情况下,,CPU,也能在当前指令执行完毕后就响应,NMI,上的中断请求。可屏蔽中断:,CPU,将根据中断允许标志位,IF,的状态决定是否响应。如果,IF=0,,表示,CPU,关中断;如果,IF=1,,表示,CPU,开中断,,CPU,执行完现行指令后会转入中断响应周期。,对应于中断类型码为18H的中断效劳程序存放在0020H:6314H开始的内存区域中,求对应于18H类型码的中断向量存放位置和内容。,偏移地址EA=18H4=60H,18H中断向量在中断向量表中的入口地址为00000H60H=00060H。中断效劳程序存放在0020H:6314H开始的内存区域中,所以00060H=0020H,00061H= 6314H。,8259A,的主要功能有:,1每一片8259A可管理8级优先权中断源,通过8259A的级联,可扩充至管理64级优先权的中断源。,2对任何一级中断源都可单独进行编程实现屏蔽或开放。,3能向 CPU提供可编程的中断类型号。这个功能使原来没有能力提供中断类型码的8255A、 8253、8251A等可编程接口芯片,借助8259A同样可以采用中断I/O方式来进行管理。,4能通过编程实现不同的工作方式。,当有一条或假设干条中断请求线IR7IR0变为高电平,那么中断请求存放器IRR的相应位置位。,假设中断请求线中至少有一条是中断允许的中断屏蔽存放器相应位开放,且请求中断的级别高于当前正在效劳的中断或未处于中断效劳程序中,那么8259A通过INT引脚向CPU的INTR引脚发出中断请求信号。,CPU在当前指令执行完后,假设检测到中断请求信号,且处于开中断状态IF=1那么会暂停执行下一条指令,进入中断响应总线周期,发送两个INTA信号给8259A作为响应。,10.3.3 8259A,中断处理过程,8259A在接受到来自CPU的第一个INTA信号后,使中断源中优先级最高的ISR位置位,而相应的IRR位被复位。在该周期中,8259A不向数据总线送任何内容。,在第二个INTA脉冲期间,8259A向CPU发出中断类型号8位的二进制数,其中高位T7T3是8259A初始化时设置的,而低3位是8259A自动插入的, CPU获得后,将此向量乘以4,在中断向量表中找到相应的中断效劳程序入口地址。,10.3.3 8259A,中断处理过程,中断响应周期结束后,CPU就转而执行中断效劳程序。采用AEOI方式时,在第二个脉冲INTA结束时,ISR位被复位。否那么,在中断效劳程序中,应在IRET指令参加相应的EOI指令,使ISR的相应位复位。,10.3.3 8259A,中断处理过程,在一个8259A芯片有如下几个内部存放器:,Interrupt Mask Register (IMR),Interrupt Request Register (IRR),In Sevice Register (ISR),8259A结束中断处理的方式有:,1一般EOI方式:只有在当前结束的中断总是尚未处理完的级别最高的中断时,才能使用这种结束方式。,2指定EOI方式:适合于在任何情况下使用。,3自动EOI方式:只有在一些以预定速率发生中断,且不会发生同级中断互相打断或低级中断打断高级中断的情况下,才使用自动EOI方式。,常用可编程接口技术及应用,可编程计数器定时器,8253,1,、每片有,3,个独立的,16,位计数通道。,2,、每个计数器可按二进制或十进制来计数,,时钟脉冲下降沿使计数器进行减,1,操作,3,、,每个计数器可编程设定,6,种工作方式之一。,3,个引脚说明:,CLK时钟输入信号,在计数过程中,此引脚上每输入一个时钟信号下降沿,计数器的计数值减1,2) GATE 门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型。,3) OUT 计数器输出信号,当一次计数过程结束计数值减为0 ,OUT 引脚上将产生一个输出信号,8253,有几个计数通道,每条计数通道有哪些信号线,其作用是什么?,答:,8253,有三个计数通道,每个计数通道有,3,条信号线:,CLK,:计数输入用于输入定时基准脉冲或计数脉冲,.OUT:,输出信号以相应的电平指示计数的完成或输出脉冲的波型,.GATA:,选通输入用于启动或禁止计数器的操作,以使计数器和计数输入信号同步。,A,1,A,0,端口,0,0,0,计数器,0,0,0,1,计数器,1,0,1,0,计数器,2,0,1,1,控制寄存器,1,未选中,试分析,8253,的,6,种工作方式的特点和功能。各方式下的时钟信号,CLK,和门控信号,GATE,分别起什么作用?,时钟信号,CLK,的作用:在,8253,进行定时或计数工作时,每输入,1,个时钟脉冲信号,CLK,,便使计数值减,1,8253,的工作方式,六种工作方式:,1.,方式,0,计数结束中断,2.,方式,1,硬件可重复触发的单稳态触发器,3.,方式,2,分频器,4.,方式,3,方波发生器,5.,方式,4,软件触发延时选通脉冲发生器,6.,方式,5,硬件触发延时选通脉冲发生器,1方式0单脉冲发生器,计数器只计一遍。控制字写入后,OUT端为低,当计数初值写入后,计数器开始减1计数,当计数值回0时,OUT输出端变为高电平。,GATE信号为高电平,2方式1可重触发单稳态方式,当写入控制字后,输出端OUT变为高电平,并保持高电平状态。然后写入计数初值,只有在GATE信号的上升沿之后的下一个CLK脉冲的下降沿,才将计数初值存放器内容装入减1计数存放器,同时OUT端变为低电平。然后计数器开始减1计数,当计数值减到0时,OUT端变为高电平。,门控信号GATE上升沿触发,方式2周期脉冲发生器,可产生周期性的负脉冲信号,负脉冲宽度为一个时钟周期。,方式3方波发生器,GATE为高,方式4软件触发的选通信号发生器,GATE为高电平,方式5硬件触发的选通信号发生器,产生单个负脉冲信号,GATE信号的上升沿,控制字存放器,当地址信号A1A0 11 时,访问控制字存放器。,控制字存放器从数据总线上接收CPU 送来的控制字,并由控制字的D7 、D6 两位的编码决定控制字写入哪个通道的控制存放器中去。由存放在每个通道内的控制存放器的内容决定该通道的工作方式,选择计数器是按二进制还是数,并确定每个计数器初值的写入顺序。,8253,控制字,8253,控制字格式,8253,的初始化编程,1写入控制字,1确定工作方式,根据输出OUT确定,产生高电平、中断信号方式0,周期信号方式2、方式3,周期性方波方式3,2确定8253端口地址,A1A0= 00-计数器0 01-计数器1,10-计数器2 11-控制口,计数初值TC,用途:计数、定时、分频,计算公式为:t=TC/f,其中t为定时时间,TC为计数初值,f为输入时钟频率。,如:1分频:输入频率为1MHZ通过8253输出频率1000HZ TC=1MHZ/1000HZ(方式2、3,2计数:计100个 TC=100方式0,3定时:TC=t*f,= 定时时间(t)/输入时钟周期,确定方式控制字,注意:1计数初值大小对控制字的影响,2初值最大不能超过16位表示范围,用OUT 指令写入控制字,Mov dx,控制端口地址,Mov al,控制字,Out dx,al,2,写入计数初值,计数初值写入对应的计数器端口地址,当计数初值大于255时分高、低8位两次写入,如果在方式控制字中的BCD位为1,那么写入的计数初值应为BCD数。例如:计数初值为50,采用BCD码计数,那么指令中的50必须写为50H。,MOV DX,计数器端口地址,MOV AX,初值十进制数表示二进制运算,MOV DX,AL ;写低8位,MOV AL,AH,MOV DX,AL ;写高8位,确定门控信号,GATE,方式,0,、,2,、,3,、,4,GATE,为高,方式,1,、,5,GATE,为上升沿,一、初始化,某系统中8253芯片的地址为0FFF0H0FFF6H,定义通道0,CLK0=2MHZ 要求:输出OUT0为1KHZ的方波;定义通道1工作在方式0,其CLK1输入外部计数事件,每计满1000个,向CPU发出中断请求 。 1在图中画出8253使用到的CLK、OUT、GATE的连线并标明符号;,2编写相应8253初始化程序段。,.,二、分频,可编程定时/计数器8253的CLK0上接有5MHz外部计数器时钟如下图。指定该8253的接口地址为0400H-0404H,说明要用此8253产生周期为200ms的对称方波,应当如何去做?并画出相应的联线示意图,编写初始化程序。,D0D7 CLK0,RD GATE0,WE OUT0,A0,A1 CLK1,GATE1,OUT1,8253,CLK2,CS GATE2,OUT2.,5MHz,时钟,设计一个简单计件系统, 一个脉冲代表一个事件,比方交通道路检测系统中通过检测点的车辆,工业控制系统中流水线上已加工好的工件。要求在计件过程中,当完成10000个工件记录后,系统发出1KHz信号推动喇叭发音通知用户。 如以下图所示8253的计数器0用来统计工件数,8253的计数器1产生1KHz信号推动喇叭发音。设8253的端口地址为20H23H。,1编写初始化程序及应用程序。,8253的端口地址为40H46H,CLK1=CLK2=1MHz,按以下要求编程:,1假设使OUT1输出500HZ的方波,OUT2的输出50Hz的方波,分别确定8253计数器CNT1、CNT2的初值及方式控制字;,2用OUT2的输出控制500HZ方波交替输出给扬声器,即OUT2=1时电路输出500HZ的方波,OUT2=0时电路输出低电平,试画出控制电路图;,硬件如图,某报警实验系统的手动报警局部的接口电路如下图,要求开关K拨到A系统报警:扬声器发出频率为20KHz的声音即为20KHz的方波,并使七段数码显示“3; 开关K断开解除报警:关闭扬声器,七段数码管暗。设8253的输入时钟频率为2MHz,8253的地址为40H43H,8255A的地址为60H63H。试编写:,1、8253的初始化程序3分,2、8255A的初始化程序2分,3、报警系统的控制局部的程序根据题目要求5分,如图为某系统中的使用接口电路,其中8253的3个通道和控制存放器的地址为40H、41H、42H和43H,8255的B口地址为61H,试编写一段程序,利用8255配合,使扬声器发出20Hz的声音。假设8255初始化工作已完成,8253,在,IBM PC,机中的应用。,IBM PC,机系统板上,8253,的接口电路如图,,3,个计数器的时钟输入频率为。系统分配给,8253,的端口地址为,40H,43H,。,计数器0为方式3,先写低字节,后写高字节,二进制计数,计数初值为0。输出端OUT0接至中断控制器8259A的IR0,OUT0输出的脉冲周期约为55ms655361193200,即计数器0每隔55ms产生一次中断请求。,计数器1为方式2,只写低字节,二进制计数,计数初值为18。输出端OUT1接至DMA控制器8237A通道0的DMA请求DREQ0,作为定时s刷新动态存储器的启动信号。,IBM PC,机,BIOS,对计数器,0,的初始化程序:,MOV AL,,,00110110B,OUT 43H,,,AL,MOV AL,,,0,OUT 40H,,,AL,OUT 40H,,,AL,IBM PC,机,BIOS,对计数器,1,的初始化程序:,MOV AL,,,01010100B,OUT 43H,,,AL,MOV AL,,,12H,OUT 41H,,,AL,BIOS,中,BEEP,子程序,功能为使计数器,2,输出方波到扬声器。计数器,2,工作于方式,3,,先写低字节,后写高字节,二进制计数,计数初值为,0533H,。,GATE,2,由,8255A,的,PB,0,控制,当,GATE,2,为高电平时,,OUT,2,输出频率为,896HZ,的方波,经功率放大器和滤波后驱动扬声器发声。,MOV AL,,,10110110B,OUT 43H,,,AL,MOV AX,,,0533H,OUT 42H,,,AL,MOV AL,,,AH,OUT 42H,,,AL,IN 61H,,,AL,MOV AH,,,AL,OR AL,,,03H,OUT 61H,,,AL,MOV BX,,,100,;延时,MOV CX,,,0,G7,:,LOOP G7,DEC BX,JNZ G7,MOV AL,,,AH,OUT 61H,,,AL,RET,可编程并行接口芯片,8255A,端口,A,有,3,种工作方式,(,方式,0,、方式,1,、方式,2),对外,8,根引脚,PA7 PA0,端口,B,有,2,种工作方式:方式,0,、方式,1,对外,8,根引脚,PB7 PB0,端口,C,对外引脚,PC0 PC7,3. 8255的端口地址.,片内译码电路 (引脚A1、 A0),A1A0=00- PA可读/写,01- PB 可读/写,10- PC 可读/写,11- 控制口可写,1. 方式0根本输入输出方式,工作在方式,0,的端口,为,单向传送端口,输入或输出,作为输入口相当于普通的三态门 作为输出口相当于普通的锁存器,CPU,可利用工作在方式,0,的端口,直接对端口进行读写操作,实现,CPU,与外设间的数据传送。,2. 方式1选通输入输出方式,A口工作在方式1时,C口的某3根引脚作为A口的联络信号。,B口工作在方式1时, C口的某3根引脚作为B口的联络信号。,工作在方式,1,的端口,为单向传送端口。,在方式,1,下,,C,口作为,A,口、,B,口联络信号的引脚,,其动作关系在芯片设计和制造时已固定,,不由用户自己安排,也不能编程改变。,3方式2 双向传送方式,端口工作在方式,2,时,,C,口的某,5,根引脚,作为端口的 联络信号,8255A,只有,A,口,可以工作在方式,2,下。,与方式,0,和方式,1,不同的是:,工作在方式,2,的端口,为双向传送端口,既可输入又可输出。,8255A控制字 写控制口,1.,方式选择控制字,例,假设,8255A,控制端口的地址为,203h,编程设置控制,使,A,口,方式,0,输出,;,B,口,方式,0,输入,1,0,0
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!