第1章 单片机基础 1
1.1 单片机的概述 1
1.1.1 基本概念 1
1.1.2 MCS-51单片机 2
1.2 MCS-51单片机的基本组成及信号引脚 2
MCS-51单片机的内部结构 2
MCS-51单片机的管脚功能 5
1.3 存储器组织结构 6
1.3.1 程序存储器地址空间 7
1.3.2 数据存储器的地址空间 8
1.4 并行I/O口电路结构 13
1.4.1 P0口 13
1.4.2 P1口 14
1.4.3 P2口 15
1.4.4 P3口 16
1.5 单片机的最小系统 16
案例1 一个LED发光二极管的闪烁控制 16
1.5.1 单片机时钟电路 18
1.5.2 单片机复位电路 20
习题 22
第2章 51单片机汇编语言程序设计 23
2.1 指令系统的概述 23
2.1.1 指令的格式 24
2.1.2 指令常用的符号 24
2.2 51单片机的寻址方式 25
2.3 51单片机的指令系统 28
案例2 八个LED发光二极管的闪烁控制 28
2.3.1 数据传送指令及其应用 29
2.3.2 算术运算指令及应用 33
2.3.3 逻辑运算指令及应用 38
2.3.4 控制转移指令及应用 41
2.3.5 位操作指令及应用 46
2.4 51单片机程序设计方法及应用举例 48
案例3 流水灯控制 48
2.4.1 伪指令 49
2.4.2 程序设计应用举例 51
习题 58
第3章 51单片机C语言程序设计 61
3.1 C51的概述 61
3.1.1 C语言与51单片机 62
3.1.2 C51程序结构 62
3.1.3 C51的标识符和关键字 63
3.1.4 C51的分隔符 64
3.2 数据类型 64
3.2.1 基本的数据类型 65
3.2.2 C51的数据类型 66
3.3 C51的运算量 67
3.3.1 常量 67
3.3.2 变量 69
3.3.3 绝对地址访问 70
3.4 C51的运算符与表达式 72
3.4.1 赋值运算符 72
3.4.2 算术运算符 73
3.4.3 增量和减量运算符 73
3.4.4 关系运算符 74
3.4.5 逻辑运算符 75
3.4.6 位运算符 76
3.4.7 复合赋值运算符 76
3.5 C51语句 78
案例4 模拟汽车左右转向控制 78
3.5.1 C51基本语句 81
3.5.2 条件语句 83
3.5.3 选择语句 84
3.5.4 循环语句 85
3.6 C51函数 89
案例5 广告灯控制 89
3.6.1 函数的定义 91
3.6.2 函数的调用与声明 94
3.7 C51构造数据类型 96
案例6 简易密码锁设计 96
3.7.1 数组 98
3.7.2 指针 99
3.7.3 结构体 101
3.7.4 联合体 102
3.8 预处理 103
3.8.1 宏定义 103
3.8.2 类型定义typedef 103
3.8.3 文件包含指#include 104
3.8.4 库函数 104
3.9 汇编语言与C语言的混合编程 106
3.9.1 单片机混合编程的基本方式 107
3.9.2 混合汇编的参数传递 107
3.9.3 混合汇编的实现 109
习题 110
第4章 中断与定时 112
4.1 中断系统概述 112
案例7 交通灯控制 112
4.1.1 中断的基本概念 117
4.1.2 51单片机的中断系统 118
4.1.3 中断系统的应用 121
4.2 51单片机定时/计数器及应用 123
案例8 简易秒表控制 123
4.2.1 定时/计数器的逻辑结构和工作原理 126
4.2.2 定时/计数器的控制与工作方式 127
4.2.3 定时/计数器的应用 130
习题 137
第5章 串行通信技术 139
5.1 串行通信基础 139
5.1.1 并行通信和串行通信 139
5.1.2 同步通信和异步通信 140
5.2 单片机的串行接口 141
案例9 单片机与单片机的通信 141
5.2.1 串行口结构 143
5.2.2 串行口的工作方式 145
5.3 单片机与PC之间的通信 152
案例10 单片机与PC之间的通信 152
习题 155
第6章 显示和键盘接口技术 157
6.1 单片机与LED数码管接口技术 157
案例11 LED数码管显示的计数器设计 157
6.1.1 LED数码管的结构及原理 159
6.1.2 LED静态显示 160
6.1.3 LED动态显示 164
6.2 LED大屏幕显示器接口技术 166
案例12 LED点阵电子广告牌控制 166
6.2.1 LED大屏幕显示器的结构和原理 168
6.2.2 LED大屏幕显示器接口 170
6.3 LCD显示器接口技术 173
案例13 字符型LCD液晶显示广告牌控制 173
6.3.1 字符型点阵式LCD液晶显示器 177
6.3.2 字液晶显示模块RT-C1602C的内部结构 178
6.3.3 指令格式与指令功能 179
6.3.4 LCD显示器的初始化 182
6.4 单片机与键盘接口 182
案例14 具有控制功能的秒表设计 183
6.4.1 键盘简介 185
6.4.2 独立式按键 186
6.4.3 矩阵式按键 187
习题 191
第7章 51单片机常用的接口技术 192
7.1 存储器的扩展 192
7.1.1 程序存储器的扩展 194
7.1.2 数据存储器的扩展 196
7.2 继电器与单片机的接口技术 197
7.3 蜂鸣器与单片机的接口技术 198
案例15 消防车报警控制 198
7.4 直流电机单片机的接口技术 202
7.5 步进电机单片机的接口技术 207
习题 214
第8章 A/D与D/A转换接口技术 215
8.1 A/D转换接口技术 215
案例16 数字电压表制作 215
8.1.1 并行A/D转换接口芯片ADC0809 225
8.1.2 串行A/D转换接口芯片TLV1544 230
8.2 D/A转换接口技术 235
案例17 波形发生器的制作 235
8.2.1 并行D/A转换接口芯片DAC0832 240
8.2.2 串行D/A转换接口芯片TLV5616 244
习题 247
第9章 keilμVision4编译环境 248
9.1 μVision4集成开发环境 248
9.1.1 μVision4集成工具 248
9.1.2 菜单栏命令、工具栏和快捷方式 249
9.1.3 配置工程 256
9.2 建立一个keil C51应用程序 260
9.3 程序文件的编译、链接 266
9.3.1 编译、链接环境设置 266
9.3.2 程序的编译、链接 269
9.3.3 调试方法与技巧 270
第10章 单片机应用系统设计实例 275
10.1 单片机数字显示温度计 275
10.1.1 DS18B20引脚及内部结构 275
10.1.2 系统硬件电路的设计 281
10.1.3 系统软件程序的设计 282
10.2 出租车计价器的设计 285
10.2.1 设计的基本原理 285
10.2.2 系统硬件电路的设计 285
10.2.3 系统软件程序的设计 286
附录A MCS-51型单片机指令简表 294
附录B ASCⅡ字符表 298
参考文献 300