电阻炉的温度控制系统设计(课程设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、
电阻炉的温度控制系统设计
摘要
电阻炉在冶金工业中的运用相当广泛,其温度参数在生产过程中的自动控制系统也随着微机单片机可控硅技术在工业控制领域的推广、应用,正朝着高精度、高稳定性、高智能化的方向发展。
电阻加热炉是典型的工业过程控制对象。
其温度控制具有升温单向性、大惯性、大滞后、时变性等特点,且其升温、保温是依靠电阻丝加热,降温则是依靠环境自然冷却。
温度是工业对象中主要的被控参数之一。
尤其是在冶金、化工、机械各类工业中,广泛使用各种加热炉、热处理炉、反应炉等。
由于炉子的种类不同,所采用的加热方法及燃料也不相同,如煤气、天然气等。
但就控制系统本身的动态特性而言,均属于一阶纯滞后环节,在控制算法上基本相同,可采用PID控制或其他纯滞后补偿算法。
但对于电阻加热炉来说,当其温度一旦超调就无法用控制手段使其降温,因而很难用数学方法建立精确模型和确定参数。
而传统PID控制是一种建立在经典控制理论基础上的控制策略,其设计依赖于被控对象的数学模型,因此对于加热炉这类控制对象采用传统PID 的控制方案很难达到理想的控制效果。
为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度,节约能源,对加热用的各种电炉要求在一定条件下保持恒温,不能随电源电压波动或炉内物体而变化,或者有的电炉的炉温根据工艺要求按照某个指定的升温或保温规律而变化,等等。
因此,在工农业生产或科学实验中常常对温度不仅要不断地测量,而且要进行控制。
在电阻炉温度控制系统的设计中,应尽量考虑到如何有效地避免各种干扰因素而采用一个较好的控制方案,选择合适芯片及控制算法是非常有必要的本设计要用单片机设计一个电阻炉温度控制系统。
~
关键词:恒温;热处理;控温系统
…
Design for Temperature Control System of Resistance Furnace
Abstract
The resistance furnace in metallurgical industry is widely application, its temperature parameters in the production process of automatic control system with single-chip microcomputer control technology in the field of industrial silicon, the popularization and application in high precision, high stability, high intelligent direction. Resistance furnace is typical of industrial process control object. The temperature control with temperature mono-direction and large inertia, the lag and time-varying characteristics, such as temperature, heat preservation and heat resistance wire depend on environment, cooling is natural cooling.
Temperature is the main objects of accused of parameters. Especially in metallurgy, chemical, machinery, widely used in various industries of heating furnace, heat treatment furnace, reactors. Because of the different kinds of heating method is adopted, and the fuel is not identical also, such as coal gas, natural gas etc. But control system dynamic characteristics of itself, all belong to a first-order lagging pure, in the same basic control algorithm, PID control or other pure lag compensation algorithm. But for resistance furnace, when the temperature once overshoot cannot use control means that the cooling, so it is difficult to use mathematical method to establish precise model and parameters. While the traditional PID control is an established in classical control theory, the control strategy based on its design depend on mathematical model of the controlled objects, so this kind of control for furnace adopts the traditional PID control object to achieve the ideal control scheme.
In order to guarantee the normal production process, improve product safely quantity and quality and to reduce the labor intensity, energy saving, with all kinds of electric heating requirements under certain conditions, not with remains constant voltage fluctuations or furnace changes, or some objects according to the technical requirement of electric furnace temperature or a designated in accordance with the law and heat changes, etc.
Therefore, in industrial and agricultural production and scientific
experiments to constantly measuring temperature will not only, and to control System.In the resistance furnace temperature control system design, should try to consider how to effectively avoid distractions and USES a better control scheme, select the appropriate chip and control algorithm is necessary to the design with a single-chip microcomputer temperature control system of resistance furnace.
\
Keywords: temperature; Heat treatment; Temperature control system
目录
摘要 (1)
Abstract (2)
一、总体方案设计 (4)
1、设计内容及要求 (4)
—
2、工艺要求 (4)
3、要求实现的系统基本功能 (5)
4、对象分析 (5)
5、系统功能设计 (5)
二、硬件的设计和实现 (5)
1、计算机机型 (5)
2、设计支持计算机工作的外围电路 (5)
3、设计输入输出通道 (8)
(
4、元器件的选择 (10)
三、数字控制器的设计 (7)
1、控制算法 (10)
2、计算过程 (11)
四、软件设计 (12)
1、系统程序流程图 (12)
2、程序清单 (15)
五、完整的系统电路图 (27)
《
六、系统调试 (27)
七、设计总结 (27)
八、参考文献 (27)
附录 (28)
一、总体方案设计
!
设计任务:用一台计算机及相应的部件组成电阻炉炉温的自动控制系统,并使系统达到工艺要求的性能指标。
1、设计内容及要求
电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。
在本控制对象电阻加热炉功率为8KW,有220V交流电源供电,采用双向可控硅进行控制。
系统模型:
2、工艺要求
]
按照规定的曲线进行升温和降温,温度控制范围为50~350℃,升温和降温阶段的温度控制精度为±5℃,保温阶段温度控制精度为±2℃。
3、要求实现的系统基本功能
微机自动调节:正常工况下,系统投入自动。
模拟手动操作:当系统发生异常,投入手动控制。
微机监控功能:显示当前被控量的设定值、实际值,控制量的输出值,参数报警时有灯光报警。
4、对象分析
在此设计中,要求电阻炉炉内的温度,按照上图所示工艺要求的规律变化,首先从室温开始到50℃为自由升温阶段,当温度到达50℃,就进入系统调节,当温度上升到达350℃时进入保温段,要求始终在系统控制下,保证所需的炉内温度的精度。
加工完毕,要进行降温控制。
保温段的时间为600~1800s。
过渡过程时间:即从开始控制到进入保温阶段的时间要小于600s。
在保温段当温度高于352℃或低于348℃时要报警,在升温和降温阶段也要进行控制,使炉内温度按照曲线的斜率升或降。
|
采用MCS—51单片机作为控制器,ADC0809模数转换芯片为模拟量输入,DAC0832数模转换芯片为模拟量输出,铂电阻为温度检测元件,运算放大器和可控硅作为功率放大,电阻炉为被控对象,组成电阻炉炉温控制系统,另外,系统还配有数字显示,以便显示和记录生产过程中的温度和输出值。
5、系统功能设计
计算机定时对炉温进行测量和控制一次,炉内温度是由铂电阻温度计来进行测量,其信号经放大送到模数转换芯片,换算成相应的数字量后,再送入计算机中进行判别和运算,得到应有的电功率数,经过数模转换芯片转换成模拟量信号,供给可控硅功率调
节器进行调节,使其达到炉温变化曲线的要求。
二、硬件的设计和实现
1、计算机机型:MCS—51 8031(不包含ROM、EPROM)
系统总线:PC总线
2、设计支持计算机工作的外围电路
《
矩阵键盘技术:
图2-1用8255接口的4×8键盘矩阵
图2-1为4×8矩阵组成的32键盘与微机接口电路。
图中8255端口C为行扫描口,工作于输出方式,端口A工作于输入方式,用来读入列值。
图中I/O口地址必须满足___
CE=0,才能选中相应的寄存器。
在每一行与列的交叉点接一个按键,故4×8共32个键。
温度输出显示技术:
LED静态显示接口技术,所谓静态显示,即CPU输出显示值后,由硬件保存输出值,保持显示结果.
图2-2用锁存器连接的6位静态显示电路
、
图2-2为6位BCD码静态显示电路原理图。
图中74LS244为总线驱动器,6位数字显示共用同一组总线,每个LED显示器均配有一个锁存器(74LS377),用来锁存待显示的数据。
当被显示的数据从数据总线经74LS244传送到各锁存器的输入端后,到底哪一个锁存器选通,取决于地址译码器74LS138各输出位的状态。
总线驱动器74LS244由IOW和A9控制,当IOW和A9同时为低电平时,74LS244打开,将数据总线上的数据传送到各个显示器的锁存器74LS377上。
特点:占用机时少,显示可靠.但使用元件多,且线路复杂、成本高。
报警电路设计:
正常运行时绿灯亮,在保温阶段炉内温度超出系统允差范围,就要进行报警。
报警时报警红灯亮,电笛响,同时发送中断信号至CPU进行处理。
如图2-3
图2-3加热炉报警系统图
;
3、设计输入输出通道
输入通道:因为所控的实际温度在50 ~ 350℃,即(350-50)=300所以选用8位A/D转换器,其分辨率约为℃/字,再加放大器偏置措施实现。
(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。
ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。
8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。
这种器件无需进行零位和满量程调整。
由于多路开关的地址输入部分能够进行锁存和译码,而且其三态TTL输出也可以锁存,所以它易于与微型计算机接口。
其具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗较低,故用于过程控制是比较理想的器件。
图2-4ADC0809应用接线图
输出通道:据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片DAC0832是8位D/A转换器,与微处理器完全兼容。
期间采用先进的CMOS工艺,因此功耗低,输出漏电流误差较小。
它的内部具有两级输入数据缓冲器和一个R-2RT型电阻网络,因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。
!
图2-5DAC0832双极性电压输出电路
双极性电压输出的D/A转换电路通常采用偏移二进制码、补码二进制码和符号一数值编码。
只要在单极性电压输出的基础上再加一级电压放大器,并配以相关电阻网络就可以构成双极性电压输出。
在上图中,运算放大器A2的作用是把运算放大器A1的单向输出电压转变为双向输出。
4、元器件的选择
传感器的选择:铂铑10—铂热电偶,S型,正极性,量程0—1300℃,使用温度小于等于600℃,允差±℃。
执行元件的选择:电阻加热炉采用晶闸管(SCR)来做规律控制,结合电阻炉的具体要求,为了减少炉温的纹波,对输出通道采用较高的分辨率的方案,因此采用移相触发方式,并且由模拟触发器实现移相触发。
变送器的选择:因为系统要求有偏置,又需要对热电偶进行冷端补偿,所以采用常规的DDZ系列温度变送器。
)
控制元件:采用双向可控硅进行控制,其功能相当于两个单向可控硅反向连接,具有双向导通功能,其通断状态有控制极G决定。
在控制极加上脉冲可使其正向或反向导通。
三、数字控制器的设计
1、控制算法:
电阻加热炉温度控制系统框图:.
整个闭环系统可用一个带纯滞后的一阶惯性环节来近似,所以其控制算法采用大林
算法。
电阻加热炉温度控制系统模型为
其广义的传递函数为: [
大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系统的传递函数相
当于一个带有纯滞后的一阶惯性环节,即:
通常认为对象与一个零阶保持器相串联, 相对应的整个闭环系统的脉冲传递函数是:
11788.2)(40+=
-s e s G s
2、计算过程:
连同零阶保持器在内的系统广义被控对象的传递函数
]
11788.21[)(40+-=--s e s e Z z G s
Ts
]
)1178(1
[
)1(8.2401
+-=-
-s s Z z
z T
]11781781[)1(8.2401
+--=-
-s s Z z
z T
]1111
[)1(8.21178
11
41-------
--=z e
z z z
15945.01154.0---=
z z
(
系统闭环传递函数
]
11[)()()(+-==Φ--s e s e Z z R z C z NTs
Ts τ
1
1
1)
1(---
----=
z e
e
z
T
T
N τ
τ
数字控制器:
)](1)[()
()(z z G z z D Φ-Φ=
'
)(])1(1[)
1(111
z G z e z e
e
z
N T
T
T
N ---
--
-
------=τ
τ
τ
5
1510
1
10
10
5
154.0945.01]
)1(1[)
1(------
-------=z z z e
z e
e
z τ
τ
τ
511933.0007.01)945.01(448.6------=
z z z
]933.0933.0933.0933.01)[1()
945.01(448.6)(432111------++++--=
z z z z z z z D 消除振铃现象后的数字控制器:
111)
945.01(448.6)(----=
z z z D
1
1
1945.0297.1297.1)()()(---⨯-=
=z z z E z U z D
将上式离散化:U (Z )—U (Z )Z —1=(Z )—(Z )Z —1
%
U (K )—U (K —1)=(K )—(K —1)
最终得:U (K )=U (K —1)+(K )—(K —1)
四、软件设计
1、系统程序流程图
a、系统主程序框图
b、A/D转换子程序流程图
~
c、LED显示流程图
d、报警程序流程图
|
e、数字控制算法子程序流程图
2、程序清单
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP KEYS
@
ORG 000BH
AJMP PIT0
ORG 001BH
AJMP PIT1 ;中断入口及优先级MAIN: MOV SP,#00H
CLR 5FH :清上下限越限标志MOV A,#00H
MOV R7,#09H
…
MOV R0,#28H
LP1:MOV @R0,A
INC R0
DJNZ R7,LP1
MOV R7,#06H
MOV R0,#39H
LP2:MOV @R0,A
INC R0
!
DJNZ R7,LP2
MOV R7,#06H
MOV RO,#50H
LP3:MOV @R0,A
INC R0
DINZ R7,LP3 ;清显示缓冲区
MOV 33H,#00H
MOV 34H,#00H ;赋KP高低字节
.
MOV 35H,#00H
MOV 36H,#00H ;赋KI高低字节
MOV 37H,#00H
MOV 38H,#00H ;赋KD高低字节
MOV 42H,#00H
MOV 43H,#00H ;赋K高低字节
MOV TMOD,#56H ;T0方式2,T1方式1计数
MOV TLO,#06H
·
MOV THO,#06H
MOV 25H,#163H ;设定值默认值350
SETB TR0 ;键盘高优先级
SETB ET0
SETB EX0
SETB EA ;开键盘T0。
T1中断LOOP: MOV R0,#56H
MOV R1,#55H
【
LCALL SCACOV ;标度转化
MOV R0,#53H
LCALL DIR
NOP
LCALL DLY10MS
NOP
LCALL DLY10MS
AJMP LOOP ;等中断
,
键盘子程序
KEYS: CLR EX0
CLR EA
PUSH PSW
PUSH ACC ;关中断
LCALL DLY10MS ;消抖
CC:JB AA
SETB 5DH ;置“显示设定值温度值标志”
(
MOV A,25H ;取运算位的值
MOV B,#10H ;BCD码转化
DIV A B
MOV 52H,A
MOV A, B
MOV 51H, A
MOV R0,#50H
LCALL DIR ;显示设定温度
:
NOP
LCALL DLY10MS
NOP
LCALL DLY10MS
JB ,BB
MOV R1,#25H
LCALL DAAD1
NOP
|
LCALL DLY10MS
AJMP CC
BB: JB CC
MOV R1,#25H
LCALL DEEC1
NOP
LCALL DLY10MS
AJMP CC
【
AA: POP ACC
POP PSW
SETB EX0
SETB EA ;出栈
RETI
显示子程序
DIR: MOV SCON ,#00H ;置串行口移位寄存器状态SETB ;开显示
!
JB 5DH,DL1 ;显示设定温度DL2: M OV DPTR,#SEGT
DL0: M OV A,@R0
MOVC A,@A+DPTR
MOV SBUF ,A
LOOP1: J NB TI, LOOP1
CLR TI
INC R0
"
MOV A,@R0
MOVC A,@A+DPTR
ANL A, #7FH ;使数带小数点
MOV SBUF ,A
LOOP2: JNB TI,LOOP2
CLR TI
INC R0
MOV A,@R0
|
MOVC A,@A+DPTR
MOV SBUF,A
LOOP3: JNB TI,LOOP3
CLR TI
CLR
CLR 5DH
RET
DL1: MOV 50H,#0AH ;小数位黑屏
-
AJMP DL2
SEGT: DB 0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH 加一子程序
DAAD1: MOV A,#00H
ORL A,@R1
ADD A,#01H
CJNE A,#30H,DAAD2 ;超过48度了吗DAAD3: MOV @R1,A
(
DAA: RET
DAAD2: JC DAAD3
MOV @R1,#15EH ;超过48则转回到355
AJMP DAA
减一子程序
DEEC1: MOV A,@R1
DEC A
CJNE A,#15EH,DEEC2 ;低于355度了吗.
DEEC3: MOV @R1,A
DEE : RET
DEEC2: JNC DEEC3
MOV @R1,#30H ;低于355则转回到48
AJMP DEE
T0中断子程序
PTT0: CLR EA
PUSH ACC
·
PUSH PSW
PUAH DPL
PUSH DPH
SETB EA ;压栈后开中断响应键盘PPP: LCALL SMAP ;采样数据
LCALL FILTER ;数字滤波
MOV A,2AH ;取采样值
CJNE A,#07H,AAA ;下限48比较
!
AJMP BBB
AAA: JC CCC ;小于48度转
CJNE A,#0FEH ,DDD ;上限355比较
AJMP BBB ;转至48~355正常范围处理DDD: JC BBB
CLR ;大于355黄灯亮
SETB 5EH
CLR ;置标志启动风扇。
AJMP PPP
CCC: CLR ;小于48红灯亮
SETB 5FH
BBB: CLR ;置标志启动电炉
AJMP PPP
SETB
SETB
SETB
&
SETB
CLR 5EH
CLR 5FH ;50~350之间正常
LCALL PID
JNB 20H,EEF ;设定温度小于实际值转到风扇
MOV A,29H
LCALL FFF
CLR
<
LOOP10: MOV R0,#56H ;存放相乘结果的首址
MOV R1,#55H ;赋显示缓冲区最高位地址
LCALL SCACOV ;标度转化
MOV R0,#53H ;赋显示首址
CLR DIR
JB D5H,LOOP10 ;等待T1中断
CLR EA
POP DPH
!
POP DPL
POP PSW
SETB EA
POP ACC
RETI
EEE: MOV A,28H ;风扇处理
LCALL FFF
CLR
"
AJMP LOOP10
FFF: CRL A ;根据PID结果计算T1初值INC A
MOV TL1,A
MOV TH1,#0FFH
SETB PI1
SETB TR1
SETB ET1
.
RET
标度转化
SCACOV :PROC NEAR
MOV DX,0
MOV DATA1,#258H
MOV DATA2,#708H
MOV DATA3,#960H
PROC NEAR
|
MOV DX,0
MOV AX,DATAP ;取采样时间
CMP AX,DATA3 ;时间大于2400
JAE Q3DOR
CMP AX,DATA2
JAE Q3-Q2 ; 1800<时间<2400
CMP AX,DATA3
JAE Q2-Q1 ; 600<时间<1800【
Q0: MOV BX, ;<600S Q=50+t/2 MUL BX
ADC DX,0
JMP DONE
Q2-Q1: MOV AX,#15EH ;Q=350
Q3-Q2: SUB AX,DATA2 ;Q=350-(t-1800)/2 MOV BX,
MUL BX
~
MOV AX,#15EH
SUB AX,BX
MOV @R1,A
PP: RET
采样子程序
SWAP: MOV R0,#20H
MOV R1,#03H
SAW1: MOV DPTR,#7FF8H
—
MOVX @DPTR A ;A/D转化
MOV R2,#20H
DLY: DJNZ R2,DLY ;延时
HERE: JB ,HERE
MOV DPTR,#7FF8H
MOVX A,@DPTR ;读转化结果
MOV @R0,A
INC R0。
DJNZ R1,SAM1
RET
数字滤波
FILTER: MOV A, 20H
CJNE A,2DH CMP1
AJMP CMP2
CMP1: JNC CMP2
XCH A,2DH
~
XCH A,2CH
CMP2: MOV A,2DH
CJNE A,22EH,CMP3
MOV 2AH,A
AJMP RR
CMP3: JC CMP4
MOV 2AH,A
AJMP RR
$
CMP4: MOV A,2EH
CJNE A,2CH,CMP5
MOV 2AH ,A
AJMP RR
CMP5: JC CMP6
XCH A,2CH
CMP6: MOV 2AH,A
RR: RET
:
T1中断
PIT1: CLR 00H
JB 20H, GGG
SETB ;关闭电炉
GG: CLR PT1
RETI
GGG: SETB ;关闭风扇
CLR 20H
/
AJMP GG
延时10MS子程序
DLY10MS: MOV R7,#0A0H
DLOO: MOV R6,#0FFH
DL11: DJNZ R6,DL11
DJNZ R7,DL00
RET
数字PID算法子程序
@
PID: MOV R5,#00H
MOV R4,2DH ;取NX值
MOV R3,#00H
MOV R2,#32H ;取50
LCALL CPL1
LCALL DSUM ;求(NX-32H)值
MOV R0,#5AH ;赋乘法算法运算暂存单元地址首址
MOV R5,#05H
:
MOV R4,#1CH ;赋参数
LCALL MULT ;调无符号数乘法
MOV 31H ,5BH
MOV 32H ,5AH ;存放结果有效值
MOV R5,31H
MOV R4,32H ;取双字节UR(设定)
MOV R3,2AH
MOV R2,#00H ;取双字节实测值
|
ACALL CPL1 ;取U(K)补码
ACALL DSUM ;计算E(K)
MOV 39H, R7
MOV 3AH,R6 ;存E(K)
MOV R5,35H
MOV R4,36H ;取KI参数
MOV R0,#4AH
ACALL MULT1 ;计算PI=KI*E(K)
|
MOV R2,39H
MOV R4,3AH ;取E(K)
MOV R3,3BH
MOV R2,3CH ;取E(K-1)
MOV R5,33H
MOV R4,34H ;取KP参数
MOV R0,#46H
ACALL MULT1 ;KP*[ E(K)- E(K-1)]
&
MOV R5,49H
MOV R4,48H
MOV R3,4DH
MOV R2,4CH
LCALL DSUM ;KP*[ E(K)- E(K-1)]+ KI*E(K) MOV 4AH, R7
MOV 4BH,R6 ;保存上式之和
MOV R5,39H
'
MOV 3CH,3AH ;存E(K)到E(K-1)
MOV A,31H ;取设定值
CJNE A,2AH,AA2 ;比较设定值与实测值
AA3: CLR 20H ;清电炉标志
AA1: RET
AA2 JNC AA3
SETB 20H ; 清风扇标志位
MOV R3,39H
>
MOV R2,3AH
LCALL CPL1
MOV A,R3
MOV R7,A
MOV A,R2
MOV R6,A
MOV R5,42H
MOV R4,43H ;取K1风扇标志
~
MOV R0,#5AH
ACALL MULT1 ;计算P=K*E(K)且结果存在51H,50H单元中
MOV 28H,5BH ;取8位有效值存在28H单元
AJMP AA
DSUM: MOV A,R4 ;双字节加法子程序(R5R4)+(R3R2) (R7R6) ADD A,R2
MOV R6,A
MOV A,R5
;
ADDC A,R3
MOV R7,A
RET
双字节求补
CPL1: MOV A,R2
CPL A
ADD A,#01H
MOV R2,A。
MOV A,R3
CPL A
ADDC A,#00H
MOV R3,A
RET
乘法被乘数R7R6乘数R5R4
MULT1: MOV A,R7
RLC A
…
MOV 5CH,C ;被乘数符号C1 5CH位
JNC POS1 ;为正数则转
MOV A,R1 ;为负数求补
CPL A
ADD A,#01H
MOV R6,A
MOV A,R7
CPL A
%
ADDC A,#00H
MOV R7,A
POS1: MOV A,R5 ;取乘数
RLC A ;乘数符号C2 5DH
MOV 5DH,C
JNC POS2 ;为正数则转
MOV A,R4
CPL A
-
ADD A,#01H
MOV R4,A
MOV A,R5
CPL A
ADDC A,#00H
MOV R5,A
POS2: ACALL MULT
MOV C,5CH
`
ANL C,5DH
JC TPL ;负负相乘转
MOV C,5CH
MOV C,5DH
JNC TPL ; 正正相乘转
DEC R0
MOV A,@RO
CPL A
ADD A,#01
MOV @R0,A
INC R0
MOV A,@R0
CPL A
ADDC A,#00H
MOV @R0,A
TPL: RET
MULT: MOV A,R6
MOV B,R4 ;取低位相乘
MUL AB
MOV @R0,A
MOV R3,B
MOV A,R4
MOV B,R7
MUL AB
ADD A,R3
MOV R3,A
MOV A,B
ADDC A,#00H
MOV R2,A
MOV A,R6
MOV B,R5
MUL AB
ADD A,R3
INC R0
MOV @R0,A
CLR 5BH
MOV A,R2
ADDC A,B
MOV R2,A
JNC LAST
SETB 5BH ;置进位标志
LAST: MOV A,R7
MOV B,R5
MUL AB
ADD A,R2
INC R0
MOV @R0,A ;存积
MOV A,B
ADDC A,#00H
MOV C,5BH
ADDC A,#00H
INC R0
MOV @R0,A
RET
END
五、完整的系统电路图
附录
六、系统调试
在系统调试过程中,将系统各部分硬件连接,检测各部分是否正确。
然后就可以进入硬件调试,调试的主要任务是排除硬件的故障,其中包括设计错误和工艺性故障,然后在进行软件的调试,软件调试时需要检查编程是否正确,用微型机对MCS51系列单片机程序进行交叉汇编。
在硬件、软件单独调试后,即可进入硬件、软件联合调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试,直到符合设计要求。
七、设计总结
经过一周的设计,我对这门课程有了更深的了解。
在设计过程中,首先要熟悉系统的工艺,进行对象的分析,要熟悉各元件的参数,按照要求确定方案。
然后要进行硬件和软件的设计和调试。
由于没有实际的样机,所以不能看到系统的运行结果。
只能在理
论上对系统的结果进行预测分析。
通过设计实验,使我了解了人机交互接口技术、微型机控制系统输入/输出接口的扩展方法,模拟量输入/输出通道的设计,常用控制程序的设计方法,数据处理技术,以及数字控制器算法。
此次设计使我对微型计算机控制技术有了全面的深刻的了解,对我以后深入学习这门技术有很大的帮助。
八、参考文献
(1) 潘新民,王燕芳.微型计算机控制技术.高等教育出版社,2001
(2) 马修水,李晓林.传感器与检测技术(第二版).电子工业出版社,2008
(3)牛昱光,李晓林.单片机原理与接口技术. 电子工业出版社,2008
(4)马春燕.微机原理与接口技术(基于32位机).电子工业出版社,2007附录。