《单片机C51应用编程与实践》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:佟巳刚著
  • 出 版 社:高等教育出版社
  • 出版年份:2017
  • ISBN:9787040484328
  • 页数:371 页
图书介绍:本书分为基础篇和实战篇两大部分,基础篇以AT89S51单片机为例介绍了单片机的工作原理、片内功能模块工作原理、片外接口技术、Keil C51编程、Keil开发工具软件使用、Proteus仿真工具软件使用以及单片机开发技术等内容;实战篇编写了大量的单片机实例,以适用读者在理论课学习的基础上进行单片机培训或单片机课程设计等实践类课程的需求。本书也可作为高等工科院校电气类、电子信息类、计算机类、机械类等专业的教材,也可作为从事单片机应用系统设计、生产技术人员的参考书。本教材的核心内容已录制成微视频,读者可通过“扫一扫”观看到相关知识点的参考视频和PPT,方便读者自学。

基础篇 3

第1章 单片机基础知识 3

1.1 单片机概述 3

1.1.1 单片机的产生与发展 3

1.1.2 单片机的应用 4

1.1.3 单片机典型产品 4

1.2 单片机产品的设计过程 7

1.2.1 单片机实验环境的搭建 7

1.2.2 设计过程及注意事项 9

1.3 单片机学习的预备知识 10

1.3.1 数制和数制间的转换 11

1.3.2 带符号数的表示方法 12

1.3.3 单片机常用编码 13

习题与思考 14

第2章 单片机的硬件结构及工作原理 15

2.1 单片机的片内结构 15

2.2 单片机的封装与引脚 16

2.2.1 常用IC的封装形式 16

2.2.2 AT89S51单片机的引脚及功能 17

2.3 AT89S51单片机的CPU 18

2.3.1 运算器 18

2.3.2 控制器 19

2.3.3 指令执行的基本过程 19

2.4 AT89S51单片机的最小系统 20

2.4.1 复位电路 20

2.4.2 时钟电路与时序 21

2.5 片内存储器结构 23

2.5.1 程序存储器 24

2.5.2 片内数据存储器 25

2.5.3 特殊功能寄存器 26

2.5.4 片外数据存储器 29

习题与思考 30

第3章 Keil C51编程基础 31

3.1 Keil C51简介 31

3.1.1 C51与标准C的异同 31

3.1.2 C51与汇编语言的异同 31

3.2 C51程序设计基础 32

3.2.1 数据类型 33

3.2.2 运算符及表达式 34

3.2.3 常量与变量 36

3.2.4 存储类型及存储区 38

3.2.5 循环控制流程语句 39

3.2.6 数组 43

3.2.7 函数 44

3.2.8 指针 47

3.2.9 预处理 48

3.2.10 C51使用规范 49

习题与思考 50

第4章 单片机开发工具软件 51

4.1 集成开发环境KeilμVision4 51

4.1.1 Keil μVision4简介 51

4.1.2 软件启动和运行 51

4.1.3 使用方法 52

4.2 仿真开发工具Proteus 61

4.2.1 Proteus简介 61

4.2.2 软件的启动和运行 61

4.2.3 软件的使用方法 62

4.2.4 软件编程 70

4.2.5 仿真调试 70

习题与思考 72

第5章 片内并行I/O接口 73

5.1 P0口的工作原理 73

5.1.1 P0口作为地址/数据总线 73

5.1.2 P0口做通用I/O接口使用 74

5.2 P1口的工作原理 74

5.3 P2口的工作原理 75

5.4 P3口的工作原理 76

习题与思考 79

第6章 单片机中断系统 80

6.1 中断技术概述 80

6.2 中断系统结构 82

6.2.1 中断源 82

6.2.2 中断请求标志寄存器 82

6.2.3 中断允许寄存器 84

6.2.4 中断优先级寄存器 85

6.2.5 外部中断的触发方式选择 86

6.2.6 中断请求的撤销 86

6.2.7 外部中断应用程序设计 87

习题与思考 93

第7章 单片机的定时器/计数器 94

7.1 定时器/计数器技术概述 94

7.2 定时器/计数器的工作原理 94

7.2.1 定时器/计数器的实质 94

7.2.2 定时器/计数器的结构与工作原理 95

7.3 定时器/计数器的控制寄存器 97

7.3.1 工作方式寄存器 97

7.3.2 控制寄存器 98

7.4 定时器/计数器的工作方式 98

7.4.1 方式0 98

7.4.2 方式1 99

7.4.3 方式2 100

7.4.4 方式3 100

7.5 计数器对外部输入脉冲频率的要求 101

7.6 定时器/计数器应用程序设计 102

习题与思考 113

第8章 51单片机的串行接口 115

8.1 串行通信基础 115

8.1.1 同步通信与异步通信 115

8.1.2 串行通信的传输方向 117

8.2 51单片机串行接口的结构 118

8.3 串行接口相关特殊功能控制寄存器 119

8.3.1 串行接口控制寄存器 119

8.3.2 电源控制寄存器 120

8.4 串行接口的4种工作方式 120

8.4.1 工作方式0 120

8.4.2 工作方式1 121

8.4.3 工作方式2和工作方式3 121

8.5 波特率的设定方法 122

8.5.1 波特率的定义 122

8.5.2 波特率的计算 122

8.6 串行接口的电平转换 123

8.7 多机通信 124

8.8 串行接口应用编程实例 125

习题与思考 127

第9章 单片机系统的扩展 129

9.1 单片机系统扩展概述 129

9.1.1 最小应用系统 129

9.1.2 单片机扩展总线结构与常用扩展方法 130

9.2 常用的扩展器件简介 131

9.2.1 锁存器74LS373 131

9.2.2 总线驱动器74LS244和74LS245 131

9.2.3 3-8译码器74LS138 132

9.3 存储器的扩展 132

9.4 程序存储器的扩展 134

9.4.1 存储器简介 134

9.4.2 程序存储器扩展举例 134

9.5 数据存储器的扩展 137

9.5.1 数据存储器概述 137

9.5.2 访问外部数据存储器的读/写操作时序 137

9.6 程序存储器和数据存储器的综合扩展 139

9.7 I/O接口的扩展 140

9.7.1 I/O接口扩展概述 140

9.7.2 I/O接口扩展常用芯片 140

习题与思考 145

第10章 单片机与输入/输出外部设备的接口电路设计 147

10.1 单片机与LED数码管的显示电路设计 147

10.1.1 LED数码管的结构 147

10.1.2 LED数码管静态显示电路的设计与工作原理 150

10.1.3 LED数码管动态显示电路的设计与工作原理 155

10.2 单片机与键盘接口电路设计 157

10.2.1 键盘的工作原理 157

10.2.2 独立式键盘电路的设计与工作原理 159

10.2.3 矩阵式键盘电路的设计与工作原理 166

10.3 单片机与点阵数码管的显示电路设计 176

10.3.1 点阵数码管的结构 176

10.3.2 点阵数码管显示电路设计与工作原理 177

10.3.3 点阵数码管应用编程 178

10.4 单片机与液晶显示器的接口 180

10.4.1 液晶显示器概述 180

10.4.2 点阵字符型液晶显示模块介绍 181

10.4.3 单片机与液晶显示器的接口及软件编程 185

习题与思考 188

第11章 单片机的串行扩展技术 189

11.1 单总线串行扩展 190

11.2 SPI总线串行扩展 192

11.3 I2C总线串行扩展 195

11.3.1 I2C串行总线概述 195

11.3.2 单片机与I2C总线的接口设计及编程 197

习题与思考 204

第12章 单片机与D/A、A/D转换器的接口 205

12.1 转换器的主要技术指标 205

12.2 单片机与D/A转换器的接口 206

12.2.1 10位D/A转换器芯片TLC5615的主要功能及特性 206

12.2.2 D/A转换器TLC5615的接口设计 208

12.3 单片机与A/D转换器的接口 210

12.3.1 12位逐次逼近型AD574的主要功能及特性 211

12.3.2 A/D转换器AD574的接口设计 213

12.3.3 16位串行A/D转换器AD7705的主要功能及特性 216

12.3.4 A/D转换器AD7705的接口设计 217

习题与思考 222

第13章 单片机应用设计与调试 223

13.1 单片机应用设计流程 223

13.2 单片机应用软、硬件设计 225

13.2.1 单片机应用硬件设计 225

13.2.2 单片机应用软件设计 228

13.2.3 典型的单片机应用系统 229

13.3 单片机应用系统的仿真开发与调试 229

13.3.1 单片机的系统仿真 230

13.3.2 仿真机的仿真调试 232

13.4 单片机应用系统的抗干扰与可靠性设计 232

13.4.1 AT89S51片内看门狗定时器的使用 233

13.4.2 软件滤波 233

13.4.3 开关量输入/输出软件抗干扰设计 234

13.4.4 过程通道干扰的抑制措施——隔离 235

习题与思考 236

实战篇 239

第14章 基本输出程序设计 239

14.1 单只发光二极管闪烁 239

14.2 单口双向暗走马灯 242

14.3 三色灯的实现 243

14.4 单只数码管静态显示1位数字 245

14.5 4只数码管静态显示4个数字 246

14.6 4只数码管动态显示4个数字 248

14.7 简易交通灯的设计 250

14.8 2只数码管动态显示0~99计数 252

14.9 简易音乐盒的设计 254

第15章 基本输入程序设计 259

15.1 按键控制LED花样灯 259

15.2 按键控制1位数码管 262

15.3 按键控制电机PWM 264

15.4 数码管显示4×4键盘矩阵按键键值 268

第16章 中断系统程序设计 271

16.1 外部中断0控制LED 271

16.2 2个外部中断的应用 272

16.3 定时器/计数器控制音乐演奏 275

16.4 两个定时器的应用 279

16.5 倒计时秒表 281

16.6 用计数器中断实现100以内的按键计数 284

16.7 定时器控制数码管动态显示 285

16.8 甲机通过串行接口控制乙机LED闪烁 288

第17章 综合应用设计 293

17.1 16×64 LED点阵屏花样滚屏显示汉字 293

17.2 DS18B20多点温度监测系统设计 302

17.3 SHT11数字温—湿度测量系统设计 313

17.4 直流电机驱动控制 322

17.5 基于磁阻传感器的电子指南针设计 328

附录1 常用C51库函数 345

附录2 C51主要关键字 355

附录3 AT89X51.H文件 357

附录4 Proteus元器件库中英文对照表 363

附录5 Proteus常用元器件中英文对照表 369

参考文献 371