《单片微机原理及应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:徐春辉主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121211690
  • 页数:346 页
图书介绍:本书从介绍微型计算机的基本结构和工作原理入手,以AT89S51单片机为例介绍单片微机的结构、工作原理及应用,注重基础性和实用性相结合。以二进制和基本逻辑电路为起点阐述微型计算机的基本工作原理,并通过丰富的实例将基本概念、基本理论、基本方法讲清讲透。本书引入Keil µVision和Proteus,并配备丰富的课堂演示实例,将实验室搬入教室。另外,例题程序设计采用汇编语言和C语言双方案,便于读者对照学习。本书提供配套电子课件、习题解答和教学指南。

第1章 绪论 1

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

1.2计算机类型划分 2

1.2.1通用计算机 2

1.2.2嵌入式计算机 2

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

1.3.1嵌入式计算机的类别 3

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

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

练习与思考题1 5

第2章 微型计算机基础 6

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

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

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

2.1.3微型计算机的运算基础 8

2.2微型计算机的基本结构 11

2.2.1存储器的组成及功能 12

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

2.2.3输入输出设备及其接口电路 19

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

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

2.4微型计算机系统 24

2.4.1微型计算机系统的组成 24

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

2.4.3微型计算机的分类 26

2.5单片微型计算机概述 26

2.5.1什么是单片微型计算机 26

2.5.2单片机的发展历史 27

2.5.3单片机的特点 27

2.5.4单片机的应用 27

2.5.5单片机的发展趋势 28

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

2.5.7 51系列单片机简介 29

练习与思考题2 31

第3章 AT89S51单片机的硬件结构与时序 33

3.1AT89S51单片机的结构概述 33

3.2AT89S51单片机的外部引脚 34

3.2.1电源及时钟引脚 34

3.2.2控制引脚 35

3.2.3并行I/O口引脚 35

3.3AT89S51单片机的CPU 36

3.3.1运算器 36

3.3.2控制器 38

3.4 AT89S51单片机存储器的结构 38

3.4.1程序存储器空间 39

3.4.2数据存储器空间 39

3.4.3特殊功能寄存器 41

3.4.4位地址空间 44

3.5AT89S51单片机的并行输入/输出接口 45

3.5.1 P0口 45

3.5.2 P2口 46

3.5.3 P1口 47

3.5.4 P3口 48

3.6AT89S51单片机的时钟电路与时序 48

3.6.1 AT89S51单片机的时钟电路 48

3.6.2时序与时序定时单位 50

3.6.3 AT89S51 指令的取指/执行时序 51

3.6.4 AT89S51对片外存储器的操作时序 52

3.7复位操作与复位电路 54

3.8AT89S51单片机的低功耗节电 55

模式与看门狗定时器 55

3.8.1空闲模式 56

3.8.2掉电运行模式 57

3.8.3掉电和空闲模式下的看门狗定时器WDT 57

练习与思考题3 57

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

4.1指令及其格式 59

4.1.1指令系统概述 59

4.1.2指令描述符号的约定 60

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

4.1.4符号指令的书写格式 61

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

4.2.1立即寻址 61

4.2.2直接寻址 62

4.2.3寄存器寻址 62

4.2.4寄存器间接寻址 63

4.2.5变址寻址(基址寄存器加变址寄存器间址寻址) 63

4.2.6相对寻址方式 64

4.2.7位寻址方式 64

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

4.3.1数据传送类指令 65

4.3.2算术运算类指令 70

4.3.3逻辑运算与移位指令 75

4.3.4控制转移类指令 78

4.3.5位操作类指令 83

4.3.6 51系列单片机指令汇总 85

练习与思考题4 87

第5章 51系列单片机汇编语言程序设计及仿真调试 90

5.1汇编语言程序设计基础 90

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

5.1.2汇编语言的语句和格式 91

5.1.3伪指令 92

5.1.4汇编语言源程序的汇编 94

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

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

5.2.1顺序结构 95

5.2.2分支结构 96

5.2.3循环结构 97

5.2.4子程序 101

5.3 51系列单片机汇编语言实用程序设计举例 104

5.3.1查表程序设计 104

5.3.2散转程序设计 106

5.3.3码制转换程序设计 107

5.3.4运算程序设计 108

5.4程序调试与集成开发环境软件Keil μ Vision 109

5.4.1程序调试概述 109

5.4.2 Keil μVision软件简介 109

5.4.3 Keil μVision集成开发环境中调试单片机汇编语言源程序的方法 110

练习与思考题5 115

第6章 单片机的C语言程序设计 116

6.1单片机C语言概述 116

6.1.1采用C51的优点 116

6.1.2 C51的程序框架 116

6.1.3 C51的程序开发过程 117

6.2C51的数据与运算 118

6.2.1 C51的数据类型 118

6.2.2 C51的数据存储类型 119

6.2.3 C51数据的存储器模式 119

6.2.4 C51的指针变量 119

6.2.5 C51对SFR、可寻址位、存储器和I/O口的定义 122

6.3C51的运算符和表达式 124

6.4C51的基本语句 127

6.4.1表达式语句 127

6.4.2复合语句 127

6.4.3选择语句 127

6.4.4循环语句 128

6.5C51的函数 129

6.5.1函数的分类 129

6.5.2 C51函数的定义 129

6.5.3 C51函数的调用 130

6.5.4对被调函数的说明 131

6.5.5 C51的库函数 131

6.6C51编程实例 131

6.6.1 C语言程序与汇编语言源程序的关系 131

6.6.2顺序程序的设计 132

6.6.3循环程序的设计 133

6.6.4分支程序的设计 134

6.7汇编语言和C语言的混合编程 135

练习与思考题6 136

第7章 AT89S51单片机I/O口应用与软/硬件系统模拟调试 138

7.1AT89S51单片机I/O接口的应用 138

7.1.1 AT89S51单片机I/O接口的操作方式 138

7.1.2 I/O接口的应用实例:发光二极管的控制 139

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

7.2.1 Proteus软件的特点 141

7.2.2 Proteus软件对于单片机教学的重要意义 141

7.3Proteus软件快速入门 141

7.3.1 Proteus工作界面 141

7.3.2使用Proteus进行单片机系统仿真设计的步骤 144

7.4应用实例 144

7.4.1原理图设计 144

7.4.2 Proteus仿真 147

练习与思考题7 148

第8章 AT89S51单片机的中断系统 149

8.1中断技术概述 149

8.1.1中断的定义和作用 149

8.1.2中断源 150

8.1.3中断分类 151

8.1.4中断系统的功能 151

8.1.5中断处理过程 153

8.2AT89S51单片机的中断系统 155

8.2.1 AT89S51的中断请求源和中断标志 156

8.2.2 AT89S51对中断请求的控制 158

8.2.3 AT89S51中断处理的过程 160

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

8.3.1中断系统的程序设计 163

8.3.2中断系统程序设计举例 165

8.4 AT89S51对外部中断源的扩展 169

8.4.1借用定时器溢出中断扩展外部中断源 169

8.4.2采用中断加查询法扩展外部中断源 170

练习与思考题8 173

第9章 AT89S51单片机的定时器/计数器 174

9.1定时器/计数器概述 174

9.2 AT89S51单片机定时器/计数器的结构 174

9.2.1工作方式控制寄存器TMOD 175

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

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

9.3.1方式0 176

9.3.2方式1 177

9.3.3方式2 178

9.3.4方式3 178

9.4对外部输入信号的要求 180

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

9.5.1定时器/计数器的编程 180

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

练习与思考题9 193

第10章 51系列单片机的串行通信 195

10.1计算机串行通信基础 195

10.1.1串行通信的分类 195

10.1.2串行通信的制式 197

10.1.3串行通信中的调制与解调 197

10.1.4串行通信的校验 198

10.1.5串行通信中串行I/O数据的实现 198

10.2 AT89S51单片机串行口的结构及工作原理 200

10.2.1串行口的结构 200

10.2.2串行口的工作方式 202

10.3 AT89S51单片机串行口的应用 207

10.3.1串行通信的编程要点 207

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

10.3.3串行口在其他方式下的应用 211

10.4单片机的主从式多机通信 219

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

10.5.1单片机与PC串行通信的硬件连接 220

10.5.2通信协议与通信程序 223

练习与思考题10 223

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

11.1单片机系统扩展概述 225

11.2 51系列单片机系统总线的构造 225

11.3地址空间分配和外部地址锁存器 226

11.3.1存储器地址空间分配 226

11.3.2外部地址锁存器 230

11.4程序存储器的扩展 231

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

11.4.2常用EPROM芯片的简介 231

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

11.4.4 AT89S51单片机与EPROM的接口电路设计 233

11.4.5单片机外扩程序存储器的时序分析与使用 235

11.5数据存储器扩展 236

11.5.1数据存储器芯片类型的选择 236

11.5.2常用静态数据存储器RAM芯片简介 236

11.5.3 AT89S51单片机与外部RAM的接口电路设计 237

11.5.4单片机外扩数据存储器的时序分析与使用 238

11.6程序存储器和数据存储器的综合扩展 240

11.7 E2PROM的扩展简介 242

11.7.1并行E2 PROM芯片简介 242

11.7.2 E2PROM的工作方式 242

11.7.3并行E2 PROM与单片机的接口设计 243

11.8 AT89S51单片机片内Flash存储器的编程 243

11.8.1 AT89S51单片机片内Flash存储器概况 243

11.8.2 AT89S51单片机片内Flash存储器的编程 244

练习与思考题11 245

第12章 51系列单片机的并行I/O接口扩展 247

12.1 I/O接口扩展概述 247

12.1.1 I/O接口的功能 247

12.1.2 I/O端口的编址 248

12.1.3单片机与I/O设备的数据传送方式 249

12.1.4单片机并行I/O接口的扩展方法概述 250

12.2简单I/O接口的扩展 250

12.3利用可编程接口芯片82C55扩展并行口 251

12.3.1 82C55芯片简介 251

12.3.2工作方式选择控制字及端口C按位置位/复位控制字 253

12.3.3 82C55的3种工作方式 255

12.3.4 AT89S51单片机与82C55的接口设计 258

12.4利用可编程接口芯片81C55扩展并行口 259

12.4.1 81C55的内部结构和外部引脚 259

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

12.4.3 81C55的工作方式 262

12.4.4 AT89S51单片机与81C55的接口设计及软件编程 264

12.5利用单片机的串行口扩展并行I/O口 266

12.5.1用74LS165扩展并行输入口 266

12.5.2用74LS164扩展并行输出口 267

练习与思考题12 267

第13章 51系列单片机与常用外设的接口设计 269

13.1 AT89S51单片机与LED数码管显示器的接口 269

13.1.1 LED数码管的结构与工作原理 269

13.1.2 LED数码管显示器的工作原理 270

13.1.3 LED数码管显示器应用举例 272

13.2AT89S51单片机键盘接口技术 274

13.2.1键盘的任务和分类 274

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

13.2.3非编码键盘的工作原理 275

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

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

13.4 AT89S51单片机与液晶显示器的接口 286

13.4.1 LCD 1602模块的外形与引脚 287

13.4.2 LCD1602模块的组成 287

13.4.3 LCD1602模块的命令及初始化 289

13.4.4 AT89S51单片机与LCD1602模块的接口示例 290

13.5 AT89S51单片机与微型打印机TPμP-40A/16A的接口 293

练习与思考题13 298

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

14.1 51系列单片机与D/A转换器的接口 299

14.1.1器件选型 299

14.1.2 AT89S51与8位D/A转换器DAC0832的接口设计 300

14.1.3 AT89S51与12位D/A转换器DAC1210的接口设计 305

14.1.4 AT89S51与串行输入的12位D/A转换器AD7543的接口设计 307

14.2 51系列单片机与A/D转换器的接口 308

14.2.1 A/D转换器简介 308

14.2.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口 310

练习与思考题14 316

第15章 51系列单片机的串行扩展技术 317

15.1I2C总线接口及其扩展 317

15.1.1 I2C串行总线概述 317

15.1.2 I2C总线的数据传送 318

15.1.3应用举例:AT89S51与AT24C02的接口 320

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

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

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

15.2.3应用举例 326

练习与思考题15 326

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

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

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

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

16.2单片机应用系统设计 330

16.2.1硬件设计应考虑的问题 330

16.2.2典型的单片机应用系统 330

16.2.3单片机应用系统软件的总体框架 331

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

16.4单片机应用系统设计举例——基于AT89S51和模糊控制算法的温控仪的设计 333

16.4.1设计任务及要求 334

16.4.2总体方案设计 334

16.4.3硬件设计 335

16.4.4系统控制算法的实现 338

16.4.5系统软件的实现 339

16.4.6软件调试与系统仿真 340

练习与思考题16 340

附录A ASCII码表 341

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

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

参考文献 346