第1章 计算机基础知识 1
1.1数制与编码 1
1.1.1数制及其转换 1
1.1.2二进制数的编码 5
1.1.3带符号二进制数的运算 6
1.1.4二-十进制编码 7
1.1.5ASCII码 8
1.2单片机与嵌入式系统 8
1.2.1单片机的概念 8
1.2.2单片机的发展 8
1.2.3单片机的应用领域 10
1.2.4嵌入式系统 11
思考与练习 12
第2章 MCS-51单片机结构和原理 14
2.1单片机内部组成及引脚功能 14
2.1.1单片机内部结构 14
2.1.2MCS-51的引脚功能 15
2.2布尔处理机 17
2.3存储器组织 18
2.3.1MCS-51存储器特点 18
2.3.2片内数据存储器 19
2.4并行I/O口电路结构及应用特性 24
2.3.3片内程序存储器 24
2.4.1P0口 25
2.4.2P1口 26
2.4.3P2口 27
2.4.4P3口 27
2.5时钟电路与CPU时序 28
2.5.1时钟电路 28
2.5.2时序定时单位 28
2.5.3典型指令的取指、执行时序 30
2.6MCS-51单片机工作方式 31
2.6.1复位方式及复位电路 31
2.6.3单步执行方式 33
2.6.2程序执行方式 33
2.6.4低功耗操作方式 34
2.6.5EPROM编程和校验方式 35
思考与练习 36
第3章 MCS-51单片机的指令系统 39
3.1MCS-51指令系统概述 39
3.1.1计算机常用的编程语言 39
3.1.2MCS-51指令格式 40
3.1.3寻址方式及寻址空间 40
3.1.4指令系统分类 43
3.2数据传送类指令 44
3.1.5指令系统标识符 44
3.2.1内部RAM单元之间的数据传送指令 45
3.2.2栈操作指令 46
3.2.3数据交换指令 47
3.2.4累加器A与外部RAM的数据传送指令 48
3.2.5累加器A与ROM的数据传送指令(查表指令) 48
3.3算术运算类指令 49
3.3.1加法指令 49
3.3.2减法指令 52
3.3.3乘法指令 53
3.3.4除法指令 53
3.4.1单操作数逻辑运算指令 54
3.4逻辑操作类指令 54
3.4.2双操作数逻辑运算指令 55
3.5控制转移类指令 57
3.5.1无条件转移指令 57
3.5.2条件转移指令 59
3.5.3子程序调用与返回指令 60
3.5.4空操作指令 61
3.6布尔(位)操作类指令 62
3.6.1位传送指令 62
3.6.2位置位和复位指令 62
3.6.4位条件转移指令 63
3.6.3位逻辑运算指令 63
3.7伪指令 64
思考与练习 66
第4章 汇编语言程序设计基础 71
4.1汇编语言程序的设计方法 71
4.2汇编语言程序结构 71
4.2.1顺序结构程序设计 71
4.2.2分支结构程序设计 73
4.2.3循环结构程序设计 78
4.2.4子程序设计 80
4.3.2源程序汇编 83
4.3.1汇编语言源程序的编辑 83
4.3汇编语言的编辑与汇编 83
思考与练习 85
第5章 MCS-51中断系统 87
5.1什么是中断 87
5.2MCS-51单片机的中断源 87
5.3中断控制 88
5.3.1定时器控制寄存器(TCON) 88
5.3.2串行口控制寄存器(SCON) 89
5.3.3中断允许寄存器(IE) 89
5.3.4中断优先级控制寄存器(IP) 90
5.4.1中断采样 91
5.4.2中断查询 91
5.4中断处理过程 91
5.4.3中断响应 92
5.4.4中断返回 94
5.5中断请求的撤除 94
5.6外部中断的应用 95
思考与练习 98
第6章 MCS-51单片机的定时/计数器 100
6.1定时器的定时与计数功能 100
6.2定时器的有关寄存器 101
6.2.1定时器控制寄存器(TCON) 101
6.2.2定时器工作方式控制寄存器(TMOD) 101
6.3.1工作方式0 102
6.3定时器的4种工作方式 102
6.3.2工作方式1 104
6.3.3工作方式2 106
6.3.4工作方式3 108
6.4定时器的综合应用 109
思考与练习 112
第7章 MCS-51单片机系统扩展 114
7.1MCS-51扩展系统概述 114
7.1.1MCS-51扩展系统结构 114
7.1.2存储器及外部I/O口的编址技术 115
7.2.1常用程序存储器芯片 117
7.2程序存储器扩展 117
7.2.2程序存储器的扩展 118
7.3数据存储器的扩展 120
7.3.1常用数据存储器芯片 120
7.3.2数据存储器扩展 120
7.4I/O口的扩展 122
7.4.1简单的I/O口扩展 122
7.4.28155可编程I/O接口扩展 123
思考与练习 127
8.1显示器接口技术 129
8.1.1LED显示器的结构与原理 129
第8章 人-机通道配置与接口技术 129
8.1.2LED显示器的接口方式 130
8.1.3LED显示器的显示方式 133
8.2键盘接口技术 139
8.2.1按键去抖动处理 139
8.2.2键盘结构及扫描子程序 140
8.3键盘与显示技术的综合应用举例 144
思考与练习 147
第9章 系统前向、后向通道配置及接口技术 148
9.1后向通道中的D/A接口技术 148
9.1.1D/A转换器概述 148
9.1.2典型D/A转换芯片DAC0832 149
9.1.3DAC0832和MCS-51的接口 151
9.2前向通道中的A/D转换接口技术 154
9.2.1A/D转换器的基本原理及技术指标 155
9.2.2典型逐次逼近式A/D转换芯片ADC0809 156
9.2.3ADC0809和MCS-51的接口 158
9.2.4应用设计举例 159
思考与练习 162
第10章 串行接口技术 164
10.1串行通信概述 164
10.1.1同步通信与异步通信 164
10.1.2串行通信的制式 165
10.2.1串行口结构 166
10.1.3串行通信的传送速率 166
10.2MCS-51串行口简介 166
10.2.2串行口的控制 167
10.2.3波特率设计 168
10.3串行口工作方式 169
10.3.1方式0 170
10.3.2方式1 172
10.3.3方式2与方式3 175
10.3.4多机通信 177
10.4单片机与PC的通信 178
10.4.2用汇编语言编写异步串行通信程序 179
10.4.1接口设计 179
10.4.3基于BIOS功能调用的串行通信程序设计 182
思考与练习 191
第11章 单片机应用系统设计 193
11.1单片机应用系统的设计过程 193
11.1.1总体方案确定 193
11.1.2硬件设计 194
11.1.3软件设计 195
11.1.4系统调试 196
11.2单片机硬件系统的抗干扰技术 196
11.2.1形成干扰的基本要素 196
11.2.2常用硬件抗干扰技术 197
11.2.3单片机软件系统的抗干扰技术 199
11.3系统故障处理、自恢复程序的设计 201
11.3.1非正常复位的识别 201
11.3.2非正常复位后系统自恢复运行的程序设计 202
附录A常用子程序 204
A.1BCD码定点运算程序 204
A.2二进制数定点运算程序 206
A.3代码转换程序 218
A.4检索与排序子程序 223
A.5数据统计子程序 228
附录BMCS-51指令表 233
参考文献 236