目录
一、系统的简绍与设计指标 ................................................................................ 2
1.1系统的介绍 . .......................................................... 2
1.2技术指标 . ............................................................ 2
二、方案设计 . .................................................... 2
三、控制算法 . .................................................... 3
3.1控制算法的确定 . ...................................................... 3
3.2数学模型的建立 . ...................................................... 3
四、系统软硬件设计 . .............................................. 6
4.1总体设计 . ............................................................ 6
4.2温度检测 . ............................................................ 9
4.3温度控制 . ........................................................... 10
4.4人机对话 . ........................................................... 11
五、基MATLAB 仿真被控对象 ....................................... 13
六、心得体会 . ................................................... 15 参考文献
摘要
随着科学技术的迅猛发展,各个领域对温度控制系统的精度、稳定性等要求越来越高,控制系统也千变万化。电阻炉广泛应用于各行各业, 其温度控制通常采用模拟或数字调节仪表进行调节,但存在着某些固有的缺点。而采用单片机进行炉温控制,可大大地提高控制质量和自动化水平, 具有良好的经济效益和推广价值。
本设计以89C51单片机为核心控制器件,以ADC0809作为A/D转换器件,采用闭环直接数字控制算法,通过控制可控硅来控制热电阻,进而控制电炉温度,最终设计了一个满足要求的电阻炉微型计算机温度控制系统。
关键字:电阻炉 89C51单片机 温度控制 A/D转换
一、系统的简绍与设计指标
1.1系统的介绍
该系统的被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为0~5伏时对应电炉温度0~500℃,温度传感器测量值对应也为0~5伏,对象的特性为带有纯滞后环节的一阶惯性系统,这里惯性时间常数取T 1=30秒,滞后时间常数取τ=10秒。
该系统利用单片机可以方便地实现对PID 参数的选择与设定,实现工业过程中PID 控制。它采用温度传感器热电偶将检测到的实际炉温进行A/D转换,再送入计算机中,与设定值进行比较,得出偏差。对此偏差按PID 规律进行调整,得出对应的控制量来控制驱动电路,调节电炉的加热功率,从而实现对炉温的控制。利用单片机实现温度智能控制,能自动完成数据采集、处理、转换、并进行PID 控制和键盘终端处理(各参数数值的修正)及显示。在设计中应该注意,采样周期不能太短,否则会使调节过程过于频繁,这样,不但执行机构不能反应,而且计算机的利用率也大为降低;采样周期不能太长, 否则会使干扰无法及时消除,使调节品质下降。
1.2技术指标
1. 温控范围:0~500℃;
2. 恒温控制:误差为±2℃;
3. LED实时显示,精度1℃;
4. 采用直接数字控制算法。;
5. 温度超出预置温度±5℃时发出报警。
二、方案设计
系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051片内除了128KB 的RAM 外,片内又集成了4KB 的ROM 作为程序存储器,是一个程序不超过
4K 字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。因此89C51可以完成设计要求。
三、控制算法
3.1控制算法的确定
PID 调节是连续系统中技术最成熟的、应用最广泛的一种控制算方法。它结构灵活,不仅可以用常规的PID 调节,而且可以根据系统的要求,采用各种PID 的变型,如PI 、PD 控制及改进的PID 控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字PID 完全可以代替模拟PID 调节器,应用更加灵活,使用性更强。所以该系统采用PID 控制算法。系统的结构框图如图3-1所示:
图3-1 系统结构框图
3.2数学模型的建立
四、系统软硬件设计
4.1总体设计
系统的硬件包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分,系统的结构框图如图4-1所示。
系统程序采用模块化设计方法,程序有主程序、中断服务子程序和各功能模块程序组成,各功能模块可直接调用。
主程序如下:
TEMP1 EQU 50H ;当前检测温度(高位)
TEMP2 EQU 51H ;当前检测温度(低位)
ST1 EQU 52H ;预置温度(高位)
ST2 EQU 53H ;预置温度(低位)
T100 EQU 54H ;温度BCD 码显示缓冲区(百位)
T10 EQU 55H ;温度BCD 码显示缓冲区(十位)
T EQU 56H ;温度BCD 码显示缓冲区(个位)
BT1 EQU 57H ;温度二进制码显示缓冲区(高位)
BT2 EQU 58H ;温度二进制码显示缓冲区(低位)
ADIN0 EQU 7FF8H ;ADC 0809通道IN0的端口地址
F0 BIT PSW.5 ;报警允许标志
TEMP1 DB 00H , 00H , 00H , 00H , 00H , 00H , 00H , 00H , 00H ;50H~58H单元初始化(清零)
ORG 0000H
AJMP MAIN ;转主程序
ORG 00BH
AJMP PT0 ;转T0中断服务子程序
ORG 0030H
MAIN : MOV SP,#59H ;设堆栈标志
CLR F0 ;报警标志清零
MOV TMOD,#01H ;定时器0初始化(方式1)
MOV TL0,#0B0H ;定时器100ms 定时常数
MOV TH0,#3CH
MOV R7,#150 ;置15s 软计数器初值
SETB ET0 ;允许定时器0中断
SETB EA ;开中断
SETB TRO ;启动定时器0
MAIN1:ACALL KIN ;调键盘管理子程序
ACALL DISP ;调用显示子程序
SJMP MAIN1定时器0中断服务子程序PT0:
PT0: MOV TL0,#0BOH
MOV TH0,#3CH ;重置定时器0初值
DJNZ R7,BACK ;15s 到否,不到返回
MOV R7,#150 ;重置软计数器初值
ACALL TIN ;温度检测
MOV BT1,TEMP1 ;当前温度送到显示缓冲区
MOV BT0,TEMP0
ACALL DISP ;显示当前温度
ACALL CONT ;温度控制
ACALL ALARM ;温度越限报警
BACK :RETI
图4-2 主程序和中断服务子程序的流程图
4.2温度检测
温度检测电路包括温度传感器、变送器和A/D转换三部分。传感器选用型号为WZB-003的铂热电阻,可满足本系统0~500℃测量范围的要求。变送器将电阻信号转换成与温度成正比的电压,当温度在0~500℃时变送器输出0~4.9v左右的电压。A/D转换可采用ADC0809进行,亦可采用单片机内部A/D功能进行。电路设计好后调整变送器的输出,使0~500℃的温度变化对应于0~4.9v的输出,则A/D转换对应的数字量位00H~FAH,即0~250,转换结果乘以2正好是温度值。用这种方法一方面可以减少标度变换的工作量,另一方面还可以避免标度变换带来的计算误差。
本设计A/D转换采用查询方式。为提高采样的可靠性,对采样温度进行数字滤波。数字滤波的方法很多,这里采用4次采样取平均值的方法。因此,4次采样的数字量之和除以2就是检测的当前温度。温度检测子程序流程图如图4-3所示。
4.3温度控制
控制电路采用可控硅来实现,双向可控硅SCR 和电路电阻丝串接在交流220V 市电回路中,单片机信号通过光电隔离器和驱动电路送到可控硅的控制端,由端口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。
将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电路保持原来状态;当温度降低到比预置温度低2℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉加热时,当前温度有可能低于报警下限,为防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志位F0。温度控制模块流程图见图4-4。
4.4人机对话
4.4.1键盘管理
为使系统简单紧凑,键盘只设置四个功能键,分别是“启动键”、“百位”、“十位”和“个位”。由P1口低四位作为键盘接口。利用数字键可以分别对预置温度的百位、十位和个位进行0~500℃的温度设置。程序设有预置温度合法检测报警,当预置温度超过500℃时会报警并且将温度设为500℃。键盘管理子程序流程图如图4-5所示。
本系统设有3位LED 数码显示器,用于显示电阻炉的设定温度和实际温度。采用串行口扩展的静态显示电路作为显示接口电路。
显示子程序DISP 如下:
DISP : ACALL HTB ;调用将显示数据转换成BCD 码的子程序HTB MOV SCON,#00H ;置串行口为方式0 MOV R2,#03H ;显示位数送R2 MOV R0,#T100 ;显示缓冲区首地址送R0 LD : MOV DPTR,#TAB ;指向字符码表首地址 MOV A,@R0 ;取出显示数据 MOVC A,@A+DPTR ;查表
MOV SBUF,A ;字符码送串行口
WAIT : JBC TI,NEXT ;发送结束转下一个数据并清除中断标志 SJMP WAIT ;发送未完等待 NEXT : INC R0 ;修改显示缓冲区指针
DJNZ R2,LD ;判断3位显示完否,未完继续 RET
TAB : „ ;字符码表
4.4.3报警
报警功能由蜂鸣器实现,当由于意外因素导致电阻炉温度高于设置温度时,单片机驱动蜂鸣器鸣叫报警。报警上限温度值为预置温度+5℃,即当前温度上升到高于预置温度+5℃时报警,并停止加热;报警下限温度值设为预置温度-5℃,即当前温度下降到低于预置温度-5℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。报警的同时也关闭电电炉。图4-6为报警子程序流程图。
五、基MATLAB 仿真被控对象
采用simulink 仿真,通过simulink 模块实现积分分离PID 控制算示。设采样时间Ts=10s,被控对象为:
e -10s
G (s ) =
1+30s
Simulink 仿真图如图5-1所示。
图5-1 Simulink仿真图
选择合适的Kp ,Ki ,Kd 是系统的仿真效果趋于理想状态。MATLAB 编写程序如下: clear all; close all; ts=4;
sys=tf([1],[30,1],'inputdelay',10); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v'); kp=13; ki=0.4; kd=0.2;
MATLAB 仿真波形如图5-2所示。
图5-2 MATLAB仿真波形
六、心得体会
一周的课程设计结束了,在这一周中我学到了很多。
这次课程设计是基于计算机控制技术而做的,它不仅仅检验了我对这门课程学习的掌握程度,同时也让我看到了我在各个方面的不足之处。
课程设计不仅是我们发现问题,解决问题的能力,同时,它更加让我们去寻找一种更适合我们学习的方法,例如我们在这次课程设计中要用到MATLAB ,电路,现代控制理论等。但这些需要用到的知识我都有或多或少的遗忘,所以我就不得不去主动的查资料,在查资料的过程中对于一些不明白的问题,我积极的问自己的同学,这样自己得以将这些自己一直不懂得知识弄懂。同时通过这次课程设计,我不仅仅再次稳固了自己的所学过的知识,学会了怎样在实际中运用这门课程中的知识,而且,我还锻炼了自己的动手能力,极大的促进了我的自学能力。
通过这次课程设计,我懂得了理论与实际是相铺相成的关系,如果只有理论不注重实践,就会眼高手低,如果没有足够的知识,在设计中就会举步维艰,寸步难行。
参考文献
[1]吴金戌, 沈庆阳, 郭庭吉.8051单片机实践与应用. 北京
:清华大学出版社[2]李建忠. 单片机原理及应用. 西安
:西安电子科技大学出版社[3]潘新民, 王燕芳. 微型计算机控制技术. 北京:高等教育出版社, 200[4]何立民. 单片机应用系统设计. 北京
:北京航空航天大学出版社[5]韩志军, 沈晋源, 王振波. 单片机应用系统设计. 北京
:机械工业出版社[6]宋书中. 自动化技术工程设计实践. 武汉:武汉理工大学出版社, 2004. [7]周航慈. 单片机程序设计基础. 北京:北京航空航天大学出版社,2000.
目录
一、系统的简绍与设计指标 ................................................................................ 2
1.1系统的介绍 . .......................................................... 2
1.2技术指标 . ............................................................ 2
二、方案设计 . .................................................... 2
三、控制算法 . .................................................... 3
3.1控制算法的确定 . ...................................................... 3
3.2数学模型的建立 . ...................................................... 3
四、系统软硬件设计 . .............................................. 6
4.1总体设计 . ............................................................ 6
4.2温度检测 . ............................................................ 9
4.3温度控制 . ........................................................... 10
4.4人机对话 . ........................................................... 11
五、基MATLAB 仿真被控对象 ....................................... 13
六、心得体会 . ................................................... 15 参考文献
摘要
随着科学技术的迅猛发展,各个领域对温度控制系统的精度、稳定性等要求越来越高,控制系统也千变万化。电阻炉广泛应用于各行各业, 其温度控制通常采用模拟或数字调节仪表进行调节,但存在着某些固有的缺点。而采用单片机进行炉温控制,可大大地提高控制质量和自动化水平, 具有良好的经济效益和推广价值。
本设计以89C51单片机为核心控制器件,以ADC0809作为A/D转换器件,采用闭环直接数字控制算法,通过控制可控硅来控制热电阻,进而控制电炉温度,最终设计了一个满足要求的电阻炉微型计算机温度控制系统。
关键字:电阻炉 89C51单片机 温度控制 A/D转换
一、系统的简绍与设计指标
1.1系统的介绍
该系统的被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为0~5伏时对应电炉温度0~500℃,温度传感器测量值对应也为0~5伏,对象的特性为带有纯滞后环节的一阶惯性系统,这里惯性时间常数取T 1=30秒,滞后时间常数取τ=10秒。
该系统利用单片机可以方便地实现对PID 参数的选择与设定,实现工业过程中PID 控制。它采用温度传感器热电偶将检测到的实际炉温进行A/D转换,再送入计算机中,与设定值进行比较,得出偏差。对此偏差按PID 规律进行调整,得出对应的控制量来控制驱动电路,调节电炉的加热功率,从而实现对炉温的控制。利用单片机实现温度智能控制,能自动完成数据采集、处理、转换、并进行PID 控制和键盘终端处理(各参数数值的修正)及显示。在设计中应该注意,采样周期不能太短,否则会使调节过程过于频繁,这样,不但执行机构不能反应,而且计算机的利用率也大为降低;采样周期不能太长, 否则会使干扰无法及时消除,使调节品质下降。
1.2技术指标
1. 温控范围:0~500℃;
2. 恒温控制:误差为±2℃;
3. LED实时显示,精度1℃;
4. 采用直接数字控制算法。;
5. 温度超出预置温度±5℃时发出报警。
二、方案设计
系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051片内除了128KB 的RAM 外,片内又集成了4KB 的ROM 作为程序存储器,是一个程序不超过
4K 字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。因此89C51可以完成设计要求。
三、控制算法
3.1控制算法的确定
PID 调节是连续系统中技术最成熟的、应用最广泛的一种控制算方法。它结构灵活,不仅可以用常规的PID 调节,而且可以根据系统的要求,采用各种PID 的变型,如PI 、PD 控制及改进的PID 控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字PID 完全可以代替模拟PID 调节器,应用更加灵活,使用性更强。所以该系统采用PID 控制算法。系统的结构框图如图3-1所示:
图3-1 系统结构框图
3.2数学模型的建立
四、系统软硬件设计
4.1总体设计
系统的硬件包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分,系统的结构框图如图4-1所示。
系统程序采用模块化设计方法,程序有主程序、中断服务子程序和各功能模块程序组成,各功能模块可直接调用。
主程序如下:
TEMP1 EQU 50H ;当前检测温度(高位)
TEMP2 EQU 51H ;当前检测温度(低位)
ST1 EQU 52H ;预置温度(高位)
ST2 EQU 53H ;预置温度(低位)
T100 EQU 54H ;温度BCD 码显示缓冲区(百位)
T10 EQU 55H ;温度BCD 码显示缓冲区(十位)
T EQU 56H ;温度BCD 码显示缓冲区(个位)
BT1 EQU 57H ;温度二进制码显示缓冲区(高位)
BT2 EQU 58H ;温度二进制码显示缓冲区(低位)
ADIN0 EQU 7FF8H ;ADC 0809通道IN0的端口地址
F0 BIT PSW.5 ;报警允许标志
TEMP1 DB 00H , 00H , 00H , 00H , 00H , 00H , 00H , 00H , 00H ;50H~58H单元初始化(清零)
ORG 0000H
AJMP MAIN ;转主程序
ORG 00BH
AJMP PT0 ;转T0中断服务子程序
ORG 0030H
MAIN : MOV SP,#59H ;设堆栈标志
CLR F0 ;报警标志清零
MOV TMOD,#01H ;定时器0初始化(方式1)
MOV TL0,#0B0H ;定时器100ms 定时常数
MOV TH0,#3CH
MOV R7,#150 ;置15s 软计数器初值
SETB ET0 ;允许定时器0中断
SETB EA ;开中断
SETB TRO ;启动定时器0
MAIN1:ACALL KIN ;调键盘管理子程序
ACALL DISP ;调用显示子程序
SJMP MAIN1定时器0中断服务子程序PT0:
PT0: MOV TL0,#0BOH
MOV TH0,#3CH ;重置定时器0初值
DJNZ R7,BACK ;15s 到否,不到返回
MOV R7,#150 ;重置软计数器初值
ACALL TIN ;温度检测
MOV BT1,TEMP1 ;当前温度送到显示缓冲区
MOV BT0,TEMP0
ACALL DISP ;显示当前温度
ACALL CONT ;温度控制
ACALL ALARM ;温度越限报警
BACK :RETI
图4-2 主程序和中断服务子程序的流程图
4.2温度检测
温度检测电路包括温度传感器、变送器和A/D转换三部分。传感器选用型号为WZB-003的铂热电阻,可满足本系统0~500℃测量范围的要求。变送器将电阻信号转换成与温度成正比的电压,当温度在0~500℃时变送器输出0~4.9v左右的电压。A/D转换可采用ADC0809进行,亦可采用单片机内部A/D功能进行。电路设计好后调整变送器的输出,使0~500℃的温度变化对应于0~4.9v的输出,则A/D转换对应的数字量位00H~FAH,即0~250,转换结果乘以2正好是温度值。用这种方法一方面可以减少标度变换的工作量,另一方面还可以避免标度变换带来的计算误差。
本设计A/D转换采用查询方式。为提高采样的可靠性,对采样温度进行数字滤波。数字滤波的方法很多,这里采用4次采样取平均值的方法。因此,4次采样的数字量之和除以2就是检测的当前温度。温度检测子程序流程图如图4-3所示。
4.3温度控制
控制电路采用可控硅来实现,双向可控硅SCR 和电路电阻丝串接在交流220V 市电回路中,单片机信号通过光电隔离器和驱动电路送到可控硅的控制端,由端口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。
将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电路保持原来状态;当温度降低到比预置温度低2℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉加热时,当前温度有可能低于报警下限,为防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志位F0。温度控制模块流程图见图4-4。
4.4人机对话
4.4.1键盘管理
为使系统简单紧凑,键盘只设置四个功能键,分别是“启动键”、“百位”、“十位”和“个位”。由P1口低四位作为键盘接口。利用数字键可以分别对预置温度的百位、十位和个位进行0~500℃的温度设置。程序设有预置温度合法检测报警,当预置温度超过500℃时会报警并且将温度设为500℃。键盘管理子程序流程图如图4-5所示。
本系统设有3位LED 数码显示器,用于显示电阻炉的设定温度和实际温度。采用串行口扩展的静态显示电路作为显示接口电路。
显示子程序DISP 如下:
DISP : ACALL HTB ;调用将显示数据转换成BCD 码的子程序HTB MOV SCON,#00H ;置串行口为方式0 MOV R2,#03H ;显示位数送R2 MOV R0,#T100 ;显示缓冲区首地址送R0 LD : MOV DPTR,#TAB ;指向字符码表首地址 MOV A,@R0 ;取出显示数据 MOVC A,@A+DPTR ;查表
MOV SBUF,A ;字符码送串行口
WAIT : JBC TI,NEXT ;发送结束转下一个数据并清除中断标志 SJMP WAIT ;发送未完等待 NEXT : INC R0 ;修改显示缓冲区指针
DJNZ R2,LD ;判断3位显示完否,未完继续 RET
TAB : „ ;字符码表
4.4.3报警
报警功能由蜂鸣器实现,当由于意外因素导致电阻炉温度高于设置温度时,单片机驱动蜂鸣器鸣叫报警。报警上限温度值为预置温度+5℃,即当前温度上升到高于预置温度+5℃时报警,并停止加热;报警下限温度值设为预置温度-5℃,即当前温度下降到低于预置温度-5℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。报警的同时也关闭电电炉。图4-6为报警子程序流程图。
五、基MATLAB 仿真被控对象
采用simulink 仿真,通过simulink 模块实现积分分离PID 控制算示。设采样时间Ts=10s,被控对象为:
e -10s
G (s ) =
1+30s
Simulink 仿真图如图5-1所示。
图5-1 Simulink仿真图
选择合适的Kp ,Ki ,Kd 是系统的仿真效果趋于理想状态。MATLAB 编写程序如下: clear all; close all; ts=4;
sys=tf([1],[30,1],'inputdelay',10); dsys=c2d(sys,ts,'zoh'); [num,den]=tfdata(dsys,'v'); kp=13; ki=0.4; kd=0.2;
MATLAB 仿真波形如图5-2所示。
图5-2 MATLAB仿真波形
六、心得体会
一周的课程设计结束了,在这一周中我学到了很多。
这次课程设计是基于计算机控制技术而做的,它不仅仅检验了我对这门课程学习的掌握程度,同时也让我看到了我在各个方面的不足之处。
课程设计不仅是我们发现问题,解决问题的能力,同时,它更加让我们去寻找一种更适合我们学习的方法,例如我们在这次课程设计中要用到MATLAB ,电路,现代控制理论等。但这些需要用到的知识我都有或多或少的遗忘,所以我就不得不去主动的查资料,在查资料的过程中对于一些不明白的问题,我积极的问自己的同学,这样自己得以将这些自己一直不懂得知识弄懂。同时通过这次课程设计,我不仅仅再次稳固了自己的所学过的知识,学会了怎样在实际中运用这门课程中的知识,而且,我还锻炼了自己的动手能力,极大的促进了我的自学能力。
通过这次课程设计,我懂得了理论与实际是相铺相成的关系,如果只有理论不注重实践,就会眼高手低,如果没有足够的知识,在设计中就会举步维艰,寸步难行。
参考文献
[1]吴金戌, 沈庆阳, 郭庭吉.8051单片机实践与应用. 北京
:清华大学出版社[2]李建忠. 单片机原理及应用. 西安
:西安电子科技大学出版社[3]潘新民, 王燕芳. 微型计算机控制技术. 北京:高等教育出版社, 200[4]何立民. 单片机应用系统设计. 北京
:北京航空航天大学出版社[5]韩志军, 沈晋源, 王振波. 单片机应用系统设计. 北京
:机械工业出版社[6]宋书中. 自动化技术工程设计实践. 武汉:武汉理工大学出版社, 2004. [7]周航慈. 单片机程序设计基础. 北京:北京航空航天大学出版社,2000.