第一篇 开发基础 3
第1章 51单片机入门 3
1.1 51单片机的硬件结构 3
1.1.1 引脚及其功能 3
1.1.2 硬件内部结构 5
1.2 51单片机工作方式和指令系统 23
1.2.1 单片机的工作方式 24
1.2.2 单片机的指令系统 27
第2章 51单片机常用开发工具 48
2.1 Keil编译器 48
2.1.1 Keil编译器开发流程 48
2.1.2 使用Keil开发应用软件 49
2.1.3 dScope for Windows的使用 54
2.2 Proteus ISIS仿真 59
2.2.1 Proteus ISIS的启动 59
2.2.2 Proteus ISIS工作界面 60
2.2.3 Proteus ISIS使用实例 62
第二篇 应用实例 73
第一部分 智能仪器仪表 73
第3章 数字频率计的设计 73
3.1 实例说明 73
3.2 设计思路分析 73
3.3 硬件设计 74
3.3.1 信号转换电路 74
3.3.2 分频电路 74
3.3.3 数据选择电路 76
3.3.4 单片机控制系统 77
3.3.5 显示电路 77
3.4 软件设计 78
3.4.1 数字频率计的算法设计 78
3.4.2 主程序流程 78
3.4.3 程序代码及注释 79
3.4.4 程序调试说明 86
3.5 实例总结 87
第4章 电子指南针的设计 88
4.1 实例说明 88
4.2 设计思路分析 89
4.3 硬件设计 90
4.3.1 磁场强度采集模块 90
4.3.2 单片机模块 93
4.3.3 通信电路模块 94
4.3.4 实时时钟模块 95
4.3.5 液晶显示模块 96
4.3.6 系统输入电路 97
4.4 软件设计 98
4.4.1 软件设计流程及说明 98
4.4.2 程序代码及注释 99
4.5 实例总结 106
第5章 智能数字采集仪表 107
5.1 实例说明 107
5.1.1 功能和技术指标 107
5.1.2 功能介绍和使用方法 107
5.2 设计思路分析 108
5.3 硬件设计 109
5.3.1 电压采集模块 109
5.3.2 控制按键和LED数码管显示模块 112
5.3.3 数据存储模块 114
5.3.4 实时时钟模块 115
5.3.5 RS485通信模块 116
5.3.6 电源供电模块 119
5.3.7 单片机模块 120
5.4 软件设计 122
5.4.1 软件流程 122
5.4.2 各功能软件模块 123
5.5 实例总结 137
第二部分 自动工业控制 138
第6章 超声波测距系统 138
6.1 实例说明 138
6.2 设计思路分析 139
6.3 硬件设计 140
6.3.1 单片机控制部分 141
6.3.2 超声波发射部分 144
6.3.3 超声波接收部分 146
6.3.4 温度采集部分 147
6.3.5 红外遥控部分 148
6.3.6 LCD显示部分 148
6.3.7 电源部分 149
6.4 软件设计 150
6.5 实例总结 163
第7章 公路温度采集存储器 164
7.1 实例说明 164
7.1.1 应用背景 164
7.1.2 功能和技术指标 164
7.2 设计思路分析 165
7.2.1 系统设计的关键问题 165
7.2.2 系统总体结构 166
7.3 硬件设计 167
7.3.1 电源模块 167
7.3.2 单片机最小系统 168
7.3.3 温度采集模块 169
7.3.4 数据保存模块 171
7.3.5 时钟模块 172
7.3.6 液晶显示模块 173
7.3.7 继电器模块 173
7.3.8 键盘输入和串口通信模块 174
7.4 软件设计 175
7.4.1 软件流程 175
7.4.2 中断服务子程序 178
7.4.3 液晶显示 179
7.4.4 时钟模块 181
7.4.5 数据保存 182
7.4.6 温度采集 187
7.4.7 键盘扫描 190
7.4.8 主函数 193
7.5 实例总结 194
第8章 晶闸管数字触发器 195
8.1 实例说明 195
8.1.1 应用背景 195
8.1.2 功能和技术指标 197
8.2 设计思路分析 197
8.2.1 设计的关键问题 197
8.2.2 总体设计方案 199
8.3 硬件设计 200
8.3.1 同步信号取样电路 200
8.3.2 单片机最小系统 202
8.3.3 双窄脉冲形成模块 202
8.3.4 脉冲隔离放大电路 204
8.3.5 A/D采样电路 204
8.3.6 数码管显示模块 207
8.3.7 按键输入模块 207
8.4 软件设计 207
8.4.1 数字触发器的工作过程 208
8.4.2 主函数及流程 209
8.4.3 按键扫描子程序 210
8.4.4 A/D采样子程序 211
8.4.5 数码管显示子程序 212
8.4.6 外部中断0子程序 213
8.4.7 定时器0中断服务子程序 214
8.4.8 定时器1中断服务子程序 215
8.5 实例总结 216
第三部分 数字消费电子 217
第9章 简易音乐播放器系统设计 217
9.1 实例说明 217
9.2 设计思路分析 217
9.3 硬件设计 218
9.4 软件设计 219
9.4.1 软件设计思想 219
9.4.2 程序设计流程 221
9.4.3 程序代码及注释 221
9.5 实例总结 225
第10章 单片机控制的数字FM收音机 226
10.1 实例说明 226
10.2 设计思路分析 227
10.3 硬件设计 227
10.3.1 单片机模块 228
10.3.2 FM模块 229
10.3.3 功放模块 238
10.4 软件设计 239
10.4.1 软件设计流程 239
10.4.2 程序代码及注释 240
10.5 实例总结 249
第11章 具有语音报时功能的电子时钟系统 250
11.1 实例说明 250
11.2 设计思路分析 251
11.3 硬件设计 251
11.3.1 系统电源模块 251
11.3.2 单片机模块 252
11.3.3 LED显示模块 254
11.3.4 时钟电路模块 255
11.3.5 语音报时模块 257
11.3.6 按键控制模块 261
11.4 软件设计 262
11.4.1 电子时钟的算法 262
11.4.2 程序流程图 264
11.4.3 程序代码及注释 264
11.5 实例总结 283
第四部分 网络与通信 284
第12章 无线交通灯控制系统 284
12.1 实例说明 284
12.2 设计思路分析 285
12.3 硬件设计 285
12.3.1 单片机模块 285
12.3.2 无线收发模块 289
12.3.3 三色LED灯模块 293
12.3.4 数码管显示模块 294
12.3.5 电源模块 295
12.4 软件设计 296
12.4.1 程序设计流程 297
12.4.2 程序代码及注释 298
12.5 实例总结 302
第13章 GPS经纬度信息显示系统的设计 304
13.1 实例说明 304
13.2 设计思路分析 304
13.2.1 GPS OEM板组成结构及原理 304
13.2.2 GPS接收机的数据格式 306
13.3 硬件设计 307
13.3.1 单片机模块 307
13.3.2 GPS接收模块 308
13.3.3 LCD1602显示模块 309
13.4 软件设计 312
13.5 实例总结 317
第五部分 汽车与医疗电子 318
第14章 公交车自动报站系统设计 318
14.1 实例说明 318
14.2 设计思路分析 319
14.2.1 红外线发射和接收模块 319
14.2.2 单片机模块 319
14.2.3 语音模块 319
14.3 硬件设计 320
14.3.1 单片机的选择和外围电路的设计 320
14.3.2 晶振电路 320
14.3.3 复位电路 321
14.3.4 显示和驱动电路的设计 321
14.3.5 放音电路的设计 326
14.4 软件设计 328
14.4.1 主程序流程 328
14.4.2 信号查询子程序 328
14.4.3 语音播报子程序 329
14.4.4 数据发送子程序 330
14.4.5 上电、掉电子程序 331
14.4.6 部分源代码 331
14.5 实例总结 345
第15章 汽车自动刹车系统设计 346
15.1 实例说明 346
15.2 设计思路分析 346
15.2.1 超声波测距原理 347
15.2.2 霍尔传感器测速原理 347
15.2.3 自动刹车原理 347
15.3 硬件设计 347
15.4 软件设计 351
15.4.1 软件流程 351
15.4.2 程序初始化与主程序 352
15.4.3 中断子程序 353
15.4.4 超声波发生子程序 354
15.4.5 显示子程序 354
15.4.6 延时子程序 355
15.5 实例总结 356
第16章 多功能智能电动小车设计 357
16.1 实例说明 357
16.2 设计思路分析 358
16.3 硬件设计 359
16.3.1 单片机模块 359
16.3.2 测速模块 360
16.3.3 路面检测模块 361
16.3.4 LCD显示模块 361
16.3.5 控制模块 362
16.3.6 模式选择模块 363
16.4 软件设计 364
16.4.1 软件设计流程 364
16.4.2 定时器和中断处理程序 364
16.4.3 LCD显示处理程序 370
16.4.4 主程序及注释 373
16.5 实例总结 390
第17章 医疗输液控制系统 391
17.1 实例说明 391
17.2 设计思路分析 392
17.3 硬件设计 393
17.3.1 单片机模块 393
17.3.2 系统电压监控、复位模块 394
17.3.3 按键模块电路 396
17.3.4 点滴检测电路 397
17.3.5 液面检测电路 397
17.3.6 LED数码管显示电路 398
17.3.7 报警电路 400
17.3.8 步进电机驱动模块 401
17.4 软件设计 402
17.4.1 主站程序设计 402
17.4.2 从站程序设计 403
17.4.3 液滴速度检测程序 408
17.5 实例总结 410
参考文献 411