第一章 单片微型计算机基础知识 1
第一节 概述 1
一、单片机的发展概况 1
二、单片机的主要特点 2
三、单片机的应用 2
四、单片机的发展趋势 3
第二节 不同进制数之间的转换与二进制数运算规则 4
一、十进制数(Decimal) 4
二、二进制数(Binary) 4
三、十六进制数(Hexadecimal) 5
四、不同进制数之间的转换 5
五、二进制数的算术运算规则 7
六、逻辑运算 8
第三节 单片机中数的表示与编码 8
一、单片机中数的表示形式 8
二、补码的加减运算 10
三、BCD码 11
四、ASCⅡ码 12
习题一 12
第二章 MCS-51单片机系统结构 14
第一节 MCS-51单片机概述 14
一、MCS-51单片机的基本组成及系统特性 14
二、MCS-51单片机内部结构 15
第二节 MCS-51单片机工作原理 19
一、用指令编写程序 19
二、程序的执行过程 20
第三节 MCS-51单片机存储器结构 24
一、程序存储器(ROM) 24
二、内部数据存储器与特殊功能寄存器 26
三、外部数据存储器 30
第四节 MCS-51单片机并行输入/输出端口 31
一、P0口 31
二、P1口 33
四、P3口 34
三、P2口 34
五、端口负载能力和接口要求 35
第五节 MCS-51单片机时钟电路与时序 36
一、振荡器和时钟电路 36
二、MCS-51机器周期和指令周期 36
三、CPU取指令、执行指令周期时序 37
第六节 MCS-51单片机外部引脚及功能 38
一、电源引脚 40
二、外接晶体引脚 40
三、输入/输出引脚 40
四、控制线 40
第七节 MCS-51单片机工作方式 41
一、复位方式 41
二、程序执行方式和单步执行方式 43
三、节电方式 43
四、8751片内编程方式 46
习题二 48
第三章 MCS-51指令系统 49
第一节 MCS-51寻址方式 49
一、立即寻址 49
二、直接寻址 50
三、寄存器寻址 51
四、寄存器间接寻址 51
五、变址寻址 52
六、相对寻址 53
七、位寻址 53
第二节 数据传送指令 54
一、内部8位数据传送指令 55
二、16位数据传送指令 57
三、外部数据传送指令 57
四、交换与查表类指令 57
五、堆栈操作指令 59
第三节 算术运算指令 61
一、加、减法指令 62
二、乘、除法指令 64
第四节 逻辑运算及移位指令 66
一、逻辑运算指令 66
二、循环移位指令 68
第五节 位操作指令 70
一、位传送指令 70
二、位变量修改指令 70
三、位变量逻辑操作指令 71
一、无条件转移指令 72
第六节 控制转换指令 72
二、条件转移指令 74
三、调用和返回指令 77
习题三 79
第四章 汇编语言程序设计 82
第一节 汇编语言的基本概念 82
一、程序设计语言 82
第二节 汇编语言源程序的汇编 83
二、汇编语言的格式 83
一、伪指令 84
二、人工汇编 86
三、机器汇编 88
第三节 简单程序设计 89
一、程序流程图 89
二、顺序程序设计 90
第四节 分支程序设计 93
一、分支程序的基本形式 93
二、分支程序设计举例 93
第五节 循环程序设计 97
一、循环程序的导出 97
二、循环程序设计举例 98
第六节 子程序设计 100
一、子程序的概念 100
二、子程序的设计举例 101
一、多字节无符号数加减运算 104
第七节 运算程序设计 104
二、16位无符号二进制数乘法运算 105
三、16位无符号二进制除法运算 107
习题四 108
第五章 中断系统 111
第一节 输入/输出方式及中断的概念 111
一、无条件传送方式 111
二、查询传送方式 111
四、中断的概念 112
三、中断传送方式 112
五、中断的功能 113
第二节 8051中断系统结构及中断控制 113
一、8051中断系统的结构 113
二、8051中断源 114
三、中断控制 114
四、MCS-51中断系统的初始化 118
第三节 中断处理过程 118
二、中断处理 119
一、中断响应条件 119
三、中断返回 120
四、中断响应时间 120
第四节 外部中断源的应用及扩展 120
一、外部中断源的应用 120
二、扩展外部中断源 122
习题五 124
第六章 定时器及应用 125
第一节 定时器结构 125
一、定时器工作方式寄存器TMOD 126
二、定时控制寄存器TCON 127
第二节 定时器工作方式 127
一、工作方式0及其应用 128
二、工作方式1及应用 130
三、工作方式2及应用 131
四、工作方式3及应用 133
一、超过定时/计数器量程的定时问题 134
第三节 定时器应用举例 134
二、用定时器测试脉冲宽度 135
三、用定时/计数器扩展外部中断源 136
四、定时器T0和T1连用实现长时间定时 136
五、定时/计数器应用实例 138
习题六 140
第七章 MCS-51串行接口 141
第一节 串行数据通信基础知识 141
一、并行通信和串行通信 141
二、串行数据通信基本原理 142
三、波特率 143
四、通信方向 143
五、串-并转换 144
六、设备同步 144
第二节 MCS-51的串行接口及控制寄存器 145
一、8051串行口结构 145
二、串行口控制寄存器SCON 146
三、特殊功能寄存器PCON 148
第三节 串行口工作方式 148
一、工作方式0 148
二、方式1 150
三、方式2和方式3 151
四、波特率设计 151
第四节 串行品的应用 153
一、方式0的应用 153
二、串行方式1的应用 155
二、串行方式2、方式3的应用 157
第五节 单片机通信 159
一、双机通信举例 159
二、多机通信举例 161
三、单片机与PC机之间的通信 162
习题七 167
第一节 单片机系统扩展及结构 168
一、单片机的扩展结构 168
第八章 MCS-51系统扩展 168
二、单片机系统扩展的实现 169
第二节 程序存储器扩展 170
一、常用的程序存储器芯片 170
二、程序存储器扩展 173
第三节 数据存储器扩展 177
一、常用的静态数据存储芯片 177
二、数据存储器扩展 178
第四节 扩展8255可编程并行I/O接口 182
一、可编程的并行接口8255A 183
第五节 扩展8155可编程并行接口 193
一、8155芯片结构 193
二、RAM和I/O端口寻址方式及应用 194
三、命令寄存器及状态寄存器 196
四、8155内部定时器 198
五、MCS-51与8155的接口方法和应用实例 199
习题八 200
一、LED显示原理 202
第九章 接口技术 202
第一节 显示接口 202
二、LED显示方式 203
第二节 键盘接口 206
一、键盘接口需解决的问题 206
二、独立式按键 207
三、行列式按键 208
第三节 A/D转换器接口 212
一、ADC 0809的结构 213
二、ADC 0809与8031的连接 213
三、A/D转换器的应用 214
第四节 D/A转换器接口 215
一、DAC 0832转换器 215
二、DAC 0832与8031的接口 216
三、D/A转换器的应用 218
第五节 系统设计及开发方法 219
一、总体设计 219
二、硬件及软件设计 221
三、利用开发机进行调试 223
习题九 228
第十章 80C51系列单片机 229
第一节 8XC552介绍 229
一、8XC552单片机主要特性(以83C552为代表) 229
二、8XC552内部结构 231
三、8XC552引脚配置与封装形式 231
四、8XC552引脚功能 232
一、8XC552存储器 235
第二节 8XC552存储器组织形式及端口特性 235
二、8XC552的I/O端口特性 237
第三节 8XC552中断系统 237
一、8XC552中断系统结构 237
二、中断允许寄存器 239
三、中断优先寄存器 239
四、中断向量 239
二、定时器T2的控制寄存器TM2CON 241
第四节 8XC552定时器T2 241
一、定时器T2内部结构 241
三、输入捕捉逻辑 243
四、输出比较逻辑 244
五、定时器T2中断标志寄存器TM2IR 246
六、定时器T2的应用 247
第五节 监视定时器T3 248
一、定时器T3内部结构及工作原理 248
二、监视定时器的使用细则 249
三、监视定时器应用方法 249
第六节 8XC552串行I/O接口 250
一、SIOI口的内部结构 250
二、SIOI的工作方式 253
第七节 脉冲宽度调制输出 254
第八节 8XC552A/D转换器 257
一、A/D转换的启动 258
第九节 8XC552低功耗运作方式 259
二、A/D转换的应用 259
第十节 AT89C51简介 261
一、AT89C51主要性能及特点 261
二、AT89C51内部逻辑结构及引脚功能 262
三、片内快闪存储器(Flash Memory) 263
四、片内FPEROM的编程 264
一、AT89C2051性能及特点 268
二、AT89C2051内部结构及引脚 268
第十一节 AT89C2051简介 268
三、AT89C2051殊功能寄存器 270
四、对89C2051指令系统的说明 270
五、对片内FPEROM快闪存储器编程 271
习题十 273
实验一 简单程序设计 275
实验二 分支、循环程序设计 277
实验三 多重循环程序设计 279
实验四 子程序的设计与调用 280
实验五 单片机输入/输出接口实验 282
实验六 中断实验 284
实验七 定时计数器实验 286
实验八 串行口通信 288
实验九 存储器扩展 292
实验十 用8255扩展并口 294
实验十一 8155扩展并口 296
实验十二 A/D转换实验 298
实验十三 D/A转换 300
实验十四 电脑时钟系统 302
实验十五 交通信号灯实时控制系统 303
实验十六 单片机显示与健盘系统设计 306
附录Ⅰ ASCⅡ码(美国信息交换标准码)表 308
附录Ⅱ MCS-51单片机中特殊功能寄存器地址表 309
附录Ⅲ MCS-51单片机RAM中20H~2FH单元的位地址表 310
附录Ⅳ MCS-51系列单片机指令表 311
附录Ⅴ 常用集成电路引脚图 320
参考文献 323