目 录
基 础 篇
第1章 单片机应用系统的设计与开发3
1.1 单片机应用系统的设计方法3
1.1.1 系统总体方案的确定4
1.1.2 应用系统的硬件设计5
1.1.3 应用系统的软件设计8
1.1.4 应用系统的抗干扰设计9
1.2 单片机应用系统的开发过程10
1.2.1 单片机的开发与开发工具10
1.2.2 单片机开发系统的功能11
1.2.3 单片机应用系统的调试、运行与维护13
第2章 KeilV808A和Proteus软件的使用18
2.1 uVision3集成开发环境18
2.2 KeilV808A的使用21
2.2.1 创建第一个KeilV808A的应用程序21
2.2.2 程序文件的编译与链接25
2.3 调试仿真功能的使用27
2.4 Protues ISIS设计与仿真平台28
2.4.1 界面简介29
2.4.2 Proteus文件操作34
2.5 Proteus库35
2.5.1 Proteus库分类35
2.5.2 部分模型举例38
2.5.3 库规则40
2.6 VSM源程序编辑器和代码生成工具45
2.7 单片机系统的Proteus设计与仿真基础46
2.7.1 Proteus设计与仿真流程46
2.7.2 Proteus电路设计48
2.7.3 源程序设计53
2.7.4 生成目标代码文件55
2.7.5 加载目标代码文件、设置时钟频率55
2.7.6 单片机系统的Proteus交互仿真56
2.7.7 Proteus 7.1与 Keil 8.0的联调方法56
2.8 单片机系统的Proteus源代码调试仿真58
2.8.1 存储器窗口58
2.8.2 观察窗口应用59
第3章 单片机内部资源及其C语言编程62
3.1 中断系统62
3.1.1 中断系统介绍62
3.1.2 C51编写中断服务程序66
3.1.3 共用中断69
3.1.4 外部中断的扩充70
3.2 定时器/计数器72
3.2.1 定时器/计数器结构72
3.2.2 定时器/计数器的控制寄存器73
3.2.3 定时器/计数器工作模式74
3.2.4 定时器/计数器的初始化75
3.2.5 定时器/计数器综合应用76
3.3 并行I/O口77
3.3.1 并行I/O口77
3.3.2 编程实例82
3.4 串行口及其通信83
3.4.1 8051单片机的串行口结构83
3.4.2 串行口应用86
设 计 篇
第4章 单片机的实用单元电路设计93
4.1 USTH单片机学习板简介93
4.2 独立I/O口的单元电路设计95
4.2.1 硬件原理分析95
4.2.2 软件编程96
4.3 流水灯单元电路设计98
4.3.1 硬件原理分析99
4.3.2 软件编程100
4.4 LED数码管静态显示单元电路设计100
4.4.1 硬件原理分析101
4.4.2 软件编程102
4.5 LED数码管动态显示单元电路设计103
4.5.1 硬件原理分析103
4.5.2 软件编程104
4.6 蜂鸣器发声单元电路设计107
4.6.1 硬件原理分析107
4.6.2 软件编程108
4.7 矩阵键盘识别电路109
4.7.1 硬件原理分析109
4.7.2 软件编程111
4.8 定时器中断电路113
4.8.1 硬件原理分析113
4.8.2 软件编程118
4.9 模数转换ADC0804单元电路设计122
4.9.1 硬件原理分析122
4.9.2 软件编程124
4.10 数模转换DAC0832单元电路设计127
4.10.1 硬件原理分析127
4.10.2 软件编程130
4.11 1602字符液晶显示单元电路设计131
4.11.1 硬件原理分析131
4.11.2 软件编程134
4.12 12864图形点阵液晶显示单元电路设计137
4.12.1 硬件原理分析137
4.12.2 软件编程139
4.13 带有I2C总线的AT24C04单元电路设计145
4.13.1 硬件原理分析146
4.13.2 软件编程148
4.14 串行口通信单元电路设计152
4.14.1 硬件原理分析152
4.14.2 软件编程157
4.15 LED点阵显示单元电路设计159
4.15.1 硬件原理分析159
4.15.2 软件编程159
4.16 单片机控制继电器单元电路设计161
4.16.1 硬件原理分析161
4.16.2 软件编程162
4.17 红外接收单元电路设计163
4.17.1 硬件原理分析163
4.17.2 软件编程164
应 用 篇
第5章 DS18B20数字温度计设计169
5.1 功能要求169
5.2 总体设计169
5.3 硬件电路设计169
5.3.1 温度传感器工作原理171
5.3.2 DS18B20与单片机的接口电路172
5.3.3 显示电路173
5.4 软件设计173
5.4.1 主函数173
5.4.2 DS18B20复位函数173
5.4.3 DS18B20写字节函数174
5.4.4 DS18B20读字节函数174
5.4.5 温度计算转换函数175
5.4.6 DS18B20的主要ROM命令175
5.4.7 温度数据的计算处理方法176
5.5 源程序清单176
第6章 无线数据传输系统设计182
6.1 功能要求182
6.2 总体设计182
6.3 发射电路硬件设计183
6.3.1 nRF401无线收发芯片介绍183
6.3.2 A/D转换模块设计185
6.3.3 单片机控制模块设计188
6.3.4 无线射频模块设计189
6.3.5 电源模块设计190
6.4 接收电路硬件设计191
6.4.1 单片机控制模块设计191
6.4.2 显示模块设计191
6.4.3 接口模块设计193
6.5 发射电路的软件设计193
6.6 接收电路的软件设计198
第7章 具有实时语音播报的超声波测距仪209
7.1 设计任务209
7.2 总体设计210
7.2.1 超声波测距原理210
7.2.2 超声波速度的确定210
7.2.3 超声波测距仪总体设计211
7.3 硬件电路设计211
7.3.1 元器件的选择211
7.3.2 发射电路设计212
7.3.3 接收电路设计213
7.3.4 语音播报电路设计214
7.3.5 LCD显示电路设计215
7.3.6 单片机控制电路设计218
7.4 软件设计219
7.5 系统测试220
7.6 源程序清单221
第8章 太阳能动态限速标志设计233
8.1 动态限速标志工作原理233
8.2 总体设计234
8.3 硬件电路设计234
8.3.1 CPU234
8.3.2 显示器235
8.3.3 键盘236
8.3.4 位置检测236
8.3.5 电动机控制238
8.3.6 列车通过次数计数电路239
8.4 软件设计239
8.4.1 主程序239
8.4.2 显示程序2402100433B