1.1 引言 1
第1章 绪论 1
1.2 智能仪器仪表的特点及发展概况 2
1.2.1 智能仪器仪表的特点和定义 2
1.2.2 智能仪器仪表的发展史 3
1.2.3 智能仪表的发展趋势 4
1.3 智能仪器仪表的结构 12
1.3.1 硬件部分 13
1.3.2 软件部分 13
1.4 虚拟仪器 13
2.1 微处理器的选取 17
2.1.1 处理器的选取原则 17
第2章 智能仪表的核心——微处理器基础知识 17
2.1.2 单片机概述 19
2.1.3 MCS-51系列单片机 20
2.1.4 MCS-96(196)系列单片机 21
2.1.5 PIC系列单片机 23
2.1.6 MSP430系列单片机 23
2.1.7 其他单片机 24
2.2 PIC单片机原理及基本功能结构 25
2.2.1 PIC系列单片机的架构特点 25
2.2.2 PIC系列单片机的种类 27
2.3 PIC16F87X单片机硬件系统概况 31
2.3.1 PIC16F87X封装形式和引脚功能 31
2.3.2 PIC16F87X内部结构框图简介 35
2.3.3 程序存储器和堆栈 39
2.3.4 RAM数据存储器(文件寄存器) 40
2.3.5 复位功能简介 47
2.3.6 系统时钟简介 47
2.4 PIC16F87X单片机开发系统简介 50
2.4.1 MAPLAB集成开发环境软件包 51
2.4.2 MAPLAB-ICD在线调试工具套件及其应用 52
2.4.3 其他工具 58
思考题 59
第3章 指令系统及编程基础 60
3.1 PIC单片机指令系统 60
3.1.1 PIC单片机指令集特点 60
3.1.2 指令时序 60
3.1.3 指令系统概览 61
3.1.4 面向字节操作类指令 62
3.1.5 面向位操作类指令 64
3.1.6 面向常数操作和控制操作类指令 64
3.1.7 寻址方式 65
3.1.8 数据传递关系 67
3.1.9 与其他种类单片机指令系统比较 67
3.2 汇编语言程序设计基础 68
3.2.1 汇编语言的语句种类 70
3.2.2 汇编语言的语句格式 70
3.2.3 常用伪指令 72
3.2.4 MACRO宏定义 73
3.2.5 程序格式和程序流程图 74
3.2.8 循环程序结构 76
3.2.6 顺序程序结构 76
3.2.7 分支程序结构 76
3.2.9 子程序结构 77
3.2.10 程序跨页跳转和跨页调用问题 78
3.2.11 延时程序设计 79
3.2.12 查表程序设计 80
思考题 82
第4章 输入/输出技术 83
4.1 PIC16F87X单片机I/O接口的基本功能 83
4.1.1 输入/输出端口简介 83
4.1.2 基本输入/输出端口的内部结构和工作原理 89
4.2 显示技术 93
4.2.1 LED显示技术 93
4.2.2 LCD显示技术 104
4.3 打印记录技术 111
4.3.1 点阵打印记录 112
4.3.2 绘图打印记录 117
4.3.3 无纸记录技术 118
4.4 键盘操作技术 119
4.4.1 键盘的抖动和串键 119
4.4.2 非编码键盘 120
4.4.3 编码键盘 129
4.5 智能卡接口技术 138
4.5.1 智能卡基础知识 138
4.5.2 IC卡的接口设备 139
4.5.3 IC卡存储区的分配和功能简介 139
4.5.4 接触型IC卡 140
4.5.5 非接触型IC卡 142
思考题 143
第5章 中断/定时技术 144
5.1 中断技术 144
5.1.1 中断的基本概念 144
5.1.2 PIC16F87X的中断源 145
5.1.3 中断硬件逻辑 146
5.1.4 中断相关的寄存器 147
5.1.5 中断的处理 152
5.1.6 中断应用举例 156
5.2 单片机定时计数器的基本功能 158
5.2.1 定时器/计数器模块的基本用途 158
5.2.2 PIC系列单片机中定时器/计数器TMR0模块 159
5.2.3 定时器/计数器TMR1 165
5.2.4 定时器/计数器TMR2 170
5.2.5 定时器/计数器模块的应用举例 174
5.3 定时计数功能应用——CCP技术 178
5.3.1 捕捉器方式 179
5.3.2 比较器方式 181
5.3.3 PWM方式 183
5.3.4 CCP部件相关寄存器 187
思考题 188
第6章 信号采集转换技术 189
6.1 概述 189
6.2 输入通道技术 189
6.2.2 输入通道的结构 190
6.2.1 输入通道的基本形式 190
6.2.3 模拟多路采样开关 191
6.2.4 采样/保持器(S/H) 193
6.2.5 前置放大技术 194
6.2.6 压频(V/F)转换技术 197
6.3 模/数(A/D)转换技术 200
6.3.1 几种ADC工作原理 201
6.3.2 不同接口方式ADC的连接 206
6.3.3 片内集成A/D转换模块 214
6.4 输出通道技术 220
6.4.1 输出通道基本结构 220
6.4.2 频压转换技术 222
6.4.3 D/A转换技术 224
思考题 230
第7章 数据传输技术 231
7.1 总线 231
7.1.1 总线的定义 231
7.1.2 总线的分类 231
7.1.3 总线相关的几个概念 234
7.2 SPI总线 241
7.2.1 SPI总线概述 241
7.2.2 SPI接口工作原理 242
7.2.3 PIC16F87X的SPI总线 244
7.2.4 SPI应用实例 249
7.3.1 I2C总线概述 251
7.3 I2C总线 251
7.3.2 PIC16F87X的MSSP模块中I2C模式及其相关的寄存器 256
7.3.3 I2C总线的工作模式及应用举例 259
7.3.4 以24XX01两线式EEPROM为例讲述I2C总线的数据传送 262
7.3.5 仲裁和时钟同步化 268
7.4 串行通信接口标准 270
7.4.1 异步通信和同步通信 270
7.4.2 信号的调制与解调 272
7.4.3 通信数据的差错检测和校正 272
7.4.4 串行通信接口电路UART、USRT和USART 274
7.4.5 串行通信总线标准及其接口 275
7.5 PIC单片机串行通信接口——USART 278
7.5.1 概述 278
7.5.2 与USART模块相关的寄存器 279
7.5.3 USART波特率发生器BRG 281
7.5.4 USART模块的异步工作方式 282
7.5.5 USART的同步模式 287
思考题 290
第8章 数据存储与数据处理技术 292
8.1 数据存储 292
8.1.1 存储器的分类 292
8.1.2 半导体存储器 293
8.1.3 存储器接口方式 298
8.2 数值运算 300
8.2.1 数的表示 300
8.2.2 定点数运算法则 302
8.2.3 浮点数运算法则 304
8.2.4 数制、码制转换 307
8.2.5 近似数计算 308
8.3 误差处理技术 309
8.4 数字滤波技术 312
8.4.1 限幅滤波 313
8.4.2 中位值滤波 313
8.4.3 平滑滤波 313
8.5 软测量技术 315
8.5.1 辅助变量的选取 316
8.5.2 测量数据的处理 316
8.5.3 软测量模型的建立 317
8.5.4 软仪表的在线校正 319
8.5.5 软测量的工业应用 319
思考题 320
第9章 智能仪器仪表设计相关技术 321
9.1 抗干扰技术 321
9.1.1 噪声的定义和种类 321
9.1.2 干扰现象 322
9.1.3 干扰传播的途径 323
9.1.4 电磁兼容设计 324
9.1.5 软件抗干扰技术 333
9.2 仪表的低功耗设计 336
9.2.1 低功耗设计基础 336
9.2.2 低功耗设计方法 337
思考题 339
10.1 智能仪器仪表的设计方法 340
10.1.1 开发过程与文档合一 340
第10章 智能仪器仪表的设计方法和设计实例 340
10.1.2 智能仪器仪表的工程化设计 341
10.1.3 智能仪表的设计原则 342
10.1.4 智能仪表的设计思想 343
10.1.5 智能仪表的设计、研制步骤 344
10.2 设计实例一——智能温度显示仪 348
10.2.1 智能温度显示仪工作原理 348
10.2.2 功能设计 348
10.3 设计实例二——智能电接点水位计 373
10.3.1 水位测量原理 373
10.3.2 系统构成及实现 373
A.1.2 MPLAB-ICD能做什么 378
A.1.1 什么是MPLAB-ICD 378
A.1 MPLAB-ICD概述 378
附录A MPLAB-ICD 378
A.1.3 MPLAB-ICD使用的资源 379
A.1.4 MPLAB-ICD的各组成部件 379
A.1.5 MPLAB-IDE集成开发环境 380
A.2 MPLAB-ICD的安装和使用 380
A.2.1 MPLAB-ICD对计算机主机的要求 380
A.2.2 安装硬件 381
附录B PIC16F877运算子程序 390
B.1 定点数运算子程序 390
B.2 3字节浮点四则运算子程序 396
B.3 定点数与浮点数转换程序 409
B.4 码制转换程序设计 411
参考文献 416