第1章 基础知识 1
1.1 单片机的概念和应用领域 1
1.2 单片机应用系统的组成 2
1.3 单片机应用系统的硬件与软件开发特点 3
1.4 单片机应用系统的软件开发步骤 4
1.5 MCS-51单片机的主要引脚 15
1.6 晶振电路和复位电路 17
1.7 电平 18
1.8 数制及其转换 19
1.9 单片机C语言基础 20
1.9.1 数据类型 20
1.9.2 常量和变量 21
1.9.3 C语言的运算符 23
1.9.4 C语言程序基本结构 24
思考题1 27
第2章 发光二极管的显示输出 28
2.1 发光二极管 28
2.2 点亮一只发光二极管 29
2.2.1 硬件电路 29
2.2.2 源程序及其结构分析 30
C语言知识sfr和sbit 33
C语言知识 赋值语句 35
实例1使用P1口 38
实例2使用P0口 39
2.3 一只闪烁的发光二极管 39
C语言知识 循环语句 40
2.3.1 源程序及其结构分析 42
C语言知识 宏 43
C语言知识 注释 43
2.3.2 for循环延时时间的测量 44
2.3.3 延时子函数及其调用 46
2.4 流水灯 49
2.4.1 硬件电路 49
2.4.2 源程序 50
2.4.3 使用数组查表方法实现流水灯 51
C语言知识 数组 51
2.4.4 使用位运算中的左/右移位方法 53
2.5 蜂鸣器控制和继电器控制 55
思考题2 57
第3章 数码管显示输出 59
3.1 数码管的结构与分类 59
3.1.1 数字和字符的数码管显示图样 60
3.1.2 共阳和共阴数码管 60
3.2 数码管的显示输出原理 61
3.2.1 共阳数码管的显示输出原理 61
3.2.2 共阴数码管的显示输出原理 62
实例2 用数码管静态显示 64
实例3 用数码管动态显示字符(1) 66
实例4 用数码管动态显示字符(2) 67
实例5 用数码管动态显示时间 70
思考题3 72
第4章 键盘输入及中断 73
4.1 独立按键 74
实例5 按键计数 75
C语言知识if语句 76
实例6 多个按键的识别 80
C语言知识switch语句 82
实例7 用一键实现多功能按键 83
4.2 矩阵键盘 85
实例8 4×4矩阵键盘序号显示 86
4.3 中断 92
4.3.1 中断的概念 92
4.3.2 单片机中使用中断的意义 93
4.3.3 单片机的中断源 93
实例9 使用外部中断控制数字显示 93
4.3.4 单片机的外部中断 96
C语言知识 中断服务子函数 98
实例10 有优先级的外部中断控制数字显示 99
4.4 定时器/计数器 102
4.4.1 定时器/计数器的基本概念 102
实例11 定时器工作在方式1下的电子钟设计 103
4.4.2 机器周期与外接晶振频率的关系 106
4.4.3 定时器的工作原理 107
4.4.4 与定时器有关的寄存器 108
实例12 定时器工作在方式2下的电子钟设计 110
4.4.5 定时器/计数器初值的计算与装载 112
实例13 定时器工作在查询方式下的电子钟设计 113
思考题4 115
第5章 液晶显示输出 116
5.1 1602/0802字符液晶显示输出 116
5.1.1 1602/0802字符型液晶的引脚定义 117
5.1.2 1602/0802液晶的特点与使用 117
实例14 1602液晶的字符显示 119
5.2 不带字库12864液晶显示输出 121
5.2.1 12864点阵液晶的引脚功能 121
5.2.2 12864点阵液晶的特点与使用 122
实例15 无字库12864液晶的显示输出 124
5.2.3 51单片机存储器类型和数据的存储类型 136
5.2.4 存储器映像寻址 137
5.2.5 对片外存储器的访问 137
5.3 带字库12864液晶显示输出 138
5.3.1 带字库12864液晶的引脚功能 138
5.3.2 带字库12864液晶的特点与使用 139
实例16 并行工作方式下带字库12864液晶显示输出 142
实例17 串行工作方式下带字库12864液晶显示输出 147
思考题5 150
第6章 LED点阵显示输出 151
6.1 8×8LED点阵显示输出 151
6.1.1 初识8×8LED点阵 151
6.1.2 8×8LED点阵的显示原理 153
实例18 8×8LED点阵显示输出 154
实例19 8×8LED点阵显示运动的箭头 158
6.2 16×16LED点阵显示输出 160
6.2.1 用8×8LED点阵模块搭建16×16LED点阵 160
6.2.2 16×16LED点阵的驱动 160
实例20 16×16LED点阵屏显示汉字 162
6.3 32×64LED点阵显示输出 166
实例21 使用32×64LED点阵显示汉字 168
思考题6 171
第7章 A/D转换 172
7.1 A/D转换器的转换分辨率和时间 172
7.2 ADC0809的功能与使用 173
实例22 模拟口线方式下ADC0809模数转换 175
实例23 总线控制方式下ADC0809模数转换 178
C语言知识 指针 181
7.3 AD574的功能与使用 186
7.3.1 AD574的引脚功能 186
7.3.2 AD574控制逻辑及特点 188
实例24 总线控制方式下AD574单极性模数转换 190
实例25 模拟口线方式下AD574单极性模数转换 193
7.4 ADC0832的功能特点与使用 196
7.4.1 ADC0832的引脚功能 196
7.4.2 ADC0832的特点 197
实例26 用ADC0832实现A/D转换 198
7.5 TLC2543的功能特点与使用 201
7.5.1 TLC2543的引脚功能 201
7.5.2 TLC2543的特点 202
实例27 用TLC2543实现A/D转换 204
思考题7 207
第8章 D/A转换 208
8.1 D/A转换器的分辨率和建立时间 208
8.2 DAC0832的功能特点与使用 209
实例28 多种工作模式下的DAC0832数模转换 211
实例29 用两片DAC0832实现多模式数模转换 214
8.3 AD7237的结构功能及特点 217
实例30 AD7237数模转换 221
8.4 TLV5625的功能特点与使用 224
实例31 TLV5625数模转换 227
8.5 AD7543的引脚功能与使用 229
实例32 AD7543数模转换 231
思考题8 232
第9章 串口通信 233
9.1 串行通信的分类 233
9.2 串行通信的制式 234
9.3 单片机的串口缓冲器和工作寄存器 235
9.3.1 串口缓冲器SBUF 235
9.3.2 串行口的工作寄存器 235
9.3.3 串行口工作方式 237
9.3.4 波特率 238
实例33 单片机间的串行通信 239
9.4 单片机多机通信 242
实例34 三个单片机间的通信与显示控制 243
9.5 单片机与PC间通信 250
实例35 单片机向PC发送和显示数据 253
实例36 PC向单片机发送数据 255
思考题9 257
第10章 步进电机控制 258
10.1 步进电机的工作原理与控制 258
10.1.1 步进电机的分类 258
10.1.2 步进电机的工作原理 259
10.1.3 步进角和励磁线圈通电方式 259
10.1.4 步进电机的驱动电路 261
10.2 步进电机的线路连接 270
10.2.1 二相四线步进电机 270
10.2.2 4相6线步进电机 270
10.2.3 4相8线步进电机 270
实例37 用独立按键控制步进电机的转速 271
思考题10 275
第11章 使用DS18B20温度传感器测温 276
11.1 DS18B20温度传感器 276
11.2 DS 18B20温度传感器的测温工作原理 277
11.2.1 DS 18B20内部的存储器 277
11.2.2 DS 18B20的指令 279
11.2.3 DS18B20的通信规则 280
11.2.4 DS18B20的初始化、数据读写操作时序 280
实例38 用一片DS/8B20实现温度测量 283
实例39 用四片DS18B20实现温度测量 287
思考题11 292
第12章 使用DS12C887设计高精度时钟 293
12.1 时钟芯片DS 12C887的特性与引脚功能 293
12.2 DS12C887实时时钟芯片工作原理 295
12.2.1 DS12C887内部的存储器 296
12.2.2 DS12C887工作时序分析 299
实例40 可调高精度时钟设计 300
实例41 具有闹铃功能的高精度时钟设计 310
思考题12 317
第13章 I2C总线和语音芯片 318
13.1 单片机与I2C总线通信 318
13.1.1 I2C总线与单片机的连接和工作方式 318
13.1.2 I2C总线的通信协议 319
13.2 串行12C总线E2PROM芯片AT24C02 322
实例42 使用I2C总线通信对AT24C02进行数据读/写操作 325
13.3 XF-S4240A语音合成模块及应用 329
实例43 采用UART通信方式通过XF-S4240播放合成语音 332
实例44 采用SPI通信方式通过XF-S4240播放合成语音 334
实例45 采用I2C通信方式通过XF-S4240播放合成语音 336
实例46 采用I2C通信方式在AT24C02中存/取数据并使用XF-S4240播放合成语音 338
思考题13 342
附录A 常用字符与ASCII码对照表 343
附录B 单片机程序的下载烧片 344
参考文献 350