《51单片机常用模块设计查询手册 第2版》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:程国钢
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302402329
  • 页数:756 页
图书介绍:本书共分12章,其中第1章到第5章为读者讲解了51单片机内部资源应用以及基于内部资源的典型模块开发,第6章到第11章为读者讲解了51单片机的外部资源扩展方法以及常用外部资源扩展典型模块,第12章为用户讲解了如何利用典型模块开发51单片机系统综合应用。

第1章 51单片机的内部模块 1

1.1 51单片机及其应用系统概述 1

1.1.1 51单片机应用系统的构成和设计流程 2

1.1.2 “最小”51单片机应用系统 4

1.2 51单片机内部模块的基础应用 5

1.2.1 内部模块基础 5

1.2.2 并行I/O模块 6

1.2.3 定时计数器模块 7

1.2.4 中断系统和外部中断模块 13

1.2.5 串行通信模块 18

1.3 51单片机内部模块的高级应用 24

1.3.1 使用定时计数器扩展外部中断 24

1.3.2 使用I/O端口模拟串行通信端口 25

1.3.3 串行通信模块的波特率自适应 29

1.3.4 使用软件扩展多级中断应用 32

1.3.5 定时计数器的可控PWM输出 36

第2章 51单片机的常用算法和函数模块 39

2.1 51单片机的库函数基础 39

2.1.1 函数库和头文件分类 39

2.1.2 自定义库 40

2.1.3 库函数的使用 41

2.2 51单片机常用函数模块 41

2.2.1 内部函数_crol_() 41

2.2.2 内部函数_nop_() 42

2.2.3 输入/输出函数putchar() 44

2.2.4 输入/输出函数printf() 45

2.2.5 随机数生成函数rand()和srand() 48

2.3 51单片机的常用算法模块 52

2.3.1 统计字节中1的个数 52

2.3.2 软件延时/定时 53

2.3.3 排序算法 53

第3章 扩展51单片机外围模块的方法 55

3.1 地址—数据总线扩展 55

3.2 串行通信模块扩展 58

3.3 I2C总线扩展 58

3.3.1 I2C总线基础 58

3.3.2 I2C总线接口扩展的驱动库函数 61

3.4 SPI总线扩展 67

3.4.1 SPI总线基础 67

3.4.2 SPI总线接口扩展的驱动库函数 69

3.5 l-wire总线扩展 70

3.5.1 l-wire总线扩展原理 70

3.5.2 l-wire总线扩展的驱动库函数 72

第4章 51单片机的I/O引脚模块 75

4.1 译码器模块 75

4.1.1 译码器模块的应用场合 75

4.1.2 译码器模块的应用基础 76

4.1.3 译码器模块的应用实例——简易流水灯 78

4.2 锁存器模块 79

4.2.1 锁存器模块的应用场合 80

4.2.2 锁存器模块的应用基础 80

4.2.3 锁存器模块的应用实例——秒表 82

4.3 三态门模块 84

4.3.1 三态门模块的应用场合 84

4.3.2 三态门模块的应用基础 84

4.3.3 三态门模块的应用实例——地址输入 86

4.4 串行输入并行输出模块 88

4.4.1 串行输入并行输出模块的应用场合 88

4.4.2 串行输入并行输出模块的应用基础 88

4.4.3 串行输入并行输出模块的应用实例——秒计时 90

4.5 并行输入串行输出模块 93

4.5.1 并行输入串行输出模块的应用场合 93

4.5.2 并行输入串行输出模块的应用基础 93

4.5.3 并行输入串行输出模块的应用实例——读取拨码开关状态 95

4.6 可编程I/O扩展芯片Intel8255 96

4.6.1 可编程I/O扩展芯片Intel8255的应用场合 96

4.6.2 可编程I/O扩展芯片Intel8255的应用基础 97

4.6.3 可编程I/O扩展芯片Intel8255的应用实例——扩展输入/输出 100

4.7 I/O引脚模块的应用实例——电子抽奖系统 102

4.7.1 电子抽奖系统的需求分析 103

4.7.2 电子抽奖系统的电路设计 103

4.7.3 电子抽奖系统的应用代码 105

第5章 51单片机的用户输入通道模块 111

5.1 独立按键 111

5.1.1 独立按键的应用场合 111

5.1.2 独立按键的应用基础 112

5.1.3 独立按键的应用实例——加减计数 113

5.2 拨码开关 116

5.2.1 拨码开关的应用场合 116

5.2.2 拨码开关的应用基础 117

5.2.3 拨码开关的应用实例——开关状态显示 118

5.3 行列扫描键盘 120

5.3.1 行列扫描键盘的应用场合 121

5.3.2 行列扫描键盘的应用基础 121

5.3.3 行列扫描键盘的应用实例 123

5.4 PS/2键盘 126

5.4.1 PS/2键盘的应用场合 126

5.4.2 PS/2键盘的应用基础 126

5.4.3 PS/2键盘的应用实例——扫描码输出 130

5.5 用户输入模块的应用实例——带计时功能的计算器 137

5.5.1 计算器的需求分析 138

5.5.2 计算器的电路设计 139

5.5.3 计算器的应用代码 140

第6章 51单片机的LED显示模块 151

6.1 发光二极管 151

6.1.1 发光二极管的应用场合 151

6.1.2 发光二极管的应用基础 152

6.1.3 发光二极管的应用实例——流水灯 153

6.2 单位数码管 155

6.2.1 单位数码管的应用场合 155

6.2.2 单位数码管的应用基础 155

6.2.3 单位数码管的应用实例——“流水数字”显示 159

6.3 多位数码管 161

6.3.1 多位数码管的应用场合 161

6.3.2 多位数码管的应用基础 161

6.3.3 多位数码管的应用实例——移动数字效果显示 165

6.4 数码管驱动芯片MAX7219 167

6.4.1 数码管驱动芯片MAX7219的应用场合 167

6.4.2 数码管驱动芯片MAX7219的应用基础 168

6.4.3 数码管驱动芯片MAX7219的应用实例——当前日期显示 175

6.5 数码管和键盘驱动芯片CH452 176

6.5.1 数码管和键盘驱动芯片CH452的应用场合 176

6.5.2 数码管和键盘驱动芯片CH452的应用基础 176

6.5.3 数码管和键盘驱动芯片CH452的应用实例——串口数据显示和按键状态返回 190

6.6 LED显示模块的应用实例——简易频率计 193

6.6.1 简易频率计的需求分析 193

6.6.2 简易频率计的电路设计 195

6.6.3 简易频率计的应用代码 196

第7章 51单片机的液晶显示模块 201

7.1 数字字符液晶1602 201

7.1.1 数字字符液晶1602的应用场合 201

7.1.2 数字字符液晶1602的应用基础 202

7.1.3 数字字符液晶1602的应用实例——字符串显示 208

7.2 汉字图形液晶12864 208

7.2.1 汉字图形液晶12864的应用场合 208

7.2.2 汉字图形液晶12864的应用基础 209

7.2.3 汉字图形液晶12864的应用实例——混合显示 215

7.3 点阵显示模块 221

7.3.1 点阵显示模块的应用场合 221

7.3.2 点阵显示模块的应用基础 221

7.3.3 点阵显示模块的应用实例——“流水字符”显示 224

7.4 带字库的汉字图形液晶12864 227

7.4.1 带字库的汉字图形液晶12864的应用场合 227

7.4.2 带字库的汉字图形液晶12864的应用基础 228

7.4.3 带字库的汉字图形液晶12864的应用实例——显示串口接收数据和图形 238

7.5 液晶显示模块的应用实例——俄罗斯方块 242

7.5.1 俄罗斯方块的需求分析 242

7.5.2 俄罗斯方块的电路设计 244

7.5.3 俄罗斯方块的应用代码 245

第8章 51单片机的语音和打印输出模块 259

8.1 蜂鸣器 259

8.1.1 蜂鸣器的应用场合 259

8.1.2 蜂鸣器的应用基础 260

8.1.3 蜂鸣器的应用实例——按键提示音 262

8.2 录放音芯片 264

8.2.1 录放音芯片的应用场合 264

8.2.2 录放音芯片的应用基础 264

8.2.3 录放音芯片的应用实例——录放操作 268

8.3 文本语言芯片 271

8.3.1 文本语音芯片的应用场合 271

8.3.2 文本语音芯片的应用基础 271

8.3.3 文本语音芯片的应用实例——来电提示音 279

8.4 打印机模块 281

8.4.1 打印机模块的应用场合 281

8.4.2 打印机模块的应用基础 281

8.4.3 打印机模块的应用实例——温度打印输出 285

8.5 语音和打印输出的应用实例——简易电子琴 288

8.5.1 简易电子琴的需求分析 288

8.5.2 简易电子琴的电路设计 290

8.5.3 简易电子琴的应用代码 291

第9章 51单片机的驱动和执行机构 297

9.1 三极管 297

9.1.1 三极管的应用场合 297

9.1.2 三极管的应用基础 298

9.1.3 三极管的应用实例——大功率灯泡闪烁 299

9.2 达林顿管 300

9.2.1 达林顿管的应用场合 300

9.2.2 达林顿管的应用基础 300

9.2.3 达林顿管的应用实例——发光二极管流水点亮 302

9.3 光电隔离器 302

9.3.1 光电隔离器的应用场合 303

9.3.2 光电隔离器的应用基础 304

9.3.3 光电隔离器的应用实例 306

9.4 直流电动机 306

9.4.1 直流电动机的应用场合 306

9.4.2 直流电动机的应用基础 306

9.4.3 直流电动机的应用实例——串口控制直流电动机转动 309

9.5 步进电动机 312

9.5.1 步进电动机的应用场合 312

9.5.2 步进电动机的应用基础 312

9.5.3 步进电动机的应用实例——串口控制步进电动机转动 317

9.6 步进电动机驱动模块 321

9.6.1 步进电动机驱动模块的应用场合 321

9.6.2 步进电动机驱动模块的应用基础 321

9.6.3 步进电动机驱动模块的应用实例——按键控制步进电动机转动 323

9.7 继电器 326

9.7.1 继电器的应用场合 327

9.7.2 继电器的应用基础 327

9.7.3 继电器的应用实例——继电器控制 329

9.8 驱动和执行机构的应用实例——天车控制系统 332

9.8.1 天车控制系统的需求分析 332

9.8.2 天车控制系统的电路设计 333

9.8.3 天车控制系统的应用代码 335

第10章 51单片机的A/D模块 339

10.1 A/D模块基础 339

10.1.1 A/D变换的过程 340

10.1.2 A/D变换的应用电路构成 342

10.1.3 A/D变换的保持电路 343

10.1.4 A/D芯片的分类 343

10.1.5 A/D芯片的选择 343

10.1.6 A/D芯片对电源的需求 345

10.2 8位并行8通道A/D芯片 345

10.2.1 ADC0809的应用基础 345

10.2.2 ADC0809的应用实例——串口输出ADC0809多通道模拟信号采集 353

10.3 12位并行8通道A/D芯片 356

10.3.1 MAX197的应用基础 356

10.3.2 MAX197的应用实例——串口输出MAX197多通道模拟信号采集 360

10.4 12位串行多通道A/D芯片 363

10.4.1 TLC2543的应用基础 364

10.4.2 TLC2543的应用实例——串口输出TLC2543多通道模拟信号采集 369

10.5 I2C接口高精度A/D芯片 371

10.5.1 ADS1100的应用基础 371

10.5.2 ADS1100的应用实例 380

10.6 16位串行接口多通道A/D芯片 380

10.6.1 AD977A的应用基础 380

10.6.2 AD977A的应用实例 388

10.7 A/D模块的应用实例——太阳能电池监控模块 388

10.7.1 太阳能电池监控模块的需求分析 388

10.7.2 太阳能电池监控模块的电路设计 389

10.7.3 太阳能电池监控模块的应用代码 393

第11章 51单片机的D/A模块 407

11.1 D/A模块基础 407

11.1.1 D/A转换的过程 407

11.1.2 D/A芯片的分类 409

11.1.3 D/A芯片的选择 409

11.1.4 D/A芯片对电源的需求 410

11.2 8位并行D/A芯片 411

11.2.1 DAC0832的应用基础 411

11.2.2 DAC0832的应用实例——模拟波形输 416

11.3 8位串行D/A芯片 420

11.3.1 MAX517的应用基础 420

11.3.2 MAX517的应用实例——输出正弦波 422

11.4 10位串行D/A芯片 424

11.4.1 TLC5615的应用基础 424

11.4.2 TLC5615的应用实例——输出锯齿波 427

11.5 12位并行D/A芯片 428

11.5.1 MAX527的应用基础 428

11.5.2 MAX527的应用实例 433

11.6 16位串行D/A芯片 433

11.6.1 MAX541的应用基础 433

11.6.2 MAX541的应用实例 436

11.7 串行A/D和D/A芯片 436

11.7.1 PCF8591的应用基础 437

11.7.2 PCF8591的应用实例——AD模拟量采集和DA模拟量输出 440

11.8 信号发生器芯片MAX038 441

11.8.1 MAX038的应用基础 441

11.8.2 MAX038的应用实例 444

11.9 D/A模块的应用实例——简易波形发生器 444

11.9.1 简易波形发生器的需求分析 444

11.9.2 简易波形发生器的电路设计 445

11.9.3 简易波形发生器的应用代码 446

第12章 51单片机的时钟传感器模块 451

12.1 51单片机应用系统中的时钟信息获取 451

12.2 内部定时计数器 452

12.3 并行总线接口时钟模块 453

12.3.1 DS12C887的应用基础 453

12.3.2 DS12C887的应用实例——路灯自动开关控制 461

12.4 I2C总线接口时钟模块 463

12.4.1 PCF8563的应用基础 464

12.4.2 PCF8563的应用实例 472

12.5 SPI总线接口时钟模块 474

12.5.1 DS1302的应用基础 474

12.5.2 DS1302的应用实例——时钟信息读取 479

12.6 时钟传感器模块的应用实例——简单数字时钟 481

12.6.1 简单数字时钟的需求分析 481

12.6.2 简单数字时钟的电路设计 482

12.6.3 简单数字时钟的应用代码 483

第13章 51单片机的温度传感器模块 485

13.1 51单片机应用系统中的温度信息获取 485

13.2 l-wire总线接口温度模块 486

13.2.1 DS18B20的应用基础 487

13.2.2 DS18B20的应用实例——DS18B20温度数据采集 492

13.3 I2C总线接口温度模块 494

13.3.1 DS1621的应用基础 494

13.3.2 DS1621的应用实例——DS1621温度数据采集 498

13.4 SPI总线接口温度模块 500

13.4.1 TC77的应用基础 500

13.4.2 TC77的应用实例 504

13.5 温度传感器模块的应用实例——多点温度采集系统 504

13.5.1 多点温度采集系统的需求分析 505

13.5.2 多点温度采集系统的电路设计 506

13.5.3 多点温度采集系统的应用代码 507

第14章 51单片机的常用其他传感器模块 515

14.1 温度传感器 515

14.1.1 SHT75的应用基础 515

14.1.2 SHT75的应用实例——SHT75湿度和温度数据采集 523

14.2 压力传感器 525

14.2.1 MPX4115的应用基础 525

14.2.2 MPX4115的应用实例 527

14.3 定位传感器 527

14.3.1 数字罗盘基础 527

14.3.2 GPS模块基础 528

14.3.3 NMEA-1083规范 528

14.4 数字罗盘传感器 532

14.4.1 HMR3000的应用基础 532

14.4.2 HMR3000的应用实例——航向、俯仰、横滚数据采集 535

14.5 GPS传感器 537

14.5.1 GARMIN 25LP的应用基础 537

14.5.2 GARMIN 25LP的应用实例——GPS地理信息采集 541

14.6 倾角传感器 545

14.6.1 TS1120的应用基础 546

14.6.2 TS1120的应用实例 548

14.7 超声距离传感器 548

14.7.1 HC-SR04的应用基础 549

14.7.2 HC-SR04的应用实例——距离测量 551

14.8 传感器模块的应用实例——手持倾角仪 554

14.8.1 手持倾角仪的需求分析 554

14.8.2 手持倾角仪的电路设计 554

14.8.3 手持倾角仪的应用代码 556

第15章 51单片机的有线通信模块 567

15.1 51单片机的有线通信模块设计概述 567

15.2 RS-232协议芯片 568

15.2.1 MAX232的应用基础 568

15.2.2 MAX232的应用实例 571

15.3 RS485协议芯片 572

15.3.1 MAX485的应用基础 572

15.3.2 MAX485的应用实例——51单片机和PC进行远程数据交换 574

15.4 RS-422协议芯片 576

15.4.1 MAX491的应用基础 576

15.4.2 MAX491的应用实例 579

15.5 高速光电隔离芯片 579

15.5.1 6N137的应用基础 580

15.5.2 6N137的应用实例 582

15.6 CAN总线芯片 583

15.6.1 SJA1000的应用基础 583

15.6.2 SJA1000的应用实例——串口CAN总线桥 588

15.7 电力线总线芯片 592

15.7.1 SSCP300的应用基础 593

15.7.2 SSCP300的应用实例——SSCP300数据发送和接收 597

15.8 USB通信桥芯片 600

15.8.1 CP2102的应用基础 600

15.8.2 CP2102的应用实例 605

15.9 51单片机应用系统的通信模型和通信协议设计 605

15.9.1 51单片机应用系统的通信模型 606

15.9.2 51单片机应用系统的通信协议设计 606

15.10 有线通信模块的应用实例——远程仓库温度监测系统 607

15.10.1 远程仓库湿度监测系统的需求分析 607

15.10.2 远程仓库湿度监测系统的电路设计 608

15.10.3 远程仓库湿度监测系统的应用代码 609

第16章 51单片机的无线通信模块 613

16.1 51单片机的无线通信模块设计概述 613

16.2 红外芯片 613

16.2.1 红外芯片的应用基础 614

16.2.2 红外芯片的应用实例——红外按键信息解析 621

16.3 433MHz无线通信模块 623

16.3.1 无线通信模块的应用基础 623

16.3.2 无线通信模块的应用实例——PTR8000串口通信桥 633

第17章 51单片机的小容量存储模块 637

17.1 外部单口RAM芯片 637

17.1.1 6264的应用基础 638

17.1.2 6264的应用实例——外部大容量RAM的使用 641

17.2 外部双口RAM芯片 643

17.2.1 IDT7132的应用基础 643

17.2.2 IDT7132的应用实例——使用双口RAM进行双机通信 647

17.3 外部ROM芯片 649

17.3.1 2716的应用基础 649

17.3.2 2716的应用实例 651

17.4 FIFO芯片 651

17.4.1 CY7C419的应用基础 651

17.4.2 CY7C419的应用实例——使用FIFO存放临时数据 654

17.5 I2C总线接口的E2PROM芯片 657

17.5.1 AT24系列芯片的应用基础 658

17.5.2 AT24系列芯片的应用实例——使用AT24CO4存放用户数据 665

17.6 SPI总线接口的E2PROM芯片 668

17.6.1 93系列芯片的应用基础 668

17.6.2 93系列芯片的应用实例——使用93C46存放用户数据 674

17.7 接触式加密智能卡 677

17.7.1 接触式智能卡基础 677

17.7.2 SLE4442接触式加密卡的应用基础 679

17.7.3 SLE4442的应用实例——SLE4442卡的读写 690

17.8 非接触式智能卡 693

17.8.1 非接触式智能卡基础 693

17.8.2 非接触式智能卡读写模块的应用基础 697

17.8.3 非接触式智能卡读写模块的应用实例 709

第18章 51单片机的大容量存储模块 711

18.1 Flash芯片 711

18.1.1 Flash芯片的应用基础 711

18.1.2 Flash的应用实例——K9F5608芯片的应用 717

18.2 U盘读写芯片 717

18.2.1 CH376的应用基础 717

18.2.2 CH376的应用实例——U盘读写 741

18.3 SD卡 745

18.3.1 SD卡的应用基础 745

18.3.2 SD卡的应用实例 756