《51系列单片机开发宝典 第2版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:赵建领,弓雷等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121156366
  • 页数:700 页
图书介绍:本书系统地介绍51系列单片机的硬件结构、硬件组成,以及指令系统,并给出了各种设计领域中单片机的应用实例。本书言简意赅、通俗易懂,对于每个知识点都提供详细的实例,使读者能够更好地掌握51系列单片机。本书分为4部分,共27章,全面详细地讲述单片机的原理及应用。首先介绍51系列单片机的基本原理及内部功能组件和指令系统,接着介绍单片机的程序设计语言,包括汇编语言和单片机C语言;然后结合不同的设计领域介绍单片机在其中的应用;最后介绍51单片机综合应用实例和高性能的C8051F系列单片机。

第1部分 51系列单片机基础 1

第1章 51系列单片机概述 2

1.1单片机的产生与发展 2

1.2 51系列单片机介绍 3

1.2.1 51系列单片机简介 3

1.2.2 51系列单片机的应用领域 3

1.2.3常用的单片机介绍 4

1.3小结 4

第2章 51系列单片机基本结构 5

2.1 51系列单片机的内部结构 5

2.1.1内部结构的主要组成部分 6

2.1.2单片机结构的类型 7

2.2 51系列单片机的引脚功能 7

2.2.1 51系列单片机的引脚封装 7

2.2.2 51系列单片机引脚说明 7

2.3中央处理器 10

2.3.1算术逻辑运算部件 10

2.3.2控制器 10

2.3.3通用寄存器 10

2.3.4专用寄存器 11

2.4存储器结构 12

2.4.1程序存储器 13

2.4.2数据存储器 14

2.4.3存储器扩展 17

2.5并行I/O口 18

2.5.1并行I/O口的结构 18

2.5.2并行I/O口的应用 21

2.5.3并行I/O口的扩展 22

2.6 51系列单片机的复位 23

2.6.1单片机的复位状态 23

2.6.2单片机的复位电路 24

2.7 51系列单片机的时钟和时序 25

2.7.1振荡器和时钟电路 26

2.7.2 CPU的时序 27

2.7.3指令执行的时序 28

2.7.4访问外部ROM/RAM的操作时序 29

2.8系统掉电保护和低功耗设计 31

2.8.1掉电保护 31

2.8.2低功耗设计 33

2.9小结 34

第3章 51系列单片机的指令系统 35

3.1指令系统简介 35

3.1.1指令格式 35

3.1.2指令符号 37

3.2寻址方式 37

3.2.1立即寻址 38

3.2.2直接寻址 38

3.2.3寄存器寻址 39

3.2.4寄存器间接寻址 40

3.2.5变址寻址 41

3.2.6相对寻址 41

3.2.7位寻址 42

3.3数据传送指令 43

3.3.1内部RAM数据传送指令 43

3.3.2外部RAM数据传送指令 46

3.3.3程序存储器数据传送指令 47

3.3.4数据交换指令 48

3.3.5堆栈操作指令 49

3.4算术运算指令 49

3.4.1加法指令 50

3.4.2带进位的加法指令 51

3.4.3带借位的减法指令 52

3.4.4加1指令 53

3.4.5减1指令 54

3.4.6乘除法指令 54

3.4.7十进制调整指令 55

3.5逻辑运算及移位指令 57

3.5.1逻辑与指令 57

3.5.2逻辑或指令 57

3.5.3逻辑异或指令 58

3.5.4累加器清零指令 59

3.5.5累加器取反指令 59

3.5.6组合逻辑电路的实现 59

3.5.7循环移位指令 60

3.6控制转移指令 62

3.6.1无条件转移指令 62

3.6.2条件转移指令 65

3.6.3子程序调用及返回指令 67

3.7位操作指令 70

3.7.1位变量传送指令 70

3.7.2置位与清零指令 71

3.7.3位逻辑运算指令 71

3.7.4位控制转移指令 71

3.8空操作指令 73

3.9 51系列单片机指令汇总 73

3.10小结 77

第4章 51系列单片机的定时/计数器 78

4.1定时/计数器0和1 78

4.1.1定时/计数器的结构和功能 79

4.1.2T0和T1的控制寄存器 80

4.1.3 T0和T1的4种工作模式 82

4.2定时/计数器2 85

4.2.1 T2的控制寄存器T2CON和T2MOD 85

4.2.2定时/计数器2的工作模式 87

4.3定时/计数器的典型应用 90

4.3.1定时/计数器模式0的应用 90

4.3.2定时/计数器模式1的应用 90

4.3.3定时/计数器模式2的应用 91

4.3.4定时/计数器模式3的应用 92

4.4小结 94

第5章 51系列单片机中断系统 95

5.1中断系统概述 95

5.1.1中断的概念 95

5.1.2中断需要解决的问题 96

5.1.3中断的用途 97

5.2中断的类型 98

5.2.1外部中断源 98

5.2.2定时中断源 98

5.2.3串行中断源 98

5.3 51系列单片机中断系统的标志 98

5.3.1 51系列单片机的中断源 98

5.3.2中断请求标志 99

5.3.3中断允许标志 100

5.3.4中断优先级标志 101

5.4中断的处理过程 101

5.4.1中断的响应 102

5.4.2中断的处理 103

5.4.3中断的返回 104

5.4.4中断请求的撤离 104

5.5外部中断源的扩展 105

5.5.1定时/计数器扩展外部中断源 105

5.5.2查询方式扩展外部中断源 106

5.6小结 107

第6章 51系列单片机的串行接口 108

6.1串行通信概述 108

6.1.1串行通信简介 109

6.1.2串行通信的数据传送方式 111

6.1.3串行通信接口电路 111

6.2 51系列单片机的串行接口 112

6.2.1单片机串行接口的内部结构 112

6.2.2单片机串行接口的控制 113

6.2.3波特率设计 115

6.3串行接口的工作模式 117

6.3.1模式0 117

6.3.2模式1 118

6.3.3模式2 120

6.3.4模式3 122

6.4单片机串行接口的应用 122

6.4.1双机通信 122

6.4.2多机通信 126

6.4.3扩展I/O口 133

6.5小结 135

第2部分 51系列单片机程序设计 137

第7章 汇编语言程序设计 138

7.1汇编语言概述 138

7.1.1汇编语言简介 138

7.1.2汇编语言程序设计步骤 139

7.1.3汇编语言程序实例 139

7.2汇编语言指令及其格式 140

7.2.1伪指令 140

7.2.2汇编语言程序的格式 143

7.2.3源程序的汇编 144

7.3汇编语言程序设计 144

7.3.1顺序程序设计 144

7.3.2分支程序设计 145

7.3.3循环程序设计 149

7.3.4子程序设计 153

7.3.5查表结构程序设计 155

7.3.6运算类程序设计 158

7.4小结 161

第8章 单片机C语言程序设计基础 162

8.1单片机C语言概述 162

8.1.1 C51语言的特点 162

8.2单片机C语言程序设计基础实例 163

8.3 C51的标识符与关键字 164

8.3.1标识符 164

8.3.2关键字 164

8.4 C51的数据类型 165

8.4.1常量与变量 167

8.4.2整型数据 168

8.4.3浮点型数据 169

8.4.4字符型数据 170

8.4.5指针型数据 173

8.4.6无值型数据 174

8.5 C51的变量作用域 174

8.5.1基本规则 174

8.5.2变量作用域 175

8.6分隔符与const修饰符 178

8.6.1 C51分隔符 178

8.6.2 const修饰符 179

8.7运算符 180

8.7.1算术运算符 180

8.7.2逻辑和关系运算符 182

8.7.3位运算符 185

8.7.4特殊运算符 187

8.7.5运算符优先级和结合性 191

8.8表达式 192

8.8.1算术表达式 193

8.8.2赋值表达式 193

8.8.3逗号表达式 194

8.8.4关系和逻辑表达式 195

8.9小结 197

第9章 C51的数据结构与函数 198

9.1数组 198

9.1.1数组类型说明 198

9.1.2数组元素的表示 199

9.1.3数组元素的初始化赋值 200

9.1.4一维数组 202

9.1.5二维数组 204

9.1.6多维数组 208

9.2指针 208

9.2.1地址、指针和指针变量的概念 208

9.2.2指针变量的定义 209

9.2.3指针变量的赋值 209

9.2.4指针变量的引用 211

9.2.5指针变量的运算 212

9.2.6指针和数组 213

9.2.7字符指针 219

9.2.8指针数组 220

9.3结构 221

9.3.1结构的定义 221

9.3.2结构变量的定义 222

9.3.3结构变量的使用 224

9.3.4多重结构变量的赋值 224

9.3.5结构变量的初始化 225

9.3.6结构数组 226

9.3.7结构指针 228

9.3.8特殊结构 231

9.4联合和枚举 233

9.4.1联合 233

9.4.2结构和联合的区别 237

9.4.3枚举 238

9.5位域和类型说明 241

9.5.1位域 241

9.5.2类型说明 244

9.6函数 245

9.6.1函数的概念和分类 245

9.6.2函数的定义 247

9.6.3函数的参数 249

9.6.4函数的返回值 253

9.7函数的调用 254

9.7.1赋值调用与引用调用 254

9.7.2递归调用 255

9.7.3嵌套调用 256

9.8 函数的作用范围和变量作用域 258

9.8.1函数的作用范围 258

9.8.2函数的变量作用域 258

9.9一些特殊的函数 259

9.9.1 main函数 259

9.9.2库函数 260

9.10中断函数 261

9.10.1中断概述 261

9.10.2中断处理 262

9.10.3中断函数 263

9.11小结 264

第10章 C51语句和流程控制结构 265

10.1 C51语句 265

10.1.1说明语句 265

10.1.2表达式语句 265

10.1.3复合语句 266

10.1.4循环语句 267

10.1.5条件语句 271

10.1.6开关语句 274

10.1.7跳转语句 275

10.1.8函数调用语句 277

10.1.9空语句 278

10.2 C51的流程控制结构 278

10.3小结 278

第11章 预处理 279

11.1预处理命令概述 279

11.2宏定义指令 280

11.2.1 #define 280

11.2.2 #undef 282

11.3文件包含指令 282

11.4条件编译指令 284

11.4.1 #if、 #else、 #endif 284

11.4.2 #elif 284

11.4.3 #ifdef、 #ifndef 285

11.5其他编译指令 286

11.5.1 #line 286

11.5.2 #error 287

11.5.3 #pragma 287

11.6 C51编译器的控制指令 287

11.6.1源文件控制类 287

11.6.2目标文件(Object)控制类 288

11.6.3列表文件(listing)控制类 288

11.7 C51常用的头文件 288

11.8小结 291

第12章 C51的存储结构 292

12.1 51系列单片机的存储器结构与存储类型 292

12.1.1存储器结构 292

12.1.2存储器类型 293

12.1.3扩展数据类型 295

12.1.4存储模式 297

12.1.5 C51的存储器指针 297

12.2动态内存分配 300

12.2.1 C51的动态分配函数 300

12.2.2 malloc()和calloc()函数 301

12.3 C51启动文件STARTUPA51 301

12.4小结 306

第13章 Keil C51开发工具简介 307

13.1 μ Vision3集成开发环境 307

13.1.1安装Keil C51软件 307

13.1.2 μ Vision3项目管理窗口 309

13.1.3 μ Vision3的菜单栏 309

13.1.4 μ Vision3的工具栏 314

13.1.5 μ Vision3的管理配置 317

13.1.6 μ Vision3的各种常用窗口 321

13.2用μ Vision3创建项目 324

13.2.1启动并建立项目 324

13.2.2创建源文件 326

13.2.3编译项目 326

13.3项目仿真和调试 327

13.3.1仿真调试 327

13.3.2断点的使用 328

13.4 Proteus集成开发环境 329

13.4.1安装Proteus 329

13.4.2使用Proteus设计电路 331

13.4.3 Proteus与Keil μ Vision3联合调试仿真 333

13.5小结 336

第3部分 51系列单片机应用设计实例 337

第14章 键盘接口 338

14.1键盘概述 338

14.1.1键盘的编码 338

14.1.2键盘的可靠输入 338

14.1.3键盘的检测及程序响应 339

14.2单片机与键盘的接口 339

14.2.1独立式按键 339

14.2.2矩阵式键盘 341

14.3矩阵式键盘的接口实例 345

14.3.1电路图 345

14.3.2程序设计 346

14.3.3程序仿真 349

14.4小结 351

第15章 串行通信 352

15.1串行通信接口概述 352

15.1.1 RS-232C标准 352

15.1.2 RS-449标准 355

15.1.3 RS-423A标准 356

15.1.4 RS-422A标准 357

15.1.5 RS-485标准 358

15.1.6 20mA电流环路串行接口 358

15.2单片机与计算机的串行通信实例 359

15.2.1计算机读/写RAM 359

15.2.2静态RAM芯片HM628128 360

15.2.3单片机与RS-232C的接口 362

15.2.4系统电路原理图 362

15.2.5单片机程序设计 364

15.2.6上位机程序设计 368

15.2.7系统运行 368

15.3单片机之间的串行通信实例 369

15.3.1双机通信协议一 369

15.3.2双机通信协议二 371

15.4小结 374

第16章 LED及其应用 375

16.1 LED概述 375

16.1.1共阳极7段LED 375

16.1.2共阴极7段LED 377

16.2 LED显示方式 378

16.2.1静态显示 378

16.2.2动态显示 381

16.3 LED显示实例 384

16.3.1电路图 384

16.3.2程序设计 385

16.3.3程序仿真 389

16.4小结 389

第17章 液晶显示 390

17.1液晶显示概述 390

17.1.1液晶的来源 390

17.1.2 LCD结构及原理 391

17.1.3液晶显示模块的种类 391

17.1.4液晶显示模块的优点 392

17.2 1602液晶显示模块 393

17.2.1 1602液晶显示模块介绍 393

17.2.2 1602液晶模块应用实例 398

17.3液晶显示模块 404

17.3.1 LCD控制驱动器 404

17.3.2 ST7920功能说明 405

17.3.3 ST7920指令介绍 409

17.3.4 ST7920的控制方式 412

17.3.5液晶显示模块的控制 414

17.4 LCM控制实例 415

17.4.1电路设计 415

17.4.2程序设计 416

17.4.3运行效果 428

17.5小结 428

第18章 A/D转换 429

18.1 A/D转换概述 429

18.1.1A/D转换原理 429

18.1.2数据采集和转换的应用问题 431

18.1.3 A/D转换器的技术指标 432

18.1.4A/D转换器的选择原则 433

18.2高性能A/D转换器MAX197 433

18.2.1 MAX197的特性及引脚 434

18.2.2 MAX197的接口、控制字及时序 435

18.3 A/D转换实例 438

18.3.1电路图 438

18.3.2程序设计 440

18.4小结 444

第19章 D/A转换 445

19.1 D/A转换概述 445

19.1.1 D/A转换原理 445

19.1.2 D/A转换器的类型 446

19.1.3 D/A转换器的技术指标 448

19.2高性能D/A转换器AD558 449

19.2.1 AD558的引脚功能 450

19.2.2 AD558的电压输出模式 450

19.2.3 AD558的数据锁存 451

19.3光纤型相位调制器驱动电路 452

19.3.1光纤型相位调制器的原理 452

19.3.2电路功能介绍 453

19.3.3系统组成介绍 455

19.3.4电路图 456

19.3.5程序设计 459

19.3.6仿真与运行效果 463

19.4小结 464

第20章 电控调频收音机 466

20.1收音机基础知识 466

20.1.1无线电波的传播和接收 466

20.1.2调频收音机工作原理 467

20.1.3收音机常见电路 468

20.2TEA5767单片调频收音模块 468

20.2.1调频收音模块基础知识 469

20.2.2TEA5767调频收音模块功能特性 469

20.2.3TEA5767调频收音模块结构体系 470

20.2.4TEA5767调频收音模块操作方式 470

20.3使用51单片机控制调频收音模块 473

20.3.1电路图 474

20.3.2程序设计 474

20.3.3实验步骤 482

20.4小结 485

第21章 单片机与I2C总线 486

21.1 I2C总线概述 486

21.1.1 I2C总线工作原理 486

21.1.2 I2C总线的电气结构和负载能力 487

21.1.3 I2C总线器件的寻址方式 487

21.1.4 I2C总线的数据传输协议 488

21.2单片机读/写I2C模块 490

21.2.1汇编语言的I2C读/写模块 490

21.2.2 C语言的I2C读/写模块 494

21.3单片机读/写I2C实例 501

21.3.1 24系列串行EEPROM简介 502

21.3.2电路设计 502

21.3.3程序设计 503

21.3.4仿真分析 505

21.4小结 507

第22章 AT指令与短信收发 508

22.1 AT指令与短信收发概述 508

22.1.1 SMS协议 509

22.1.2 AT指令 510

22.1.3 PDU Mode 514

22.1.4短信中心 517

22.1.5无线MODEM收发短信的工作原理 518

22.2 SMS开发的方法 519

22.2.1 GSM模块 520

22.2.2手机 521

22.3工厂防盗监控系统 522

22.3.1电路图 522

22.3.2程序分析 524

22.3.3程序设计 526

22.4小结 530

第23章 步进电机控制 531

23.1步进电机概述 531

23.1.1步进电机种类 531

23.1.2步进电机的特征 533

23.1.3步进电机的驱动系统 534

23.1.4步进电机的速度、位置控制 534

23.2常用的步进电机 535

23.2.1永磁式步进电机 535

23.2.2步进电机模块 535

23.3步进电机接口实例 536

23.3.1电路图 537

23.3.2程序设计 538

23.3.3程序分析 544

23.4小结 545

第 24章 红外线接口 546

24.1红外线通信 546

24.1.1红外线通信原理 546

24.1.2典型的红外线通信方式 546

24.2红外线接口芯片MAX3100 548

24.2.1引脚及功能 548

24.2.2典型连接方式 549

24.3红外线接口实例 550

24.3.1电路图 550

24.3.2程序设计 552

24.4小结 556

第25章 声音及其应用 557

25.1单片机发音概述 557

25.1.1音调 557

25.1.2节拍 559

25.1.3单片机演奏音乐的方法 560

25.2单片机演奏音乐实例 560

25.2.1电路图 560

25.2.2程序设计 561

25.3小结 571

第4部分 增强型51系列单片机 573

第26章 万年历温度计应用 574

26.1日期和时间控制器DS 1302 574

26.1.1概述 574

26.1.2内部逻辑和操作方法 575

26.1.3命令字和复位控制 576

26.1.4数据读写时序和寄存器 577

26.1.5应用电路 579

26.1.6驱动程序 580

26.1.7实验结果 585

26.2温度传感器DS18B20 588

26.2.1概述 588

26.2.2应用电路 594

26.2.3驱动程序 594

26.2.4实验结果 599

26.3带有温度显示的万年历 602

26.3.1电路图 603

26.3.2配套程序 603

26.3.3实验结果 605

26.4小结 605

第27章 C8051F系列单片机 606

27.1 C8051 F系列单片机简介 606

27.1.1 C8051 F系列单片机基本特性 606

27.1.2 CIP 51内核 609

27.1.3选型表 620

27.2 C8051 F020单片机 622

27.2.1 C8051 F020单片机 622

27.2.2引脚封装 623

27.2.3程序存储器 624

27.2.4特殊功能寄存器 628

27.2.5中断系统 632

27.2.6输入/输出端口 633

27.2.7 ADC0子系统 642

27.2.8 ADC1子系统 647

27.2.9 DAC子系统 650

27.2.10电压基准 653

27.2.11比较器 653

27.2.12复位源 655

27.2.13可编程计数器阵列 658

27.3采集片内温度传感器实例 660

27.3.1电路图 660

27.3.2头文件C8051F020.H 663

27.3.3程序设计 669

27.3.4程序仿真 673

27.4采集端口数据实例 676

27.4.1电路图 676

27.4.2程序设计 677

27.4.3程序仿真 682

27.5液晶显示实例 685

27.5.1电路图 685

27.5.2程序设计 687

27.5.3程序编译仿真 699

27.6小结 700