第1章 单片机概述 1
1.1单片机简介 1
1.2单片机的发展历史 2
1.3单片机的特点 2
1.4单片机的应用 3
1.5单片机的发展趋势 4
1.6MCS-51系列与AT89S5×系列单片机 5
1.6.1MCS-51系列单片机 5
1.6.2AT89S5×系列单片机简介 6
1.7各种衍生品种的8051单片机 8
1.7.1STC系列单片机 8
1.7.2C8051F×××单片机 9
1.7.3ADμC812单片机 10
1.7.4华邦W77系列、W78系列单片机 10
1.8PIC系列单片机与AVR系列单片机 10
1.8.1PIC系列单片机 11
1.8.2AVR系列单片机 11
1.9其他的嵌入式处理器简介 12
1.9.1嵌入式DSP处理器 12
1.9.2嵌入式微处理器 13
思考题及习题1 14
第2章 AT89S52单片机的片内硬件结构 16
2.1AT89S52单片机的硬件组成 16
2.2AT89S52单片机的引脚功能 17
2.2.1电源及时钟引脚 19
2.2.2控制引脚 19
2.2.3并行I/O口引脚 20
2.3AT89S52单片机的CPU 22
2.3.1运算器 22
2.3.2控制器 23
2.4AT89S52单片机的存储器结构 24
2.4.1程序存储器空间 25
2.4.2数据存储器空间 26
2.4.3特殊功能寄存器 27
2.4.4位地址空间 30
2.4.5存储器结构总结 31
2.5AT89S52单片机的并行I/O端口 32
2.5.1P0口 32
2.5.2P1口 33
2.5.3P2口 34
2.5.4P3口 35
2.6时钟电路与时序 35
2.6.1时钟电路设计 36
2.6.2时钟周期、机器周期、指令周期与指令时序 37
2.7复位操作和复位电路 38
2.7.1复位操作 38
2.7.2复位电路设计 39
2.8AT89S52单片机的最小应用系统 39
2.9看门狗定时器(WDT)功能简介 40
2.10低功耗节电模式 40
2.10.1空闲模式 41
2.10.2掉电运行模式 41
思考题及习题2 42
第3章 8051指令系统与编程基础 44
3.1指令系统概述 44
3.2指令格式 44
3.3指令系统的寻址方式 45
3.4 8051指令系统分类介绍 48
3.4.1数据传送类指令 48
3.4.2算术运算类指令 52
3.4.3逻辑操作类指令 56
3.4.4控制跳转类指令 58
3.4.5位操作类指令 61
3.5 8051指令系统汇总 62
3.6某些指令的说明 67
3.7 8051汇编语言程序设计基础 68
3.7.1编程语言概述 69
3.7.2汇编语言语句和格式 69
3.7.3伪指令 71
3.7.4汇编语言源程序的汇编 73
3.8 8051汇编语言程序设计举例 74
3.8.1子程序的设计 74
3.8.2查表程序设计 75
3.8.3分支转移程序设计 77
3.8.4循环程序设计 80
思考题及习题3 83
第4章 AT89S52单片机的中断系统 87
4.1单片机中断技术概述 87
4.2AT89S52单片机的中断系统结构 88
4.2.1中断请求源 88
4.2.2中断请求标志寄存器 89
4.3中断允许与中断优先级的控制 90
4.3.1中断允许寄存器IE 90
4.3.2中断优先级寄存器IP 92
4.4响应中断请求的条件 94
4.5外部中断的响应时间 95
4.6外部中断的触发方式选择 96
4.6.1电平触发方式 96
4.6.2跳沿触发方式 96
4.7中断请求的撤销 96
4.8中断服务子程序的应用设计 98
4.9多外部中断源系统设计 100
4.9.1定时器/计数器作为外部中断源的使用方法 100
4.9.2中断和查询结合的方法 101
4.9.3用优先权编码器扩展外部中断源 102
思考题及习题4 105
第5章 AT89S52单片机的定时器/计数器 107
5.1定时器/计数器T0与T1的结构 107
5.1.1工作方式控制寄存器TMOD 108
5.1.2定时器/计数器控制寄存器TCON 109
5.2定时器/计数器T0与T1的4种工作方式 109
5.2.1方式0 109
5.2.2方式1 110
5.2.3方式2 111
5.2.4方式3 111
5.3定时器/计数器T2的结构与工作方式 113
5.3.1T2的特殊功能寄存器T2MOD和T2CON 113
5.3.2T2的3种工作模式 115
5.4对外部输入的计数信号的要求 117
5.5定时器/计数器的编程和应用 118
5.5.1T1、T0的方式1应用 118
5.5.2T1、T0的方式2应用 121
5.5.3T1、T0的方式3应用 123
5.5.4T1、T0的门控制位GATEx的应用——测量脉冲宽度 124
5.5.5使用T1、T0的实时时钟设计 125
5.5.6T2实现1秒定时 127
5.5.7使用T2测量脉冲的周期 128
思考题及习题5 130
第6章 AT89S52单片机的串行口 132
6.1串行通信基础 132
6.1.1并行通信与串行通信 132
6.1.2同步通信与异步通信 133
6.1.3串行通信的传输模式 134
6.1.4串行通信的错误校验 135
6.2串行口的结构 135
6.2.1串行口控制寄存器SCON 136
6.2.2特殊功能寄存器PCON 137
6.3串行口的4种工作方式 137
6.3.1方式0 137
6.3.2方式1 140
6.3.3方式2 141
6.3.4方式3 143
6.4多机通信 144
6.4.1多机通信的工作原理 144
6.4.2多机通信设计举例 145
6.5波特率的制定方法 147
6.5.1波特率的定义 147
6.5.2定时器T1产生波特率的计算 147
6.5.3定时器/计数器T2作为波特率发生器 148
6.5.4定时器/计数器T2的可编程时钟输出 150
6.6串行通信接口标准 151
6.6.1RS-232C双机通信接口 151
6.6.2RS-422A双机通信接口 152
6.6.3RS-485双机通信接口 153
6.6.4 20rnA电流环串行接口 154
6.6.5各种串行接口性能比较 155
6.7串行口的应用设计举例 155
6.7.1串行通信设计需要考虑的问题 155
6.7.2双机串行通信软件编程 156
6.7.3PC机与单片机的点对点串行通信接口设计 161
6.7.4PC机与多个单片机的串行通信接口设计 163
思考题及习题6 165
第7章 显示、开关/键盘及微型打印机接口设计 167
7.1单片机控制发光二极管的显示 167
7.1.1单片机与发光二极管的连接 167
7.1.2单片机I/O端口控制发光二极管的编程 168
7.2开关状态检测 169
7.3单片机控制LED数码管的显示 170
7.3.1LED数码管显示原理 170
7.3.2LED数码管的显示方式 173
7.3.3LED数码管静态显示设计 174
7.3.4LED数码管动态显示设计 175
7.4单片机控制LED点阵显示器显示 177
7.4.1LED点阵显示器结构与显示原理 177
7.4.2控制16×16LED点阵显示屏的设计 179
7.5单片机控制LCD1602液晶显示器的显示 182
7.5.1LCD1602液晶显示模块简介 182
7.5.2单片机控制字符型LCD1602的显示案例 187
7.6键盘接口设计 190
7.6.1键盘接口设计应解决的问题 190
7.6.2独立式键盘的设计 192
7.6.3矩阵式键盘的设计 195
7.6.4单片机与专用键盘/显示器芯片HD7279的接口设计 199
7.7AT89S52单片机与微型打印机TPμP-40A/16A的接口 210
7.7.1TPμP-40A/16A微型打印机简介 210
7.7.2AT89S52单片机与TPμP-40A/16A微型打印机的接口设计 213
7.8单片机与BCD码拨盘的接口设计 214
思考题及习题7 216
第8章 AT89S52单片机外部存储器的并行扩展 218
8.1系统并行扩展结构 218
8.2地址空间分配和外部地址锁存器 219
8.2.1存储器地址空间分配 220
8.2.2外部地址锁存器 223
8.3静态数据存储器RAM的并行扩展 225
8.3.1常用的静态RAM(SRAM)芯片 225
8.3.2外扩数据存储器的读/写操作时序 226
8.3.3AT89S52单片机与RAM的接口设计与软件编程 227
8.4片内Flash存储器的编程 230
8.4.1使用通用编程器的程序写入 232
8.4.2使用下载线的ISP编程 232
8.5E2PROM的并行扩展 233
8.5.1并行E2PROM芯片简介 233
8.5.2E2PROM的工作方式 234
8.5.3AT89S52单片机扩展E2PROM AT2864的设计 235
思考题及习题8 237
第9章 AT89S52单片机的I/O扩展 239
9.1I/O接口扩展概述 239
9.1.1扩展的I/O接口功能 239
9.1.2I/O端口的编址 240
9.1.3I/O数据的传送方式 240
9.1.4I/O接口电路 241
9.2AT89S52扩展I/O接口芯片82C55的设计 241
9.2.1 82C55芯片简介 241
9.2.2工作方式选择控制字及端口PC置位/复位控制字 243
9.2.3 82C55芯片的3种T工作方式 244
9.2.4单片机扩展82C55芯片的接口设计 248
9.2.5AT89S52单片机扩展82C55芯片的应用举例 250
9.3利用74LSTTL电路扩展并行I/O口 251
9.4用AT89S52单片机的串行口扩展并行口 253
9.4.1用74LS165芯片扩展并行输入口 253
9.4.2用74LS164芯片扩展并行输出口 254
9.5用I/O口控制的声音报警接口 255
9.5.1蜂鸣音报警接口 255
9.5.2音乐报警接口 256
思考题及习题9 256
第10章 AT89S52单片机与DAC、ADC的接口 258
10.1单片机扩展D/A转换器概述 258
10.2单片机扩展并行8位DAC0832的设计 259
10.2.1DAC0832芯片简介 259
10.2.2单片机与8位D/A转换器0832的接口设计 261
10.3AT89S52单片机与12位D/A转换器AD667的接口设计 265
10.3.1 12位D/A转换器AD667简介 266
10.3.2AD667芯片与AT89S52单片机的接口设计 267
10.3.3AD667芯片使用中的技术细节 268
10.4AT89S52与串行输入的12位D/A转换器AD7543的接口设计 271
10.4.1AD7543芯片简介 271
10.4.2单片机扩展AD7543芯片的接口设计 272
10.5单片机扩展A/D转换器概述 273
10.6单片机扩展并行8位A/D转换器ADC0809 274
10.6.1ADC0809芯片简介 274
10.6.2单片机与ADC0809芯片的接口设计 276
10.7AT89S52单片机扩展12位串行ADC-TLC2543芯片的设计 278
10.7.1TLC2543芯片的特性及工作原理 278
10.7.2单片机扩展TLC2543芯片的设计 280
10.8AT89S52单片机与双积分型A/D转换器MC14433的接口 282
10.8.1MC14433A/D转换器简介 283
10.8.2单片机与MC14433芯片的接口设计 284
10.9AT89S52单片机与V/F转换器的接口 286
10.9.1用V/F转换器实现A/D转换的原理 287
10.9.2常用V/F转换器LMX31简介 287
10.9.3V/F转换器与单片机的接口设计 288
10.9.4V/F转换的应用设计 289
思考题及习题10 290
第11章 单片机应用系统的串行扩展 292
11.1单总线串行扩展 292
11.1.1单总线系统的典型应用——DS18B20的温度测量系统 292
11.1.2单总线DS18B20温度测量系统的设计 295
11.2SPI总线串行扩展 300
11.3I2C总线的串行扩展 301
11.3.1I2C串行总线系统的基本结构 301
11.3.2I2C总线的数据传送规定 302
11.3.3AT89S52的12C总线系统扩展 305
11.3.4I2C总线数据传送的模拟 306
11.3.5利用I2C总线扩展E2PROM AT24C02的IC卡设计 308
思考题及习题11 313
第12章 其他应用接口设计 315
12.1步进电机的控制 315
12.1.1控制步进电机的工作原理 315
12.1.2控制步进电机的设计案例 316
12.2直流电机的控制 318
12.2.1控制直流电机的工作原理 318
12.2.2控制直流电机的设计案例 319
12.3基于时钟/日历芯片DS1302的电子钟设计 320
12.3.1DS1302芯片的工工作原理 320
12.3.2DS1302芯片的应用设计案例 323
思考题及习题12 330
第13章 功率接口设计 331
13.1单片机与外围集成数字驱动电路的接口 331
13.2单片机与光电耦合器的接口 333
13.2.1晶体管输出型光电耦合器驱动接口 333
13.2.2晶闸管输出型光电耦合器驱动接口 336
13.3单片机与继电器的接口 337
13.3.1单片机与直流电磁式继电器功率接口 337
13.3.2单片机与交流电磁式接触器的接口 338
13.4单片机与晶闸管的接口 338
13.4.1单向晶闸管 338
13.4.2双向晶闸管 339
13.4.3光耦合双向晶闸管驱动器 339
13.5单片机与集成功率电子开关输出接口 341
13.5.1集成功率电子开关TWH8751简介 342
13.5.2集成功率电子开关TWH8751的典型应用 343
13.6单片机与固态继电器的接口 343
13.6.1固态继电器的特性与分类 344
13.6.2固态继电器的应用 344
13.7低压开关量信号输出技术 347
思考题及习题13 348
第14章 单片机应用系统抗干扰与可靠性设计 349
14.1干扰的来源 349
14.2供电系统干扰及其抗干扰措施 350
14.2.1电源噪声来源、种类及危害 350
14.2.2供电系统的抗干扰设计 351
14.3过程通道干扰的抑制措施——隔离 352
14.3.1光电隔离的基本配置 352
14.3.2光电隔离的实现 352
14.4空间干扰及抗干扰措施 354
14.4.1接地技术 354
14.4.2屏蔽技术 356
14.5反电势干扰的抑制 356
14.6印制电路板的抗干扰设计 357
14.6.1地线及电源线设计 358
14.6.2去耦电容的配置 358
14.6.3印制电路板的布线的抗干扰设计 359
14.7软件抗干扰措施 359
14.7.1软件抗干扰的一般方法 359
14.7.2指令冗余和软件陷阱 360
14.7.3软件滤波 362
14.7.4开关量输入/输出软件抗干扰设计 366
14.8看门狗定时器的使用 367
思考题及习题14 367
第15章 单片机应用系统的设计与调试 369
15.1单片机应用系统的设计步骤 369
15.2单片机应用系统设计 370
15.2.1硬件设计应考虑的问题 370
15.2.2典型的单片机应用系统 371
15.2.3系统设计中的总线驱动 372
15.2.4软件设计考虑的问题 374
15.2.5软件的总体框架设计 375
15.3单片机应用系统的仿真开发与调试 376
思考题及习题15 381
附录A 基础实验题目 383
附录B 课程设计题目 389
参考文献 397