目 录 1
出版说明 1
前言 1
序 1
第一章绪论 1
1.1 智能仪器以及本书的目的 1
1.2智能仪器举例 2
4.5点阵字符显示器 4
1.3本书的内容 9
第二章设计工作过程 11
2.1 智能仪器设计的计划 11
2.2前期硬件设计 14
2.3前期软件设计 17
2.4 后期设计 21
第三章 面板键盘输入 25
3.1 键盘输入的特点 25
3.2键盘输入的处理 26
3.3键盘的组织 27
程序举例3.2键入识别之二 27
程序例举3.1 键入识别之一 27
程序举例目录 27
程序举例3.3图3.6键盘的扫描程序 29
程序举例3.4 图3.6键盘的一种识键程序 31
3.4键合跳动和叠键的防止……………………………………………………………………………………… ¨3.5键语分析 36
4.1面板显示的主要方式 44
第四章面板显示和语音输出 44
4.2发光二极管显示……………………………………………………………………………… ¨4.3七段和多段字符显示器 45
4.4七段显示器的驱动方式 47
4.6 矢量式CRT显示 51
4.7点阵式CRT显示 52
4.8 Motorola 6845型 CRT控制器 54
4.9 Motorola 6845 CRTC的应用 56
程序举例4.2 6845型CRTC初始化 57
程序举例4.1 CRT显示RAM的清除 57
程序举例4.3显示字符的写入 59
程序举例4.5控制符的处理 60
程序举例4.4 CRTC的更新 60
程序举例4.7换行操作 61
程序举例4.6回车操作 61
程序举例4.9 向下展卷(Scroll down) 62
程序举例4.8向上展卷(Scroll up) 62
程序举例4.10向上翻页(Page up) 62
4.10人工语言合成 63
程序举例4.11向下翻页(Pagedown) 63
4.11 语音程序的编制 66
程序举例4.12语词词典的编制 67
程序举例4.13语音调用子程序 68
程序举例4.14语音片驱动子程序 69
5.1 GPIB接口的来历 70
第五章GPIB接口 70
5.2实施GPIB接口的基本方法 71
5.3 MC-68488接口片 72
5.4 MC-68488内部寄存器的内容和作用 76
5.5 MC-68488 GPIA的程控 80
程序举例5.1 MC-68488的初始化 80
程序举例5.2a用地址开关设置地址 80
程序举例5.2b由软件规定地址 80
程序举例5.4a受命为讲者(发单拜特) 81
程序举例5.3受命为听者 81
程序举例5.4b受命为讲者(发一串数据) 81
程序举例5.5扩大讲者或听者受命 82
程序举例5.7 PP2组态及PP响应 83
程序举例5.6请求服务和响应串行查询 83
程序举例5.8器件清除和触发 84
5.6 MC-68488应用举例 84
程序举例5.9多功能接口(测距仪GPIB接口) 86
5.7Intel-8291A接口片 90
5.88291A内部寄存器的内容和作用 92
5.9 8291A内部辅助命令及寄存器A和B 96
5.10 8291A的内部计数器和DMA工作 98
5.11 8291A与8291的差别 99
程序举例5.10 Intel-8291A的初始化 100
5.12 8291A的程控 100
程序举例5.11a置第一种受命方式(大、小主地址) 101
程序举例5.1lb第二种受命方式(主、副地址) 101
程序举例5.11c置第二种受命方式(主、副地址末五位相同) 102
程序举例5.12扩大讲者(第三种受命方式) 102
程序举例5.12a听者的结尾(收数据串时) 103
程序举例5.13 SRQ和SP响应 104
程序举例5.14PP组态与响应(用DIO8作1响应) 104
程序举例5.15器件清除和触发 104
5.13 8292型GPIB控者 105
5.14 8292的命令 109
5.15 8292与8291A的联合工作 112
程序举例5.16 8292/8291接口的初始化 115
5.16 8291/8292 GPIB控制器举例 115
程序举例5.17 8292/8291接口发送 116
程序举例5.1 8 8292/8291接口接收 117
程序举例5.19 8292/8291控制器外部传递 119
程序举例5.20 8292/8281控制器命令触发(DT功能) 120
程序举例5.21 8292/8291控制器清除器件(DC功能) 120
程序举例5.22 8292/8291控制器响应SRQ 121
程序举例5.23 8292/8291控制器作串行查询 121
程序举例5.24 8292/8291控制器作并行查询组态 122
程序举例5.25 8292/8291控制器作并行查询 123
程序举例5.26 8292/8291控制器结束并行查询 123
程序举例5.29 8292/8291控制器接收控制权 123
程序举例5.27 8292/8291控制器令并行查询解组 124
程序举例5.28 8292/8291控制器转让控制权 124
程序举例5.32 8292/8291控者发IFC 126
程序举例5.30 8292/8291控制器发REN 126
程序举例5.31 8292/8291控制器发REN 126
6.1 D/A变换器 127
第六章数字量变换为模拟量 127
6.2利用DAC产生波形 128
程序举例6.1 产生正向斜波 129
程序举例6.3 锯齿上下限的调节 130
程序举例6.2 正向锯齿波的产生 130
程序举例6.5 三角波的产生(完善的) 131
程序举例6.4 三角波的产生(有缺陷的) 131
程序举例6.6 矩形脉冲的产生 132
6.3利用DAC绘图 132
程序举例6.8 用纸带记录仪绘图(方案二) 133
程序举例6.7 用纸带记录仪绘图 133
程序举例6.9 示波器显示及触发 134
程序举例6.10 X-Y显示(x为线性扫描) 135
6.4 8比特以上的DAC的连接 136
程序举例6.11 x-Y显示(x和Y分存于两个文件) 136
程序举例6.12 Y-Y显示(x和Y存于一个文件) 136
程序举例6.13 10~16比特DAC 138
6.5专为微处理器配用的DAC 139
程序举例6.14 AD7543 DAC的控制(用MC-6800) 145
程序举例6.15 AD7543 DAC的控制(用8505) 146
7.2比较式A/D变换技术 148
7.1 A/D变换器 148
第七章模拟量变换为数字量 148
程序举例7.1 斜波比较式A/D变换 149
程序举例7.3 逐次逼近式ADC2(8比特)的另一种处理 151
程序举例7.2 逐次逼近式ADC(8比特) 151
程序举例7.4 逐次逼近式ADC(10比特) 152
7.3 ADC集成电路的使用 153
程序举例7.5 Intel-8255 PPI与ADC联接 154
程序举例7.6 Motorola-6820型PIA与ADC联接 155
7.4数字面板表集成电路的利用 156
程序举例7.7 AD2009 DPM的控制和读数 158
7.5利用DPM构成数据采集系统 160
程序举例7.8 用DM2000 AR构成记录仪作巡检 161
7.6数据采集系统及其定时 163
程序举例7.10定时脉冲的查询 164
程序举例7.9 10比特ADC作数据采集(软件定时) 164
程序举例7.11 Intel-8080的中断处理 165
7.7采集到的数据的利用 166
程序举例7.12 MC-6800的中断处理 166
程序举例7.13数据采集和数据动态显示 167
程序举例7.14 Intel-8080的二重中断 169
7.8数据采集集成电路 170
程序举例7.15MC-6800系统的双重中断 170
程序举例7.16数据采集电路 172
第八章基本算法 173
8.1算法的基本概念 173
8.2二进制整数的表示法 175
程序举例8.1 单字节有符号数扩展为双字节 178
8.3二进整数加法 179
程序举例8.2 双字节有符号数压缩为单字节 179
程序举例8.3 单字节无符号数相加(z=x+Y) 179
程序举例8.4 N字节二进数相加 180
8.5二进整数乘法 181
8.4二进整数减法 181
程序举例8.5 双字节加法 181
程序举例8.7 双字节无符号数相乘(x*Y=z) 182
程序举例8.6 单字节无符号数相乘(x*Y=z) 182
程序举例8.9 双字节任意数相乘 184
程序举例8.8 单字节有符号数相乘时的修正 184
8.6二进整数除法 187
程序举例8.11 双精度单字节有符号数除法 190
程序举例8.10双精度单字节无符号数除法 190
8.7二进制定点数的计算 192
程序举例8.13双字节有符号数的舍入 194
程序举例8.12双字节无符号数的舍入 194
程序举例8.14三字节有符号数截去N位后舍入 195
8.8二进制浮点数的计算 195
8.9 十进数的计算 199
程序举例8.15 SQR(X)的一种算法(x为二字节数) 200
8.10常用函数的近似计算 200
8.11 检索和查表 204
程序举例8.16无序清单的检索 205
程序举例8.17最大(最小)值的检索 206
程序举例8.18气泡法递增(递减)排序 207
程序举例8.19 Shell氏递增(递减)排序 209
程序举例8.20递增(递减)清单的对半检索 211
程序举例8.21表格驱动子程序 213
9.1 主序算法和内务算法 214
第九章测量算法 214
9.2定时算法 217
9.3随机误差的处理 220
程序举例9.1 套环延时子程序(N2ms) 220
9.4利用误差模型修正误差 221
9.5 利用校准数据修正误差 226
9.6通过曲线拟合来求得校准方程 228
9.7误差修正技术应用举例 231
程序举例9.2 TCXO程序 234
9.8利用算法来提高仪器硬件性能 238
9.9多处理器系统中的算法问题 251
9.10自检与告警显示 259
第十章软件设计 267
10.1结构化设计 267
10.2由顶向下设计 270
10.3模块化编程 271
10.4结构化编码 274
10.5非结构化程序变换为结构化 277
10.6伪编码 281
10.7文件的编制与文体 282
10.8结构化分析 285
10.9结构化设计举例 289
10.10编码 292
程序举例10.1 电压表中的浮点除法 293
10.11 操作系统 295
程序举例10.2电压表的操作系统 297
程序举例10.3电压表的操作系统中的IRQ处理 297
第十一章开发和调试设备的利用 300
11.1微处理器测试设备 300
11.2微处理器开发设备 301
11.3 A型开发系统 302
11.4调试仪 304
11.5 B型开发系统 307
11.6仿真 309
11.7正式的调试 309
11.8 多重微处理器系统的调试 312