绪论 1
第一章 微型计算机的基础知识 5
1-1 常用的数制与编码 5
一、数制及数制间的转换 5
二、常用二进制数的编码 8
1-2 二进制数的运算 10
一、计算机中数的表示方法 10
二、二进制数运算 12
1-3 微型计算机的硬件组成及工作过程 15
一、微型计算机中几个常用术语 15
二、微型计算机硬件组成 16
三、微型计算机的工作过程 19
习题与思考题 21
第二章 MCS-51单片机的硬件结构和工作原理 23
2-1 8051的硬件结构及引脚 23
一、8051的内部结构框图 23
二、引脚定义及功能 24
2-2 MCS-51系列单片机的存储器组织结构 26
一、程序存储器 27
二、数据存储器 28
2-3 中央处理器CPU 33
一、运算器 33
二、控制器 34
三、专用寄存器组 34
2-4 时钟电路与CPU时序 34
一、时钟电路 35
二、CPU的时序 35
2-5 复位电路 38
一、复位信号及其产生 39
二、复位方式 39
习题与思考题 40
第三章 MCS-51单片机指令系统 41
3-1 概述 41
一、指令的表示形式 41
二、指令格式 42
三、MCS-51指令系统的分类和特点 43
四、指令中有关符号说明 44
3-2 寻址方式 44
一、立即寻址 45
二、直接寻址 45
三、寄存器寻址 46
四、寄存器间接寻址 47
五、变址寻址 48
六、相对寻址 49
七、位寻址 49
3-3 数据传送类指令 51
一、内部数据传送指令 51
二、外部数据传送指令 54
三、数据变换指令 56
四、栈操作指令 57
3-4 算术运算类指令 59
一、加法指令 59
二、减法指令 63
三、十进制调整指令DA 64
四、乘法指令MUL 66
五、除法指令DIV 66
3-5 逻辑运算类指令 67
一、双操作数的逻辑运算指令 67
二、对累加器A进行逻辑操作的指令 70
3-6 控制转移类指令 72
一、无条件转移指令 73
二、条件转移指令 77
三、子程序调用和返回指令 81
四、空操作指令 84
3-7 位操作类指令 85
一、位传送指令 85
二、位置位和位清零指令 86
三、位运算指令&( 86
四、位控制转移指令 87
习题与思考题 88
第四章 汇编语言程序设计基础 92
4-1 概述 92
一、程序设计语言 92
二、MCS-51单片机汇编语言程序格式 93
三、伪指令 93
四、汇编 96
五、程序流程图 98
4-2 简单程序和查表程序 99
一、简单程序 99
二、查表程序 100
4-3 分支和散转程序 104
一、分支程序 104
二、散转程序(多分支程序) 105
4-4 循环程序 107
一、循环程序的基本结构 107
二、用计数器控制循环 108
三、按条件控制循环 113
4-5 子程序 114
一、子程序设计 114
二、调用子程序时参数传递的方法 115
习题与思考题 119
第五章 输入/输出端口、定时器/计数器与中断系统 121
5-1 并行I/O口 121
一、并行I/O口的功能 121
二、各口的位结构原理 122
三、I/O口的负载能力及输入/输出操作 125
5-2 定时器/计数器 126
一、工作方式 127
二、定时器/计数器的结构 129
三、定时器/计数器初值的求取方法 131
四、定时器/计数器的编程 132
5-3 串行口 133
一、串行通信概述 134
二、串行口结构 136
三、串行口的控制寄存器 137
四、串行口工作方式 138
5-4 中断系统 140
一、概述 140
二、MCS-51单片机的中断系统 141
三、中断响应 146
四、中断应用举例 148
习题与思考题 153
第六章 MCS-51单片机的系统扩展 155
6-1 单片机最小应用系统 155
一、单片机的时钟设置 155
二、单片机的复位电路 156
三、8051/8751最小应用系统 157
四、8031最小应用系统 158
6-2 系统扩展基础知识 158
一、单片机的片外总线结构 158
二、MCS-51单片机的系统扩展能力 160
三、MCS-51单片机常用系统扩展芯片 160
四、地址锁存器 161
五、扩展存储器映像及编址 162
6-3 程序存储器的扩展 165
一、程序存储器扩展方法 165
二、扩展EPROM 166
三、扩展EEPROM 170
6-4 数据存储器的扩展 172
一、数据存储器的扩展方法 172
二、外部数据存储器扩展电路 174
6-5 并行I/O口的扩展 177
一、I/O接口扩展方法 177
二、简单I/O口扩展 178
三、用8255A作单片机的可编程I/O口扩展 180
四、用8155作单片机的可编程I/O口扩展 188
习题与思考题 196
第七章 单片机系统接口技术 198
7-1 概述 198
一、I/O接口功能 198
二、单片机与外设交换数据的方式 199
三、I/O接口编址方式及操作指令 199
7-2 显示器及键盘接口技术 200
一、显示器接口 200
二、键盘及接口 207
三、单片机与8279可编程键盘/显示控制器的接口 215
7-3 D/A转换电路与单片机的接口 224
一、DAC0832芯片(8位) 225
二、DAC0832与MCS-51单片机的接口 226
三、DAC1210(12位)芯片与MCS-51单片机的接口 229
7-4 A/D转换电路与单片机的接口 231
一、ADC0809芯片 231
二、ADC0809与MCS-51单片机的接口 233
三、MC14433与MC8-51单片机的接口 235
7-5 串行通信接口技术 238
一、方式0与移位寄存器式的I/O扩展 238
二、方式1与点对点的异步通信 241
三、方式2、方式3与多机通信 244
四、R8-232-C标准及接口技术 246
7-6 微型打印机与单片机接口技术 249
一、TPμP-40A/16A微型打印机的主要性能 249
二、TPμP-40A/16A微型打印机的主要命令及控制方式 250
三、TPμP-40A/16A微型打印机与MCS-51单片机的接口 252
习题与思考题 254
第八章 单片机应用与开发 256
8-1 单片机应用系统的设计 256
一、总体设计 256
二、硬件设计 257
三、软件设计 258
四、系统调试 258
8-2 单片机报时控制系统 259
一、单片机报时系统工作原理 259
二、总体设计 259
三、程序流程图 261
四、程序清单 262
8-3 注塑机的顺序控制系统 271
一、总体设计 273
二、硬件设计 274
三、软件设计 275
四、顺序控制程序模块 276
习题与思考题 278
第九章 8098单片机简介 279
9-1 8098单片机的基本结构 279
一、主要性能 279
二、中央处理器 280
三、时钟与复位电路 283
四、8098的引脚介绍 285
9-2 8098单片机的存储系统 287
一、8098单片机存储器系统编址 287
二、8098单片机的系统总线 288
三、芯片配置寄存器CCR 289
四、8098单片机外接EPROM和RAM电路 291
9-3 中断控制系统 291
一、中断系统的结构 291
二、中断源 291
三、中断控制 293
四、中断响应 295
五、中断响应的时间 295
9-4 指令系统 295
一、程序状态字PSW寄存器 296
二、操作数的类型 296
三、寻址方式 297
四、指令系统 299
9-5 I/O口的功能 311
一、并行口 311
二、I/O状态寄存器与控制寄存器 311
三、定时器 311
四、串行口 314
五、高速输入通道(HSI) 317
六、高速输出通道(H80) 319
七、模拟接口 321
习题与思考题 323
第十章 单片机开发系统及其使用方法 325
10-1 DVCC-51-ED型单片机开发系统简介 325
一、DVCC-51-ED型单片机开发系统的功能特点 325
二、面板结构 326
三、显示器说明 326
四、接插座说明 326
五、编程插座及Vpp控制开关 328
六、键盘 328
七、开发机的存储器、I/O地址分配 329
10-2 工作状态 331
一、待命状态0 331
二、待命状态1 331
三、存储器读写MEM态 331
四、寄存器读写REG态 331
五、ODRW态 331
六、标志态(F态) 332
七、仿真态 332
10-3 键盘监控LED显示系统操作说明 332
一、键盘监控特点 332
二、复位命令——RESET键 332
三、返回待命状态0命令——MON键 332
四、程序存储器读写命令——MEM键 333
五、寄存器读写、特殊功能寄存器检查、片内RAM读写命令——REG键 333
六、外部数据存储器、外部RAM、口读写命令——0DRW键 334
七、单步执行命令——STEP键 335
八、非全速断点运行命令——NVBP键 336
九、全速断点运行命令——FVBP键 336
十、连续执行命令——EXEC键 336
十一、插入和删除命令——INS键、DEL键 337
十二、计算机相对偏移量命令——OFST键 337
十三、程序/数据块移动、比较命令——MOVE键、COMP键 338
十四、标志设置命令——F1键和F2键 339
十五、其它按键 340
10-4 与PC机联机通信 340
一、硬件联接 340
二、软件操作 340
三、操作步骤 341
10-5 MCS-51应用系统的调试 342
一、常见硬件故障分析 342
二、硬件调试方法 342
三、软件调试方法 343
四、程序固化方法 345
第十一章 MCS-51单片机实验 348
11-1 指令系统实验 348
实验一 传送指令编程 348
实验二 算术及逻辑运算指令实验 352
实验三 转移类指令编程 357
11-2 汇编语言程序设计实验 359
实验四 顺序结构程序实验 359
实验五 分支结构程序设计 362
实验六 循环结构程序设计 365
11-3 接口实验 368
实验七 基本I/O口、中断实验 368
实验八 定时器实验 370
实验九 串行口的应用 372
实验十 8031扩展8155实验 375
实验十一 D/A转换实验 378
实验十二 A/D转换实验 381
附录一 常用集成电路引脚图 384
附录二 ASCII(美国标准信息交换码)表 387
附录三 MCS-51系列单片机指令系统表 388
附录四 MCS-51指令系统速查卡 393
附录五 常用EPROM的固化电压参考表 394
参考文献 397