第1章 微型计算机基础 1
1.1计算机概述 1
1.1.1计算机发展史 1
1.1.2微型计算机结构 4
1.2预备知识 9
1.2.1数据的机内表示 10
1.2.2二进制数的运算 20
1.2.3常用数字电路 22
1.3中央处理器 39
1.3.1指令系统与寻址技术 39
1.3.2 CPU结构和功能 52
1.3.3指令周期 57
1.3.4参数与型号 60
1.4存储器 62
1.4.1微型机存储器结构 62
1.4.2存储器的组织 64
1.4.3存储器与CPU的连接 72
1.4.4地址译码 73
1.4.5容量扩展与数据存储 79
1.5输入/输出 85
1.5.1 I/O接口基础 85
1.5.2 I/O方式 92
1.5.3 I/O设备 104
1.6程序设计 104
1.6.1简单计算实例 104
1.6.2程序设计基本步骤 107
1.6.3程序设计语言 109
1.6.4堆栈 111
1.7计算机与控制 113
1.7.1计算机控制发展历程 113
1.7.2控制计算机 115
1.7.3控制计算机主机类型 116
1.7.4控制设备中常用CPU 117
第2章 8086微处理器及系统 119
2.1 8086微处理器 119
2.1.1功能与引脚 119
2.1.2总线时序 129
2.1.3地址锁存与总线驱动 131
2.1.4时钟、就绪、等待发生器 133
2.1.5工作模式 140
2.2 8086的存储器管理 144
2.2.1存储器组织 144
2.2.2存储器寻址 146
2.2.3 CPU与存储器接口 149
2.3 8086程序设计 156
2.3.1 8086的寻址方式 156
2.3.2 8086指令系统 159
2.3.3汇编语言程序设计 179
2.4程序直接控制I/O 205
2.4.1 8086接口基础 205
2.4.2可编程外围设备接口82C55 217
2.4.3可编程定时/计数器8254 227
2.4.4串行通信接口8251A 235
2.5中断I/O 248
2.5.1 8086中断与简单扩展 249
2.5.2可编程中断控制器8259A 263
2.5.3中断程序设计实例 275
2.6直接存储器存取 282
2.6.1 8086与DMA 282
2.6.2 DMA控制器8237 285
2.6.3 DMA应用实例 295
2.7 80x86接口 301
第3章 89C51单片机及系统 302
3.1 89C51的结构和原理 302
3.1.1内部结构及特点 302
3.1.2引脚及功能 305
3.1.3时钟、时序与复位 307
3.1.4程序设计资源 313
3.1.5空闲和掉电方式 317
3.1.6工作模式 319
3.2存储器与I/O 326
3.2.1存储器与I/O组织 326
3.2.2程序存储器扩展 330
3.2.3数据存储器与I/O扩展 331
3.3 MCS-51指令系统 335
3.3.1指令系统的寻址方式 336
3.3.2指令系统的使用要点 337
3.3.3指令系统的分类总结 339
3.4高级语言程序设计 343
3.4.1 C51语言概述 343
3.4.2 C51语言基础 345
3.4.3 C51语言的变量定义 351
3.4.4 C51语言的函数 362
3.4.5 C51语言与汇编语言的混合编程 367
3.4.6 C51语言访问硬件资源 373
3.5 89C51集成I/O资源 378
3.5.1中断控制器 378
3.5.2定时器/计数器 390
3.5.3串行通信口 404
第4章 I/O通道设计 418
4.1数字量I/O通道技术 419
4.1.1电平变换 419
4.1.2信号隔离 420
4.1.3信号驱动 426
4.1.4数字量通道设计实例 434
4.2模拟量I/O通道技术 440
4.2.1模拟量输出通道 440
4.2.2模拟量输入通道 453
4.2.3 A/D与D/A的选择 480
4.2.4高精度测量 482
4.2.5模拟通道设计实例 488
4.3人机交互通道技术 491
4.3.1键盘设计 491
4.3.2显示技术 504
4.3.3专用键盘显示电路 516
4.4串行通信通道技术 523
4.4.1设备间的异步通道设计 523
4.4.2设备中器件间的同步通信 541
第5章 综合设计实例 553
5.1设计目标 553
5.1.1 PLC的硬件结构 553
5.1.2设计目标 555
5.2简单PLC系统设计 555
5.2.1 CPU模块设计 555
5.2.2存储卡设计 566
5.2.3 I/O模块设计 570
5.2.4电源设计 579
参考文献 581
附录 8086指令码 582