快速入门篇 2
第1章 什么是单片机 2
1.1什么是单片机 2
1.1.1单片机的外观 2
1.1.2单片机基本结构 2
1.1.3单片机名称的由来 3
1.2单片机的基本功能 3
1.2.1单片机的特点 3
1.2.2单片机内部功能 3
1.2.3单片机的应用 4
1.3单片机的分类 4
1.3.1单片机的分类 4
1.3.2入门学习选择的单片机 5
1.3.3 80C51与AT89C51的区别 5
第2章 建立单片机开发环境 7
2.1单片机开发流程 7
2.2必备工具 7
2.2.1计算机 7
2.2.2 51单片机编程器 8
2.2.3实验板 9
2.2.4集成开发系统软件 9
2.3 Keil C51的安装 10
第3章 单片机工作的基本原理 11
3.1 80C51单片机引脚简介 11
3.2单片机工作的基本条件 12
3.3单片机的存储器 13
3.3.1单元与位 13
3.3.2字、字节和数制 14
3.3.3程序存储器 15
3.3.4数据存储器 15
3.4单片机工作的基本原理 16
3.4.1实例电路 17
3.4.2引脚与寄存器的关系 17
3.4.3单片机中0和1的作用 18
3.4.4工作基本原理 19
第4章 举例简述开发过程 20
4.1一个简单的单片机程序 20
4.1.1目的 20
4.1.2工作原理 20
4.1.3用汇编语言编写程序 20
4.2使用KeilC51编译/汇编 21
4.2.1编写源程序 22
4.2.2建立工程项目文件 22
4.2.3产生可执行的HEX文件 25
4.3把目标文件写入单片机 25
4.3.1选择单片机型号 25
4.3.2擦除器件 26
4.3.3打开文件 26
4.3.4写入文件 27
4.4在实验板上测试 27
4.5 Keil C51中的软件仿真 28
4.5.1仿真的一般步骤 28
4.5.2仿真举例说明 29
4.5.3几个常用命令使用区别 30
第5章 单片机编程语言简述 31
5.1单片机编程语言 31
5.1.1汇编语言 31
5.1.2 C语言 31
5.1.3 BASIC语言 32
5.1.4相同点 32
5.2 80C51单片机指令系统 32
5.2.1指令的分类 32
5.2.2指令格式 33
5.2.3学指令技巧 34
5.3常用的伪指令 34
5.3.1常用的伪指令 34
5.3.2伪指令使用举例 34
典型实例篇 38
第6章 LED花样变换 38
6.1点亮一只灯 38
6.1.1电路图 38
6.1.2工作原理 39
6.1.3 程序流程 39
6.1.4程序清单 39
6.1.5边用边学 40
6.1.6模拟仿真 40
6.1.7实验板上测试 41
6.2延时模块设计 41
6.2.1延时的基本原理 41
6.2.2短暂延时 41
6.2.3较长时间延时 42
6.2.4对延时程序的改进 43
6.3亮灯左移 43
6.3.1工作原理 43
6.3.2程序流程 44
6.3.3程序清单 44
6.3.4边用边学 45
6.3.5模拟仿真 46
6.3.6实验板上测试 46
6.4双灯右移 47
6.4.1工作原理 47
6.4.2程序流程 48
6.4.3程序清单 48
6.4.4边用边学 49
6.4.5模拟仿真 49
6.4.6实验板上测试 50
6.5编码LED花样 50
6.5.1工作原理 50
6.5.2程序流程 51
6.5.3程序清单 52
6.5.4边用边学 52
6.5.5模拟仿真 53
6.5.6实验板上测试 53
6.6跑马灯 54
6.6.1电路图 54
6.6.2工作原理 55
6.6.3程序流程 55
6.6.4程序清单 56
6.6.5模拟仿真 57
6.6.6实验板上测试 57
6.7工作指示灯 58
6.7.1电路图 58
6.7.2工作原理 59
6.7.3程序流程 59
6.7.4程序清单 60
6.7.5边用边学 60
6.7.6模拟仿真 60
第7章 LED数码管的应用 62
7.1数码管工作原理 62
7.1.1结构与原理 62
7.1.2数码管分类 62
7.1.3数码管引脚 63
7.1.4数码管显示码 63
7.2数码管静态显示 64
7.2.1电路图 64
7.2.2工作原理 65
7.2.3程序流程图 65
7.2.4程序清单 66
7.2.5边用边学 66
7.2.6模拟仿真 66
7.2.7实验板上测试 67
7.3循环显示O~F 67
7.3.1工作原理 67
7.3.2程序流程图 68
7.3.3程序清单 68
7.3.4模拟仿真 69
7.3.5实验板上测试 70
7.4两位数码管显示00~99 70
7.4.1电路图 70
7.4.2工作原理 71
7.4.3程序流程图 72
7.4.4程序清单 72
7.4.5边用边学 73
7.4.6模拟仿真 73
7.4.7实验板上测试 74
第8章 开关输入控制 75
8.1 DIP开关控制LED 75
8.1.1电路图 75
8.1.2工作原理 76
8.1.3程序流程图 76
9.1.4程序清单 77
8.1.5模拟仿真 77
8.1.6实验板上测试 78
8.2. 4位DIP开关控制数码管 78
8.2.1电路图 78
8.2.2工作原理 79
8.2.3程序流程图 79
8.2.4程序清单 80
8.2.5边用边学 80
8.2.6模拟仿真 81
8.2.7实验板上测试 81
8.3按键开关指示灯 82
8.3.1电路图 82
8.3.2工作原理 82
8.3.3程序流程图 83
8.3.4程序清单 84
8.3.5边用边学 84
8.3.6模拟仿真 84
8.3.7实验板上测试 85
8.4键盘控制概述 85
8.4.1按键的特性 85
8.4.2键盘输入中要解决的问题 86
8.4.3独立按键式键盘 86
8.4.4矩阵式按键键盘 87
8.5独立式键盘控制灯移动 87
8.5.1电路图 87
8.5.2工作原理 87
8.5.3程序流程图 88
8.5.4程序清单 89
8.5.5模拟仿真 90
8.5.6实验板上测试 91
8.6矩阵式键盘控制显示器 91
8.6.1电路图 91
8.6.2工作原理 92
8.6.3程序流程图 93
8.6.4程序清单 93
8.6.5边用边学 95
8.6.6模拟仿真 95
8.6.7实验板上测试 96
第9章 中断的应用 97
9.1中断的控制功能 97
9.1.1什么是中断 97
9.1.2中断处理过程 97
9.1.3中断源及入口地址 98
9.2中断的设置 99
9.2.1中断允许控制寄存器IE 99
9.2.2中断优先级控制寄存器IP 100
9.2.3定时器控制寄存器TCON 100
9.2.4串行口控制寄存器SCON 101
9.3外部中断控制灯闪烁 101
9.3.1电路图 101
9.3.2工作原理 102
9.3.3程序流程图 102
9.3.4程序清单 103
9.3.5边用边学 104
9.3.6模拟仿真 105
9.3.7实验板上测试 105
9.4多级中断控制灯移动 106
9.4.1电路图 106
9.4.2工作原理 107
9.4.3程序流程图 107
9.4.4程序清单 107
9.4.5模拟仿真 109
9.4.6实验板上测试 110
第10章 定时器/计数器 111
10.1概述 111
10.1.1定时器/计数器的用途 111
10.1.2定时器/计数器的结构 111
10.1.3定时计数器的工作原理 112
10.2定时器/计数器的控制寄存器 112
10.2.1工作模式控制寄存器TMOD 113
10.2.2定时器控制寄存器TCON 113
10.2.3 4种工作模式的特点 114
10.3定时器/计数器的设置 114
10.3.1模式0的初始化步骤 114
10.3.2模式1的初始化步骤 114
10.3.3模式2的初始化步骤 115
10.3.4模式3的初始化步骤 115
10.4使用定时器延时 116
10.4.1电路图 116
10.4.2工作原理 117
10.4.3程序流程图 117
10.4.4程序清单 118
10.4.5模拟仿真 118
10.4.6实验板上测试 119
10.5定时器加软件计数延时 120
10.5.1电路图 120
10.5.2工作原理 120
10.5.3程序流程图 121
10.5.4程序清单 121
10.5.5边用边学 122
10.5.6模拟仿真 122
10.5.7实验板上测试 122
10.6定时与计数演示灯 123
10.6.1电路图 123
10.6.2工作原理 124
10.6.3程序流程图 124
10.6.4 程序清单 125
10.6.5实验板上测试 126
第11章 串行通信的应用 127
11.1概述 127
11.1.1单片机串行通信的作用 127
11.1.2串行通信中双方基本约定 127
11.1.3串行口的结构和通信过程 127
11.2串行口的控制 128
11.2.1电源控制寄存器PCON 128
11.2.2串行口控制寄存器SCON 129
11.2.3串行口4种工作方式 130
11.3输出端口的扩充 130
11.3.1电路图 130
11.3.2 74IS164芯片 131
11.3.3工作原理 131
11.3.4程序流程图 132
11.3.5程序清单 133
11.3.6模拟仿真 133
11.3.7实验板上测试 134
11.4输入端口的扩充 135
11.4.1电路图 135
11.4.2 74IS166芯片 135
11.4.3工作原理 136
11.4.4程序流程图 136
11.4.5程序清单 137
11.4.6实验板上测试 138
11.5单片机与计算机串口通信 138
11.5.1电路图 138
11.5.2工作原理 139
11.5.3程序流程图 139
11.5.4程序清单 140
11.5.5测试 141
第12章 声音的产生及其应用 142
12.1声音的产生 142
12.1.1电路图 142
12.1.2工作原理 142
12.1.3程序流程图 143
12.1.4程序清单 143
12.1.5实验板上测试 144
12.2手控报警器 144
12.2.1电路图 145
12.2.2工作原理 145
12.2.3程序流程图 145
12.2.4程序清单 146
12.2.5实验板上测试 147
12.3歌曲演奏 147
12.3.1演奏器原理 147
12.3.2节拍、音符与频率表 148
12.3.3歌谱及建立编码表 148
12.3.4程序流程图 149
12.3.5程序清单 149
12.3.6边用边学 151
12.3.7模拟仿真 151
12.3.8实验板上测试 152
第13章 液晶显示器(LCD)的应用 153
13.1液晶显示器 153
13.1.1液晶显示器的外形 153
13.1.2 LCD模块引脚 153
13.1.3寄存器及显示器地址 154
13.1.4 LCD控制指令 155
13.2用LCD显示“OK” 156
13.2.1电路图 156
13.2.2工作原理 157
13.2.3程序流程图 157
13.2.4程序清单 157
13.2.5实验板上测试 159
13.3 LCD显示两行字符 159
13.3.1工作原理 159
13.3.2程序流程图 160
13.3.3程序清单 160
13.3.4实验板上测试 161
13.4 LCD循环显示字符串 162
13.4.1工作原理 162
13.4.2程序流程图 162
13.4.3程序清单 163
13.4.4实验板上测试 165
13.5 LCD显示自建图形 166
13.5.1自编图形原理 166
13.5.2程序流程图 166
13.5.3程序清单 167
13.5.4实验板上测试 169
第14章 A/D、D/A转换及应用 170
14.1信号转换概述 170
14.1.1模拟信号 170
14.1.2数字信号 170
14.1.3信号转换 171
14.2数字/模拟信号转换程序 171
14.2.1电路图 171
14.2.2工作原理 172
14.2.3程序流程图 172
14.2.4程序清单 173
14.2.5实验板上测试 173
14.3开关控制输出电压 174
14.3.1电路图 174
14.3.2程序流程图 174
14.3.3程序清单 175
14.3.4实验板上测试 175
14.4输出255阶的锯齿波 176
14.4.1程序流程图 176
14.4.2程序清单 176
14.4.3实验板上测试 177
14.5模拟/数字转换器件DS18B20 177
14.5.1温度传感器DS18B20 177
14.5.2与单片机的连接方式 177
14.5.3 DS18B20的主要特性 178
14.5.4内部结构 179
14.5.5 DS18B20通信协议 179
14.6数字温度计 180
14.6.1电路图 180
14.6.2程序流程图 181
14.6.3程序清单 181
14.6.4实验板上测试 184
第15章 步进电动机控制电路 185
15.1步进电动机工作原理 185
15.1.1步进电动机外形 185
15.1.2步进电动机分类 185
15.1.3工作原理 186
15.1.4激磁方式 186
15.1.5驱动电路 186
15.2使步进电动机正转 187
15.2.1电路图 187
15.2.2工作原理 188
15.2.3程序流程图 188
15.2.4程序清单 188
15.2.5模拟仿真 189
15.2.6实验板上测试 190
15.3使步进电动机反转 190
15.3.1工作原理 190
15.3.2程序流程图 190
15.3.3程序清单 191
15.3.4模拟仿真 192
15.4步进电动机增速与减速 192
15.4.1工作原理 192
15.4.2程序流程图 193
15.4.3程序清单 193
15.4.4模拟仿真 194
15.5按键控制步进电动机运转 195
15.5.1电路图 195
15.5.2工作原理 196
15.5.3程序流程图 196
15.5.4程序清单 197
15.5.5模拟仿真 199
15.5.6实验板上测试 199
第16章 PWM控制 200
16.1产生PWM脉冲 200
16.1.1电路图 200
16.1.2工作原理 200
16.1.3程序流程图 201
16.1.4程序清单 201
16.1.5实验板上测试 202
16.2三相PWM控制LED 202
16.2.1电路图 202
16.2.2工作原理 203
16.2.3程序流程图 203
16.2.4程序清单 204
16.2.5实验板上测试 205
16.3 PWM控制LED增减光 206
16.3.1电路图 206
16.3.2工作原理 206
16.3.3程序清单 207
16.3.4模拟仿真 208
16.3.5实验板上测试 209
第17章 红外线遥控 210
17.1红外线遥控原理 210
17.1.1红外线遥控系统结构 210
17.1.2编码方式与解码原理 211
17.1.3红外接收模块 212
17.2 LED显示遥控器按键值 213
17.2.1电路图 213
17.2.2工作原理 213
17.2.3程序流程图 214
17.2.4程序清单 214
17.2.5实验板上测试 216
17.3简易红外线遥控开关 217
17.3.1电路图 217
17.3.2工作原理 218
17.3.3程序流程图 218
17.3.4程序清单 219
第18章 无线电遥控 222
18.1无线电遥控原理 222
18.1.1无线电发射原理 222
18.1.2无线电接收原理 222
18.1.3 PT2262/PT2272的特点 223
18.2显示无线电遥控器按键值 224
18.2.1电路图 224
18.2.2工作原理 225
18.2.3程序流程图 225
18.2.4程序清单 226
18.2.5实验板上测试 227
18.3无线电遥控开关 228
18.3.1电路图 228
18.3.2工作原理 229
18.3.3程序流程图 229
18.3.4程序清单 230
18.3.5实验板上测试 231
C51 语言基础篇 234
第19章 C51程序的基本结构 234
19.1概述 234
19.1.1 C语言与C51语言 234
19.1.2 C51语言编程优点 234
19.1.3 C51语言程序开发流程 234
19.2一个简单的C语言程序 235
19.2.1电路图 235
19.2.2工作原理 236
19.2.3源程序 236
19.2.4编写特点 237
19.3 C51程序的基本结构 237
19.3.1主函数 237
19.3.2 函数 238
19.3.3头文件 238
第20章 C51语言的数据与运算 239
20.1 C51语言的数据类型 239
20.1.1基本数据类型 239
20.1.2 C51语言扩展的数据类型 239
20.1.3基本类型修饰符 239
20.2常量与变量 240
20.2.1常量 240
20.2.2变量 241
20.2.3局部变量和全局变量 241
20.3数组与指针 242
20.3.1数组 242
20.3.2指针 242
20.3.3指针和一维数组 243
20.4 C51语言常用的运算符 243
20.4.1赋值运算符 244
20.4.2增量和减量运算符 244
20.4.3关系运算符 245
20.4.4逻辑运算符 245
20.4.5位运算符 246
20.4.6运算符的运算优先次序 247
第21章 C51语言流程控制语句 248
21.1 C51语言流程基本结构 248
21.1.1顺序结构 248
21.1.2选择结构 248
21.1.3循环结构 249
21.2选择语句 249
21.2.1流程控制语句分类 249
21.2.2条件选择语句 250
21.2.3多分支选择语句 251
21.2.4无条件转向语句 252
21.3循环语句 253
21.3.1 for循环语句 253
21.3.2 while循环语句 254
第22章 彩灯的控制 255
22.1彩灯闪烁 255
22.1.1电路图 255
22.1.2工作原理 256
22.1.3程序流程图 256
22.1.4程序清单 257
22.1.5模拟仿真 258
22.2延时时间的估算 258
22.2.1简单延时函数 258
22.2.2短暂延时函数 259
22.2.3较长时间延时函数 259
22.3彩灯逐渐被点亮 260
22.3.1工作原理 260
22.3.2程序清单 260
22.3.3模拟仿真 261
22.4彩灯左右移动 262
22.4.1工作原理 262
22.4.2程序清单 262
22.5采用编码实现彩灯变化 264
22.5.1工作原理 264
22.5.2程序流程图 264
22.5.3程序清单 265
第23章 开关输入的应用 267
23.1单开关指示灯 267
23.1.1电路图 267
23.1.2工作原理 268
23.1.3程序清单 268
23.2多开关指示灯 269
23.2.1电路图 269
23.2.2工作原理 269
23.2.3程序清单 270
23.3多路开关控制灯 271
23.3.1电路图 271
23.3.2工作原理 271
23.3.3程序清单 272
23.4按键次数显示灯 272
23.4.1电路图 273
23.4.2工作原理 273
23.4.3 程序清单 273
23.5一键多功能控制 274
23.5.1工作原理 274
23.5.2程序清单 275
第24章 简易报警器 276
24.1发出“嘀嘀”声 276
24.1.1电路图 276
24.1.2工作原理 276
24.1.3程序清单 277
24.2简易自动报警器 278
24.2.1电路图 278
24.2.2工作原理 278
24.2.3程序清单 278
24.3响声加闪光报警 280
24.3.1电路图 280
24.3.2工作原理 280
24.3.3程序清单 281
第25章 模拟交通灯控制 283
25.1采用定时器延时 283
25.1.1电路图 283
25.1.2定时器延时的特点 283
25.1.3工作原理 284
25.1.4程序清单 284
25.2灯交互闪烁 285
25.2.1电路图 285
25.2.2工作原理 286
25.2.3程序清单 286
25.3交通信号灯 287
25.3.1电路图 287
25.3.2工作原理 288
25.3.3程序清单 288
25.4改进信号灯控制 290
25.4.1电路图 290
25.4.2工作原理 290
25.4.3程序清单 291
第26章 发送与接收 293
26.1发送一个字符“A” 293
26.1.1电路图 293
26.1.2工作原理 293
26.1.3程序清单 294
26.2发送字符串“Hello!” 294
26.2.1工作原理 295
26.2.2程序清单 295
26.3接收计算机指令 296
26.3.1工作原理 296
26.3.2程序清单 297
26.4发送与接收的测试 297
26.4.1工作原理 298
26.4.2程序清单 298
第27章 LED字幕显示器 300
27.1静态显示单字 300
27.1.1电路图 300
27.1.2工作原理 300
27.1.3程序清单 302
27.1.4实验板上测试 304
27.2“字”闪烁显示 304
27.2.1工作原理 304
27.2.2程序清单 304
27.3流动显示多字 306
27.3.1工作原理 307
27.3.2程序清单 307
小制作篇 314
第28章 小遥控台 314
28.1红外线遥控七色小彩灯 314
28.1.1实物图及功能说明 314
28.1.2电路图 315
28.1.3组装 315
28.1.4工作原理 316
28.1.5 程序清单 316
28.2无线电遥控小鼓手 319
28.2.1实物图及功能说明 319
28.2.2电路图 320
28.2.3组装 321
28.2.4程序清单 321
第29章 无线电遥控小车 323
29.1系统总体方案介绍 323
29.1.1功能说明 323
29.1.2遥控小车实物图 323
29.1.3系统结构框图 324
29.2硬件设计 324
29.2.1车体介绍 325
29.2.2电动机驱动板 327
29.2.3 8051单片机接收控制板 331
29.3软件设计 333
29.3.1程序原理 333
29.3.2程序流程图 334
29.3.3程序清单 334
第30章 红外线遥控挖掘机 337
30.1系统总体方案介绍 337
30.1.1功能说明 337
30.1.2红外线遥控挖掘机实物图 337
30.1.3系统结构框图 338
30.2硬件设计 338
30.2.1车体介绍 338
30.2.2传动系统示意图 340
30.2.3挖掘机行走原理 340
30.2.4电动机驱动板及驱动电路 343
30.2.5 8051单片机接收控制板 347
30.2.6控制板和驱动板的连接 348
30.3软件设计 349
30.3.1程序原理 349
30.3.2程序流程图 349
30.3.3程序清单 350