第1章 8051单片机基础知识 1
1.1 单片机概述 1
1.1.1 单片机的发展 2
1.1.2 单片机的应用 5
1.2 8051单片机 6
1.2.1 8051单片机概述 7
1.2.2 8051单片机内部结构 8
1.2.3 8051单片机引脚特性 10
1.2.4 8051单片机存储器组织 15
1.2.5 8051单片机中断系统 19
1.2.6 8051单片机定时器/计数器 24
1.2.7 8051单片机串行口 28
1.2.8 8051单片机指令系统 31
1.3 本章小结 33
第2章 总体设计部分 35
2.1 系统任务、组成及方案 36
2.1.1 系统任务 36
2.1.2 系统组成 37
2.1.3 系统方案 41
2.2 基于AT89C51及USB接口芯片的总体设计 42
2.2.1 MCU及存储器扩展电路 42
2.2.2 I/O扩展电路 48
2.2.3 功能扩展电路 52
2.2.4 A/D转换电路 56
2.3 基于内置USB功能单片机CY7C68013的总体设计 59
2.3.1 MCU及存储器扩展 60
2.3.2 A/D转换电路 63
2.4 系统电磁兼容性问题 64
2.4.1 电磁兼容问题的基本概述 65
2.4.2 电磁干扰抑制技术基本手段 67
2.4.3 提高产品电磁兼容性的具体措施 68
2.5 本章小结 71
第3章 电源及看门狗复位部分 73
3.1 直流电源 74
3.1.1 直流电源概述 74
3.1.2 整流电路 75
3.1.3 滤波电路 79
3.1.4 稳压电路 83
3.1.5 三端集成稳压器 85
3.2 系统电源设计 87
3.2.1 系统电源需求 88
3.2.2 系统电源设计 89
3.2.3 大功率交流电控制电路 91
3.3 复位电路 94
3.3.1 基本阻容复位电路 95
3.3.2 基本手动复位电路 95
3.3.3 改进型的复位电路 96
3.3.4 专用复位电路 96
3.4 基于X5045的复位电路硬件设计 97
3.5 基于X5045的复位电路软件设计 100
3.5.1 寄存器介绍 100
3.5.2 功能服务函数 102
3.5.3 接口服务函数 107
3.6 本章小结 117
第4章 大范围温度采集部分 119
4.1 温度测量概述 120
4.1.1 温标和温度测量的意义 120
4.1.2 常用的温度测量的方法和问题 120
4.1.3 温度测量的基本组成部分 121
4.2 温度测量的信号采集及转换 122
4.2.1 温度传感器 123
4.2.2 模拟前端信号处理 126
4.2.3 A/D转换器 129
4.3 大范围温度采集系统硬件设计 134
4.3.1 热电偶及前端放大电路 134
4.3.2 A/D转换电路 136
4.3.3 基于集成模拟温度传感器AD590的冷端补偿 140
4.3.4 基于集成数字温度传感器DS18B20的冷端补偿 141
4.4 大范围温度采集系统软件设计 146
4.4.1 A/D转换芯片TLC2543软件 146
4.4.2 数字温度传感器DS18B20芯片软件 150
4.5 本章小结 164
第5章 高精度温度采集部分 165
5.1 AD7714概述 165
5.1.1 一般说明 166
5.1.2 特点及应用 166
5.1.3 产品要点 167
5.1.4 引脚排列和引脚说明 167
5.2 关键部分硬件设计 169
5.2.1 RTD测量电路 170
5.2.2 基本电路说明 172
5.2.3 接口电路 174
5.2.4 模拟输入 176
5.2.5 光隔电路 179
5.2.6 电源 181
5.2.7 接地和布局 183
5.2.8 注意事项 184
5.3 关键部分软件设计 187
5.3.1 数字接口及读写操作 187
5.3.2 片内寄存器以及配置 193
5.3.3 校准操作 204
5.4 本章小结 209
第6章 液晶显示LCD及实时时钟部分 211
6.1 液晶显示LCD概述 211
6.1.1 液晶基本知识 212
6.1.2 液晶显示特点、应用及发展 213
6.1.3 液晶显示原理 215
6.1.4 液晶显示常见类型 216
6.1.5 液晶显示驱动方式 218
6.2 液晶显示设计概述 220
6.2.1 液晶显示模块(LCM) 220
6.2.2 液晶显示控制器 221
6.2.3 中低分辨率液晶显示模块选型指南 223
6.3 液晶显示部分硬件设计 224
6.3.1 T6963C芯片特性 225
6.3.2 液晶显示模块的外特性 227
6.3.3 液晶显示接口电路 228
6.3.4 液晶模块使用注意事项 230
6.4 液晶显示部分软件设计 232
6.4.1 T6963C指令集 232
6.4.2 液晶功能服务函数 238
6.4.3 液晶接口函数 241
6.5 实时时钟设计选择和优化 245
6.5.1 系统考虑 245
6.5.2 时钟选择 246
6.5.3 附加特性 249
6.5.4 器件选型指南 250
6.6 实时时钟部分硬件设计 254
6.6.1 DS1302芯片特性 254
6.6.2 DS1302接口电路 255
6.7 实时时钟部分软件设计 256
6.7.1 命令字节 257
6.7.2 基本数据输入输出函数 258
6.7.3 DS1302接口程序 261
6.8 本章小结 263
第7章 基于芯片CH372的USB接口设计 264
7.1 数据采集系统概述 265
7.2 USB协议简介 267
7.2.1 总线拓扑结构 268
7.2.2 总线电气特性 268
7.2.3 端点和管道概念介绍 269
7.2.4 USB设备 270
7.2.5 USB数据流 273
7.2.6 包格式 274
7.2.7 数据触发同步与重试 277
7.2.8 总线操作的事务格式 278
7.2.9 低速操作 281
7.3 USB接口部分硬件设计 282
7.3.1 CH372芯片特性 282
7.3.2 CH372接口电路 285
7.4 USB接口部分固件程序设计 286
7.4.1 内部端点 287
7.4.2 命令说明 287
7.4.3 关键部分源程序 291
7.5 上位机软件设计 299
7.5.1 USB主机概况 299
7.5.2 设备驱动程序简介 302
7.5.3 CH372驱动程序的应用层接口 304
7.5.4 端对端的USB传输 311
7.5.5 应用程序示例 314
7.6 本章小结 319
第8章 EZ-USB FX2 CY7C68013 320
8.1 EZ-USB FX2 CY7C68013概述 321
8.1.1 总体介绍及应用 321
8.1.2 FX2体系结构以及SIE 322
8.1.3 功能概述 324
8.2 中断系统 330
8.2.1 中断相关的SFR 330
8.2.2 中断处理 334
8.2.3 USB特殊中断 335
8.2.4 USB中断自动向量 339
8.2.5 I2C总线中断 340
8.3 存储组织 341
8.3.1 内部数据RAM 341
8.3.2 外部程序存储和外部数据存储 342
8.4 复位系统 347
8.4.1 上电复位 347
8.4.2 释放CPU复位 348
8.4.3 CPU复位效果 349
8.4.4 USB总线复位 349
8.4.5 FX2断开 350
8.4.6 复位总结 350
8.5 枚举及重枚举 351
8.5.1 FX2启动模式 351
8.5.2 E2PROM启动加载数据格式 352
8.5.3 E2PROM配置字 354
8.5.4 Renum位 354
8.5.5 FX2设备请求响应(Renum=0) 355
8.5.6 FX2固件下载厂商请求 356
8.5.7 固件枚举 357
8.6 端点访问 357
8.6.1 高速和全速差异 358
8.6.2 端点配置 358
8.6.3 端点数据访问 359
8.6.4 端点控制 360
8.6.5 端点0 361
8.6.6 Setup Data指针 364
8.6.7 Autopointers 365
8.7 本章小结 366
第9章 基于CY7C68013的系统设计 368
9.1 硬件设计 369
9.1.1 MCU 369
9.1.2 USB接口及系统电源 376
9.1.3 串口电路 377
9.1.4 扩展电路 378
9.2 软件设计 380
9.2.1 主程序框架 380
9.2.2 设备描述符 382
9.2.3 设备请求处理 390
9.2.4 I2C接口程序 415
9.3 Keil环境设置及控制面板使用说明 426
9.3.1 Keil环境设置 427
9.3.2 控制面板使用说明 432
9.4 本章小结 437
附录A 单片机应用系统开发流程 438