8051系列单片机是国际上流行多年的代表机型,是国内高校教学和初学者入门首选的主流机型,也是在各种技术期刊和专业书籍中出现频率最高的经典机型。本书以标準80C51为教学模型,并适当兼顾8051系列的共性和常用型号的特性。内容主要包括:硬体架构、ROM、RAM、指令系统、彙编程式基础和彙编语言工具链、并行连线埠、定时器、中断逻辑、复位逻辑、时钟电路、电源电路等功能电路的结构和工作原理,以及片内程式存储器编程原理。
基本介绍
- 书名:标準80C51单片机基础教程:原理篇
- ISBN:781077574X、9787810775748
- 页数:348页
- 出版社:北京航空航天大学出版社
- 出版时间:2006年8月1日
- 装帧:平装
- 开本:16开
- 尺寸:26 x 18.4 x 1.2 cm
- 重量:499 g
作者简介
李学海,副教授,先后攻读过通信电源、电子工程和通信系统等专业。
从事教学20余年,教过:物理、电路分析、数字电路、模拟电路、程控交换原理、电信组织与管理、电信概要、电信终端设备、微机原理、微机接口技术、80X86彙编程式设计、电子测量、8051单片机、PIC单片机、EM78单片机等课程。
曾经参加过几次全国性的单片机套用开发大奖赛并均从中获奖,如“第二届力源杯单片机开发製作大奖赛”二等奖、“第三届MOTORO[一A杯单片机套用设计大奖赛”优秀奖;还曾获得过4项国家专利和发明成果展览会金奖。
自1983年以来,在《电子技术套用》、《电子产品世界》、《单片机与嵌入式系统套用》、《电子世界》、《无线电》、《现代通信》等30余种电子和通信类核心期刊、科普期刊上发表专业论文、译文、科普文章和科研成果总计290余篇,内容涉及电子、电信、电脑和电器等领域。
章节目录
第0章 背景知识和学科简介
0.1 学习单片机有什幺必要1
0.2 单片机令人着迷的理由是什幺3
0.3 学习单片机有什幺意义5
0.4 单片机到底是什幺7
0.5 单片机有什幺用处9
0.6 单片机有什幺特点10
0.7 51系列单片机的发展背景是什幺11
0.7.1 MCS-48系列单片机简介11
0.7.2 MCS-51系列单片机简介11
0.7.3 51系列单片机简介14
0.7.4 51系列单片机常规命名规则16
0.7.5 51系列单片机烧写方式比较17
0.7.6 标準8051单片机的性能特点17
0.8 学习51系列单片机有什幺优势18
0.8.1 技术方面的优势18
0.8.2 资料方面的优势19
0.8.3 硬体方面的优势19
0.8.4 软体方面的优势20
0.8.5 软体工具链方面的优势20
0.8.6 硬体工具链方面的优势21
0.9 专业名词和技术术语21
0.9.1 硬体方面的专业术语22
0.9.2 软体方面的专业术语25
0.10 本书的写作思路和写作目标26
思考与练习28
第1章 标準80C51硬体系统概况
1.1 晶片内部总体结构29
1.1.1 核心区单元电路及其功能32
1.1.2 中央处理单元32
1.1.3 功能部件及其功能36
1.1.4 外围模组及其功能36
1.2 晶片外部封装和引脚37
1.2.1 封装形式37
1.2.2 引脚功能39
1.2.3 引脚功能简化40
1.3 存储器组织方式42
1.4 程式存储器(ROM)43
1.5 数据存储器(RAM)45
1.5.1 外部数据存储器空间45
1.5.2 内部数据存储器空间46
1.5.3 堆叠48
1.5.3.1 堆叠的概念48
1.5.3.2 堆叠的用途48
1.5.3.3 堆叠的结构48
1.5.3.4 堆叠的操作49
1.5.3.5 注意事项50
1.6 特殊功能暂存器(SFR)空间50
1.6.1 SFR的布局和配置51
1.6.2 SFR的功能53
1.7 布尔处理器(位处理器)54
思考与练习55
第2章 80C51指令系统分类解析
2.1 80C51指令系统概述57
2.1.1 指令的描述方法58
2.1.2 指令的执行时序59
2.1.3 指令的编码格式61
2.2 定址方式62
2.2.1 与位元组数据相关的定址方式63
2.2.1.1 立即定址63
2.2.1.2 直接定址63
2.2.1.3 隐含定址64
2.2.1.4 暂存器定址64
2.2.1.5 间接定址65
2.2.1.6 变址定址66
2.2.2 与跳转地址有关的定址方式66
2.2.2.1 相对跳转定址67
2.2.2.2 绝对跳转定址67
2.2.2.3 变址跳转定址68
2.2.3 与位数据有关的定址方式68
2.2.3.1 隐含位定址69
2.2.3.2 直接位定址69
2.2.4 定址方式与定址空间的对应关係69
2.3 80C51指令的分类方法70
2.3.1 按实现功能分类71
2.3.2 按编码位元组数分类71
2.3.3 按执行周期数分类71
2.3.4 按定址方式分类71
2.3.5 按携带运算元分类71
2.3.6 按影响标誌分类72
2.3.7 按使用频度分类72
2.4 80C51指令功能的分类解析73
2.4.1 数据传送类指令73
2.4.2 算术运算类指令78
2.4.3 逻辑运算类指令83
2.4.4 程式跳转类指令86
2.4.5 位操作类指令90
2.5 80C51指令系统的内在规律94
2.6 80C51指令的套用技巧95
2.6.1 位置1操作技巧95
2.6.2 位清0操作技巧95
2.6.3 位取反操作技巧96
2.6.4 位测试操作技巧97
2.7 “CPU—SFR—模组”的相互关係98
思考与练习99
第3章 彙编程式设计基础和彙编语言工具链
3.1 概述101
3.1.1 背景知识101
3.1.2 彙编语言的语句格式103
3.1.3 程式流程和整体结构107
3.1.4 源程式档案的书写格式107
3.2 常用伪指令110
3.2.1 符号名定义类伪指令110
3.2.2 存储器空间初始化类伪指令113
3.2.3 彙编状态控制类伪指令114
3.2.4 其他115
3.3 4种基本程式结构117
3.3.1 顺序程式结构117
【例程3.1】 位元组拆分117
3.3.2 分支程式结构118
【例程3.2】 数值比较118
3.3.3 循环程式结构120
【例程3.3】 RAM区间填充120
3.3.4 子程式结构121
【例程3.4】 挑选极值122
3.4 5种个性化实用程式的设计方法123
3.4.1 初始化程式段设计124
3.4.2 延时程式设计124
【例程3.5】 软体延时125
3.4.3 查表程式设计126
【例程3.6】 阶乘函式127
3.4.4 散转程式设计129
【例程3.7】 跳转指令表法130
【例程3.8】 地址偏移量表法131
3.4.5 布尔程式设计132
【例程3.9】 组合逻辑软体模拟133
3.5 彙编语言工具链134
3.5.1 彙编语言工具链134
3.5.2 彙编语言工具链套用举例136
【例程3.10】 8位二进制计时器137
3.6 输出档案(LST和HEX)的解读141
3.6.1 解读列表档案(.LST)141
3.6.2 解读最终目标档案(.HEX)143
思考与练习144
第4章 通用并行输入/输出连线埠及其连线埠引脚
4.1 概述146
4.2 并行连线埠的内部结构147
4.3 并行连线埠的工作原理148
4.3.1 从连线埠引脚输出数据148
4.3.2 从连线埠引脚输入数据149
4.3.3 读取连线埠数据锁存器内容149
4.4 并行连线埠的操作指令149
4.5 各个并行连线埠的个性差异150
4.5.1 P0连线埠150
4.5.2 P1连线埠151
4.5.3 P2连线埠151
4.5.4 P3连线埠152
4.6 并行连线埠特性小结153
4.7 并行连线埠特性的套用技巧154
4.7.1 漏极开路结构的妙用154
4.7.2 弱上拉功能的妙用156
4.7.3 非对称输出级的用法157
思考与练习158
第5章 定时器/计数器
5.1 定时器/计数器模组的基本用途159
5.2 80C51中定时器/计数器T0和T1的特性160
5.3 定时器/计数器T0和T1相关的暂存器160
5.4 T0和T1模组的电路结构和工作原理162
5.4.1 循环累加计数暂存器163
5.4.2 脉源选择电路164
5.4.3 脉源控制电路164
5.5 定时器/计数器的4种工作方式165
5.5.1 方式1(16位计数暂存器)166
5.5.2 方式0(13位计数暂存器)166
5.5.3 方式2(自动重装载8位计数暂存器)167
5.5.4 方式3(2×8位计数暂存器)168
思考与练习169
第6章 中断概念和中断逻辑
6.1 中断的基本概念171
6.2 80C51的中断源和中断逻辑173
6.2.1 中断源173
6.2.2 中断逻辑173
6.2.3 中断优先权174
6.3 中断相关的暂存器175
6.4 中断处理177
6.4.1 中断功能的编程方法177
6.4.2 中断回响的延迟时间180
6.4.3 需要注意的一些问题180
思考与练习181
第7章 串列通信原理和串列通信接口
7.1 串列通信的基本概念183
7.1.1 串列通信的两种基本方式184
7.1.1.1 异步传送方式184
7.1.1.2 同步传送方式185
7.1.2 串列通信中数据传送方向185
7.1.2.1 单工传送方式185
7.1.2.2 半双工传送方式186
7.1.2.3 全双工传送方式186
7.1.3 串列通信中的控制方式186
7.1.3.1 主控器方式186
7.1.3.2 被控器方式186
7.1.4 串列通信中的码型、编码方式和帧结构187
7.1.5 串列通信中的检错和纠错方式188
7.1.5.1 奇偶校验188
7.1.5.2 累加和校验188
7.1.5.3 循环冗余校验CRC188
7.1.5.4 通信中的纠错188
7.1.6 串列通信组网方式190
7.1.6.1 双机通信方式190
7.1.6.2 多机通信方式191
7.1.6.3 多主机通信方式191
7.1.7 串列通信接口电路和参数192
7.1.8 串列通信的传输速率194
7.1.8.1 信息传输速率R194
7.1.8.2 符号传输速率N195
7.1.9 串列通信协定195
7.2 80C51中的通用同步/异步收/发器USART模组196
7.2.1 USART模组相关的暂存器198
7.2.2 USART模组的电路结构200
7.2.3 波特率发生器201
7.2.4 USART模组的工作原理204
7.2.4.1 方式1——异步/双工/10位帧结构——双机通信204
7.2.4.2 方式2和3——异步/双工/11位帧结构——多机通信205
7.2.4.3 方式0——同步/主控/半双工/8位数据——移位暂存器206
7.2.5 多机通信的实现原理208
7.2.5.1 多机通信的接线方式208
7.2.5.2 多机通信的实现方法209
7.2.5.3 多机通信的操作步骤210
7.2.5.4 多机通信的通信协定211
7.2.6 UART接口的扩充方法和设计技巧211
7.2.6.1 选择具有多个UART模组的单片机211
7.2.6.2 採用软体虚拟技术211
7.2.6.3 选用专用晶片212
思考与练习212
第8章 并行汇流排、并行汇流排接口和并行汇流排扩展
8.1 并行汇流排的概念214
8.1.1 数据汇流排(DB)215
8.1.2 地址汇流排(AB)215
8.1.3 控制汇流排(CB)215
8.2 并行汇流排接口216
8.3 并行汇流排扩展217
8.3.1 扩展程式存储器ROM217
8.3.1.1 不提倡外扩ROM的理由217
8.3.1.2 掌握扩展技术的必要性218
8.3.1.3 外扩ROM的接线图218
8.3.1.4 外扩ROM的信号时序219
8.3.1.5 外扩ROM的器件类型219
8.3.2 扩展数据存储器RAM221
8.3.2.1 外扩RAM的器件类型221
8.3.2.2 外扩RAM的接线图222
8.3.2.3 外扩RAM的信号时序222
8.3.3 扩展并行I/O连线埠223
8.3.3.1 利用并行汇流排扩展法实现224
8.3.3.2 利用通用器件扩展225
8.3.3.3 利用专用器件扩展228
8.3.4 补充几点说明228
思考与练习228
第9章 系统复位源设计和扩充技术
9.1 单片机的工作状态及其状态迁移230
9.2 复位源、复位操作和复位状态231
9.2.1 什幺叫复位源231
9.2.2 复位操作有哪些具体内容232
9.2.3 复位状态有哪些具体表现232
9.2.4 几点补充说明232
9.3 上电复位(POR)和复位延时233
9.3.1 上电复位时序233
9.3.2 3种上电复位电路234
9.3.3 上电复位失败的2种案例分析235
9.4 人工复位(MRST)和复位电路237
9.4.1 3种人工复位电路237
9.4.2 人工复位时序237
9.5 欠压复位(LVR)、欠压检测(LVD)和欠压中断(LVI)238
9.5.1 什幺叫电源电压跌落238
9.5.2 电源跌落会带来哪些具体危害239
9.5.3 欠压复位电路的分立件搭建方法239
9.5.4 欠压检测门限的选定方法240
9.5.5 欠压中断(LVI)功能的设计方法242
9.5.6 几点补充说明243
9.6 80C51外扩电压检测专用晶片244
9.6.1 外接电压检测器HT70xx244
9.6.2 外接带延时的电压检测器MAX810245
9.6.3 外接带人工复位的电压检测器MAX812245
9.6.4 外接带电源故障预警的电压检测器MAX707/708246
9.7 看门狗复位(WDR)和看门狗定时器(WDT)248
9.7.1 配备WDT有何必要248
9.7.2 程式失控的原因、后果和回复249
9.7.2.1 实际单片机系统中程式失控的原因249
9.7.2.2 实际单片机系统中程式失控的后果249
9.7.2.3 程式失控后的回覆措施249
9.7.2.4 失控回复之后的后续处理250
9.7.3 WDT的电路结构和工作原理250
9.7.4 几点补充说明251
9.8 80C51如何增设看门狗功能252
9.8.1 内设软体看门狗252
9.8.1.1 软体看门狗的设计思想252
9.8.1.2 软体看门狗的编程方法252
9.8.1.3 软体看门狗的局限性253
9.8.2 外扩看门狗专用晶片DS1232254
9.8.3 外扩看门狗专用晶片MAX813255
9.9 3种非常规复位扩展方式256
9.9.1 什幺叫软体陷阱257
9.9.2 什幺叫软体复位(SWR)257
9.9.3 什幺叫软硬体复位(SHR)259
9.9.4 什幺叫非法地址复位(IAR)260
9.10 复位方式小结261
9.11 复位标誌位的设定和套用262
9.11.1 复位标誌位的设定方法262
9.11.2 复位标誌位的套用方法265
思考与练习266
第10章 系统时钟源和电源设计及节电技术
10.1 系统时钟源设计267
10.1.1 自建时钟源267
10.1.2 外引时钟源268
10.1.3 时钟振荡器原理分析269
10.1.4 时钟电路的设计考虑273
10.2 系统电源设计274
10.2.1 电源的获取方式和统筹规划274
10.2.2 稳压电源的电路设计276
10.2.3 晶片电源引脚特点和抗干扰措施280
10.3 节电技术(睡眠与唤醒)281
10.3.1 节电技术背景和概念281
10.3.1.1 背景知识281
10.3.1.2 支持硬体282
10.3.1.3 节电模式相关的暂存器283
10.3.2 停机模式(PD)284
10.3.2.1 停机模式的进入284
10.3.2.2 停机模式的退出(3种方式)285
10.3.3 待机模式(IDL)286
10.3.3.1 待机模式的进入286
10.3.3.2 待机模式的退出(3种方式)287
10.3.4 节电模式下的引脚降耗安排288
思考与练习289
第11章 片载程式存储器编程技术和保护方法
11.1 传统的并行编程方法291
11.1.1 编程概念和编程工具291
11.1.2 晶片内部的编程逻辑292
11.1.3 80C51系列的程式保护机制293
11.1.3.1 封锁程式代码的锁定位(LB3~LB1)294
11.1.3.2 加密程式代码的密码阵列295
11.1.4 晶片标记位元组296
11.1.5 并行编程的实现方法298
11.2 新兴的串列编程方法300
11.2.1 利用SPI接口的串列编程方法300
11.2.2 利用UART接口的串列编程方法303
11.2.3 SPI和UART串列编程的对比305
11.2.4 ISP和IAP编程技术简介306
思考与练习307
附录A ASCII码錶308
附录B 英文指令一览表309
附录C 宏彙编器的系统保留字313
附录D 电压检测器HT70xx系列专用晶片
D.1 封装形式和引脚功能315
D.2 内部结构和工作原理315
D.3 选型参考316
D.4 电气参数317
D.5 套用举例319
附录E 带延时复位功能的电源监控器MAX809/810
E.1 概述321
E.2 内部结构和引脚功能321
E.3 功能说明322
E.4 特性参数和时序图323
E.5 套用举例325
附录F 带延时和人工复位的电源监控器MAX811/812
F.1 概述326
F.2 内部结构和引脚功能326
F.3 功能说明327
F.4 特性参数和时序图328
F.5 套用举例330
附录G 带延时、人工复位及电源故障检测的电压监控器MAX707/708
G.1 概述331
G.2 内部结构和引脚功能331
G.3 功能说明332
G.4 电气参数和时序图333
G.5 套用举例335
附录H 多功能系统监控器DS1232
H.1 概述336
H.2 内部结构和引脚功能336
H.3 工作原理338
H.4 电气参数和时序图338
H.5 套用举例339
附录I 多功能监控器MAX705/706/813
I.1 概述340
I.2 内部结构和引脚功能340
I.3 功能说明342
I.4 电气参数和时序图344
I.5 典型套用实例346
参考文献347