第1篇 基础知识与环境搭建篇 2
第1章 绪论 2
1.1单片机的发展 2
1.2单片机的应用 3
1.3 51系列单片机的特点及分类 4
第2章 单片机硬件基础知识 6
2.1 MCS-51单片机的内部结构及引脚 6
2.1.1中央处理器 7
2.1.2存储器结构 9
2.1.3 1/O接口 13
2.1.4芯片引脚 14
2.1.5中断系统 15
2.1.6定时器/计数器 15
2.1.7串行口 16
2.2 MCS-51单片机的工作方式 16
2.2.1复位方式 16
2.2.2程序执行方式 16
2.2.3单步执行方式 17
2.2.4低功耗操作方式 17
2.3 MCS-51单片机的工作时序 18
2.3.1基本时序周期 18
2.3.2指令读取和执行时序 19
2.3.3访问外部ROM/RAM的操作时序 20
本章小结 22
第3章 单片机开发语言 23
3.1汇编语言 23
3.1.1指令格式和指令符号 23
3.1.2寻址方式 24
3.1.3伪指令 27
3.1.4指令系统 29
3.2 C51语言 36
3.2.1 C51数据与运算 40
3.2.2 C51基本语句 47
3.2.3 C51构造数据类型 54
3.2.4 C51函数 63
3.3 Keil C51集成开发环境 67
3.3.1 Keil C51简介 68
3.3.2 Keil C51软件的安装 69
3.3.3常用窗口介绍 70
本章小结 73
第4章 单片机的内部资源及编程 75
4.1中断系统 75
4.1.1中断概述 75
4.1.2单片机的中断系统 77
4.2外部中断 81
4.2.1外部中断的初始化和撤销 82
4.2.2外部中断的应用 83
4.3定时器/计数器 85
4.3.1定时器/计数器的结构 85
4.3.2定时器/计数器的控制 86
4.3.3定时器/计数器的工作方式 87
4.3.4定时器/计数器的初始化 88
4.3.5定时器/计数器的应用 89
4.4串行口 92
4.4.1串行口的控制 94
4.4.2串行口的工作方式 95
4.4.3串行口的通信应用 97
本章小结 106
第2篇 典型模块篇 108
第5章 单片机存储器的扩展 108
5.1半导体存储器概述 108
5.1.1程序存储器的种类及特点 108
5.1.2数据存储器的种类及特点 109
5.1.3存储器的主要性能指标 109
5.1.4存储器的编址方法 110
5.2程序存储器的扩展 110
5.2.1 E2 PROM程序存储器2817A的扩展 110
5.2.2 Flash存储器AT25F512的扩展 114
5.3数据存储器的扩展 119
5.3.1 SRAM数据存储器6264的扩展 120
5.3.2铁电存储器FM 1808的扩展 124
5.3.3 NV RAM数据存储器B Q4010的扩展 126
本章小结 130
第6章 单片机I/O接口扩展 131
6.1单片机内部I/O接口 131
6.1.1 I/O口的作用 131
6.1.2外部设备的编址 132
6.1.3 I/O传送方式 133
6.2并行接口芯片的扩展I/O接口 134
6.2.1可编程并行接口芯片——Intel 8155 135
6.2.2利用Intel 8155扩展矩阵式键盘 140
6.3串行口扩展I/O接口 146
6.3.1利用串入并出芯片74HC595扩展I/O并行输出接口 146
6.3.2利用并入串出芯片74LS165扩展I/O并行输入接口 152
本章小结 158
第7章 单片机A/D转换 159
7.1 A/D转换器类型及特点 159
7.1.1 A/D转换器概述 159
7.1.2逐次逼近型A/D转换器的工作原理 160
7.1.3双积分型A/D转换器的工作原理 161
7.1.4 A/D转换器的性能指标 165
7.2 51单片机与并行A/D转换器的接口 166
7.2.1双积分型A/D转换器ICL7135 166
7.2.2 ICL7135芯片与单片机的接口设计 169
7.3 51单片机与串行A/D转换器的接口 177
7.3.1逐次逼近型A/D转换器ADC0832 177
7.3.2 ADC0832芯片与单片机的接口设计 180
本章小结 185
第8章 单片机D/A转换 186
8.1 D/A转换器概述 186
8.1.1 D/A转换器工作原理 186
8.1.2 D/A转换器的性能指标 189
8.2 51单片机与并行D/A转换器的接口 191
8.2.1 8位D/A转换器DAC0832 191
8.2.2 DAC0832与单片机的接口及程序设计 192
8.2.3 12位D/A转换器DAC 1230 196
8.2.4 DAC 1230与单片机的连接方法与工作时序 199
8.3 51单片机与串行D/A转换器的接口 204
8.3.1 D/A转换器TLC5615 204
8.3.2 TLC5615与单片机的接口设计 207
本章小结 209
第9章 单片机键盘设计 210
9.1键盘概述 210
9.2独立式按键的设计 214
9.2.1独立式按键的结构 214
9.2.2独立式按键与单片机的连接 214
9.3矩阵式键盘的设计 221
9.3.1矩阵式键盘的工作原理 221
9.3.2矩阵式键盘的扫描原理 221
9.3.3 矩阵式键盘与单片机的连接 222
9.4键盘接口芯片 225
9.4.1键盘接口芯片8279 225
9.4.2利用8279芯片扩展矩阵键盘 232
本章小结 237
第10章 单片机与显示器 239
10.1显示器的种类及工作原理 239
10.1.1 7段LED数码管 239
10.1.2点阵式LED 240
10.1.3 LCD液晶显示 240
10.2 7段LED数码管的显示方法 242
10.2.1静态显示方式 242
10.2.2动态显示方式 246
10.3点阵式LED的显示方法 249
10.3.1点阵式LED扩展方法 250
10.3.2点阵式LED驱动电路 251
10.4 LCD的显示方法 253
10.4.1液晶显示的驱动方式 254
10.4.2 OCMJ4X8C液晶显示器简介 255
10.4.3 OCMJ4X8C液晶显示器的接口连接 260
本章小结 265
第11章 单片机看门狗技术 266
11.1看门狗技术概述 266
11.1.1看门狗的功能 266
11.1.2看门狗应用技巧 267
11.2硬件看门狗技术 267
11.2.1看门狗芯片X5045 267
11.2.2定时复位电路实现看门狗 279
11.3软件看门狗技术 282
11.3.1单定时器中断监视实现软件看门狗 282
11.3.2环形中断监视实现软件看门狗 283
11.4软硬件结合实现看门狗 285
本章小结 287
第12章 单片机通信技术 289
12.1 RS-232C通信方式 289
12.1.1 RS-232C通信标准 289
12.1.2 MAX232芯片简介 292
12.1.3 MAX232与单片机的接口设计 293
12.2 RS-485通信方式 299
12.2.1 RS-485通信标准 300
12.2.2 MAX485芯片简介 301
12.2.3 MAX485与单片机的接口设计 303
12.3 CAN总线通信方式 308
12.3.1 CAN总线通信标准 308
12.3.2 SJA 1000芯片简介 313
12.3.3利用SJA 1000芯片实现单片机通信 317
本章小结 327
第13章 单片机与实时时钟芯片 328
13.1并行实时时钟芯片DS 12887 328
13.1.1时钟芯片DS 12887简介 328
13.1.2利用DS 12887实现电子时钟 334
13.2串行实时时钟芯片DS1302 339
13.2.1时钟芯片DS 1302简介 339
13.2.2利用DS 1302实现电子时钟 343
本章小结 358
第14章 单片机与微型打印机 359
14.1微型打印机概述 359
14.1.1微型打印机的分类 359
14.1.2微型打印机的选用问题 360
14.2 RD-E系列微型打印机 360
14.2.1功能简介 361
14.2.2打印命令 361
14.2.3接口方式 363
本章小结 369
第3篇 综合实例篇 371
第15章 基于DS18B20的温度循环检测系统 371
15.1任务描述及设计方案 371
15.2温度传感器DS18B20简介 372
15.2.1 DS18B20内部结构及测温原理 372
15.2.2 DS 18B20的封装形式及引脚功能 373
15.2.3 DS 18B20的存储器 374
15.2.4 1-Wire总线协议 375
15.2.5 DS 18B20的操作命令 377
15.3硬件电路设计 377
15.3.1主机电路 377
15.3.2温度传感器电路 378
15.3.3显示电路 379
15.3.4声光报警电路 379
15.4软件程序设计 379
15.4.1软件流程图 380
15.4.2程序代码 380
本章小结 390
第16章 自动控制升降旗系统 391
16.1设计要求及方案分析 391
16.1.1设计要求与系统方案确定 391
16.1.2语音芯片ISD2560简介 393
16.1.3步进电动机34HS300简介 396
16.1.4实时时钟PCF8563简介 401
16.2硬件电路设计 408
16.2.1主控器电路 408
16.2.2显示及按键电路 409
16.2.3语音电路 411
16.2.4电动机控制电路 412
16.2.5其他电路 412
16.3软件程序设计 413
16.3.1程序流程 413
16.3.2程序代码 414
本章小结 433
第17章 简易IC卡考勤机系统 435
17.1任务描述及总体设计 435
17.2非接触式IC卡简介 436
17.2.1 Mifare1 S50的结构 436
17.2.2 Mifare1 S50的密码认证 437
17.2.3 Mifare1 S50的存储结构 437
17.2.4 Mifare1 S50的存储器操作 439
17.3 ZLG500A读卡模块简介 440
17.3.1 ZLG500A读卡模块的引脚功能 440
17.3.2 ZLG500A三线串行读卡模块接口规范 441
17.3.3 ZLG500A读卡模块数据传输协议 443
17.3.4 ZLG500A和MCU命令C51函数 444
17.4 MAX813L简介 445
17.4.1 MAX813L的内部结构和引脚功能 445
17.4.2 MAX813L的功能 446
17.4.3 MAX813L的时序图 447
17.5硬件电路设计 448
17.5.1主机电路 448
17.5.2读卡电路 448
17.5.3显示电路 449
17.5.4时钟电路 449
17.5.5存储器电路 450
17.5.6处理器监控电路 450
17.6系统软件程序设计 451
17.6.1软件流程图 451
17.6.2程序代码 451
本章小结 476