《手把手教你学51单片机 C语言版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:宋雪松,李冬明,崔长胜编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302354659
  • 页数:417 页
图书介绍:本书系统介绍51单片机的体系结构、程序设计原理、开发方法及实例设计。全书供分20章,分别介绍了入门方法、C语言基础、数码管和定时器、硬件基础、中断、LED、按键、UART、IIC、EEPROM、LCD、DS1302、温度传感器、红外通信、AD/DA转换器、PCF8591、蜂鸣器和步进电机等内容。本书同时附配光盘,给出了书中涉及的原理图、视频和代码等,非常适合读者快速上手实践。

第1章 如何学习单片机 1

1.1学什么类型的单片机 1

1.2学习单片机的最佳方法 2

1.3单片机学习的准备工作 3

1.4单片机开发软件环境搭建 4

1.5 Keil基本概况介绍 7

1.6答读者问 9

第2章 点亮你的LED 11

2.1单片机的内部资源 11

2.2单片机最小系统 12

2.2.1电源 13

2.2.2晶振 13

2.2.3复位电路 13

2.3 LED小灯 14

2.4程序代码编写 16

2.4.1特殊功能寄存器和位定义 16

2.4.2新建一个工程 17

2.4.3编写点亮小灯的程序 21

2.5程序下载 24

2.6练习题 26

第3章 硬件基础知识学习 27

3.1电磁干扰 27

3.2去耦电容的应用 28

3.3三极管在数字电路中的应用 30

3.3.1三极管的初步认识 30

3.3.2三极管的原理 30

3.3.3三极管的应用 32

3.4 74HC138三八译码器的应用 35

3.5 LED闪烁程序 38

3.6练习题 39

第4章 C语言基础以及流水灯的实现 40

4.1二进制、十进制和十六进制 40

4.2 C语言变量类型和范围 41

4.3 C语言基本运算符 42

4.4 for循环语句 43

4.5 while循环语句 44

4.6函数的简单介绍 45

4.7 Keil软件延时 46

4.8流水灯程序 51

4.9练习题 53

第5章 定时器与数码管基础 54

5.1逻辑电路与逻辑运算 54

5.2定时器的学习 56

5.2.1定时器的初步认识 56

5.2.2定时器的寄存器 57

5.2.3定时器的应用 60

5.3数码管的学习 61

5.3.1数码管的基本介绍 61

5.3.2数码管的真值表 64

5.3.3数码管的静态显示 65

5.4练习题 67

第6章 中断与数码管动态显示 68

6.1 C语言的数组 68

6.1.1数组的基本概念 68

6.1.2数组的声明 69

6.1.3数组的初始化 69

6.1.4数组的使用和赋值 69

6.2 if语句 70

6.3 switch语句 71

6.4数码管的动态显示 72

6.4.1动态显示的基本原理 72

6.4.2数码管显示消隐 76

6.5单片机中断系统 78

6.5.1中断的产生背景 78

6.5.2定时器中断的应用 78

6.5.3中断的优先级 82

6.6练习题 83

第7章 变量进阶与点阵LED 84

7.1变量的作用域 84

7.1.1局部变量 84

7.1.2全局变量 84

7.2变量的存储类别 85

7.3点阵的初步认识 87

7.4点阵的图形显示 90

7.5点阵的动画显示 96

7.5.1点阵的纵向移动 96

7.5.2点阵的横向移动 98

7.6练习题 103

第8章 函数进阶与按键 104

8.1单片机最小系统 104

8.1.1电源 104

8.1.2晶振 104

8.1.3复位电路 105

8.2函数的调用 106

8.3函数的形式参数和实际参数 109

8.4按键 110

8.4.1独立按键 110

8.4.2矩阵按键 111

8.4.3独立按键的扫描 112

8.4.4按键消抖 115

8.4.5矩阵按键的扫描 119

8.5简易加法计算器 122

8.6练习题 127

第9章 步进电机与蜂鸣器 128

9.1单片机IO口的结构 128

9.2上下拉电阻 129

9.3 28BYJ-48型步进电机详解与实例 130

9.3.1电机的分类 130

9.3.2 28BYJ-48型步进电机原理详解 131

9.3.3让电机转起来 132

9.3.4转动精度与深入分析 135

9.3.5编写实用程序的基础 137

9.3.6包含综合应用的实用程序 139

9.4蜂鸣器 144

9.5练习题 148

第10章 实例练习与经验积累 149

10.1数字秒表实例 149

10.1.1不同数据类型间的相互转换 149

10.1.2定时时间精准性调整 150

10.1.3字节操作修改位的技巧 151

10.1.4数码管扫描函数算法改进 152

10.1.5秒表程序 153

10.2 PWM知识与实例 157

10.3交通灯实例 163

10.4 51单片机RAM区域的划分 166

10.5长短按键的应用 167

10.6练习题 173

第11章 UART串口通信 174

11.1串行通信的初步认识 174

11.2 RS-232通信接口 176

11.3 USB转串口通信 177

11.4 IO口模拟UART串口通信 178

11.5 UART串口通信的基本应用 182

11.5.1通信的三种基本类型 182

11.5.2 UART模块介绍 182

11.5.3 UART串口程序 183

11.6通信实例与ASCⅡ码 185

11.7练习题 191

第12章 指针基础与1602液晶的初步认识 192

12.1指针的概念与指针变量的声明 192

12.1.1变量的地址 192

12.1.2指针变量的声明 194

12.1.3指针的简单示例 195

12.2指向数组元素的指针 196

12.2.1指向数组元素的指针和运算法则 196

12.2.2指向数组元素指针的实例 197

12.3字符数组和字符指针 200

12.3.1常量和符号常量 200

12.3.2字符和字符串数组实例 202

12.4 1602液晶的认识 204

12.4.1 1602液晶的硬件接口介绍 204

12.4.2 1602液晶的读写时序介绍 206

12.4.3 1602液晶的指令介绍 208

12.4.4 1602液晶简单实例 209

12.5练习题 211

第13章 1602液晶与串口的应用实例 212

13.1通信时序解析 212

13.2 1602整屏移动 215

13.3多.c文件的初步认识 219

13.4计算器实例 223

13.5串口通信机制和实用的串口例程 232

13.6练习题 240

第14章 I2C总线与E2PROM 241

14.1 I2C时序初步认识 241

14.2 I2C寻址模式 243

14.3 E2PROM的学习 247

14.3.1 E2PROM单字节读写操作时序 248

14.3.2 E2PROM多字节读写操作时序 254

14.3.3 E2PROM的页写入 257

14.4 I2C和E2PROM的综合实验学习 261

14.5练习题 265

第15章 实时时钟DS1302 266

15.1 BCD码的概念 266

15.2 SPI时序初步认识 267

15.3实时时钟芯片DS1302 269

15.3.1 DS1302的特点 269

15.3.2 DS1302的硬件信息 271

15.3.3 DS1302寄存器介绍 273

15.3.4 DS1302通信时序介绍 274

15.3.5 DS1302的BURST模式 280

15.4复合数据类型 284

15.4.1结构体数据类型 285

15.4.2共用体数据类型 286

15.4.3枚举数据类型 287

15.5电子钟实例 288

15.6练习题 300

第16章 红外通信与DS18B20温度传感器 301

16.1红外光的基本原理 301

16.2红外遥控通信原理 303

16.3 NEC协议红外遥控器 304

16.4温度传感器DS18B20 312

16.5练习题 322

第17章 模数转换A/D与数模转换D/A 323

17.1 A/D和D/A的基本概念 323

17.2 A/D的主要指标 324

17.3 PCF8591的硬件接口 325

17.4 PCF8591的软件编程 327

17.5 A/D差分输入信号 331

17.6 D/A输出 332

17.7简易信号发生器实例 334

17.8练习题 339

第18章 RS-485通信与Modbus协议 340

18.1 RS-485通信 340

18.2 Modbus通信协议介绍 348

18.2.1 Modbus协议特点 348

18.2.2 RTU协议帧数据 348

18.3 Modbus多机通信例程 351

18.4练习题 358

第19章 实践项目开发——多功能电子钟 359

19.1类型说明 359

19.2头文件 361

19.3条件编译 363

19.4项目实战——多功能电子钟 365

19.4.1项目需求分析 365

19.4.2程序结构规划 366

19.4.3程序代码编写 368

19.5练习题 399

第20章 单片机开发常用工具的使用 400

20.1万用表 400

20.1.1万用表的功能及类型 400

20.1.2万用表的使用方法 401

20.2示波器 403

20.2.1示波器的功能及类型 403

20.2.2示波器的使用 403

20.3逻辑分析仪 406

20.3.1什么是逻辑分析仪 406

20.3.2逻辑分析仪的参数 408

20.3.3逻辑分析仪的使用 408

20.3.4应用实例——分析UART、I2C、SPI 409

20.3.5数字电路应用中逻辑分析仪比之示波器的优势 412

20.4练习题 413

附录A ASCⅡ码字符表 414

附录B C语言运算符及优先级 415

附:KST-51开发板原理图 417