项目一 最小控制系统/串口程序下载电路的制作 1
1.1 MCS-51系列单片机的主要结构 2
1.1.1 内部结构 2
1.1.2 外部引脚及功能 3
1.2 单片机最小控制系统电路的制作 4
1.2.1 最小控制系统电路的构成 5
1.2.2 最小控制系统电路的制作 5
1.3 串口程序下载电路的制作 7
1.3.1 MAX232电平转换电路 7
1.3.2 单片机串口程序下载电路的安装搭接 8
项目二 Keil C51和STC-ISP软件的使用 9
2.1 Keil C51软件的使用方法 10
2.2 STC-ISP软件的使用方法 17
2.3 发光二极管单灯发光程序的功能验证 20
2.3.1 单片机控制LED发光二极管模块的安装搭接 21
2.3.2 第一个LED发光二极管发光程序的功能验证 21
项目三 LED发光二极管的控制 22
3.1 单片机控制LED发光二极管电路原理 22
3.2 第一个LED发光二极管发光程序的分析解读 23
3.3 LED发光二极管单灯闪烁发光程序编制 24
3.4 LED发光二极管流水灯程序编制 26
项目四 LED数码管静态、动态显示 28
4.1 LED数码管显示模块的制作 29
4.1.1 数码管的结构和工作原理 29
4.1.2 数码管显示电路的搭接安装 31
4.2 LED数码管静态显示程序的编制 33
4.3 LED数码管动态显示程序的编制 34
4.3.1 简单延时的数码管动态显示程序的编制 34
4.3.2 利用定时/计数器及中断的数码管动态显示程序的编制 35
项目五 键盘的识别与控制 42
5.1 矩阵键盘模块的制作 43
5.1.1 键盘的结构与原理 43
5.1.2 4×4行列式键盘模块的搭接安装 45
5.2 独立按键的检测与消抖程序的编制 45
5.3 矩阵键盘的识别与控制程序的编制 47
项目六 蜂鸣器与继电器的控制 52
6.1 蜂鸣器与继电器的原理和电路 53
6.1.1 蜂鸣器的发声原理与控制电路 53
6.1.2 继电器的驱动电路 54
6.2 蜂鸣器与继电器控制模块的安装搭接 54
6.3 蜂鸣器与继电器控制程序的编制 56
6.3.1 蜂鸣器控制程序的编制 56
6.3.2 继电器控制程序的编制 59
项目七 步进电机的控制 61
7.1 步进电机原理及其驱动电路 62
7.2 步进电机控制模块的安装搭接 63
7.3 步进电机控制程序的编制 64
项目八 单片机与PC的串行通信 70
8.1 串行通信基本知识 71
8.1.1 串行接口的特点与串行控制寄存器 71
8.1.2 波特率的选择 72
8.2 单片机与PC串行通信程序的编制 72
8.2.1 串行通信的接口电路 72
8.2.2 串行通信程序的编制 72
项目九 DS18B20温度控制 77
9.1 DS18B20的主要结构及操作 78
9.1.1 DS18B20的内部结构 78
9.1.2 DS18B20的操作 78
9.2 单片机与单总线器件DS18B20的接口电路 79
9.3 单片机控制DS18B20温度显示程序的编制 80
项目十 16×16 LED点阵显示汉字 85
10.1 16×16 LED点阵显示模块的制作 86
10.1.1 LED点阵显示模块结构及显示原理 86
10.1.2 16×16 LED点阵显示模块的安装搭接 90
10.2 单片机控制16×16 LED点阵显示汉字程序的编制 91
项目十一 1602 LCD液晶显示字符 99
11.1 1602 LCD液晶显示控制模块制作 100
11.1.1 1602 LCD液晶结构及显示原理 100
11.1.2 1602 LCD液晶显示模块的制作 103
11.2 单片机控制1602 LCD液晶显示字符程序的编制 103
项目十二 AT24C02数据存储 109
12.1 I2C总线的组成及工作原理 110
12.1.1 I2C总线的概念 110
12.1.2 I2C总线协议 110
12.1.3 数据传送格式 111
12.2 单片机与双总线器件AT24C02的接口 112
12.3 单片机控制AT24C02数据存储的程序编制 113
项目十三 D/A转换、A/D转换 122
13.1 集成D/A转换器、A/D转换器及其控制模块制作 124
13.1.1 集成D/A转换器 124
13.1.2 集成A/D转换器 126
13.2 单片机控制DAC0832数模转换的程序编制 127
13.3 单片机控制ADC0804模数转换的程序编制 129
项目十四 电子温度计/航标灯的控制 133
14.1 航标灯控制模块制作 134
14.1.1 航标灯电路结构及控制原理 134
14.1.2 航标灯控制模块的安装搭接 135
14.2 单片机控制航标灯/电子温度计程序的编制 136
附录A C语言的关键字和C51编译器的扩展关键字 146
附录B C51编译器能识别的数据类型 148
附录C C语言运算符的优先级和结合性 149
附录D Keil软件的仿真调试方法 151
参考文献 155