微机原理与接口技术——基于8086和Proteus仿真

更新时间:2023-07-20 20:27:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电子社新书信息表

发布日期:2011年 9 月 10 日

微机原理与接口技术——基于8086和Proteus仿真

作 译 者 顾 晖 等编著 出版日期 2011年8月

估 价 35.00元 页 数 304 教辅资源

电子课件 程序源代码 习题解答

请访问免费注册下载

内容简介

本书从微型计算机系统应用的角度出发,以Intel 8086微处理器和IBM PC系列微机为主要对象,系统介绍了微型计算机的基本组成、工作原理、接口技术及应用。全书共13章,包括:微型计算机系统概述、计算机中的数和数制、8086微型计算机系统、8086寻址方式与指令系统、8086汇编语言程序设计、存储器、输入/输出接口、可编程接口芯片8255A、可编程定时器8253、可编程串行通信接口芯片8251A、中断与中断管理、数模与模数转换及应用、总线、Proteus仿真平台的使用和Proteus ISIS仿真实例。

本书内容全面、实用性强,原理、技术与应用并重,并特别介绍了利用EDA工具——Proteus ISIS的实验方法,讲述有特点和新意。书中提供了较多的实例,这些实例全部在Proteus中调试通过,设计方案同时适用于实验箱实验的教学方式。

本书可作为高等院校工科电气与电子信息类各专业本科生的教材,也可作为研究生教材或供有关工程技术人员参考使用。

前 言

“微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。本课程的任务是使学生从系统的角度出发,掌握微机系统的基本组成、工作原理、接口电路及应用方法,使学生掌握微机系统的开发能力。为了适应教学的需要,编者在总结了多年的教学科研实践经验、对有关微型计算机技术资料进行综合提炼的基础上,编写了本书。

本书特别考虑了内容的选取与组织,注意从微机应用的需求出发,以Intel 8086微处理器和IBM PC系列微机为主要对象,系统、深入地介绍了微型计算机的基本组成、工作原理、接口技

1

术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。全书共13章,包括:微型计算机系统概述、计算机中的数和数制、8086微型计算机系统、8086寻址方式与指令系统、8086汇编语言程序设计、存储器、输入/输出接口、可编程接口芯片8255A、可编程定时器8253、可编程串行通信接口芯片8251A、中断与中断管理、数模与模数转换及应用、总线、Proteus仿真平台的使用和Proteus ISIS仿真实例。

本书有如下特色:

(1)内容精练。本书以Intel 8086微处理器和IBM PC系列微机为主要对象,重点突出,内容全面。

(2)实用性强。本书从应用需求出发,在讲清基本原理的基础上,强调软硬件结合的思维方法和培养解决实际问题的能力的培养,侧重微机系统的设计。

(3)实验手段先进。本书介绍了可适用于该课程教学实践的先进的EDA工具——Proteus的用法,并引入大量实例。书中实例全部按照课程内容进行规划,对于同一个问题提供了多种不同的实现方案来解决,可以使学生更好地体会到技术的发展,较好体现了从整体→局部→整体的知识体系。而且,书中所介绍的实例方案同样适用于在实验箱上进行实验。

(4)可读性强。书中内容力求文字精练、语言流畅。在内容安排上还注意由浅入深、分散难点。特别是在接口部分,注意形成芯片结构、编程和应用一体化的讲解体系,以便学生理解和应用。

本书的编写采用集体讨论、分工编写、交叉修改的方式进行。本书的第1、3、11章由张洁编写;第4、5、12章由顾晖编写;第7、8章由陈越编写;第6、13章由梁惺彦编写;第9章由华琇编写,第10章由胡慧编写。全书由顾晖统稿并最后定稿。

本书配有电子课件、源程序包等教学资源,读者可以登录电子工业出版社华信教育资源网()下载。

本书的编写工作得到了广州风标电子技术公司的支持。在本书的编写过程中,广州风标电子技术公司的梁树先和杨炼指导了Proteus仿真实例的设计,在此向他们表示真诚的感谢!

由于编者水平有限,加之时间仓促,书中错误和不当之处在所难免,敬请读者批评指正。

编者

2011年6月

2

第1章 微型计算机系统概述 ························ 1

1.1 绪论 ··························································· 1 1.2 微型计算机系统的硬件组成与工作原理 · 1

1.2.1 微型计算机系统的硬件组成 ······· 1 1.2.2 微型计算机系统的工作原理 ······· 3 1.3 微型计算机系统的启动过程···················· 4 1.4 微型计算机系统的EDA设计方法 ········· 6 习题 ···································································· 7

第2章 计算机中的数和数制 ························ 8

2.1 数制 ··························································· 8

2.1.1 数制的表示 ··································· 8 2.1.2 数制之间的转换 ··························· 9 2.1.3 二进制数的运算 ························· 12 2.2 带符号二进制数的表示与运算 ·············· 12

2.2.1 带符号二进制数的表示 ············· 12 2.2.2 带符号二进制数的运算 ············· 14 2.3 二进制编码的十进制数 ························· 15

2.3.1 BCD码的编码方法 ···················· 15 2.3.2 8421BCD码的加、减运算 ········ 16 2.4 无符号数 ················································· 18 2.5 字符的表示 ············································· 18 习题 ·································································· 19

第3章 8086微型计算机系统 ··················· 21

3.1 8086微处理器的结构 ···························· 21

3.1.1 8086的内部结构 ························ 21 3.1.2 8086的寄存器结构 ···················· 23 3.2 8086微处理器的工作模式及引脚特性 · 25

3.2.1 8086的工作模式 ························ 25 3.2.2 8086的引脚特性 ························ 26 3.3 8086微型计算机系统 ···························· 30

3.3.1 8086微型计算机系统的硬件 组成 ············································· 30

3.3.2 8086微型计算机系统的存储器 组织 ············································· 31

3.3.3 8086微型计算机系统的I/O 组织 ············································· 33 3.4 8086微型计算机系统的总线时序 ········· 33

3.4.1 基本概念 ····································· 33 3.4.2 最小模式下的总线周期时序 ····· 35 3.4.3 最大模式下的总线周期时序 ····· 39 习题 ·································································· 41

第4章 8086寻址方式与指令系统 ·········· 42

4.1 概述 ························································· 42 4.2 8086寻址方式 ········································ 42

4.2.1 立即寻址 ···································· 42 4.2.2 寄存器寻址································· 43 4.2.3 直接寻址 ···································· 43 4.2.4 寄存器间接寻址 ························· 44 4.2.5 寄存器相对寻址 ························· 45 4.2.6 基址变址寻址 ····························· 46 4.2.7 相对基址变址寻址 ····················· 46 4.3 8086指令系统 ········································ 48

4.3.1 数据传送指令 ····························· 48 4.3.2 算术运算指令 ····························· 55 4.3.3 位运算指令································· 61 4.3.4 串操作指令································· 65 4.3.5 控制转移指令 ····························· 68 4.3.6 处理器控制指令 ························· 74 习题·································································· 74

第5章 8086汇编语言程序设计 ·············· 78

5.1 汇编语言基础知识 ································· 78

5.1.1 概述 ············································ 78 5.1.2 汇编源程序的结构 ····················· 78 5.1.3 汇编语言的语句 ························· 79 5.1.4 汇编语言的数据 ························· 81 5.1.5 汇编语言的操作符与表达式 ····· 82 5.2 汇编语言的伪指令 ································· 85

5.2.1 变量定义伪指令 ························· 85 5.2.2 符号定义伪指令 ························· 86 5.2.3 段定义伪指令 ····························· 87 5.2.4 过程定义伪指令 ························· 88 5.2.5 模块定义和结束伪指令 ············· 88 5.2.6 其他伪指令································· 89 5.3 系统功能调用 ········································· 90

5.3.1 DOS功能调用 ···························· 90 5.3.2 BIOS功能调用 ·························· 91 5.4 汇编语言程序设计 ································· 92

5.4.1 程序的质量标准 ························· 92 5.4.2 汇编语言程序设计的基本步骤 · 92 5.4.3 顺序结构程序设计 ····················· 92 5.4.4 分支结构程序设计 ····················· 93 5.4.5 循环结构程序设计 ····················· 95

3

5.4.6 子程序设计 ································· 97 5.4.7 汇编语言程序设计举例 ··········· 101 5.5 汇编语言程序的上机过程 ··················· 107

5.5.1 上机环境 ··································· 107 5.5.2 上机过程 ··································· 107 5.5.3 运行调试 ··································· 108 习题 ································································ 110

第6章Proteus仿真平台的使用 ··················· 113

6.1 Proteus简介 ·········································· 113

6.1.1 Proteus ISIS编辑环境 ·············· 113 6.1.2 Proteus ARES编辑环境 ··········· 113 6.2 Proteus ISIS基本使用 ·························· 114

6.2.1 可视化界面及工具 ··················· 114 6.2.2 基本操作 ··································· 117 6.2.3 元件的查找与选取 ··················· 118 6.2.4 元件的使用 ······························· 123 6.2.5 连线 ··········································· 127 6.2.6 元件标签 ··································· 129 6.2.7 器件标注 ··································· 129 6.2.8 属性分配工具(PAT) ············ 130 6.2.9 全局标注器 ······························· 130 6.3 Proteus ISIS下8086的仿真 ················ 131

6.3.1 编辑电路原理图 ······················· 131 6.3.2 设置外部代码编译器 ··············· 133 6.3.3 添加源代码并选择编译器 ······· 134 6.3.4 仿真调试 ··································· 136 习题 ································································ 137

第7章 存储器 ··················································· 138

7.1 半导体存储器的分类 ··························· 138

7.1.1 RAM的分类 ····························· 139 7.1.2 ROM的分类 ····························· 139 7.2 半导体存储器的主要技术指标 ············ 140 7.3 典型存储器芯片介绍 ··························· 140 7.4 存储器与系统的连接 ··························· 145

7.4.1 存储器扩展 ······························· 145 7.4.2 存储器地址译码方法 ··············· 146 7.4.3 8086CPU与存储器的连接 ······ 147 习题 ································································ 151

第8章 输入/输出接口 ···································· 153

8.1 I/O接口概述 ········································· 153

8.1.1 CPU与I/O设备之间交换的 信息 ··········································· 153

8.1.2 I/O接口的主要功能 ················· 154 8.1.3 I/O接口的结构 ························· 154 8.1.4 输入/输出的寻址方式 ·············· 155

8.2 常用I/O接口芯片 ································ 156 8.3 CPU与外设之间的数据传送方式······· 157

8.3.1 程序控制方式 ··························· 157 8.3.2 中断方式 ·································· 159 8.3.3 直接存储器存取方式 ··············· 159 8.3.4 通道控制方式和I/O处理器···· 160 习题································································ 160

第9章 可编程接口芯片 ································· 162

9.1 可编程接口芯片概述 ··························· 162 9.2 可编程并行接口芯片8255A ··············· 162

9.2.1 8255A的内部结构及引脚功能 162 9.2.2 8255A的工作方式 ··················· 164 9.2.3 8255A的编程 ··························· 166 9.2.4 8255A的应用举例 ··················· 167 9.3 可编程定时/计数器8253/8254 ············ 175

9.3.1 8253的内部结构及引脚功能 ·· 175 9.3.2 8253的工作方式 ······················ 177 9.3.3 8253的初始化 ·························· 180 9.3.4 8253应用举例 ·························· 182 9.4 可编程串行通信接口芯片8251A ······· 185

9.4.1 串行数据传送方式 ··················· 185 9.4.2 传输速率和传送距离 ··············· 186 9.4.3 同步串行通信与异步串行通信 · 187 9.4.4 通用可编程串行通信接口 芯片8251A ······························· 188 习题································································ 196

第10章 中断与中断管理 ······························· 199

10.1 中断概念 ············································· 199

10.1.1 中断与中断源 ························· 199 10.1.2 中断系统的功能 ····················· 199 10.1.3 简单的中断处理过程 ············· 200 10.1.4 中断源识别及优先权判断 ····· 203 10.2 8086的中断系统 ································ 205

10.2.1 8086的中断类型 ···················· 206 10.2.2 中断向量和中断向量表 ········· 207 10.2.3 8086中的中断响应和处理 过程 ········································ 210 10.3 可编程中断控制器8259A ················· 212

10.3.1 8259A的结构 ························· 213 10.3.2 8259A的引脚 ························· 215 10.3.3 8259A的中断处理过程 ········· 215 10.3.4 8259A的工作方式 ················· 216 10.3.5 8259A的编程与应用 ············· 219 10.4 中断程序设计 ····································· 226

10.4.1 中断设计方法 ························· 226 10.4.2 中断程序设计举例 ················· 227

4

习题 ································································ 232

13.2.1 功能说明 ································ 267 第11章 数模与模数转换及应用 ················· 233

13.2.2 Proteus电路设计 ···················· 267 11.1 物理信号到电信号的转换 ·················· 233

13.2.3 代码设计 ································ 269 11.1.1 概述 ········································· 233 13.2.4 仿真分析与思考 ····················· 270 11.1.2 几种常见的传感器 ················· 233 13.3 并行接口芯片8255A的应用—— 11.2 数模转换及应用 ································· 234

键盘与数码管 ···································· 272

11.2.1 数模转换器的基本原理 ········· 234 13.3.1 功能说明 ································ 272 11.2.2 数模转换器的性能参数 ········· 237 13.3.2 Proteus电路设计 ···················· 272 11.2.3 8位D/A转换器DAC0832 ···· 238 13.3.3 代码设计 ································ 272 11.3 模数转换及应用 ································· 241

13.3.4 仿真分析与思考 ····················· 277 11.3.1 模数转换器的基本原理 ········· 241 13.4 中断应用——8259A芯片的使用 ····· 277

11.3.2 模数转换器的性能参数 ········· 242 13.4.1 功能说明 ································ 277 11.3.3 8位A/D转换器

13.4.2 Proteus电路设计 ···················· 277 ADC0808/0809 ······················· 243 13.4.3 代码设计 ································ 279 习题 ································································ 249

13.4.4 仿真分析与思考 ····················· 280 第12章 总线 ····················································· 250

13.5 模数转换——ADC0808的使用 ········ 281

12.1 总线的概念 ········································· 250 13.5.1 功能说明 ································ 281 12.2 系统总线 ············································· 251

13.5.2 Proteus电路设计 ···················· 281 12.2.1 ISA总线 ································· 251 13.5.3 代码设计 ································ 283 12.2.2 EISA总线 ······························· 253 13.5.4 仿真分析与思考 ····················· 286 12.2.3 PCI总线 ·································· 253 13.6 数模转换——DAC0832的使用 ········ 286

12.3 外部总线 ············································· 255

13.6.1 功能说明 ································ 286 12.3.1 RS-232C串行总线 ················· 255 13.6.2 Proteus电路设计 ···················· 286 12.3.2 USB总线 ································ 258 13.6.3 代码设计 ································ 288 习题 ································································ 261

13.6.4 仿真分析与思考 ····················· 289 第13章 Proteus ISIS仿真基础实例 ········ 262

13.7 串行通信——8251A的使用 ············· 289

13.1 基本I/O应用——I/O译码 ················ 262

13.7.1 功能说明 ································ 289 13.1.1 功能说明 ································· 262 13.7.2 Proteus电路设计 ···················· 289 13.1.2 Proteus电路设计 ···················· 262 13.7.3 代码设计 ································ 291 13.1.3 代码设计 ································· 266 13.7.4 仿真分析与思考 ····················· 292

13.1.4 仿真分析与思考 ····················· 267 附录A VSM仿真的元件库 ···························· 294 13.2 定时/计数器8253的应用——波形 参考文献 ·································································· 296

发生器 ················································ 267

5

本文来源:https://www.bwwdw.com/article/z9u1.html

Top