[工学]微机原理与接口技术_基于8086和Proteus仿真__顾晖_复习资料.ppt_第1页
[工学]微机原理与接口技术_基于8086和Proteus仿真__顾晖_复习资料.ppt_第2页
[工学]微机原理与接口技术_基于8086和Proteus仿真__顾晖_复习资料.ppt_第3页
[工学]微机原理与接口技术_基于8086和Proteus仿真__顾晖_复习资料.ppt_第4页
[工学]微机原理与接口技术_基于8086和Proteus仿真__顾晖_复习资料.ppt_第5页
已阅读5页,还剩177页未读 继续免费阅读

下载本文档

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

文档简介

微型计算机系统 微处理器结构 8086CPU16位微处理器8086CPU具有20条地址线 可直接寻址1MB容量的内存空间 在访问I O端口时 使用地址线16条 最多可寻址64K个I O端口 有16根数据线 8086内部结构有两个功能模块 模块之一 总线接口单元BIU 主要完成计算物理地址 从内存中取指令 实现指令规定的读 写存储器或外部设备等信息传输类操作 模块之二 执行单元EU 主要负责指令译码 执行和数据运算 包括计算有效地址 8086 8088CPU的内部结构分为哪两大模块 各自的主要功能是什么 答 总线接口部件 BIU 功能 根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送 执行部件 EU 作用 从指令对列中取出指令 对指令进行译码 发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算 8086指令队列的作用是什么 答 作用是 在执行指令的同时从内存中取了一条指令或下几条指令 取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作 从而提高CPU的利用率 8086CPU内部寄存器有哪几种 各自的特点和作用是什么 8086CPU有14个16位寄存器和8个8位寄存器 可分为 数据寄存器 指针和变址寄存器 段寄存器 指令指针寄存器 标志寄存器 图2 58086 8088CPU的寄存器结构 数据寄存器主要用来存放操作数或中间结果 以减少访问存储器的次数 有 4个16位的寄存器 AX BX CX DX 8个8位的寄存器 AH AL BH BL CH CL DH DL 可以存放偏移地址 BXBPSIDI其中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 SS 10H SP 2400H 10H 1200H 25200H 标志寄存器FR FR是一个16位的寄存器 9个位用作标志位 状态标志位有6个 记录程序中运行结果的状态信息 是根据指令的运行结果由CPU自动设置的 这些状态信息通常作为后续转移指令的转移控制条件 所以也称为条件码 控制标志位有3个 可以编程设置 用于控制处理器执行指令的方式 控制标志设置之后 可对后面的操作产生控制作用 未标明的位在8086中不用 例 8086的标志寄存器分为6个状态标志位和3个控制标志位 它们各自的含义和作用是什么 要完成下述运算或控制 用什么标志位判别 其值是什么 1 比较两数是否相等 2 两数运算后结果是正数还是负数 3 两数相加后是否溢出 4 采用偶校验方式 判定是否要补1 5 两数相减后比较大小 6 中断信号能否允许答 1 ZF 两数相减 若ZF 1 则相等 2 SF SF 1则为负 否则为正 3 对有符号数 OF OF 1为溢出 对无符号数 CF CF 1为溢出 4 PF 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 则减数大 6 IF IF 1 允许中断 存储器组织与段寄存器 寄存器是微处理器内部暂存数据的存储单元 以名称表示存储器则是微处理器外部存放程序及其数据的空间主存需要利用地址区别 数据的存储格式 低地址 存储单元及其存储内容 每个存储单元都有一个编号 被称为存储器地址每个存储单元存放一个字节的内容 0002H单元存放有一个数据34H表达为 0002H 34H 多字节数据存放方式 图中2号 字 单元的内容为 0002H 1234H2号 双字 单元的内容为 0002H 78561234H 8086的存储器空间最大可以为多少 怎样用16位寄存器实现对20位地址的寻址 完成逻辑地址到物理地址转换的部件是什么 答 8086的存储器空间最大可以为220 1MB 8086计算机引入了分段管理机制 当CPU寻址某个存储单元时 先将段寄存器内的内容左移4位 然后加上指令中提供的16位偏移地址形成20位物理地址 物理地址 指存储器中存储单元的实际地址编码 是一种绝对地址 是CPU访问存储器的实际寻址地址 对于8086系统 地址范围为00000H FFFFFH 逻辑地址 由段基址和偏移地址组成 均为无符号的16位二进制数 程序设计时采用逻辑地址 可由逻辑地址变换为物理地址 物理地址 段基址 16 偏移地址 偏移地址 是某一存储单元距离所在逻辑段的开始地址的字节个数 有效地址 是指令中计算出的要访问的存储单元的偏移地址 物理地址计算公式 物理地址 段地址 10H 有效地址 或偏移地址 简要解释下列名词的意义 物理地址 逻辑地址 8086系统中的存储器分为几个逻辑段 各段之间的关系如何 每个段寄存器的作用是什么8086CPU将1MB的存储空间分成逻辑段来进行管理 最多可分成64K个段 每个逻辑段最大为64KB 各段的起始位置由程序员指出 可以彼此分离 也可以首尾相连 重叠或部分重叠 4个16位的段寄存器用来存放每一个逻辑段的 段基地址 段起始地址地高16位 CS中为代码段的起始地址 DS中为数据段的起始地址 SS中为堆栈段的起始地址 ES中为附加段的起始地址 段寄存器装入如下数据 写出每段的起始和结束地址 1 1000H 2 1234H 3 2300H 4 E000H 5 AB00H答 1 10000H 1FFFFH 2 12340H 2233FH 3 23000H 32FFFH 4 E0000H EFFFFH 5 AB000H BAFFFH 解 各段分布及段首址见右图所示 操作数的物理地址为 250AH 10H 0204H 252A4H 已知CS 1055H DS 250AH ES 2EF0H SS 8FF0H DS段有一操作数 其偏移地址 0204H 1 画出各段在内存中的分布2 指出各段首地址3 该操作数的物理地址 例 段寄存器CS 1200H 指令指针寄存器IP FF00H 此时 指令的物理地址为多少 指向这一物理地址的CS值和IP值是唯一的吗 答 指令的物理地址为21F00H CS值和IP值不是唯一的 例如 CS 2100H IP 0F00H 若当前SS 3500H SP 0800H 说明堆栈段在存储器中的物理地址 若此时入栈10个字节 SP内容是什么 若再出栈6个字节 SP为什么值 答 物理地址 35000H 35800H 入栈10个字节后SP为7F6H 再出栈6个字节后SP为7FCH 8086CPU重新启动后 从何处开始执行指令 答 重新启动后 CS FFFFH IP 0000H 故从物理地址为FFFF0H的位置开始执行指令 8086系统中存储器采用什么结构 用什么信号来选中存储体 答 8086系统中 存储器采用分体结构 1MB的存储空间分成两个存储体 偶地址存储体和奇地址存储体 各为512KB 使用A0和BHE来区分两个存储体 当A0 0时 选中偶地址存储体 与数据总线低8位相连 从低8位数据总线读 写一个字节 当BHE 0时 选中奇地址存储体 与数据总线高8位相连 从高8位数据总线读 写一个字节 当A0 0 BHE 0时 同时选中两个存储体 读 写一个字 3 38086微型计算机系统 什么是微机的总线 分为哪三组 答 是传递信息的一组公用导线 分三组 地址总线 数据总线 控制总线 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的DI0 DI7分别与CPU的AD0 AD15相连 第三片8282的DI0 DI3分别与CPU的AD16 AD19相连 DI4与CPU的BHE相连 INTR INTA NMI ALE HOLD HLDA引脚的名称各是什么 答 INTR是可屏蔽请求信号 INTA中断响应信号 NMI是不可屏蔽中断请求信号 ALE是地址锁存允许信号 HOLD总线请求信号 HLDA总线请求响应信号 CPU执行指令时涉及三种周期 时钟周期总线周期指令周期 3 3 48086微型计算机系统的总线时序8086微型计算机系统的总线时序 总线周期 把CPU通过总线进行某种操作的过程称为总线周期 BusCycle 表示从M或I O端口存取一个数据所需的时间 根据总线操作功能的不同 分为 存储器读周期 存储器写周期I O读周期 I O写周期一个基本的总线周期由4个时钟周期组成 T1 T2 T3 T4 附加的时钟周期等待状态Tw 一个基本的总线周期 什么叫总线周期 在CPU读 写总线周期中 数据在哪个机器状态出现在数据总线上 答 CPU完成一次存储器访问或I O端口操作所需要的时间称为一个总线周期 由几个T状态组成 在读 写总线周期中 数据在T2 T4状态出现在数据总线上 中断响应周期时序 一般外部设备的中断是通过INTR引脚向CPU发出中断请求的 这个可屏蔽中断请求信号的有效电平 高电平 必须维持到CPU响应中断为止 若标志IF 1 表示CPU允许中断 此时CPU在执行完当前指令后响应中断 其中断响应周期时序如下图所示 第4章8086寻址方式与指令系统 808的七种基本的数据寻址方式 1 立即寻址 2 寄存器寻址 3 直接寻址 4 寄存器间接寻址 5 寄存器相对寻址 6 基址变址寻址 7 相对基址变址寻址 存储器寻址方式 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式 1 MOVAX 2408H 2 MOVCL 0FFH 3 MOVBX SI 4 MOV5 BX BL 5 MOV BP 100H AX 6 MOV BX DI 7 MOVDX ES BX SI 8 MOVVAL BP DI DX 9 INAL 05H 10 MOVDS 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 试说明下列源操作数字段的寻址方式是什么 物理地址值是多少 1 MOVAX 100H 2 MOVAX VAL 3 MOVAX BX 4 MOVAX ES BX 5 MOVAX SI 6 MOVAX BX 10H 7 MOVAX BP 8 MOVAX VAL BP SI 9 MOVAX VAL BX DI 10 MOVAX BP DI 答 1 直接 10100H 2 直接 10030H 3 寄存器间接 10100H 4 寄存器间接 20100H 5 寄存器间接 100A0H 6 寄存器相对 10110H 7 寄存器间接 35200H 8 相对基址变址 352D0H 9 相对基址变址 10154H 10 基址变址 35224H 4 38086指令系统 8086指令系统包括六大类指令 87条 数据传送指令算术运算指令逻辑运算和移位指令串操作指令控制转移指令处理器控制指令 指出下列指令中哪些是错误的 错在什么地方 1 MOVDL AX 2 MOV8650H AX 3 MOVDS 0200H 4 MOV BX 1200H 5 MOVIP 0FFH 6 MOV BX SI 3 IP 7 MOVAX BX BP 8 MOVAL ES BP 9 MOVDL SI DI 10 MOVAX OFFSET0A20H 11 MOVAL OFFSETTABLE 12 XCHGAL 50H 13 INBL 05H 14 OUTAL 0FFEH答 1 长度不匹配 2 立即数不能做目的操作数 3 段寄存器不能用立即数赋值 4 两个内存单元不能直接传送数据 5 IP不能用指令直接修改 6 指令中不能出现IP 7 BX BP应与SI DI搭配 8 正确 9 SI DI应与BX BP搭配 10 OFFSET后应跟内存单元 11 偏移地址为16位 AL长度不够 12 立即数不能用于XCHG 13 IN必须用AL AX 14 操作数顺序反向 地址应为8位 指令 指令对错P745PUSHPOPCMPTESTXLATLEALOOPXORCBWJMP 段间 段内 JCC 段内 SHLSHRSALSARMOVSBMOVSW STDCLDDF1 0 REPMOVSB P758 9 10 汇编语言程序设计 伪指令 指示汇编 链接程序如何进行汇编和链接 影响目标代码生成 本身不产生目标代码 有符号定义语句 数据定义语句 程序结构语句 模块链接语句 有关宏的语句 条件汇编语句等 等值语句格式 符号名EQU表达式变量定义语句DB变量为字节数据类型DW变量为字数据类型 存放时低对低高对高 DD变量为双字数据类型 存放时低对低高对高 1 为数据项分配存储单元 用变量名作为该存储单元的名称 例 XDB25H 2 预留内存单元 但不赋值 以存放运算结果 例 ADB 3 定义一个数组例 W TABLEDW1122H 3344HB TABLEDB1 2 4 9 16当表中的操作数相同时 可用重复操作符DUP来缩写 格式 重复次数DUP 操作数 例 ALL ZERODB0 0 0 0 0 0ALL ZERODB6DUP 0 4 定义字符串 只能用DB定义 例 MESSAGEDB HELLO 每个字符的值为它的ASCII码值 所以用DB来定义 3 指定地址伪指令ORG分析操作符 SEG OFFSET TYPE SIZE LENGTH P895例如 MY DATASEGMENTORG100HMYDATDW1 2 4MY DATAENDS 框架一 DATASEGMENT 定义数据段VAL1DB12H 8EH 定义变量 DATAENDS 数据段结束CODESEGMENT 定义代码段ASSUMEDS DATA CS CODE 段属性说明START MOVAX DATA 初始化DSMOVDS AX 填写代码MOVAX 4C00H 返回DOSINT21HCODEENDS 代码段结束ENDSTART 源程序结束 DOS功能调用方法 输入 输出 1 单字符输入 01H功能 入口参数无功能号AH 01H类型号21H出口参数AL 键入字符的ASCII码 2 显示单字符 02H 功能 入口参数DL 要显示字符的ASCII码功能号AH 02H类型号21H出口参数无实现功能显示指定字符 光标随动 对存储单元操作 BUFDB1 2 MOVSI OFFSETBUFMOVAX SI 比较 转移 比较大小CMPAX BX转移JCCCC代表条件无符号数A B E N有符号数G L E NCMPAX BXJANEXT 标号 满足条件转移到标号行MOVAX 1不满足条件执行NEXT MOVAX 0满足条件执行 AX大于BX 循环 MOVCX 100LOOPLOP1 算法 最大 最小统计正 负数统计数字 字符个数大 小写转换例5 2例5 12例5 4 存储器 存储器分类内存 是内部存储器的简称 又称主存 内存直接与CPU相联接 是计算机的组成部分 外存 即外部存储器 也称辅存 外存不直接与CPU相联接 而是通过I O接口与CPU联接 其主要特点是大容量 按存取方式分类随机存储器RAM RandomAccessMemory 只读存储器ROM Read OnlyMemory 串行访问存储器 SerialAccessStorage 随机存取存储器RAM 特点 RAM的读写次数无限 如果断开RAM的电源 其内容将全部丢失 RAM的分类 静态RAM SRAM StaticRAM 动态RAM DRAM DynamicRAM 要定时刷新 只读存储器ROM EPROM 存放系统 监控 程序 无需在线修改的参数 如BIOS E2PROM 数据 参数等有掉电保护要求的数据 RAM有几种 各有什么特点 ROM有几种 各有什么特点 答 RAM有两种 SRAM 静态RAM 它采用触发器电路构成一个二进制位信息的存储单元 这种触发器一般由6个晶体管组成 它读出采用单边读出的原理 写入采用双边写入原理 DRAM 动态RAM 它集成度高 内部存储单元按矩阵形式排列成存储体 通常采用行 列地址复合选择寻址法 ROM有5种 固定掩摸编程ROM 可编程PROM 紫外光檫除可编程EPROM 电可檫除的可编程EPROM 闪速存储器 若用4K 位的RAM芯片组成8K 8为的存储器 需要多少芯片 A19 A0地址线中哪些参与片内寻址 哪些用做芯片组的片选信号 答 需要16片芯片 其中A11 A0参与片内寻址 A12做芯片组的片选信号 若系统分别使用512K 8 16 64 的RAM 各需要多少条地址线进行寻址 各需要多少条数据线 答 512K 8需要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容量32K A0 A14 接A1 A15片外地址A16 A19如要求RAM的地址范围从80000H 8FFFFFH那么片外地址为1000 A19 A16 如采用3 8译码器电路如下 当A19 A16为1000时Y0为低电平CS有效 控制信号 最大模式MEMW MEMR最小模式IO M 接片选 WRRD 基本输入输出接口 什么是接口 其作用是什么连接外部设备与微型计算机的接口电路 作用 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控制方式主要用于快速完成大批的数据交换任务 在实际工作中 具体采用哪种方式要根据实际工作环境与需要结合各种方式的特点进行选择 INAL DXDX指定的端口寄存器的内容送ALOUTDX ALAL的内容送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个不同的中断 每一个中断安排一个编号 范围为0 255 称为中断类型 每种中断类型对应的中断服务程序的入口地址称为中断向量 把系统中所有的中断向量按中断类型从小到大的顺序放到存储器的特定区域 该区域称为中断向量表 每个中断向量在中断向量表中占用4字节 CPU响应中断后通过将中断类型 4得到中断向量在中断向量表中的首地址 设置中断向量的方法 1 将中断服务程序的入口地址直接写入中断向量表中的相应单元MOVAX 0000HMOVDS AXMOVSI 中断类型号 4MOVAX 中断服务程序偏移地址MOV SI AXMOVAX 中断服务程序段地址MOV SI 2 AX 2 二是利用DOS功能调用完成中断向量的设置中断向量设置 DOS功能调用INT21H 功能号 AH 25H入口参数 AL 中断类型号 DS DX 中断向量 段地址 偏移地址 获取中断向量 DOS功能调用INT21H 功能号 AH 35H入口参数 AL 中断类型号出口参数 ES BX 中断向量 段地址 偏移地址 例如 设某中断的中断类型号n为40H 中断服务子程序的入口地址为INT P 调用25H号功能装入中断向量的程序段如下 CLI IF 0 关中断MOVAL 40H 中断类型号40H送ALMOVDX SEGINT P 中断服务子程序的段基址送DSMOVDS DXMOVDX OFFSETINT P 中断服务子程序的偏移地址送DXMOVAH 25H 25H功能调用INT21HSTI 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 18H 4 60H 18H中断向量在中断向量表中的入口地址为00000H 60H 00060H 中断服务程序存放在0020H 6314H开始的内存区域中 所以 00060H 0020H 00061H 6314H 8259A的主要功能有 1 每一片8259A可管理8级优先权中断源 通过8259A的级联 可扩充至管理64级优先权的中断源 2 对任何一级中断源都可单独进行编程实现屏蔽或开放 3 能向CPU提供可编程的中断类型号 这个功能使原来没有能力提供中断类型码的8255A 8253 8251A等可编程接口芯片 借助8259A同样可以采用中断I O方式来进行管理 4 能通过编程实现不同的工作方式 当有一条或若干条中断请求线 IR7 IR0 变为高电平 则中断请求寄存器IRR的相应位置位 若中断请求线中至少有一条是中断允许的 中断屏蔽寄存器相应位开放 且请求中断的级别高于当前正在服务的中断或未处于中断服务程序中 则8259A通过INT引脚向CPU的INTR引脚发出中断请求信号 CPU在当前指令执行完后 若检测到中断请求信号 且处于开中断状态 IF 1 则会暂停执行下一条指令 进入中断响应总线周期 发送两个INTA信号给8259A作为响应 10 3 38259A中断处理过程 8259A在接受到来自CPU的第一个INTA信号后 使中断源中优先级最高的ISR位置位 而相应的IRR位被复位 在该周期中 8259A不向数据总线送任何内容 在第二个INTA脉冲期间 8259A向CPU发出中断类型号 8位的二进制数 其中高位T7 T3是8259A初始化时设置的 而低3位是8259A自动插入的 CPU获得后 将此向量乘以4 在中断向量表中找到相应的中断服务程序入口地址 10 3 38259A中断处理过程 中断响应周期结束后 CPU就转而执行中断服务程序 采用AEOI方式时 在第二个脉冲INTA结束时 ISR位被复位 否则 在中断服务程序中 应在IRET指令加入相应的EOI指令 使ISR的相应位复位 10 3 38259A中断处理过程 在一个8259A芯片有如下几个内部寄存器 InterruptMaskRegister IMR InterruptRequestRegister IRR InSeviceRegister ISR 8259A结束中断处理的方式有 1 一般EOI方式 只有在当前结束的中断总是尚未处理完的级别最高的中断时 才能使用这种结束方式 2 指定EOI方式 适合于在任何情况下使用 3 自动EOI方式 只有在一些以预定速率发生中断 且不会发生同级中断互相打断或低级中断打断高级中断的情况下 才使用自动EOI方式 常用可编程接口技术及应用 可编程计数器 定时器82531 每片有3个独立的16位计数通道 2 每个计数器可按二进制或十进制来计数 时钟脉冲下降沿使计数器进行减1操作3 每个计数器可编程设定6种工作方式之一 3个引脚说明 CLK时钟输入信号在计数过程中 此引脚上每输入一个时钟信号 下降沿 计数器的计数值减12 GATE门控输入信号控制计数器工作 可分成电平控制和上升沿控制两种类型 3 OUT计数器输出信号当一次计数过程结束 计数值减为0 OUT引脚上将产生一个输出信号 8253有几个计数通道 每条计数通道有哪些信号线 其作用是什么 答 8253有三个计数通道 每个计数通道有3条信号线 CLK 计数输入用于输入定时基准脉冲或计数脉冲 OUT 输出信号以相应的电平指示计数的完成或输出脉冲的波型 GATA 选通输入用于启动或禁止计数器的操作 以使计数器和计数输入信号同步 试分析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周期性方波方式32 确定8253端口地址A1A0 00 计数器001 计数器110 计数器211 控制口 计数初值 TC 用途 计数 定时 分频计算公式为 t TC f 其中t为定时时间 TC为计数初值 f为输入时钟频率 如 1 分频 输入频率为1MHZ通过8253输出频率1000HZTC 1MHZ 1000HZ 方式2 3 2 计数 计100个TC 100 方式0 3 定时 TC t f 定时时间 t 输入时钟周期 确定方式控制字注意 1 计数初值大小对控制字的影响2 初值最大不能超过16位表示范围用OUT指令写入控制字Movdx 控制端口地址Moval 控制字Outdx al 2 写入计数初值 计数初值写入对应的计数器端口地址当计数初值大于255时分高 低8位两次写入如果在方式控制字中的BCD位为1 则写入的计数初值应为BCD数 例如 计数初值为50 采用BCD码计数 则指令中的50必须写为50H MOVDX 计数器端口地址MOVAX 初值 十进制数表示 二进制运算 MOVDX AL 写低8位MOVAL AHMOVDX AL 写高8位 确定门控信号GATE 方式0 2 3 4GATE为高方式1 5GATE为上升沿 一 初始化 某系统中8253芯片的地址为0FFF0H 0FFF6H 定义通道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的对称方波 应当如何去做 并画出相应的联线示意图 编写初始化程序 设计一个简单计件系统 一个脉冲代表一个事件 比如交通道路检测系统中通过检测点的车辆 工业控制系统中流水线上已加工好的工件 要求在计件过程中 当完成10000个工件记录后 系统发出1KHz信号推动喇叭发音通知用户 如下图所示8253的计数器0用来统计工件数 8253的计数器1产生1KHz信号推动喇叭发音 设8253的端口地址为20H 23H 1 编写初始化程序及应用程序 8253的端口地址为40H 46H 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的地址为40H 43H 8255A的地址为60H 63H 试编写 1 8253的初始化程序 3分 2 8255A的初始化程序 2分 3 报警系统的控制部分的程序 根据题目要求 5分 如图为某系统中的使用接口电路 其中8253的3个通道和控制寄存器的地址为40H 41H 42H和43H 8255的B口地址为61H 试编写一段程序 利用8255配合 使扬声器发出20Hz的声音 假设8255初始化工作已完成 8253在IBMPC机中的应用 IBMPC机系统板上8253的接口电路如图 3个计数器的时钟输入频率为1 1932MHZ 系统分配给8253的端口地址为40H 43H 计数器0为方式3 先写低字节 后写高字节 二进制计数 计数初值为0 输出端OUT0接至中断控制器8259A的IR0 OUT0输出的脉冲周期约为55ms 65536 1193200 即计数器0每隔55ms产生一次中断请求 计数器1为方式2 只写低字节 二进制计数 计数初值为18 输出端OUT1接至DMA控制器8237A通道0的DMA请求DREQ0 作为定时 15 08 s 刷新动态存储器的启动信号 IBMPC机BIOS对计数器0的初始化程序 MOVAL 00110110BOUT43H ALMOVAL 0OUT40H ALOUT40H AL IBMPC机BIOS对计数器1的初始化程序 MOVAL 01010100BOUT43H ALMOVAL 12HOUT41H AL BIOS中BEEP子程序 功能为使计数器2输出方波到扬声器 计数器2工作于方式3 先写低字节 后写高字节 二进制计数 计数初值为0533H GATE2由8255A的PB0控制 当GATE2为高电平时 OUT2输出频率为896HZ的方波 经功率放大器和滤波后驱动扬声器发声 MOVAL 10110110BOUT43H ALMOVAX 0533HOUT42H ALMOVAL AHOUT42H ALIN61H ALMOVAH ALORAL 03H OUT61H ALMOVBX 100 延时MOVCX 0G7 LOOPG7DECBXJNZG7MOVAL AHOUT61H ALRET 可编程并行接口芯片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输入 由于对C口无要求 控制C口的相应位D4 D0可为任意值 假设取0 所以 方式控制字为10000010B 即82H 设置控制字的程序段如下 MOVDX 203h 置DX为控制口地址MOVAL 82h 置控制字于AL中OUTDX AL 将控制字写入控制口 例假设8255A控制端口的地址为203h 编程设置控制字 使A口方式0输出 B口方式0输入 2 端口C置位 复位控制字 PA口可工作于方式0 方式1 方式2 PB口可工作于方式0 方式1 PC口只能工作于方式0 8255A的A口 B口 C口有哪几种工作方式 其特点是什么 C口有哪些使用特点 答 8255A的A口可以工作在3种工作方式的任何一种 B口只能工作在方式0或方式1 C口则常常配合端口A和端口B工作 为这两个端口的输入 输出传输提供控制信号和状态信号 8255A的功能是什么 有哪几个控制字 各位的意义是什么 答 8255A是一种通用的可编程程序并行I O接口芯片 它有两个控制字 一个是方式选择控制字 它的作用是实现对8255A的各个端口的选择 一个是对C口进行置位或复位控制字 它的作用是能实现对端口C的每一位进行控制 方式0无交互 用8255A控制一组红 绿 黄灯 如下图所示 要求用K1 K2的闭合与断开来控制红 绿 黄三灯的点亮 对应关系如下表所示 设8255A的端口地址范围为60H 66H 要求 1 写出8255初始化程序 初始化时无关项置0 2 根据题目要求编写控制部分的程序 已知电路图如下图所示 图中数码管为共阳极类型 数码管的阴极a b c d e f g Dp依次接至8255的PA0 PA1 PA7 回答问题 1 若要数码管的a段发光 则应从8255的PA0输出高电平还是低电平 2 若要数码管显示数字0 则应从8255的PA口送出字形码为多少 3 写出8255的PA口和PC口的地址 4 根据电路图及下表要求 编写完整的根据从开关读入的编码在数码管上显示相应数字的程序 包括在数据段中定义字形码的内容 键盘 如图 利用8255的PA口 PB口外接16个键 其中PB0列上的键号为0 7 而PB1列上的键号为0 F PC口上外接一个共阴极LED显示器 要求利用查询法完成 若按下0 7号键任一个使LED显示0 若按下8 F号键任一个使LED显示8 写出实现上述功能的程序段 包括8255初始化 8255的端口地址为20H 23H 8255A的A口接有四个开关 且每一开关接一上拉电阻 B口为输出端 经一8路反相驱动器 接有一个发光二极管 LED 组成的七段数码管 连接电路如图所示 试编一程序 要求数码管显示开关所拨通的二进制编码对应的16进制数字 字符 要求 1 指出8255各端口的地址 2 写出8255初始化程序 3 根据题目要求编写控制部分的程序 方式0交互 查询方式打印机接口如图所示 图中的8255A的A口作为输出打印数据口 工作于方式0 PC7引脚作为打印机的数据选通信号STB 由它产生一个负脉冲 将数据线D7 D0上的数据送入打印机 PC2引脚接收打印机的忙状态信号 当打印机在打印某字符时 忙状态信号BUSY为1 此时 CPU不能向8255A输出数据 要等待BUSY信号为低电平无效时 CPU才能再次输出数据到8255A 现要求打印的字符存于缓冲区BUF中 共有500个字符 设8255A的端口地址为80H 83H 利用查询BUSY信号 编写CPU与打印机之间数据交换的程序段 包括8255A初始化 8088CPU PA0 PA7PC7PC2 D0 打 印D7机STBBUSY 某应用系统以8255A作为接口 采集一组开关S7 S0的状态 然后通过一组发光二极管LED7 LED0显示开关状态 Si闭合 则对应LEDi亮 Si断开 则对应的LEDi灭 电路连接如下图 已知8255A B两组均工作在方式0 写出8255四个端口的地址 写出8255工作方式控制字 写出实现给定功能的汇编语言程序 155 LED7 LED0 S7 S0 PB7 PB0 PA7 PA0 8255A D7 D0 D7 D0 WR RD IOW IOR Y0 G1 G2A G2B C B A 74LS138 CS A9 AEN A8 A7

温馨提示

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

评论

0/150

提交评论