目录 1
第一章单片机的性能和结构 1
第一节概述 1
一、单片机的组成及特点 1
二、单片机的应用 1
第二节MCS-51单片机的结构 3
一、内部结构及引脚 3
二、存贮器 6
三、输入/输出端口 12
四、CPU时序 14
五、单片机的复位 16
六、低功耗操作 17
第二章指令系统 19
第一节指令格式及寻址方式 19
一、指令格式…………………………………………………………………………………………………(19 )二、寻址方式 20
三、常用符号 22
第二节数据传送指令 23
一、向累加器传送数据指令 23
二、向寄存器Rn及数据指针DPTR传送数据 23
三、向内部RAM或专用寄存器传送数据 24
四、向间接地址传送数据 24
五、累加器与片外数据存贮器之间的数据传送 25
六、查表指令 26
七、栈操作指令 27
八、字节交换指令 28
第三节算术运算指令 29
一、加法指令 29
二、带进位加法指令 30
三、带借位减法指令 30
四、加1指令、减1指令 31
五、乘、除法指令和十进制调整指令 32
一、逻辑与指令 33
第四节逻辑运算指令 33
二、逻辑或指令 34
三、逻辑异或指令 34
四、清零、求反和移位指令 35
第五节控制程序转移指令 36
一、无条件转移指令 36
二、条件转移指令 37
三、间接转移指令(散转指令) 39
四、子程序调用及返回指令 39
第六节位操作指令 40
一、位传送指令 40
二、位修改指令 41
三、位逻辑指令(双字节) 41
四、位转移指令 41
四、DS或DEFS(Define Storage)定义存贮器 44
三、DW或DEFW(Define Word)字义字 44
第七节伪指令简介 44
二、DB或DEFB(Define Byte)定义字节 44
一、ORG(Origin)起始指令 44
五、EQU(Equate)等值指令 45
六、END结束汇编 45
第八节指令小结 45
一、指令记忆方法 45
二、MCS-51指令码速查表 47
第三章定时器与计数器 48
第一节定时器/计数器的结构和功能 48
一、定时器/计数器工作框图 48
二、定时器/计数器的功能 49
三、方式寄存器和控制寄存器 49
第二节定时器/计数器的工作方式 50
二、方式1 51
一、方式0 51
三、方式2 52
四、方式3 52
第三节定时器/计数器的编程应用 54
一、方式0和方式1的应用 54
二、方式2的应用 55
三、方式3的应用 57
四、门控位的应用 58
五、运行中读取定时器/计数器 60
第四章中断系统 61
第一节中断概述 61
一、中断执行过程 61
二、中断系统及其功能 62
一、中断源 63
二、中断申请标志 63
第二节 中断源 63
第三节中断控制 64
一、中断开放和屏蔽 64
二、中断源优先级别设定 65
三、中断响应 66
第四节扩充外中断源 68
一、利用定时器扩充中断源 68
二、中断和查询相结合方法 68
三、用优先权编码器扩展外部中断源 69
四、外扩中断源的中断嵌套 71
第五节中断系统应用举例 72
一、单片机系统单步操作 72
二、定时器T0方式3的应用 73
三、利用中断方式进行数据采集 74
四、时钟程序 74
一、单片机系统扩展能力 78
第一节系统扩展的基本概念 78
第五章单片机系统扩展 78
二、总线的驱动扩展 79
三、常用扩展芯片 80
第二节程序存贮器的扩展 81
一、程序存贮器的操作时序 81
二、扩展2K字节程序存贮器 82
三、扩展32K字节程序存贮器 83
四、使用EEPROM扩展程序存贮器 84
第三节数据存贮器的扩展 86
一、外部数据存贮器的操作时序 87
二、用6116扩展数据存贮器 87
三、用EEPROM扩展数据存贮器 88
四、存贮器的地址空间分配 89
第四节扩展I/O接口 92
一、I/O接口常用芯片和扩展方法 92
三、8255并行I/O扩展接口 94
二、简单的I/O接口扩展 94
四、用8155并行I/O扩展接口 100
第六章D/A、A/D转换、键盘、显示及其它接口电路 108
第一节D/A转换器 108
一、常用ID/A转换器芯片简介 108
二、DAC0832与8031的接口 109
三、DAC1020与8031的接口 112
四、串行输入芯片AD7543与8031的接口 113
第二节A/D转换器 115
一、双积分型A/D转换器及其接口应用 116
二、逐次逼近型A/D转换器及其接口应用 118
第三节键盘、显示器与单片机接口 122
一、矩阵式键盘及其控制方式 122
二、LED显示器接口 126
三、键盘、显示器接口应用 130
第四节微型打印机与单片机接口 134
一、TP-μP-16微型打印机的接口应用 135
二、GP16微型打印机打印命令和字符编码 136
三、GP16微型打印机与8031的接口应用 138
第五节专用芯片8279与键盘、显示器接口 141
一、8279芯片引脚和功能 141
二、8279的操作命令 142
三、8279的状态字 146
四、输入数据的格式 146
五、8279与键盘/显示器的接口 147
第七章程序设计和子程序 151
第一节结构化程序设计 151
一、算法 151
二、三种基本结构 153
三、结构化程序设计 155
四、程序设计语言 155
第二节顺序结构程序设计 156
第三节分支结构程序设计 158
第四节循环结构程序设计 160
一、单重循环结构 160
二、多重循环结构 161
第五节子程序 163
一、什么是子程序 163
二、子程序中参数传递的方法 163
三、子程序的入口、出口及资源占用情况 164
第六节非数值运算类子程序设计举例 164
一、延时子程序 164
二、键盘扫描子程序KEY 166
三、数据采集子程序DAT 168
四、排序子程序PAX 169
五、查表子程序TABD 170
六、显示子程序DISP 175
一、系统的功能 177
第七节多通道温度检测系统程序设计 177
二、系统的组成 178
三、软件说明 180
四、系统程序流程图 181
五、系统应用程序清单 183
第八章单片机串行通信 188
第一节串行通信概述 188
一、串行通信 188
二、串行通信的接口标准 189
第二节MCS-51单片机异步串行I/O口 194
一、MCS-51串行I/O口 194
二、MCS-51串行I/O口的工作方式 195
三、波特率设计 198
四、多片MCS-51单片机通信 199
一、IBM-PC异步通信适配器 210
第三节8031与IBM-PC机通信 210
二、异步通信适配器的汇编语言编程 211
三、异步通信适配器的BABIC语言编程 213
四、多片MCS-51单片机与IBM-PC机通信 216
第九章仿真器原理及AEDK5198机的使用 222
第一节仿真器原理及AEDK5198仿真器的实现 222
一、仿真器的作用 222
二、简易仿真器的实现 223
三、全仿真的仿真器——AEDK5198机的实现 226
四、仿真器的发展 228
第二节AEDK5198仿真机使用说明 228
一、AEDK5198机性能特点 228
二、51监控命令 229
三、98仿真监控命令 232
四、PC机通讯软件AEDK5198 233
五、PC机交叉汇编ASM51、ASM98 234
七、驻机小汇编、小编辑 235
六、机器码转换成汇编源文件的PC机软件TRASM 235
八、其它软件 236
第十章8089单片机 237
第一节8089单片机的硬件组成 237
一、引脚功能 237
二、中央处理器CPU 238
三、时钟信号 240
四、存贮空间 240
五、芯片配置寄存器(CCR)与总线控制、就绪控制 244
六、输入/输出口 246
七、复位与监视定时器 247
第二节8089单片机指令系统 248
一、操作数类型 248
二、寻址方式 249
三程序状态字 251
四、指令系统 253
第三节 中断系统 261
一、中断源 261
二、中断控制 261
三、中断响应时间 262
第四节定时器 263
一、定时器1(T1) 263
二、定时器2(T2) 263
三、定时器中断 264
四、程序设计举例 264
五、8089单片机定时器的特点 265
第五节I/O控制和状态寄存器 266
一、I/O控制寄存器 266
二、I/O状态寄存器 267
三、编程举例 267
一、高速输入单元HSI 268
第六节高速输入输出单元HSIO 268
二、高速输出单元HSO 274
第七节模拟接口 279
一、A/D转换器原理与用法 279
二、脉冲宽度调制输出PWM 282
第八节串行口 285
一、串行口的工作方式 285
二、与串行口有关的特殊功能寄存器 286
三、串行口的用法 288
第九节8098硬件接口设计 291
一、8098与存贮器接口 291
二、A/D转换器接口 292
三、一个数据采集子系统硬件电路图 293
第十一章微机应用系统的可靠性技术 295
第一节计算机常见故障 295
一、关于元器件的选用 296
第二节硬件设计注意要点 296
二、电源 299
三、印制板设计 299
四、屏蔽 300
五、光电耦合器件隔离 300
六、关于复位电路 300
七、机内总线 300
八、关于各种标准 300
一、“看门狗”技术 301
第三节故障软化技术 301
二、信息防冲失及信息断电保护 303
三、关键值容错修正 303
四、人的操作容错 305
五、运行过程记录 305
附表1MCS-96指令系统一览表 306
附表2 309
参考文献 318