第一部分 综合设计 2
第1章 单片机8路抢答器 2
1.1 功能要求 2
1.2 主要器件介绍——LED数码管显示器 2
1.3 硬件电路设计 4
1.3.1 LED数码管显示电路 4
1.3.2 按键电路 5
1.3.3 声音提示电路 5
1.3.4 单片机电路 6
1.4 程序设计 6
1.4.1 显示程序 6
1.4.2 按键扫描程序 7
1.4.3 报警程序模块 10
1.4.4 主程序模块 10
1.4.5 系统参考程序 11
1.5 功能扩展 21
第2章 LED数字电子钟 22
2.1 功能要求 22
2.2 硬件电路设计 22
2.2.1 数码管动态显示方式及时间显示电路 22
2.2.2 按键接口电路 24
2.2.3 单片机控制电路 24
2.3 系统程序设计 25
2.3.1 时钟计时程序 26
2.3.2 闰年大小月份判别函数 26
2.3.3 时钟显示和日期显示函数 27
2.3.4 按键调整时间函数 28
2.3.5 系统参考程序 29
2.4 功能扩展 33
第3章 超声波测距器的设计 34
3.1 功能要求 34
3.2 主要器件介绍 34
3.2.1 超声波传感器 34
3.3 硬件电路设计 36
3.3.1 超声波模块 37
3.3.2 单片机系统及显示电路 37
3.3.3 声音报警电路 38
3.4 系统的程序设计 39
3.4.1 测距分析 39
3.4.2 主程序 40
3.4.3 超声波测距程序 40
3.4.4 报警程序 41
3.4.5 系统的参考程序 42
3.5 功能扩展 45
第4章 数字温度计的设计 46
4.1 功能要求 46
4.2 主要器件介绍 46
4.3 硬件电路设计 52
4.3.1 单片机最小系统模块 53
4.3.2 显示模块 54
4.4 系统的程序设计 54
4.4.1 程序设计思路 54
4.4.2 系统参考程序 55
4.5 电路调试与功能扩展 59
第5章 液晶多功能电子台历的设计 60
5.1 功能要求 60
5.2 主要器件介绍 60
5.3 系统硬件电路设计 66
5.3.1 温度采集模块 67
5.3.2 时钟电路模块 68
5.3.3 LCD 12864液晶显示模块 68
5.3.4 键盘接口模块 69
5.4 系统的程序设计 70
5.4.1 总体程序流程框图 70
5.4.2 时钟调整时间的流程图 71
5.4.3 修改键“Key2”的程序流程图 72
5.4.4 系统参考程序 72
5.5 功能扩展 118
第6章 数控信号发生器设计 119
6.1 功能要求 119
6.2 主要器件介绍 119
6.3 硬件电路设计 120
6.4 系统程序设计 122
6.4.1 程序设计思路 122
6.4.2 系统参考程序 123
6.5 功能扩展 125
第7章 太阳能热水器控制器的设计 126
7.1 功能要求 126
7.2 主要器件介绍 126
7.3 系统硬件电路设计 128
7.3.1 水位检测处理模块 128
7.3.2 按键处理模块 130
7.3.3 电磁阀模块和电加热模块的接口电路 130
7.3.4 显示模块接口电路 131
7.4 系统程序设计 132
7.4.1 系统程序设计的总流程图 132
7.4.2 温度加热模块子程序流程图 132
7.4.3 水位控制子程序流程图 133
7.4.4 系统参考程序 133
7.5 功能扩展 141
第8章 数控直流稳压电源的设计 142
8.1 功能要求 142
8.2 硬件电路设计 142
8.2.1 系统设计框图及硬件电路 142
8.2.2 烧入模块 143
8.2.3 D/A模块 144
8.2.4 显示、按键模块 145
8.2.5 功率放大模块 147
8.2.6 采样模块 147
8.3 系统程序设计 148
8.3.1 系统主程序流程图 148
8.3.2 按键检测和键值分析程序流程图 148
8.3.3 TLV5616程序流程图 149
8.3.4 PID算法 150
8.3.5 1602显示 151
8.3.6 系统参考程序 152
8.4 功能扩展 161
第9章 智能交通灯控制系统设计 162
9.1 功能要求 162
9.2 主要器件介绍 162
9.3 硬件电路设计 162
9.4 软件设计 164
9.5 功能扩展 169
第10章 环境监测系统设计 170
10.1 功能要求 170
10.2 主要器件介绍 170
10.3 硬件电路设计 171
10.4 程序设计 173
10.5 功能扩展 178
第11章 LED调光器设计 179
11.1 功能要求 179
11.2 硬件电路设计 179
11.2.1 单片机控制电路 180
11.2.2 按键电路 182
11.2.3 继电器电路 182
11.2.4 LED驱动电路 182
11.2.5 电源电路 183
11.3 程序设计 184
11.3.1 PWM功能初始化 185
11.3.2 延时函数 185
11.3.3 按键处理函数 185
11.3.4 系统软件程序 188
11.4 扩展要求 191
第12章 智能电动小车设计 192
12.1 功能要求 192
12.2 主要器件介绍 192
12.3 硬件电路设计 193
12.3.1 单片机最小系统设计 193
12.3.2 寻迹模块电路设计 194
12.3.3 电动机驱动模块电路设计 195
12.3.4 舵机转向模块设计 196
12.3.5 电源模块电路设计 197
12.4 软件设计 198
12.5 功能扩展 203
第13章 触摸遥控器设计 204
13.1 功能要求 204
13.2 主要器件介绍 204
13.2.1 STC89C51RC/RD+系列单片机简介 204
13.2.2 3.2 寸液晶触摸屏S95163简介 205
13.3 硬件电路设计 207
13.3.1 单片机控制电路 208
13.3.2 3.2 寸彩色触摸屏模块电路 208
13.3.3 电源电路 209
13.3.4 串口模块电路 209
13.4 系统程序设计 210
13.4.1 部分关键函数说明 211
13.4.2 子界面1程序 212
13.4.3 子界面2程序 213
13.4.4 界面切换程序 213
13.4.5 串口通信程序 214
13.4.6 系统软件程序 216
13.5 扩展要求 221
第14章 Zigbee无线通信系统设计 222
14.1 功能要求 222
14.2 主要器件介绍 222
14.3 硬件电路设计 224
14.3.1 无线通信模块(SZ05模块) 225
14.3.2 单片机控制电路 230
14.3.3 串口模块电路 230
14.4 系统程序设计 231
14.5 扩展要求 234
第二部分 单片机基础实验 236
实验1 输入/输出端口的基本应用 236
1.1 实验目的 236
1.2 实验电路 236
1.3 实验内容 237
1.3.1 设计要求 237
1.3.2 延时程序的设计方法 237
1.3.3 输出口的控制 237
1.4 C语言参考源程序 237
1.5 思考题 238
实验2 中断系统的应用 239
2.1 实验目的 239
2.2 实验内容 239
2.2.1 实验电路1 239
2.2.2 实验电路2 240
2.3 思考题 242
实验3 定时/计数器的基本应用(一) 243
3.1 实验目的 243
3.2 实验电路 243
3.3 实验内容 243
3.4 程序设计流程图 244
3.5 C语言参考源程序 244
3.6 思考题 245
实验4 单片机串口通信接口的应用 246
4.1 实验目的 246
4.2 实验电路 246
4.3 实验内容 246
4.4 程序设计流程图 246
4.5 C语言参考程序 247
4.6 思考题 248
实验5 定时/计数器的基本应用(二) 249
5.1 实验目的 249
5.2 实验内容 249
5.3 程序设计 249
5.4 思考题 251
实验6 单片机显示接口 252
6.1 实验目的 252
6.2 实验电路 252
6.3 实验内容 253
6.4 C语言参考程序(设学号的后6位是140538) 253
6.5 思考题 253
实验7 单片机键盘的应用 254
7.1 实验目的 254
7.2 实验电路 254
7.3 实验内容 255
7.4 程序流程图 255
7.5 C语言参考源程序 255
7.6 思考题 256
实验8 数模转换的接口应用 257
8.1 实验目的 257
8.2 实验电路 257
8.3 实验内容 257
8.4 程序框图 258
8.5 输出锯齿波的C语言参考源程序 258
8.6 思考题 259
附录 260
一、Keil C软件使用简介 260
二、Keil C开发环境的使用举例 266
参考文献 273