第1章 单片机与开发环境 1
1.1单片机概述 1
1.1.1微型计算机 1
1.1.2单片机 1
1.1.3单片机应用系统 2
1.1.4单片机的发展和应用 3
1.2 Keil仿真软件 4
1.3 Protel 99 SE软件 8
1.3.1 Protel 99 SE软件安装 9
1.3.2 Protel 99 SE软件使用 11
1.4 Proteus仿真软件 15
1.4.1 Proteus ISIS功能简介 16
1.4.2绘制原理图 19
1.4.3给CPU载入程序 22
1.4.4在Proteus中调试程序 22
习题 23
第2章MCS-51系列单片机的硬件结构 25
2.1单片机的内部结构 25
2.1.1内部结构框图 25
2.1.2引脚与功能 27
2.2单片机的存储器结构 28
2.2.1程序存储器 28
2.2.2数据存储器 29
2.2.3特殊功能寄存器 31
2.3单片机的并行I/O口 35
2.3.1 I/O口的特点 35
2.3.2 I/O口的内部结构 35
2.3.3 I/O口的功能 36
2.3.4 I/O口的负载能力 37
2.4单片机的时钟与时序 37
2.4.1时钟电路 38
2.4.2 CPU时序 38
2.5单片机的复位 40
2.6单片机最小系统 41
习题 42
第3章MCS-51系列单片机的指令系统 43
3.1指令系统简介 43
3.1.1指令格式 43
3.1.2指令分类 44
3.2单片机寻址方式及实例解析 45
3.3单片机指令系统及实例解析 48
3.3.1数据传送指令 48
3.3.2算术指令 54
3.3.3逻辑指令 60
3.3.4转移指令 65
3.3.5位操作指令 74
3.3.6伪指令 77
习题 82
第4章 汇编语言程序设计 84
4.1汇编语言源程序汇编 84
4.2汇编语言的程序举例 85
4.2.1基本程序设计 85
4.2.2子程序设计和调用 93
4.2.3应用控制流程设计 95
习题 97
第5章MCS-51系列单片机的中断系统 98
5.1中断的概念 98
5.2中断源 99
5.3中断控制寄存器 99
5.4中断的优先级 102
5.5中断的响应 103
5.6由中断模块程序认知中断处理过程 105
5.6.1外部中断模块代码 105
5.6.2定时器中断模块代码 105
5.7通过实例掌握外部中断 106
习题 108
第6章MCS-51系列单片机的定时器/计数器 109
6.1定时器/计数器的结构 109
6.1.1计数功能 110
6.1.2定时功能 110
6.2定时器/计数器的相关寄存器 110
6.2.1定时器/计数器的方式寄存器TMOD 111
6.2.2定时器/计数器的控制寄存器TCON 112
6.2.3中断允许寄存器IE 113
6.2.4中断优先级寄存器IP 113
6.3定时器/计数器的工作方式 113
6.4定时器/计数器的知识扩展 117
6.4.1定时器的溢出同步问题 117
6.4.2运行中读取定时器/计数器 118
6.5由定时器/计数器模块程序认知定时器/计数器处理过程 119
6.6通过实例掌握定时器 121
6.7通过实例掌握计数器 124
习题 125
第7章MCS-51系列单片机的串行口 126
7.1串行通信的概念 126
7.2 MCS-51系列单片机串行口的结构 129
7.2.1串行口的结构 129
7.2.2串行口控制寄存器 130
7.2.3串行口的工作方式 131
7.2.4串行通信的波特率 135
7.3串行口通信 136
7.3.1双机通信 136
7.3.2多机通信 136
7.4通过实例掌握串行口通信 137
7.4.1硬件设计 137
7.4.2软件设计 140
7.4.3 PC机与单片机串行通信的实现 142
习题 143
第8章MCS-51系列单片机系统扩展及实用I/O接口技术 144
8.1存储器的扩展 144
8.1.1程序存储器扩展 144
8.1.2数据存储器的扩展 145
8.1.3存储器综合扩展 146
8.1.4数据存储器扩展实例 148
8.2开关量输入接口设计 151
8.2.1键盘接口 151
8.2.2 4×4矩阵键盘扫描实例 152
8.2.3继电器输入接口 156
8.2.4行程开关输入接口 156
8.2.5光电编码器输入接口 157
8.3开关量输出接口设计 157
8.3.1蜂鸣器输出接口 157
8.3.2继电器输出接口 158
8.3.3固态继电器输出接口 158
8.3.4 LCD接口 158
8.4常用A/ D转换接口设计 160
8.4.1 TLC2543与单片机接口实例 160
8.4.2 ADC0832与单片机接口实例 164
8.4.3 A/D转换器应用实例 167
8.5常用D/A转换接口设计 172
8.5.1 TLC5618与单片机接口实例 172
8.5.2 MAX518与单片机接口实例 175
习题 178
第9章MCS-51系列单片机开发流程 179
9.1总体方案设计 179
9.1.1系统功能要求 179
9.1.2硬件总体方案 179
9.1.3软件总体方案 181
9.2硬件和软件细分设计 181
9.2.1硬件设计 181
9.2.2软件设计及调试 182
9.3系统的Proteus仿真和调试 183
9.3.1利用Proteus绘制电路图 183
9.3.2利用Proteus软件仿真 184
9.4系统调试 186
9.4.1单片机应用系统的一般调试方法 186
9.4.2数码管显示系统调试 187
第10章 数字电子钟设计实例 189
10.1设计要求 189
10.2硬件设计 189
10.2.1按键电路设计 190
10.2.2时钟芯片DS1302的性能特点和工作原理 190
10.2.3时钟芯片DS1302与单片机的连接 192
10.2.4电路原理图 193
10.3软件设计 194
10.3.1显示子程序软件流程图 194
10.3.2显示子程序的代码 194
10.3.3主函数软件流程图 195
10.3.4总的汇编语言源程序代码 195
第11章LED阵列动态显示设计实例 209
11.1设计要求 209
11.2硬件设计 209
11.2.1 74HC595简介 209
11.2.2点阵LED简介 212
11.2.3 Protel电路原理图 212
11.3软件设计 214
11.3.1程序流程图 214
11.3.2源程序代码 214
第12章 数字温度计设计实例 218
12.1设计要求 218
12.2硬件设计 218
12.2.1温度芯片DS18B20的介绍 218
12.2.2一线式总线的概念 220
12.2.3硬件总体设计电路图 220
12.3软件设计 222
12.3.1 DS18B20子程序流程图 222
12.3.2 DS18B20子程序代码 222
12.3.3数码管串行方式显示子程序流程图 224
12.3.4数码管串行方式显示子程序代码 224
12.3.5主函数软件流程图 225
12.3.6整体源程序代码 225
附录A MCS-51系列单片机汇编指令表 229
参考文献 234