书籍详情
51单片机C语言程序设计教程
作者:王云 著
出版社:人民邮电出版社
出版时间:2018-11-01
ISBN:9787115486929
定价:¥69.00
购买这本书可以去
内容简介
本书遵循由浅入深、循序渐进的原则,讲解单片机开发经典案例。本书以YL51单片机开发板为平台,通过案例逐个讲解开发板上各个器件模块的使用及其编程方法,包括单片机*小系统、数码管显示原理、中断与定时器、数模\\模数转换工作原理、LCD液晶显示、串行口通信、步进电机驱动原理、PWM脉宽调制与直流电机等内容。
作者简介
王云,从事单片机研发工作多年,具有丰富的单片机、嵌入式系统的软件和硬件研发经验;曾研发自动控制器、数据采集仪等多款产品,现从事单片机培训工作,主讲了系列视频课程——云龙51单片机实训课程。该课程因其通俗易懂的语言、现场互动的教学风格获得了读者的一致好评,在网上广为流传。
目录
第 1章 初步认识单片机 1
1.1 单片机的特点及应用 2
1.2 应该学什么样的单片机 2
1.3 如何学好单片机 2
1.4 学前准备和单片机学习开发环境的建立 3
1.5 课后作业 3
第 2章 单片机最小系统及Keil软件介绍 4
2.1 单片机概述 5
2.1.1 各大公司MCS51单片机简介 5
2.1.2 单片机标号信息及封装类型 5
2.1.3 单片机引脚功能介绍 9
2.2 单片机最小系统 12
2.2.1 电源电路 13
2.2.2 时钟振荡电路 13
2.2.3 复位电路 14
2.3 如何点亮一个发光二极管 14
2.3.1 硬件电路构成 14
2.3.2 Keil建立工程文件 16
2.3.3 编写点亮一个发光二极管的C程序代码 20
2.3.4 程序下载、观察结果 23
2.3.5 知识点讲解 25
2.4 课后作业 28
第3章 C51基础知识及流水灯设计 29
3.1 C51的特点及优势 30
3.2 C51数据类型 30
3.2.1 C51的基本数据类型 30
3.2.2 C51的扩充数据类型 31
3.2.3 特殊功能寄存器声明及位定义 32
3.3 C51的基本运算 33
3.3.1 二进制与十六进制 33
3.3.2 C51赋值运算符及其表达式 34
3.3.3 C51算术运算符及其表达式 35
3.3.4 C51关系运算符及其表达式 35
3.3.5 C51逻辑运算符及其表达式 36
3.3.6 C51位操作及其表达式 36
3.4 C51程序的基本语句 37
3.4.1 if选择语句 37
3.4.2 while循环语句 39
3.4.3 for循环语句 40
3.4.4 switch/case多分支选择语句 41
3.4.5 do…while循环语句 42
3.5 C51函数 43
3.5.1 函数的定义 43
3.5.2 函数的声明及调用 44
3.5.3 变量的作用域 45
3.6 C51应用编程实例(流水灯设计) 46
3.6.1 闪烁的LED 47
3.6.2 花样流水灯 50
3.7 课后作业 52
第4章 数码管显示原理及静态显示 53
4.1 数码管的结构和显示原理 54
4.2 数码管在YL51开发板上的应用 55
4.3 数组的定义及调用方法 58
4.3.1 数组的定义方式 58
4.3.2 数组初始化赋值及调用 59
4.3.3 应用举例 59
4.4 课后作业 62
第5章 中断与定时器 63
5.1 单片机中断 64
5.1.1 中断的概念 64
5.1.2 MCS-51中断系统的结构 65
5.1.3 单片机中断应用举例 68
5.2 定时器/计数器 69
5.2.1 定时器/计数器的结构 69
5.2.2 定时/计数器应用举例 72
5.3 课后作业 73
第6章 数码管动态显示与定时器应用 74
6.1 数码管动态显示的基本原理 75
6.2 实例讲解数码管动态显示原理 75
6.3 课后作业 85
第7章 按键学习:独立按键和矩阵按键 86
7.1 键盘的分类 87
7.2 独立键盘检测原理及应用 87
7.3 矩阵键盘检测原理及应用 91
7.4 课后作业 94
第8章 数模转换(D/A)工作原理及应用 95
8.1 D/A转换的工作原理及分类 96
8.1.1 权电阻解码网络D/A转换器 96
8.1.2 T型电阻解码网络D/A转换器 97
8.1.3 D/A转换器的主要性能指标 99
8.2 DAC0832芯片及其与单片机接口 99
8.2.1 DAC0832芯片简介 99
8.2.2 DAC0832芯片工作方式 101
8.3 课后作业 105
第9章 模数转换(A/D)工作原理及应用 106
9.1 A/D转换的工作原理及分类 107
9.1.1 A/D转换的一般过程 107
9.1.2 A/D转换器分类 108
9.1.3 A/D转换器的主要技术指标 111
9.2 ADC0804芯片及其应用 112
9.2.1 ADC0804芯片简介 112
9.2.2 ADC0804芯片应用 112
9.3 课后作业 117
第 10章 LCD液晶显示原理及应用 118
10.1 LCD液晶基础知识 119
10.2 1602液晶介绍与实例分析 120
10.2.1 1602液晶硬件接口介绍 120
10.2.2 1602液晶时序操作介绍 121
10.2.3 1602液晶实例演示 125
10.3 12864液晶介绍与实例分析 131
10.3.1 12864液晶硬件接口介绍 131
10.3.2 12864液晶时序操作介绍 132
10.3.3 12864液晶实例演示 138
10.4 课后作业 141
第 11章 串行口通信原理及应用 142
11.1 通信基础知识 143
11.1.1 并行通信 143
11.1.2 串行通信 143
11.2 串行通信的分类 144
11.2.1 异步通信 144
11.2.2 同步通信 145
11.2.3 串行通信方式 145
11.3 串行通信接口标准 146
11.3.1 RS232接口 146
11.3.2 RS232串行口通信电路 147
11.3.3 USB转串行口通信电路 147
11.4 80C51串行口的结构 148
11.4.1 80C51串行口基本工作原理 148
11.4.2 80C51串行口的控制寄存器 149
11.4.3 80C51串行口的工作方式 151
11.5 波特率的计算 154
11.6 实例讲解 155
11.7 课后作业 160
第 12章 I2C总线原理和模块化编程方法 161
12.1 I2C总线概述 162
12.1.1 I2C总线简介 162
12.1.2 I2C器件接口 162
12.2 I2C总线的数据传送 163
12.2.1 I2C总线数据操作有效性规定 163
12.2.2 I2C总线的数据传送格式 163
12.3 单片机的普通I/O口模拟I2C通信 165
12.3.1 I2C总线信号时序分析 165
12.3.2 I2C总线基本操作时序分析 167
12.4 I2C器件AT24C02的应用 169
12.4.1 I2C器件AT24C02简介 169
12.4.2 I2C器件AT24C02的读/写时序 170
12.4.3 用模块化编程对AT24C02进行操作 173
12.5 课后作业 179
第 13章 红外通信原理及应用 180
13.1 红外线简介 181
13.1.1 红外线 181
13.1.2 红外信号发生电路 181
13.1.3 红外信号接收电路 181
13.2 红外通信原理 182
13.2.1 红外基带信号发送协议 182
13.2.2 红外基带信号调制 184
13.2.3 红外信号解调 185
13.3 红外解码实例介绍 186
13.4 课后作业 190
第 14章 DS18B20测温原理及应用 191
14.1 DS18B20简介 192
14.1.1 DS18B20封装及引脚说明 192
14.1.2 功能特性 192
14.1.3 两种供电方式 193
14.2 DS18B20内部结构及功能 193
14.2.1 DS18B20内部结构 193
14.2.2 功能介绍 194
14.3 单总线简介 196
14.3.1 单总线概述 196
14.3.2 单总线信号类型 196
14.4 DS18B20时序过程 198
14.4.1 单总线初始化 198
14.4.2 ROM操作命令 198
14.4.3 存储器操作命令 198
14.4.4 数理处理 199
14.5 DS18B20应用实例 199
14.6 课后作业 203
第 15章 步进电机驱动原理及应用 204
15.1 步进电机概述 205
15.1.1 步进电机的认识 205
15.1.2 步进电机分类 205
15.1.3 步进电机的主要技术指标 205
15.2 步进电机工作原理 206
15.2.1 步进电机的驱动 206
15.2.2 步进电机的励磁方式 207
15.3 28BYJ-48步进电机应用 208
15.3.1 28BYJ-48步进电机参数 209
15.3.2 28BYJ-48步进电机驱动电路 209
15.3.3 步进电机应用实例 211
15.4 课后作业 213
第 16章 LED点阵驱动原理及应用 214
16.1 LED点阵简介 215
16.1.1 认识8×8点阵模块 215
16.1.2 8×8点阵与单片机连接 217
16.2 点阵的显示原理 217
16.2.1 点阵的静态显示 218
16.2.2 点阵的动态显示 219
16.3 点阵取模软件介绍 222
16.3.1 使用演示 223
16.3.2 术语介绍 225
16.3.3 应用举例 225
16.4 课后作业 228
第 17章 DS1302实时时钟与SPI通信原理 229
17.1 DS1302简介 230
17.1.1 功能特点 230
17.1.2 封装及引脚 230
17.1.3 DS1302的主要性能指标 230
17.1.4 DS1302与单片机连接电路 231
17.2 DS1302的寄存器及片内RAM 231
17.2.1 与日历、时钟相关寄存器 232
17.2.2 BCD码简介 233
17.2.3 控制寄存器 233
17.2.4 写保护寄存器 234
17.2.5 充电寄存器 234
17.3 DS1302数据读写时序及SPI通信原理 235
17.3.1 单字节写操作 235
17.3.2 单字节读操作 235
17.4 DS1302实例操作 236
17.5 课后作业 241
第 18章 蜂鸣器与继电器驱动原理及应用 242
18.1 蜂鸣器简介 243
18.1.1 蜂鸣器分类 243
18.1.2 有源蜂鸣器和无源蜂鸣器的特点 243
18.1.3 蜂鸣器选用基本要点 244
18.1.4 驱动电路 244
18.2 蜂鸣器应用实例 244
18.3 继电器简介 245
18.3.1 继电器工作原理 246
18.3.2 继电器常用参数 246
18.3.3 继电器的控制电路 247
18.4 继电器应用实例 248
18.5 课后作业 252
第 19章 PWM脉宽调制与直流电机调速 253
19.1 PWM简介 254
19.1.1 脉冲宽度调制(PWM)原理 254
19.1.2 占空比的概念 254
19.2 PWM应用实例 255
19.2.1 直流电机介绍 255
19.2.2 直流电机PWM调速原理 257
19.3 课后作业 261
第 20章 单片机系统设计——多功能万年历 262
20.1 项目功能概述 263
20.2 原理图构建 263
20.3 程序代码设计 265
第 21章 常用电子制作工具 289
21.1 焊接工具及材料 290
21.1.1 电烙铁 290
21.1.2 焊锡丝 291
21.1.3 辅助焊接工具 291
21.2 测量工具 292
21.2.1 万用表 292
21.2.2 示波器 295
附录 300
附录1 C语言优先级详细列表 301
附录2 ASCII表 303
参考文献 304
1.1 单片机的特点及应用 2
1.2 应该学什么样的单片机 2
1.3 如何学好单片机 2
1.4 学前准备和单片机学习开发环境的建立 3
1.5 课后作业 3
第 2章 单片机最小系统及Keil软件介绍 4
2.1 单片机概述 5
2.1.1 各大公司MCS51单片机简介 5
2.1.2 单片机标号信息及封装类型 5
2.1.3 单片机引脚功能介绍 9
2.2 单片机最小系统 12
2.2.1 电源电路 13
2.2.2 时钟振荡电路 13
2.2.3 复位电路 14
2.3 如何点亮一个发光二极管 14
2.3.1 硬件电路构成 14
2.3.2 Keil建立工程文件 16
2.3.3 编写点亮一个发光二极管的C程序代码 20
2.3.4 程序下载、观察结果 23
2.3.5 知识点讲解 25
2.4 课后作业 28
第3章 C51基础知识及流水灯设计 29
3.1 C51的特点及优势 30
3.2 C51数据类型 30
3.2.1 C51的基本数据类型 30
3.2.2 C51的扩充数据类型 31
3.2.3 特殊功能寄存器声明及位定义 32
3.3 C51的基本运算 33
3.3.1 二进制与十六进制 33
3.3.2 C51赋值运算符及其表达式 34
3.3.3 C51算术运算符及其表达式 35
3.3.4 C51关系运算符及其表达式 35
3.3.5 C51逻辑运算符及其表达式 36
3.3.6 C51位操作及其表达式 36
3.4 C51程序的基本语句 37
3.4.1 if选择语句 37
3.4.2 while循环语句 39
3.4.3 for循环语句 40
3.4.4 switch/case多分支选择语句 41
3.4.5 do…while循环语句 42
3.5 C51函数 43
3.5.1 函数的定义 43
3.5.2 函数的声明及调用 44
3.5.3 变量的作用域 45
3.6 C51应用编程实例(流水灯设计) 46
3.6.1 闪烁的LED 47
3.6.2 花样流水灯 50
3.7 课后作业 52
第4章 数码管显示原理及静态显示 53
4.1 数码管的结构和显示原理 54
4.2 数码管在YL51开发板上的应用 55
4.3 数组的定义及调用方法 58
4.3.1 数组的定义方式 58
4.3.2 数组初始化赋值及调用 59
4.3.3 应用举例 59
4.4 课后作业 62
第5章 中断与定时器 63
5.1 单片机中断 64
5.1.1 中断的概念 64
5.1.2 MCS-51中断系统的结构 65
5.1.3 单片机中断应用举例 68
5.2 定时器/计数器 69
5.2.1 定时器/计数器的结构 69
5.2.2 定时/计数器应用举例 72
5.3 课后作业 73
第6章 数码管动态显示与定时器应用 74
6.1 数码管动态显示的基本原理 75
6.2 实例讲解数码管动态显示原理 75
6.3 课后作业 85
第7章 按键学习:独立按键和矩阵按键 86
7.1 键盘的分类 87
7.2 独立键盘检测原理及应用 87
7.3 矩阵键盘检测原理及应用 91
7.4 课后作业 94
第8章 数模转换(D/A)工作原理及应用 95
8.1 D/A转换的工作原理及分类 96
8.1.1 权电阻解码网络D/A转换器 96
8.1.2 T型电阻解码网络D/A转换器 97
8.1.3 D/A转换器的主要性能指标 99
8.2 DAC0832芯片及其与单片机接口 99
8.2.1 DAC0832芯片简介 99
8.2.2 DAC0832芯片工作方式 101
8.3 课后作业 105
第9章 模数转换(A/D)工作原理及应用 106
9.1 A/D转换的工作原理及分类 107
9.1.1 A/D转换的一般过程 107
9.1.2 A/D转换器分类 108
9.1.3 A/D转换器的主要技术指标 111
9.2 ADC0804芯片及其应用 112
9.2.1 ADC0804芯片简介 112
9.2.2 ADC0804芯片应用 112
9.3 课后作业 117
第 10章 LCD液晶显示原理及应用 118
10.1 LCD液晶基础知识 119
10.2 1602液晶介绍与实例分析 120
10.2.1 1602液晶硬件接口介绍 120
10.2.2 1602液晶时序操作介绍 121
10.2.3 1602液晶实例演示 125
10.3 12864液晶介绍与实例分析 131
10.3.1 12864液晶硬件接口介绍 131
10.3.2 12864液晶时序操作介绍 132
10.3.3 12864液晶实例演示 138
10.4 课后作业 141
第 11章 串行口通信原理及应用 142
11.1 通信基础知识 143
11.1.1 并行通信 143
11.1.2 串行通信 143
11.2 串行通信的分类 144
11.2.1 异步通信 144
11.2.2 同步通信 145
11.2.3 串行通信方式 145
11.3 串行通信接口标准 146
11.3.1 RS232接口 146
11.3.2 RS232串行口通信电路 147
11.3.3 USB转串行口通信电路 147
11.4 80C51串行口的结构 148
11.4.1 80C51串行口基本工作原理 148
11.4.2 80C51串行口的控制寄存器 149
11.4.3 80C51串行口的工作方式 151
11.5 波特率的计算 154
11.6 实例讲解 155
11.7 课后作业 160
第 12章 I2C总线原理和模块化编程方法 161
12.1 I2C总线概述 162
12.1.1 I2C总线简介 162
12.1.2 I2C器件接口 162
12.2 I2C总线的数据传送 163
12.2.1 I2C总线数据操作有效性规定 163
12.2.2 I2C总线的数据传送格式 163
12.3 单片机的普通I/O口模拟I2C通信 165
12.3.1 I2C总线信号时序分析 165
12.3.2 I2C总线基本操作时序分析 167
12.4 I2C器件AT24C02的应用 169
12.4.1 I2C器件AT24C02简介 169
12.4.2 I2C器件AT24C02的读/写时序 170
12.4.3 用模块化编程对AT24C02进行操作 173
12.5 课后作业 179
第 13章 红外通信原理及应用 180
13.1 红外线简介 181
13.1.1 红外线 181
13.1.2 红外信号发生电路 181
13.1.3 红外信号接收电路 181
13.2 红外通信原理 182
13.2.1 红外基带信号发送协议 182
13.2.2 红外基带信号调制 184
13.2.3 红外信号解调 185
13.3 红外解码实例介绍 186
13.4 课后作业 190
第 14章 DS18B20测温原理及应用 191
14.1 DS18B20简介 192
14.1.1 DS18B20封装及引脚说明 192
14.1.2 功能特性 192
14.1.3 两种供电方式 193
14.2 DS18B20内部结构及功能 193
14.2.1 DS18B20内部结构 193
14.2.2 功能介绍 194
14.3 单总线简介 196
14.3.1 单总线概述 196
14.3.2 单总线信号类型 196
14.4 DS18B20时序过程 198
14.4.1 单总线初始化 198
14.4.2 ROM操作命令 198
14.4.3 存储器操作命令 198
14.4.4 数理处理 199
14.5 DS18B20应用实例 199
14.6 课后作业 203
第 15章 步进电机驱动原理及应用 204
15.1 步进电机概述 205
15.1.1 步进电机的认识 205
15.1.2 步进电机分类 205
15.1.3 步进电机的主要技术指标 205
15.2 步进电机工作原理 206
15.2.1 步进电机的驱动 206
15.2.2 步进电机的励磁方式 207
15.3 28BYJ-48步进电机应用 208
15.3.1 28BYJ-48步进电机参数 209
15.3.2 28BYJ-48步进电机驱动电路 209
15.3.3 步进电机应用实例 211
15.4 课后作业 213
第 16章 LED点阵驱动原理及应用 214
16.1 LED点阵简介 215
16.1.1 认识8×8点阵模块 215
16.1.2 8×8点阵与单片机连接 217
16.2 点阵的显示原理 217
16.2.1 点阵的静态显示 218
16.2.2 点阵的动态显示 219
16.3 点阵取模软件介绍 222
16.3.1 使用演示 223
16.3.2 术语介绍 225
16.3.3 应用举例 225
16.4 课后作业 228
第 17章 DS1302实时时钟与SPI通信原理 229
17.1 DS1302简介 230
17.1.1 功能特点 230
17.1.2 封装及引脚 230
17.1.3 DS1302的主要性能指标 230
17.1.4 DS1302与单片机连接电路 231
17.2 DS1302的寄存器及片内RAM 231
17.2.1 与日历、时钟相关寄存器 232
17.2.2 BCD码简介 233
17.2.3 控制寄存器 233
17.2.4 写保护寄存器 234
17.2.5 充电寄存器 234
17.3 DS1302数据读写时序及SPI通信原理 235
17.3.1 单字节写操作 235
17.3.2 单字节读操作 235
17.4 DS1302实例操作 236
17.5 课后作业 241
第 18章 蜂鸣器与继电器驱动原理及应用 242
18.1 蜂鸣器简介 243
18.1.1 蜂鸣器分类 243
18.1.2 有源蜂鸣器和无源蜂鸣器的特点 243
18.1.3 蜂鸣器选用基本要点 244
18.1.4 驱动电路 244
18.2 蜂鸣器应用实例 244
18.3 继电器简介 245
18.3.1 继电器工作原理 246
18.3.2 继电器常用参数 246
18.3.3 继电器的控制电路 247
18.4 继电器应用实例 248
18.5 课后作业 252
第 19章 PWM脉宽调制与直流电机调速 253
19.1 PWM简介 254
19.1.1 脉冲宽度调制(PWM)原理 254
19.1.2 占空比的概念 254
19.2 PWM应用实例 255
19.2.1 直流电机介绍 255
19.2.2 直流电机PWM调速原理 257
19.3 课后作业 261
第 20章 单片机系统设计——多功能万年历 262
20.1 项目功能概述 263
20.2 原理图构建 263
20.3 程序代码设计 265
第 21章 常用电子制作工具 289
21.1 焊接工具及材料 290
21.1.1 电烙铁 290
21.1.2 焊锡丝 291
21.1.3 辅助焊接工具 291
21.2 测量工具 292
21.2.1 万用表 292
21.2.2 示波器 295
附录 300
附录1 C语言优先级详细列表 301
附录2 ASCII表 303
参考文献 304
猜您喜欢