第1章 绪论 1
1.1C语言的特点 1
1.2工业PC 2
第2章 端口、内存输入/输出与位运算 4
2.1端口输入/输出函数 4
2.2位运算 5
2.2.1按位与运算的应用 6
2.2.2按位或运算的应用 7
2.2.3按位异或运算的应用 8
2.2.4按位非运算的应用 9
2.2.5按位左移运算和按位右移运算的应用 9
2.3位操作赋值运算 11
2.4内存单元读/写函数 12
第3章 硬件中断程序的设计 14
3.1Intel86系列CPU实模式下的中断系统 14
3.1.1实模式与保护模式的概念 14
3.1.2实模式下的中断系统 14
3.2有关硬件中断的几个函数 16
3.38259A中断控制器 18
3.3.18259A的结构和原理 18
3.3.28259A的编程 19
3.3.38259A连接的硬件中断源 25
3.48254定时器/计数器 26
3.4.18254的结构 26
3.4.28254的编程 27
3.5可屏蔽中断响应的大致过程 29
3.6实时中断程序设计举例 30
3.7定时中断程序的另一种结构 35
3.8CMOS实时钟硬件中断程序的设计 37
3.8.1实时钟的工作原理 37
3.8.2CMOS-RAM单元的读/写 39
3.8.3实时钟的中断功能 39
3.9定时器中断实验 43
第4章 数据的采集与存储 45
4.1A/D转换与D/A转换 45
4.1.1A/D转换 45
4.1.2D/A转换 46
4.1.3连续信号与离散信号的频谱 46
4.1.4被测信号与A/D量程的匹配 49
4.2接口的编码与变换 50
4.2.1计算机内机器数编码的概念 50
4.2.2几种常见定点数的编码规则 50
4.2.3几个接口编码变换举例 52
4.2.4分数二进制码与分数补码 54
4.2.5格雷码及其变换 55
4.3计算机的总线与功能扩展板卡及模块 58
4.3.1总线的概念 58
4.3.2总线的标准 59
4.3.3ISA总线及扩展板卡 60
4.3.4PCI局部总线及扩展板卡 61
4.3.5USB串行总线及扩展板模块 62
4.4HY—1232A/D、D/A接口板 62
4.4.1HY—1232的主要性能指标 62
4.4.2HY—1232的基地址 63
4.4.3HY—1232的板内地址分配及寄存器描述 65
4.4.4HY—1232的A/D和D/A编码 66
4.4.5HY—1232的A/D、D/A程序举例 67
4.5用位字段结构处理二进制位字段数据 68
4.5.1结构 68
4.5.2位字段结构 70
4.6用结构与联合的嵌套处理字节(BYTE)与字(WORD)数据 74
4.6.1联合 74
4.6.2结构与联合的嵌套 75
4.7数据采集程序及A/D温度漂移的补偿 78
4.7.1数据采集程序举例 78
4.7.2A/D通道温度漂移的补偿 80
4.8数据采集时的在线滤波 80
4.9磁盘数据文件的建立 83
4.9.1C语言文件概述 83
4.9.2文件的打开与关闭 84
4.9.3文件的读/写 85
4.10模拟量输入/输出与磁盘数据文件实验 88
第5章 数据的处理与绘图 89
5.1测量数据的预处理 89
5.1.1标度变换 89
5.1.2非线性特性的修正 89
5.1.3去除奇异项 92
5.1.4零均值化 92
5.1.5数据平滑 92
5.1.6趋势项的提取 94
5.2曲线的绘制 97
5.2.1概述 97
5.2.2图形系统的初始化 97
5.2.3画曲线的几个函数 99
5.2.4图形方式下的字符输出 102
5.2.5曲线的动画效果 104
5.2.6实时曲线的绘制 105
5.2.7TC屏幕图形的截取 107
5.3频谱分析与快速傅里叶变换 112
5.3.1傅里叶变换的概念 112
5.3.2快速傅里叶变换子程序的使用 113
5.3.3快速傅里叶变换的应用 118
5.4相关分析 120
5.4.1自相关函数与互相关函数 120
5.4.2相关系数函数 121
5.4.3相关函数的应用 122
5.5数据采集与处理系统举例 123
5.6数据处理与绘图实验 126
第6章 计算机的串行通信 127
6.1概述 127
6.1.1并行通信和串行通信 127
6.1.2同步通信和异步通信 127
6.1.3串行通信的传送制式、联络方式、通信速率及调制解调的概念 128
6.2串行通信的接口标准 129
6.2.1RS-232C标准 129
6.2.2RS-485标准 130
6.3Intel8250可编程异步串行接口芯片 131
6.3.18250的结构 131
6.3.28250的寄存器 132
6.4Turbo C的串口通信函数 135
6.5近距离无联络线简单三线通信 137
6.6串口硬件中断方式通信 138
6.6.1中断方式通信所涉及的一些寄存器 138
6.6.2中断方式通信的程序举例 139
6.7串口通信实验 140
第7章 并行接口的使用与步进电动机的控制 142
7.1并行I/O接口概述 142
7.28255A并行接口芯片简介 142
7.2.18255A的结构 142
7.2.28255A的工作方式 144
7.2.38255A的控制字及初始化 144
7.2.48255A在PC系列微机中的应用 145
7.2.5扬声器发声程序 145
7.3HY—6160数字量输入/输出接口板 150
7.4打印机的接口 152
7.4.1打印机的并行接口标准 152
7.4.2打印机的适配器 153
7.5步进电动机及驱动器 155
7.5.1步进电动机概述 155
7.5.2步进电动机与配套的驱动器 155
7.6步进电动机的位置与速度控制 157
7.6.1用打印机口控制步进电动机 157
7.6.2用HY—6160接口板控制步进电动机 158
7.6.3步进电动机的加速与减速控制 159
7.7并行接口的使用与步进电动机控制实验 160
第8章 闭环控制系统实时控制程序的设计 162
8.1闭环负反馈控制系统的构成 162
8.2控制系统的性能指标 163
8.2.1系统的时域性能指标 163
8.2.2系统的频域性能指标 165
8.2.3时域指标与频域指标之间的关系 167
8.3控制系统的校正 167
8.3.1系统综合校正的概念 167
8.3.2基本控制规律 168
8.4模拟化设计方法的概念和步骤 174
8.5离散化的原则与方法 175
8.6数字控制器的模拟化设计举例 178
8.7数字PID控制程序的设计 181
8.7.1数字PID控制算法的实现 182
8.7.2数字PID控制算法的改进 185
8.8计算机控制系统数字校正实验 189
第9章 软件中断与伪变量的使用 191
9.1软件中断的概念 191
9.2DOS功能调用 192
9.2.1DOS功能调用函数bdos() 193
9.2.2通用DOS功能调用函数intdos() 194
9.2.3通用DOS功能调用函数intdosx() 195
9.3通用软件接口函数int86()和int86x() 195
9.4伪变量与产生软中断函数geninterrupt() 199
9.4.1伪变量的概念 199
9.4.2伪变量的使用 199
9.4.3产生软中断函数geninterrupt() 200
9.4.4日时钟与实时钟对表程序 200
9.4.5实时钟报警中断的开发 202
附录 快速离散傅里叶变换程序fftt2.c清单 204
参考文献 206