项目1 熟悉单片机操作环境 1
教学导航 1
任务1-1 Keil C51软件的使用 2
1.1 认识单片机 11
1.1.1 什么是单片机 11
1.1.2 单片机内部结构 13
任务1-2 一个LED发光二极管的闪烁控制 14
1.2 学习单片机的准备 18
1.2.1 单片机开发流程与工具 18
1.2.2 单片机的仿真学习与ISP下载实验板 19
知识梳理与总结 21
思考与练习题1 21
项目2 学习单片机硬件系统 22
教学导航 22
任务2-1 单片机控制蜂鸣器发声 23
2.1 8051的信号引脚 25
2.2 单片机最小系统电路 27
2.2.1 单片机时钟电路 27
2.2.2 单片机复位电路 28
2.3 51单片机的存储器结构 29
2.3.1 片内数据存储器 29
2.3.2 片外数据存储器 33
2.3.3 程序存储器 34
任务2-2 模拟汽车左右转向灯控制 35
2.4 单片机并行I/O端口 37
2.4.1 并行I/O端口电路结构 37
2.4.2 作为输入端口使用 38
2.4.3 作为输出端口使用 39
2.4.4 I/O端口的第二功能 39
任务2-3 仿真调试发光二极管闪烁控制系统 39
知识梳理与总结 46
思考与练习题2 46
项目3 单片机并行I/O端口的应用 48
教学导航 48
任务3-1 流水灯设计 49
3.1 认识C语言 51
3.1.1 第一个C语言程序 51
3.1.2 C语言的基本结构 53
3.1.3 C语言的特点 54
任务3-2 按键控制多种花样霓虹灯设计 55
3.2 C语言的基本语句 59
3.2.1 表达式语句和复合语句 60
3.2.2 选择语句 61
3.2.3 循环语句 65
任务3-3 声光报警器设计 71
3.3 C语言数据与运算 76
3.3.1 数据类型 77
3.3.2 常量和变量 80
3.3.3 运算符和表达式 84
任务3-4 基于PWM的可调光台灯设计 89
3.4 C语言的函数 98
3.4.1 函数的分类和定义 99
3.4.2 函数调用 100
知识梳理与总结 101
思考与练习题3 102
项目4 显示和键盘接口技术应用 104
教学导航 104
任务4-1 8路抢答器设计 105
4.1 认识LED数码管 109
4.1.1 LED数码管结构 109
4.1.2 LED数码管静态显示 111
4.2 数组的概念 112
4.2.1 一维数组 112
4.2.2 二维数组 115
4.2.3 字符数组 115
任务4-2 小型LED数码管字符显示屏控制 116
4.3 LED数码管动态显示 120
任务4-3 LED点阵式电子广告牌控制 121
4.4 LED大屏幕显示器及接口 126
4.4.1 LED大屏幕显示器的结构及原理 126
4.4.2 LED大屏幕显示器接口 127
任务4-4 字符型LCD液晶显示广告牌控制 130
4.5 字符型LCD液晶显示和接口 135
4.5.1 LCD液晶显示器的功能与特点 135
4.5.2 字符型LCD液晶显示器与单片机的接口 136
4.5.3 字符型LCD液晶显示器的应用 136
任务4-5 密码锁设计 141
4.6 单片机与矩阵键盘接口 147
4.6.1 矩阵式键盘结构 147
4.6.2 矩阵式键盘按键的识别 148
知识梳理与总结 150
思考与练习题4 150
项目5 定时与中断系统设计 153
教学导航 153
任务5-1 简易秒表设计 154
5.1 定时/计数器 159
5.1.1 定时/计数器的结构 159
5.1.2 定时/计数器的工作方式 163
5.2 中断系统 166
5.2.1 什么是中断 166
5.2.2 51单片机中断系统的结构 167
5.2.3 中断有关寄存器 168
5.2.4 中断处理过程 171
任务5-2 模拟交通灯控制系统设计 173
知识梳理与总结 179
思考与练习题5 179
项目6 串行通信技术应用 182
教学导航 182
任务6-1 银行动态密码获取系统设计 183
6.1 串行通信基础 188
6.1.1 串行通信与并行通信 188
6.1.2 单工通信与双工通信 188
6.1.3 异步通信与同步通信 189
6.2 51单片机的串行接口 191
6.2.1 串行口结构 191
6.2.2 设置工作方式 192
6.2.3 设置波特率 194
6.3 51单片机串行口工作过程 196
6.3.1 查询方式串行通信程序设计 196
6.3.2 中断方式串行通信程序设计 197
任务6-2 移动终端数据上传系统设计 198
6.4 串行通信协议 203
6.4.1 常用串行通信协议 203
6.4.2 EIA串行通信标准 205
任务6-3 串口控制数码管显示系统设计 206
6.5 串行口的I/O端口扩展 208
6.5.1 采用串行口扩展并行输入口 208
6.5.2 采用串行口扩展并行输出口 209
知识梳理与总结 210
思考与练习题6 210
项目7 A/D与D/A转换接口设计 212
教学导航 212
任务7-1 简易数字电压表设计 213
7.1 模拟信号与数字信号 219
7.2 单片机内部ADC及其应用 220
任务7-2 基于A/D和D/A转换芯片的可调光台灯设计 224
7.3 I2C总线A/D与D/A转换器PCF8591 230
7.3.1 PCF8591的功能 231
7.3.2 PCF8591的I2C总线连接与通信 232
7.3.3 PCF8591的D/A转换及程序设计 234
7.3.4 PCF8591的A/D转换及程序设计 236
知识梳理与总结 236
思考与练习题7 237
项目8 单片机应用系统综合设计 238
任务8-1 数字钟的设计与制作 239
8-1-1 任务目的 239
8-1-2 任务要求 239
8-1-3 系统方案选择 239
8-1-4 系统硬件设计 241
8-1-5 系统软件设计 242
8-1-6 系统调试与脱机运行 253
8-1-7 任务小结 255
任务8-2 图形液晶显示系统设计 255
8-2-1 目的与要求 255
8-2-2 系统方案选择 256
8-2-3 系统硬件设计 260
8-2-4 系统软件设计 260
8-2-5 举一反三 266
8-2-6 任务小结 269
知识梳理与总结 269
附录A 课程设计方法与参考项目 270
A.1 课程设计的步骤与方法 270
A.2 课程设计项目参考 271
项目1 音乐倒数计数器设计 271
项目2 温度计设计 272
项目3 公交车报站器设计 272
项目4 环境湿度控制系统设计 273
项目5 红外遥控密码锁设计 274
项目6 倒车雷达系统设计 275
项目7 声控小车设计 276
项目8 简易MP3设计 276
项目9 自动旋转花样显示屏设计 277
项目10 智能巡迹小车设计 278
附录B 单片机实验板说明 279
B.1 单片机实验板的功能 279
B.2 实验板模块连接电路 280
附录C 常用的C51标准库函数 287
参考文献 290