第1章 单片机系统基础知识 1
本章学习目标 1
1.1概述 1
1.1.1单片机的基本概念 1
1.1.2单片机的发展概况 3
1.1.3单片机的特点和应用 5
1.2单片机的数制表示法 6
1.2.1二进制、十进制与十六进制 6
1.2.2数制的转换 7
1.2.3原码、反码与补码 8
1.2.4计算机中常用的编码 10
1.3常用单片机的选择及简介 13
1.3.1单片机的选择 13
1.3.2单片机系列产品简介 14
本章小结 19
习题一 19
第2章 单片机的内部结构及工作原理 21
本章学习目标 21
2.1单片机的内部结构 21
2.1.1内部结构 21
2.1.2引脚定义及功能 23
2.2单片机的存储器结构 25
2.2.1内部数据存储器及专用寄存器 25
2.2.2外部数据存储器 29
2.2.3程序存储器 30
2.3单片机并行I/O口 32
2.3.1 P0口的结构及特点 32
2.3.2 P1口的结构及特点 33
2.3.3 P2口的结构及特点 34
2.3.4 P3口的结构及特点 34
2.4单片机的时钟与时序 35
2.4.1时钟电路 35
2.4.2单片机的CPU时序 36
2.5单片机的工作方式 38
2.5.1程序执行方式 38
2.5.2节电工作方式 38
2.5.3复位 40
本章小结 41
习题二 42
第3章 单片机的指令系统 43
本章学习目标 43
3.1单片机指令系统概述 43
3.1.1指令格式 43
3.1.2指令符号 44
3.1.3指令分类 44
3.2寻址方式 46
3.2.1直接寻址 47
3.2.2立即寻址 47
3.2.3寄存器寻址 47
3.2.4间接寻址 47
3.2.5相对寻址 48
3.2.6变址寻址 49
3.2.7位寻址 49
3.3指令系统 50
3.3.1数据传送类指令 50
3.3.2算术运算类指令 54
3.3.3逻辑运算指令 58
3.3.4移位指令 58
3.3.5控制转移类指令 59
3.3.6位操作指令 62
3.4伪指令 64
3.4.1起始地址伪指令 64
3.4.2汇编结束伪指令 64
3.4.3数据地址赋值伪指令 65
3.4.4赋值伪指令 65
3.4.5定义字节伪指令 65
3.4.6定义字伪指令 65
3.4.7位地址赋值伪指令 66
3.4.8定义存储区伪指令 66
本章小结 66
习题三 67
第4章 程序设计 70
本章学习目标 70
4.1简单汇编语言程序设计 70
4.1.1分支程序 70
4.1.2循环程序 73
4.1.3延时程序 75
4.2 MCS-51常用子程序 76
4.2.1代码转换类程序设计 76
4.2.2查表程序设计 78
4.2.3定点数运算子程序 80
4.2.4浮点数运算子程序 83
本章小结 91
习题四 91
第5章 单片机的中断系统 94
本章学习目标 94
5.1中断的概念 94
5.1.1中断的定义 94
5.1.2中断源 95
5.1.3中断的优先级 96
5.1.4中断控制 97
5.1.5中断响应 98
5.1.6中断响应的撤除 99
5.2外部中断的使用 100
5.2.1外部中断源的应用 100
5.2.2利用定时器扩展外部中断源 104
5.2.3多级外部中断的扩展 104
本章小结 107
习题五 107
第6章 单片机的定时器/计数器 108
本章学习目标 108
6.1定时器/计数器 108
6.1.1定时器/计数器的结构 108
6.1.2定时器/计数器的控制寄存器 109
6.1.3定时器/计数器的工作方式 110
6.2定时器/计数器的应用 112
6.2.1定时器方式0的应用 112
6.2.2定时器方式1的应用 113
6.2.3外部脉冲宽度的测量 114
6.2.4单片机内部软件看门狗的应用 115
本章小结 116
习题六 116
第7章 单片机的串行通信 117
本章学习目标 117
7.1串行通信的概念 117
7.1.1异步通信与同步通信 117
7.1.2串行通信的波特率 118
7.1.3串行通信的方式 118
7.2单片机串行的通信原理及工作方式 119
7.2.1单片机串行口的结构 119
7.2.2单片机串行口的控制 120
7.2.3单片机串行口的工作方式 121
7.3单片机串行口的应用 123
7.3.1串行口扩展显示器 123
7.3.2串行口扩展的键盘 125
7.3.3双机通信 126
7.3.4多机通信 127
7.3.5计算机与单片机的通信 133
本章小结 135
习题七 135
第8章 单片机C51程序设计 136
本章学习目标 136
8.1 C51的结构 136
8.1.1 C51的结构特点 137
8.1.2 C51的数据类型 137
8.1.3 C51的常量与变量 138
8.2 C51程序的格式 141
8.2.1 C51的运算符 141
8.2.2 C51的基本语句 148
8.3 C51程序设计 151
8.3.1头文件 151
8.3.2特殊功能寄存器的读写 152
8.3.3位的控制 153
8.3.4基本I/O口 154
8.3.5中断的设计 155
8.4 C51程序应用 157
8.4.1延时程序 157
8.4.2 I/O口的应用 159
8.4.3 LED显示器的扩展 161
8.4.4方波发生器 163
本章小结 164
习题八 164
第9章 I/O口的应用与扩展 166
本章学习目标 166
9.1基本I/O的应用与扩展 166
9.1.1 P1口的应用 166
9.1.2 P0口的扩展 168
9.2显示器的扩展 169
9.2.1基本LED显示原理 169
9.2.2 LED的静态显示 171
9.2.3 LED的动态显示 173
9.2.4 LCD显示器的扩展 174
9.3键盘的扩展 183
9.3.1键盘概述 183
9.3.2独立式键盘的扩展 185
9.3.3矩阵式键盘的扩展 186
9.4 I/O通用芯片8255A的扩展与应用 189
9.4.1 8255A概述 189
9.4.2 8255A的应用 193
9.5串行总线芯片的扩展 197
9.5.1 I2C总线 197
9.5.2 SPI总线 204
本章小结 208
习题九 209
第10章 A/D、 D/A转换器的应用 210
本章学习目标 210
10.1 A/D转换器的应用 210
10.1.1 8位逐次比较式A/D转换器ADC0809的应用 210
10.1.2 12位并行A/D转换器AD574A的应用 215
10.1.3 12位串行A/D转换器TLC2543的应用 219
10.2 D/A转换器的应用 222
10.2.1 8位D/A转换器DAC0832的应用 223
10.2.2 12位串行D/A转换器TLV5616的应用 227
本章小结 230
习题十 230
第11章 单片机应用系统设计 232
本章学习目标 232
11.1简易电阻测量仪 232
11.1.1设计目的 232
11.1.2技术指标 232
11.1.3设计方案 232
11.2密码锁控制器 233
11.2.1设计目的 233
11.2.2技术指标 233
11.2.3设计方案 233
11.3简易体育比赛计分器的设计 235
11.3.1设计目的 235
11.3.2技术指标 235
11.3.3设计方案 235
11.4 IC卡读写器设计 237
11.4.1设计目的 237
11.4.2技术指标 237
11.4.3设计方案 237
11.5温度检测系统的设计 238
11.5.1设计目的 238
11.5.2技术指标 238
11.5.3设计方案 238
11.6简易步进电机控制器的设计 243
11.6.1设计目的 243
11.6.2技术指标 243
11.6.3设计方案 243
本章小结 244
第12章 单片机常用仿真工具 245
本章学习目标 245
12.1单片机系统开发软件Keil 245
12.1.1 Keil μVision4的安装 246
12.1.2 Keil μVision4的工具软件 246
12.1.3 Keil μVision4的菜单命令说明 247
12.1.4 Keil μVision4的软件开发过程 250
12.1.5 Keil μVision4的模拟仿真 254
12.1.6联合仿真 255
12.2单片机系统开发软件WAVE 256
12.2.1文件的建立 256
12.2.2文件的编译 258
12.3 STC单片机程序下载 259
12.3.1 STC单片机下载线的制作 260
12.3.2单片机下载软件 262
本章小结 263
附录MCS-51系列单片机指令集 264
参考文献 268