任务1 单片机控制单灯亮灭 1
教学导航 1
任务单 2
任务准备 2
1.1 数制与编码 2
1.1.1 进位计数制 3
1.1.2 计算机中的常用编码 4
1.2 MCS-51单片机基本结构 5
1.2.1 单片机的内部结构 5
1.2.2 单片机CPU的结构 6
1.3 存储器的结构 8
1.3.1 程序存储器 8
1.3.2 内部数据存储器 9
1.3.3 外部数据存储器 10
1.4 并行输入/输出接口 10
1.4.1 并行I/O口的结构与功能 10
1.4.2 并行I/O口的使用特性 13
1.5 单片机芯片的引脚功能 14
案例1 单片机控制右侧发光二极管亮灭 16
案例2 仿真调试简单的C语言程序 21
任务实施 23
知识梳理与总结 23
练习题1 24
任务2 单片机控制流水灯 25
教学导航 25
任务单 26
任务准备 26
2.1 C51基础 27
2.1.1 C51的标识符和关键字 27
2.1.2 C51的数据类型 28
2.1.3 C51的运算量 34
2.1.4 C51运算符和表达式 38
2.2 C51语句 44
2.2.1 简单语句与复合语句 44
2.2.2 分支控制语句 45
2.2.3 循环控制语句 51
2.2.4 转移语句 57
2.3 C51函数与预编译处理 58
2.3.1 函数的定义 59
2.3.2 函数参数和返回值 61
2.3.3 函数的原型声明 63
2.3.4 函数的调用 64
2.3.5 内部函数与外部函数 65
2.3.6 预处理命令 66
2.4 单片机时钟电路及CPU时序 70
2.4.1 单片机时钟电路 70
2.4.2 CPU时序 71
案例3 单片机控制模拟广告流水灯 72
任务实施 74
知识梳理与总结 74
练习题2 75
任务3 以定时方式控制流水灯 76
教学导航 76
任务单 77
任务准备 77
3.1 中断系统 77
3.1.1 中断的概念与作用 78
3.1.2 MCS-51单片机中断系统 78
3.1.3 中断服务函数 83
案例4 蒸汽锅炉参数越限报警控制 86
3.2 定时器/计数器 87
3.2.1 定时器/计数器的结构 88
3.2.2 定时器/计数器工作方式 90
案例5 啤酒生产线自动装箱控制 94
案例6 以定时方式控制简单流水灯 97
任务实施 98
知识梳理与总结 98
练习题3 99
任务4 双单片机控制霓虹灯 101
教学导航 101
任务单 102
任务准备 103
4.1 串行通信基础 103
4.1.1 串行通信的分类 104
4.1.2 串行通信的传输方向 105
4.2 MCS-51单片机的串行接口 106
4.2.1 串行口的结构 106
4.2.2 串行口的工作方式 108
4.2.3 串行口的波特率 111
案例7 用单片机的扩展口控制流水灯 113
案例8 双单片机控制流水灯 115
任务实施 117
知识梳理与总结 118
练习题4 118
任务5 单片机控制简单交通灯 119
教学导航 119
任务单 120
任务准备 120
5.1 Keil μVision集成开发环境 120
5.1.1 Keil μVision的安装与软件开发流程 120
5.1.2 KeilμVision的使用方法 123
5.1.3 Keil μVision调试技巧 132
5.2 Proteus的使用 138
5.2.1 Proteus软件介绍 138
5.2.2 ISIS软件界面 139
5.2.3 绘制电路原理图的方法 144
5.2.4 Proteus和Keil的联调 149
5.3 单片机最小系统 154
5.3.1 单片机复位电路 155
5.3.2 单片机最小系统的组成 156
案例9 用单片机最小系统实现简单交通灯控制 157
任务实施 164
知识梳理与总结 164
练习题5 164
任务6 带时间显示的交通灯控制 165
教学导航 165
任务单 166
任务准备 166
6.1 单片机控制数码管显示 166
6.1.1 LED显示器的结构 166
6.1.2 显示字形与字段码关系 167
6.1.3 LED数码显示方式 168
6.2 数组 169
6.2.1 一维数组 170
6.2.2 二维数组 173
6.2.3 字符数组 179
案例10 设计计时器 179
6.3 指针 181
6.3.1 变量的地址 181
6.3.2 指针变量的概念 182
6.3.3 指针与一维数组 184
6.3.4 指针与二维数组 185
案例11 有时间显示的简单交通灯控制 185
任务实施 188
知识梳理与总结 189
练习题6 189
任务7 用单片机和可编程并行接口控制交通灯 190
教学导航 190
任务单 191
任务准备 191
7.1 MCS-51单片机的简单扩展 191
7.1.1 外部总线结构 191
7.1.2 地址锁存器和总线驱动器 192
7.1.3 并行I/O口简单扩展 194
案例12 用单片机扩展口控制秒表 194
案例13 用单片机扩展口控制流水灯 196
案例14 用单片机扩展输入口进行开关控制 197
7.2 存储器的扩展 198
7.2.1 程序存储器的扩展 198
7.2.2 数据存储器的扩展 203
7.2.3 存储器的综合扩展 206
7.3 8255A可编程并行I/O接口 207
7.3.1 8255A的结构及引脚 207
7.3.2 8255A的工作方式 209
7.3.3 8255A的控制字 211
7.3.4 8255A与单片机的典型连接电路 212
7.3.5 单片机应用系统设计方法 215
案例15 单片机控制简单智能设备 218
实例16 用单片机和8255A控制交通灯 220
任务实施 223
知识梳理与总结 224
练习题7 224
综合任务 温度报警器的设计与制作 226
教学导航 226
任务单 227
任务准备 227
8.1 液晶显示器显示 227
8.1.1 字符型LCM的特性及引脚功能 227
8.1.2 字符型LCM与单片机的连接 228
8.1.3 字符型LCM的指令集 229
案例17 英文字符的液晶显示控制 231
案例18 空调预置温度的显示控制 234
8.2 键盘与单片机的连接 236
8.2.1 按键及其抖动问题 236
8.2.2 独立式按键接口技术 237
8.2.3 矩阵式键盘接口技术 241
案例19 空调制冷系统预置温度控制 244
8.3 A/D接口技术 246
8.3.1 A/D转换基本知识 246
8.3.2 ADC的工作原理及应用 248
8.3.3 高精度ADC与单片机接口 251
案例20 单片机控制模拟电压的显示1 253
案例21 单片机控制模拟电压的显示2 255
案例22 单片机控制模拟电压的显示3 256
案例23 高精度ADC与单片机的接口 257
8.4 D/A接口技术 259
8.4.1 D/A转换基本知识 260
8.4.2 8位通用D/A转换器 260
案例24 单片机控制锯齿波输出 261
案例25 空调制冷系统环境温度检测控制 264
8.5 数字温度传感器 266
8.5.1 DS18B20的引脚及内部结构 266
8.5.2 DS18B20的读写操作 269
8.5.3 DS18B20的复位及读写时序 269
案例26 单片机与DS18B20传感器连接 270
案例27 单片机控制空调制冷系统设计 275
任务实施 280
知识梳理与总结 281
练习题8 281
综合实训 校园电子铃的设计与制作 282
附录A Protues元件库的中英文对照 284
附录B C51的库函数 285
附录C MCS-51单片机汇编语言指令系统 287
参考文献 308