单片微型计算机原理及应用(第2版)

单片微型计算机原理及应用(第2版)
作 者: 徐春辉
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 单片机与嵌入式 计算机?网络
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  徐春辉,男,南昌航空航天大学教授,长期从事电子信息科学与工程专业领域的一线教学和科研工作,出版多部著作,教学、科研和写作经验丰富。

内容简介

本书从现实教学和工程实际应用出发,兼顾基础与实用,以数字电子技术作为先修课程,从介绍微型计算机的基本结构和工作原理入手,以AT89S51单片机为例介绍单片微机的结构、工作原理及应用,注重基础性和实用性相结合。以二进制和基本逻辑电路为起点阐述微型计算机的基本工作原理,并通过丰富的实例将基本概念、基本理论、基本方法讲清讲透。本书引入Keil C和Proteus,并配备丰富的课堂演示实例,将实验室搬入教室。另外,例题程序设计采用汇编语言和C语言双方案,便于读者对照学习。本书提供配套电子课件、习题解答和教学指南。

图书目录

目 录

第1章 绪论\t1

1.1 计算机的诞生、发展及基本结构\t1

1.2 计算机类型划分\t2

1.2.1 通用计算机\t2

1.2.2 嵌入式计算机\t2

1.3 嵌入式计算机的类别及应用特点\t3

1.3.1 嵌入式计算机的类别\t3

1.3.2 嵌入式计算机系统的应用特点\t3

1.4 单片微型计算机应用系统举例\t3

习题与思考题1\t5

第2章 微型计算机基础\t6

2.1 计算机中的数、编码和运算\t6

2.1.1 计算机中常用的数制及相互

转换\t6

2.1.2 微型计算机中常用的编码\t7

2.1.3 微型计算机的运算基础\t8

2.2 微型计算机的基本结构\t11

2.2.1 存储器的组成及功能\t12

2.2.2 微处理器的结构及工作原理\t14

2.2.3 输入/输出设备及其接口电路\t19

2.2.4 微型计算机的总线连接结构\t20

2.3 微型计算机的指令执行过程\t22

2.4 微型计算机系统\t24

2.4.1 微型计算机系统的组成\t24

2.4.2 微型计算机系统的性能指标\t26

2.4.3 微型计算机的分类\t27

2.5 单片微型计算机概述\t27

2.5.1 什么是单片微型计算机\t27

2.5.2 单片机的发展历史\t27

2.5.3 单片机的特点\t28

2.5.4 单片机的应用\t28

2.5.5 单片机的发展趋势\t29

2.5.6 单片机的主要制造厂商和机型\t30

2.5.7 51系列单片机简介\t30

习题与思考题2\t32

第3章 51系列单片机的硬件结构与

时序\t34

3.1 AT89S51单片机的结构概述\t34

3.2 AT89S51单片机的外部引脚\t35

3.2.1 电源及时钟引脚\t35

3.2.2 控制引脚\t36

3.2.3 并行I/O口引脚\t36

3.3 AT89S51单片机的CPU\t37

3.3.1 运算器\t37

3.3.2 控制器\t39

3.4 AT89S51单片机存储器的结构\t39

3.4.1 程序存储器空间\t39

3.4.2 数据存储器空间\t40

3.4.3 特殊功能寄存器\t41

3.4.4 位地址空间\t45

3.5 AT89S51单片机的并行输入/

输出接口\t45

3.5.1 P0口\t46

3.5.2 P1口\t47

3.5.3 P2口\t47

3.5.4 P3口\t48

3.6 AT89S51单片机的时钟电路与

时序\t49

3.6.1 AT89S51单片机的时钟电路\t49

3.6.2 时序与时序定时单位\t51

3.6.3 AT89S51指令的取指/执行

时序\t52

3.6.4 AT89S51对片外存储器的操作

时序\t53

3.7 复位操作与复位电路\t55

3.8 AT89S51单片机的低功耗节电

模式与看门狗定时器\t56

3.8.1 空闲模式\t57

3.8.2 掉电运行模式\t58

3.8.3 掉电和空闲模式下的看门狗定

时器WDT\t58

习题与思考题3\t58

第4章 51系列单片机的指令系统\t60

4.1 指令及其格式\t60

4.1.1 指令系统概述\t60

4.1.2 指令描述符号的约定\t61

4.1.3 机器指令的字节编码格式\t61

4.1.4 符号指令的书写格式\t62

4.2 51系列单片机的寻址方式\t62

4.2.1 立即寻址\t62

4.2.2 直接寻址\t63

4.2.3 寄存器寻址\t63

4.2.4 寄存器间接寻址\t64

4.2.5 变址寻址(基址寄存器加变址

寄存器间址寻址)\t64

4.2.6 相对寻址方式\t65

4.2.7 位寻址方式\t65

4.3 51系列单片机指令系统分类

介绍\t66

4.3.1 数据传送类指令\t66

4.3.2 算术运算类指令\t71

4.3.3 逻辑运算与移位指令\t77

4.3.4 控制转移类指令\t79

4.3.5 位操作类指令\t84

4.3.6 51系列单片机指令汇总\t86

习题与思考题4\t89

第5章 51系列单片机汇编语言程序设

计及仿真调试\t91

5.1 汇编语言程序设计基础\t91

5.1.1 机器语言、汇编语言与高级

语言\t91

5.1.2 汇编语言的语句和格式\t92

5.1.3 伪指令\t93

5.1.4 汇编语言源程序的汇编\t95

5.1.5 汇编语言程序设计的一般步骤\t96

5.2 汇编语言源程序的基本结构\t96

5.2.1 顺序结构\t96

5.2.2 分支结构\t97

5.2.3 循环结构\t98

5.2.4 子程序\t102

5.3 51系列单片机汇编语言实用

程序设计举例\t105

5.3.1 查表程序设计\t105

5.3.2 散转程序设计\t107

5.3.3 码制转换程序设计\t108

5.3.4 运算程序设计\t109

5.4 程序调试与集成开发环境软件

Keil μVision\t110

5.4.1 程序调试概述\t110

5.4.2 Keil μVision软件简介\t110

5.4.3 Keil μVision集成开发环境中

调试单片机汇编语言源程序的

方法\t111

习题与思考题5\t117

*第6章 单片机的C语言程序设计\t118

6.1 单片机C语言概述\t118

6.1.1 采用C51的优点\t118

6.1.2 C51的程序框架\t118

6.1.3 C51的程序开发过程\t119

6.2 C51的数据与运算\t120

6.2.1 C51的数据类型\t120

6.2.2 C51的数据存储类型\t121

6.2.3 C51数据的存储器模式\t121

6.2.4 C51的指针变量\t121

6.2.5 C51对SFR、可寻址位、存

储器和I/O口的定义\t124

6.3 C51的运算符和表达式\t126

6.4 C51的基本语句\t129

6.4.1 表达式语句\t129

6.4.2 复合语句\t129

6.4.3 选择语句\t129

6.4.4 循环语句\t130

6.5 C51的函数\t131

6.5.1 函数的分类\t131

6.5.2 C51函数的定义\t132

6.5.3 C51函数的调用\t133

6.5.4 对被调函数的说明\t133

6.5.5 C51的库函数\t133

6.6 C51编程实例\t133

6.6.1 C语言程序与汇编语言源程序

的关系\t133

6.6.2 顺序程序的设计\t135

6.6.3 循环程序的设计\t136

6.6.4 分支程序的设计\t136

6.7 汇编语言和C语言的混合编程\t138

习题与思考题6\t139

第7章 51系列单片机I/O口应用与

软/硬件系统模拟调试\t140

7.1 AT89S51单片机I/O接口的

应用\t140

7.1.1 AT89S51单片机I/O接口的

操作方式\t140

7.1.2 I/O接口的应用实例:发光二

极管的控制\t141

7.2 软/硬件系统的模拟调试与Proteus

软件\t143

7.2.1 Proteus软件的特点\t143

7.2.2 Proteus软件对于单片机教学的

重要意义\t143

7.3 Proteus软件快速入门\t143

7.3.1 Proteus工作界面\t144

7.3.2 使用Proteus进行单片机系统

仿真设计的步骤\t146

7.4 应用实例\t146

7.4.1 原理图设计\t146

7.4.2 Proteus仿真\t149

习题与思考题7\t150

第8章 51系列单片机的中断系统\t151

8.1 中断系统的基本概念\t151

8.1.1 中断的定义和作用\t151

8.1.2 中断的分类\t152

8.1.3 中断系统的基本结构及功能\t152

8.2 AT89S51单片机的中断系统\t157

8.2.1 AT89S51的中断请求源和

中断标志\t158

8.2.2 AT89S51对中断请求的控制\t159

8.2.3 AT89S51中断处理的过程\t162

8.3 中断系统的程序设计及实例\t165

8.3.1 中断系统的程序设计\t165

8.3.2 中断系统程序设计举例\t167

8.4 AT89S51对外部中断源的扩展\t171

8.4.1 采用中断加查询法扩展外部

中断源\t171

习题与思考题8\t174

第9章 51系列单片机的定时器/计

数器\t176

9.1 定时器/计数器概述\t176

9.2 AT89S51单片机定时器/计数器

的结构\t176

9.2.1 工作方式控制寄存器TMOD\t177

9.2.2 定时器/计数器控制寄存器

TCON\t178

9.3 定时器/计数器的4种工作

方式\t178

9.3.1 方式0\t178

9.3.2 方式1\t179

9.3.3 方式2\t180

9.3.4 方式3\t180

9.4 对外部输入信号的要求\t182

9.5 定时器/计数器的编程和应用\t182

9.5.1 定时器/计数器的编程\t182

9.5.2 定时器/计数器的应用举例\t183

习题与思考题9\t196

第10章 51系列单片机的串行接口及

其应用\t198

10.1 计算机串行通信基础\t198

10.1.1 计算机通信方式的分类\t198

10.1.2 串行通信的分类\t199

10.1.3 串行通信的制式\t201

10.1.4 串行通信中的调制与解调\t201

10.1.5 串行通信的校验\t202

10.1.6 串行通信中串行I/O数据的

实现\t202

10.2 AT89S51单片机串行口的结

构及工作原理\t203

10.2.1 串行口的结构\t203

10.2.2 串行口的工作方式\t205

10.3 AT89S51单片机串行口的

应用\t211

10.3.1 串行通信的编程要点\t211

10.3.2 串行口在方式0下的应用\t212

10.3.3 串行口在其他方式下的

应用\t215

10.4 单片机的主从式多机通信\t223

10.5 单片机与PC间的串行通信\t224

10.5.1 单片机与PC串行通信的

硬件连接\t224

10.5.2 通信协议与通信程序\t226

习题与思考题10\t227

第11章 51系列单片机的存储器扩展\t229

11.1 单片机系统扩展概述\t229

11.2 51系列单片机并行总线构造

和地址锁存器\t230

11.2.1 并行总线的构造\t230

11.2.2 外部地址锁存器\t230

11.3 51系列单片机地址空间分配

和地址译码器\t231

11.4 程序存储器的扩展\t235

11.4.1 程序存储器芯片类型的选择\t235

11.4.2 常用EPROM芯片的简介\t235

11.4.3 访问程序存储器的控制信号\t237

11.4.4 AT89S51单片机与EPROM

的接口电路设计\t238

11.4.5 单片机外扩程序存储器的时

序分析与使用\t239

11.5 数据存储器扩展\t240

11.5.1 数据存储器芯片类型的

选择\t240

11.5.2 常用静态数据存储器RAM

芯片简介\t240

11.5.3 AT89S51单片机与外部RAM

的接口电路设计\t241

11.5.4 单片机外扩数据存储器的时

序分析与使用\t243

11.6 程序存储器和数据存储器的综

合扩展\t244

11.7 E2PROM的扩展简介\t246

11.7.1 并行E2PROM芯片简介\t246

11.7.2 E2PROM的工作方式\t247

11.7.3 并行E2PROM与单片机的

接口设计\t247

11.8 AT89S51单片机片内Flash存

储器的编程\t247

11.8.1 AT89S51单片机片内Flash

存储器概况\t248

11.8.2 AT89S51单片机片内Flash

存储器的编程\t248

习题与思考题11\t250

第12章 51系列单片机的并行I/O

接口扩展\t251

12.1 I/O接口扩展概述\t251

12.1.1 I/O接口的功能\t251

12.1.2 I/O端口的编址\t252

12.1.3 单片机与I/O设备的数据传

送方式\t253

12.1.4 单片机并行I/O接口的扩展

方法概述\t254

12.2 简单I/O接口的扩展\t254

12.3 利用可编程接口芯片82C55

扩展并行口\t255

12.3.1 82C55芯片简介\t255

12.3.2 工作方式选择控制字及端口

C按位置位/复位控制字\t257

12.3.3 82C55的3种工作方式\t259

12.3.4 AT89S51单片机与82C55的

接口设计\t262

12.4 利用可编程接口芯片81C55

扩展并行口\t263

12.4.1 81C55的内部结构和外部

引脚\t264

12.4.2 单片机对81C55端口的控制\t265

12.4.3 81C55的工作方式\t266

12.4.4 AT89S51单片机与81C55的

接口设计及软件编程\t268

12.5 利用单片机的串行口扩展并行

I/O口\t270

12.5.1 用74LS164扩展并行输出口\t270

12.5.2 用74LS165扩展并行输入口\t271

习题与思考题12\t273

第13章 51系列单片机与常用外设的

接口设计\t274

13.1 AT89S51单片机与LED数码

管显示器的接口\t274

13.1.1 LED数码管的结构与工作

原理\t274

13.1.2 LED数码管显示器的工作

原理\t275

13.1.3 LED数码管显示器应用

举例\t277

13.2 AT89S51单片机键盘接口

技术\t279

13.2.1 键盘的任务和分类\t279

13.2.2 按键输入信号的特点和处理\t280

13.2.3 非编码键盘的工作原理\t280

13.2.4 单片机对键盘的监控方式\t286

13.3 键盘/显示器接口设计举例\t287

13.4 AT89S51单片机与液晶显示

器的接口\t291

13.4.1 LCD1602模块的外形与

引脚\t292

13.4.2 LCD1602模块的组成\t292

13.4.3 LCD1602模块的命令及初

始化\t294

13.4.4 AT89S51单片机与LCD1602

模块的接口示例\t295

13.5 AT89S51单片机与微型打印机

TP?P-40A/16A的接口\t298

习题与思考题13\t303

第14章 51系列单片机模拟量接口

技术\t304

14.1 51系列单片机与D/A转换器

的接口\t304

14.1.1 器件选型\t304

14.1.2 AT89S51与8位D/A转换器

DAC0832的接口设计\t305

14.1.3 AT89S51与12位D/A转换器

DAC1210的接口设计\t311

14.1.4 AT89S51与串行输入的12位

D/A转换器AD7543的接口

设计\t312

14.2 51系列单片机与A/D转换器

的接口\t314

14.2.1 A/D转换器简介\t314

14.2.2 AT89S51与逐次比较型8

位A/D转换器ADC0809的

接口\t315

习题与思考题14\t321

*第15章 51系列单片机的串行总线

扩展技术\t323

15.1 I2C总线接口及其扩展\t323

15.1.1 I2C串行总线概述\t323

15.1.2 I2C总线的数据传送\t324

15.1.3 应用举例:AT89S51与

AT24C02的接口\t327

15.2 SPI串行总线接口及其扩展\t331

15.2.1 单片机扩展SPI总线的系统

结构\t331

15.2.2 单片机的SPI总线读写时序

模拟\t331

15.2.3 应用举例\t332

习题与思考题15\t333

第16章 单片机应用系统的设计与

调试\t334

16.1 单片机应用系统的设计过程\t334

16.1.1 单片机应用系统的基本要求\t334

16.1.2 单片机应用系统设计的步骤\t335

16.2 单片机应用系统设计\t337

16.2.1 硬件设计应考虑的问题\t337

16.2.2 典型的单片机应用系统\t337

16.2.3 单片机应用系统软件的总

体框架\t338

16.3 单片机应用系统的仿真与

调试\t339

16.4 单片机应用系统设计举例――

基于AT89S51和\t341

模糊控制算法的温控仪的设计\t341

16.4.1 设计任务及要求\t341

16.4.2 总体方案设计\t341

16.4.3 硬件设计\t342

16.4.4 系统控制算法的实现\t345

16.4.5 系统软件的实现\t346

16.4.6 软件调试与系统仿真\t346

习题与思考题16\t348

附录A ASCII码表\t349

附录B 常用逻辑门电路图形符号对

照表\t350

附录C 按字母顺序排列的指令表\t351