1 计算机基础知识 1
1.1 概述 1
1.1.1 计算机的产生和发展 1
1.1.2 计算机的分类及特点 2
1.1.3 计算机的架构和指令集分类(冯·洛伊曼和哈佛、CISC和RISC) 3
1.2 数制与编码 5
1.2.1 数制的基本概念 5
1.2.2 常用的数制分类(二、八、十、十六进制) 6
1.2.3 数制的表示方法 7
1.2.4 数制转换 7
1.3 数据在计算机内的表示 10
1.3.1 数据在计算机内的二进制形式表示 10
1.3.2 带符号二进制数的表示法(原码、反码、补码) 10
1.3.3 二进制数的算术运算(进位、溢出等概念) 13
1.3.4 二进制数的逻辑运算 16
1.4 常用编码(BCD、ASCII、汉字编码) 18
1.4.1 BCD码 18
1.4.2 ASCII码 19
1.4.3 汉字编码 20
1.5 定点数与浮点数 21
1.5.1 定点数 21
1.5.2 浮点数 22
2 计算机的基本工作原理 24
2.1 计算机的组成单元 24
2.2 中央处单元(CPU) 24
2.3 存储器 25
2.3.1 半导体存储器简介 27
2.3.2 半导体存储器的工作原理 29
2.3.3 静态RAM的内部结构 30
2.3.4 静态RAM存储器芯片Intel 2114 31
2.3.5 动态RAM的内部结构 33
2.3.6 动态RAM存储器芯片Intel 2164A 33
2.4 I/O接口 34
2.4.1 I/O接口的功能 35
2.4.2 CPU与I/O接口之间的信息 36
2.4.3 I/O接口的内部结构 36
2.5 总线 37
2.5.1 内部总线 37
2.5.2 系统总线 38
2.5.3 外部总线 39
2.6 数据的基本单位 40
2.6.1 单位表示 40
2.6.2 大端格式和小端格式 41
2.6.3 规则字和非规则字 41
2.7 计算机系统 42
2.7.1 8086计算机系统 42
2.7.2 PC计算机系统 42
2.7.3 51单片机系统 43
2.8 计算机的程序执行 44
2.8.1 PC机的程序执行 44
2.8.2 51单片机的程序执行 45
2.9 流水线 45
3 MCS-51单片机内部结构 47
3.1 单片机简介 47
3.1.1 单片机的发展 47
3.1.2 单片机的分类 48
3.1.3 单片机应用等级 51
3.1.4 单片机应用领域 52
3.2 51单片机的内部结构 52
3.3 存储器 54
3.3.1 51单片机的存储器组织 54
3.3.2 程序存储器 55
3.3.3 外部数据存储器 56
3.3.4 内部数据存储器 56
3.4 特殊功能寄存器 59
3.5 时钟电路与复位电路 64
3.5.1 时钟电路 64
3.5.2 基本时序单位 65
3.5.3 复位电路 65
3.6 引脚功能 66
3.7 单片机最小系统 67
4 51单片机的指令系统 70
4.1 程序设计语言 70
4.1.1 指令、指令系统和程序 70
4.1.2 机器码和机器语言 70
4.1.3 助记符和汇编语言 71
4.1.4 高级语言 71
4.2 寻址方式 72
4.2.1 立即寻址 72
4.2.2 直接寻址 73
4.2.3 寄存器寻址 73
4.2.4 寄存器间接寻址 74
4.2.5 变址寻址 75
4.2.6 相对寻址 75
4.2.7 位寻址 75
4.3 基本指令 75
4.3.1 传送类指令 75
4.3.2 字节交换指令 79
4.3.3 算术运算和逻辑运算指令 80
4.3.5 控制转移指令 84
4.3.6 位操作指令 87
5 51单片机汇编程序设计 91
5.1 概述 91
5.2 汇编语言的语句格式 92
5.3 伪指令 94
5.4 汇编语言程序设计步骤 95
5.5 顺序程序设计 96
5.6 分支程序设计 97
5.7 循环程序设计 100
5.8 位操作程序设计 102
5.9 子程序 104
6 51单片机的C程序设计 108
6.1 概述 108
6.2 C51程序结构 108
6.2.1 C51的函数 108
6.2.2 C51的中断函数 110
6.3 C51的数据类型 110
6.4 数据的存储器类型和存储器模式 111
6.4.1 数据的存储器类型 111
6.4.2 存储器模式 112
6.4.3 变量说明 112
6.5 指针 113
6.5.1 指针和指针变量 113
6.5.2 指针变量的类型 114
6.5.3 指针变量的说明 115
6.5.4 指向数组的指针变量 115
6.6 C51对SFR、可寻址位、存储器和I/O口的定义 116
6.6.1 特殊功能寄存器SFR定义 116
6.6.2 对位变量的定义 117
6.6.3 C51对存储器和外接I/O口的绝对地址访问 117
6.7 C51的运算符 118
6.8 函数 119
6.8.1 函数的分类 119
6.8.2 函数的定义 120
6.8.3 函数的调用 123
6.8.4 对被调函数的说明 126
6.9 汇编语言和C语言的混合编程 126
6.9.1 C语言程序和汇编语言程序参数的传递 127
6.9.2 C语言程序调用汇编语言程序举例 127
6.10 开发工具简介(Keil C) 132
6.10.1 系统概述 132
6.10.2 Keil C51单片机软件开发系统的整体结构 133
6.10.3 Keil C51操作入门示例 133
6.10.4 在Keil C51下调试仿真 136
7 51单片机中断系统 139
7.1 中断的基本概念 139
7.1.1 中断、中断系统和中断源 139
7.1.2 中断的种类 139
7.1.3 中断的处理过程 140
7.1.4 中断优先级和中断嵌套 141
7.2 51单片机的中断系统 142
7.2.1 中断源 142
7.2.2 51单片机的中断寄存器 143
7.3 MCS-51中断处理过程 145
7.3.1 中断响应条件 145
7.3.2 中断响应过程 146
7.3.3 中断的清除 148
7.4 中断的程序设计 149
7.4.1 中断初始化 149
7.4.2 主程序的安排 149
7.4.3 中断编程举例 149
8 51单片机的I/O接口 154
8.1 P0~P3口的功能和内部结构 154
8.1.1 接口功能与内部结构 154
8.1.2 负载能力 156
8.2 I/O口编程举例 157
8.3 用并行口设计LED数码显示器 158
8.3.1 LED数码管结构及编码 158
8.3.2 LED数码管的显示方式 160
8.3.3 LED数码管译码 161
8.4 用并行口设计键盘电路 163
8.4.1 概述 163
8.4.2 独立式键盘和矩阵式键盘 164
9 51单片机定时/计数器 169
9.1 概述 169
9.1.1 定时与计数的概念 169
9.1.2 定时的方法 169
9.1.3 初始值与溢出 170
9.2 51单片机定时/计数器工作原理 170
9.2.1 单片机定时/计数器结构 170
9.2.2 定时器/计数器的寄存器 171
9.3 51单片机定时/计数器的工作方式 172
9.3.1 工作方式 172
9.3.2 初始值C的计算方法及加载方式 174
9.4 51单片机定时/计数器的应用 175
9.4.1 定时/计数器的初始化编程 175
9.4.2 应用编程举例 175
10 51单片机的串行接口 180
10.1 概述 180
10.1.1 同步通信和异步通信方式 180
10.1.2 通信方向 181
10.1.3 串行通信接口的任务 182
10.1.4 波特率和发送接收时钟 183
10.1.5 信号的调制和解调 184
10.1.6 RS-232介绍及通信线的连接 184
10.1.7 单片机串行通信电路 188
10.2 单片机串行口的结构与工作原理 189
10.2.1 串行口结构 189
10.2.2 工作原理 190
10.2.3 波特率的设定 191
10.3 串行口的控制寄存器 191
10.3.1 串行口的控制寄存器SCON 191
10.3.2 电源控制寄存器PCON 192
10.4 串行口的工作方式 192
10.5 串行口的应用编程 194
10.5.1 查询方式 195
10.5.2 中断方式 198
10.6 利用串行口方式0扩展I/O口 200
11 51单片机的扩展 204
11.1 单片机系统总线和系统的扩展方法 204
11.1.1 单片机系统的引脚规律 204
11.1.2 外围芯片的引脚规律 205
11.1.3 系统扩展的方法 205
11.1.4 译码方法(线选、译码器) 206
11.2 存储器的扩展 210
11.2.1 存储器的引脚规律 210
11.2.2 时序 211
11.2.3 程序存储器的扩展 213
11.2.4 数据存储器的扩展 216
11.3 I/O接口的扩展 219
11.3.1 通用锁存器、缓冲器的扩展 222
11.3.2 可编程并行接口芯片的扩展 224
11.4 存储器和I/O综合扩展举例 231
11.5 定时器/计数器扩展 234
11.6 中断的扩展 239
11.7 D/A扩展 242
11.7.1 D/A概述 243
11.7.2 DAC0832的扩展接口 244
11.7.3 DAC0832的应用举例 246
11.7.4 DAC1210的扩展接口 248
11.8 A/D扩展 251
11.8.1 A/D概述 251
11.8.2 ADC0809的扩展接口 253
11.8.3 AD574的扩展接口 257
11.9 隔离与驱动 260
附录 MCS-51指令表 265
参考答案 269
主要参考文献 288