上篇 单片机设计基础第1章 绪论 1
1.1 单片机简介 1
1.1.1 单片机的发展史 1
1.1.2 单片机的内部结构 2
1.1.3 单片机应用系统 2
1.1.4 单片机发展趋势 3
1.2 单片机编程语言概述 4
1.3 单片机开发环境概述 5
第2章 51单片机基础知识 6
2.1 MCS-51系列单片机CPU及存储器 6
2.1.1 中央处理器CPU 6
2.1.2 存储器 7
2.2 中断系统 8
2.2.1 中断源 8
2.2.2 中断控制 9
2.2.3 中断响应 11
2.3 定时/计时器 11
2.3.1 T/C0与T/C1 11
2.3.2 T/C2 14
2.3.3 定时/计数器的方式与控制寄存器 15
2.4 并行I/O接口 16
2.4.1 并行I/O端口的内部结构 17
2.4.2 并行I/O端口的应用 20
2.5 51单片机指令系统 20
2.5.1 寻址方式 20
2.5.2 指令系统表 21
第3章 51单片机C程序设计基础 26
3.1 标识符与关键字 26
3.2 数据的基本类型 28
3.3 常量与变量 29
3.4 运算符 31
3.5 函数 35
3.5.1 函数的分类及定义 35
3.5.2 函数的调用 36
3.5.3 中断服务函数 37
3.6 μVision2使用入门 38
第4章 单片机系统资源扩展 42
4.1 51单片机存储器及其扩展 42
4.1.1 程序存储器的扩展 42
4.1.2 数据存储器的扩展 43
4.2 51单片机的并行I/O扩展 43
4.2.1 采用8255芯片扩展I/O接口 44
4.2.2 采用串并转换芯片74HC165扩展I/O接口 44
4.3 外部中断源的扩展 45
4.3.1 采用定时器溢出中断扩展外部中断源 45
4.3.2 采用一个中断源查询法扩展多个外部中断源 45
4.3.3 采用专用芯片8259扩展外部中断源 46
第5章 51单片机的最小系统 49
5.1 最小系统的功能与结构 49
5.1.1 单片机最小系统的功能简介 49
5.1.2 单片机最小系统的系统结构 49
5.2 最小系统的电路原理图设计 51
中篇 基于51单片机的模块设计第6章 键盘和数码管 52
6.1 普通键盘及数码管 52
6.1.1 单片机与普通键盘及数码管接口电路设计 52
6.1.2 单片机与普通键盘及数码管程序设计 57
6.2 键盘与LED控制芯片ZLG7289 63
6.2.1 键盘与LED控制芯片ZLG7289简介 63
6.2.2 单片机与ZLG7289接口电路设计 70
6.2.3 单片机与ZLG7289应用程序设计 71
第7章 液晶显示模块 81
7.1 1602液晶模块JHD162A 81
7.1.1 1602液晶模块JHD162A简介 81
7.1.2 单片机与1602液晶模块JHD162A接口电路设计 85
7.1.3 单片机与1602液晶模块JHD162A应用程序设计 86
7.2 FYD12864液晶显示模块 96
7.2.1 FYD12864液晶显示模块简介 96
7.2.2 单片机与FYD12864液晶显示模块接口电路设计 103
7.2.3 单片机与FYD12864液晶显示模块应用程序设计 104
第8章 A/D转换器 116
8.1 典型8位A/D转换ADC0809 116
8.1.1 ADC0809简介 116
8.1.2 单片机与ADC0809应用电路设计 118
8.1.3 单片机与ADC0809应用程序设计 119
8.2 典型12位A/D转换MAX196 123
8.2.1 MAX196简介 123
8.2.2 单片机与MAX196应用电路设计 126
8.2.3 单片机与MAX196应用程序设计 127
8.3 典型16位A/D转换AD977A 135
8.3.1 AD977A简介 135
8.3.2 单片机与AD977A应用电路设计 137
8.3.3 单片机与AD977A应用程序设计 138
第9章 D/A转换器 150
9.1 典型8位D/A转换DAC0832 150
9.1.1 DAC0832简介 150
9.1.2 单片机与DAC0832接口电路设计 152
9.1.3 单片机与DAC0832应用程序设计 154
9.2 典型12位D/A转换TLV5638 158
9.2.1 TLV5638简介 158
9.2.2 单片机与TLV5638接口电路设计 160
9.2.3 单片机与TLV5638应用程序设计 161
9.3 典型16位D/A转换MAX541/MAX542 166
9.3.1 MAX541/MAX542简介 166
9.3.2 单片机与MAX541/MAX542应用电路设计 169
9.3.3 单片机与MAX541应用程序设计 171
第10章 I2C总线接口设计 176
10.1 I2C总线简介 176
10.1.1 I2C总线概述 176
10.1.2 I2C总线的基本工作原理 177
10.2 带I2C总线的EEPROM存储器芯片24C02 185
10.2.1 EEPROM芯片24C02简介 185
10.2.2 单片机与24C02应用电路设计 187
10.2.3 单片机与24C02应用程序设计 187
第11章 语音IC及应用 201
11.1 语音芯片ISD1420简介 201
11.2 单片机与ISD1420 205
11.2.1 单片机与ISD1420应用电路设计 205
11.2.2 单片机与ISD1420应用程序设计 207
第12章 时钟IC及应用 210
12.1 时钟芯片HT1380/HT1381简介 210
12.2 单片机与HT1380/HT1381 215
12.2.1 单片机与HT1380/HT1381接口电路设计 215
12.2.2 单片机与HT1380/HT1381应用程序设计 216
第13章 红外通信模块 226
13.1 红外通信简介 226
13.1.1 红外通信技术的发展概况 226
13.1.2 IrDA红外通信技术 227
13.1.3 典型的红外数据传输模型 228
13.2 单片机与红外收发模块ZHX1010 228
13.2.1 红外收发模块ZHX1010简介 228
13.2.2 单片机与ZHX1010应用电路设计 229
13.2.3 单片机与ZHX1010应用程序设计 232
第14章 USB总线接口设计 243
14.1 USB简介 243
14.1.1 USB的发展概况 243
14.1.2 USB的技术规范 244
14.2 USB接口芯片PDIUSBD12简介 247
14.2.1 PDIUSBD12的电气特性 247
14.2.2 PDIUSBD12结构与功能简介 249
14.3 单片机与PDIUSBD12的接口设计 255
14.3.1 PDIUSBD12外围电路 255
14.3.2 PDIUSBD12与单片机的接口电路设计 256
第15章 单片机与脉冲驱动控制 257
15.1 步进电机基础 257
15.1.1 步进电机的分类与工作原理 257
15.1.2 步进电机的驱动与控制 258
15.2 单片机与35BY48S03型步进电机 262
15.2.1 35BY48S03型步进电机简介 262
15.2.2 35BY48S03型步进电机与单片机的应用电路设计 263
15.2.3 35BY48S03型步进电机与单片机应用程序设计 263
第16章 单片机串行通信 268
16.1 串行通信基础 268
16.1.1 数据通信简介 268
16.1.2 串行通信协议 269
16.2 51单片机串行口 270
16.2.1 与串行口有关的寄存器 270
16.2.2 串行口的工作方式 271
16.2.3 串行口的波特率设置 274
16.3 单片机与单片机通信 275
16.3.1 通信协议以及波特率设置 275
16.3.2 通信程序设计 275
16.4 单片机与PC机通信 279
16.4.1 单片机与PC机通信的接口电路设计 279
16.4.2 单片机与PC机通信的应用程序设计 281
第17章 单片机与数字锁相环 283
17.1 数字锁相环的基本原理 283
17.1.1 数字锁相环简介 283
17.1.2 典型数字锁相环MC145152 285
17.2 单片机与MC145152应用电路设计 287
17.2.1 MC145152的常用电路设计 287
17.2.2 单片机与MC145152的应用电路设计 288
17.3 单片机与MC145152应用程序设计 288
17.3.1 程序流程 288
17.3.2 C51源代码 290
第18章 单片机与DDS 291
18.1 DDS的基本原理 291
18.1.1 DDS简介 291
18.1.2 典型DDS芯片AD9954 292
18.2 单片机与AD9954应用电路设计 306
18.2.1 AD9954的常用电路设计 306
18.2.2 单片机与AD9954的应用电路设计 309
18.3 单片机与AD9954应用程序设计 311
18.3.1 AD9954的控制时序 311
18.3.2 应用系统流程与C51源代码 313
下篇 综合系统设计 323
第19章 语音存储与回放系统 323
19.1 系统描述 323
19.1.1 系统功能简介 323
19.1.2 系统总体设计 323
19.2 系统硬件设计 326
19.2.1 主控制器设计 327
19.2.2 系统供电电源电路设计 327
19.2.3 基于ZLG7289的键盘电路设计 328
19.2.4 前置放大电路设计 329
19.2.5 带通滤波器设计 329
19.2.6 A/D采样电路设计 330
19.2.7 数据存取电路设计 331
19.2.8 D/A转换电路设计 333
19.2.9 后置功率放大电路设计 333
19.2.10 状态指示电路设计 334
19.3 系统软件设计 334
19.3.1 软件结构设计 334
19.3.2 程序设计 336
第20章 数控直流恒流源 350
20.1 系统描述 350
20.1.1 系统功能简介 350
20.1.2 系统总体设计 351
20.2 系统硬件设计 354
20.2.1 主控电路设计 355
20.2.2 供电电源设计 355
20.2.3 恒流源电路设计 359
20.2.4 D/A转换电路设计 359
20.2.5 电流检测电路设计 360
20.2.6 键盘电路设计 360
20.2.7 显示电路设计 361
20.2.8 语音电路设计 362
20.3 系统软件设计 362
20.3.1 软件结构设计 362
20.3.2 程序设计 363
第21章 简易数字逻辑分析仪 388
21.1 系统描述 388
21.1.1 系统功能简介 388
21.1.2 系统总体设计 389
21.2 系统硬件设计 394
21.2.1 电源电路 395
21.2.2 8路输入处理电路 396
21.2.3 AT89S8252主控制器电路 399
21.2.4 ZLG7289键盘电路 400
21.2.5 FYD12864点阵LCD显示电路 401
21.2.6 LED状态指示电路 402
21.2.7 外扩RAM电路 403
21.2.8 AT89S51从控制器电路 403
21.2.9 TLC7528输出电路 404
21.2.10 模拟示波器 406
21.3 系统软件设计 407
21.3.1 软件结构设计 407
21.3.2 程序设计 409
第22章 智能电动小车 429
22.1 系统描述 429
22.1.1 系统功能简介 429
22.1.2 系统总体设计 430
22.2 系统硬件设计 434
22.2.1 主控制器设计 434
22.2.2 电机驱动与步进电机 435
22.2.3 供电电源设计 435
22.2.4 寻线电路设计 436
22.2.5 金属检测电路设计 437
22.2.6 障碍物检测电路设计 437
22.2.7 光源检测电路设计 438
22.2.8 声光报警电路设计 439
22.2.9 显示电路设计 439
22.3 系统软件设计 440
22.3.1 软件结构设计 440
22.3.2 程序设计 442
参考文献 452