李威微机原理项目.docx
《李威微机原理项目.docx》由会员分享,可在线阅读,更多相关《李威微机原理项目.docx(9页珍藏版)》请在冰豆网上搜索。
李威微机原理项目
微机原理项目报告
项目:
阀门控制系统设计
班级:
11级机控2班
姓名:
李威
学号:
110101010127
项目指导教师:
(任课教师、实验室教师)
项目完成时间:
2014年5月18日
摘要:
阀门控制系统设计:
某化工厂输气管道用压力自动控制阀门,设计电路实现如下控制:
(1)、可以把阀门开、关至某一设定值;
(2)、自动检测管道压力,并设定管道压力值,当高于设定压力时阀门开度增大,当低于设定值时,阀门开度减小,至设定值停止。
设计系统实现上述控制,并能记录阀门开度。
前言:
阀门是在流体系统中,用来控制流体的方向、压力、流量的装置。
阀门是使配管和设备内的介质(液体、气体、粉末)流动或停止并能控制其流量的装置。
阀门是管路流体输送系统中控制部件,它是用来改变通路断面和介质流动方向,具有导流、截止、节流、止回、分流或溢流卸压等功能。
用于流体控制的阀门,从最简单的截止阀到极为复杂的自控系统中所用的各种阀门,其品种和规格繁多,阀门的公称通径从极微小的仪表阀大至通径达10m的工业管路用阀。
阀门可用于控制水、蒸汽、油品、气体、泥浆、各种腐蚀性介质、液态金属和放射性流体等各种类型流体地流动,阀门的工作压力可从0.0013MPa到1000MPa的超高压,工作温度从-269℃的超低温到1430℃的高温。
阀门的控制可采用多种传动方式,如手动、电动、液动、气动、涡轮、电磁动、电磁液动、电液动、气液动、正齿轮、伞齿轮驱动等;可以在压力、温度或其它形式传感信号的作用下,按预定的要求动作,或者不依赖传感信号而进行简单的开启或关闭,阀门依靠驱动或自动机构使启闭件作升降、滑移、旋摆或回转运动,从而改变其流道面积的大小以实现其控制功能。
工程背景
阀门是工业上一种重要的流体控制设备,涉及到国民经济诸多部门,是国民经济的发展重要基础设备。
经过几十年的发展,我国阀门产品已经形成十几大类,尤其在企业数量和产销量两方面稳居世界前列,但大多是小规模、低层次阀门的企业,产品也以中低端为主。
改革开放以来,阀门市场急速膨胀,国营企业受体制影响遭遇关停并转的危机,乡镇、民营企业因技术力量有限,只能进行模仿生产,这是造成国产阀门质量较低的主要原因。
国家已经出台了振兴装备制造业的政策,尤其重点支持通用基础制造业的发展。
我国正面临着从农业时代向工业化时代的转变,将大幅增加工业对阀门产品的需求。
国家政策的支持和产品市场的巨大需求将是阀门产业飞速发展的强大动力。
项目要求
阀门控制系统设计:
某化工厂输气管道用压力自动控制阀门,设计电路实现如下控制:
(1)、可以把阀门开、关至某一设定值;
(2)、自动检测管道压力,并设定管道压力值,当高于设定压力时阀门开度增大,当低于设定值时,阀门开度减小,至设定值停止。
设计系统实现上述控制,并能记录阀门开度。
实验设备
1.8088CPU
2.8255芯片
3.LED数码管
4.步进电机
设计思路
1.通过LED数码管显示压力设定值和管道压力值,
2.通过步进电机显示阀门开度的增大(正转)和减小(反转),
3.通过压力设定值和管道压力值的比较大小确定步进电机的正转和反转,
4.通过步进电机旋转的角度记录阀门的开度。
流程图
连线说明
控制口:
0f003h
A口:
0f000h数码管段选
B口:
0f001h数码管位选
C口:
0f002h高四位接步进电机ABCD口
B4区:
CS,A0,A1——A3区:
CS1,A0,A1
B4区:
JP53(PB口)——G5区:
JP41
B4区:
JP56(PA口)——G5区:
JP42
B4区:
PC4,PC5,PC6,PC7——E1区:
A,B,C,D
系统连线图
实物连线图
预期结果
1.接通线路,最右边LED数码管显示压力设定值,
2.LED数码管依次显示输入的管道压力值,每次显示后和压力设定值比较,步进电机出现正转或反转的现象,表示阀门增大或减小。
3.结束,断开线路。
项目程序
.modelsmall
.stack
.data
LEDtbdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;数码管代码表0~9
Shedzdb5;管道压力设定值
Shijzdb8,2,7,3,6,4,5,24h;输入管道压力实际值0~9
.code
start:
movax,@data
movds,ax
movdx,0f003h;写入控制端口地址
moval,10000000b;写入方式控制字
outdx,al;送到控制端口
movdx,0f001h;数码管位选
moval,11111110b;数码管低电平有效
outdx,al;最右边数码管显示
movdx,0f000h;数码管段选
movbx,offsetLEDtb;取LEDtb首地址
moval,shedz;给al赋值
xlat;查表
outdx,al;显示压力设定值
calldelay;显示延时
again:
movdx,0f003h;写入控制端口地址
moval,10000000b;写入方式控制字
outdx,al;送到控制端口
movdx,0f001h;数码管位选
moval,11111110b;数码管低电平有效
outdx,al;最右边数码管显示
movdx,0f000h;数码管段选
movbx,offsetLEDtb;取LEDtb首地址
moval,shijz[si];给al赋值
xlat;查表
outdx,al;显示压力输入值
calldelay;显示延时
movbl,shedz;给bl赋设定值
moval,shijz[si];给al赋输入值
cmpbl,al;比较输入值和设定值
jbbujinzz;比设定值大,步进电机正转阀口增大
jabujinfz;比设定值小,步进电机反转阀口减小
goon:
incsi;相等,步加
movcl,shijz[si];指针移到下一个压力输入值
cmpcl,24h;是否结束
jzdone;结束
loopagain;不结束,继续循环
bujinzz:
movdx,0f003h;步进电机正转程序
moval,10000000b
outdx,al
movdx,0f002h
moval,00010000b
outdx,al
calldelay
moval,00100000b
outdx,al
calldelay
moval,01000000b
outdx,al
calldelay
moval,10000000b
outdx,al
calldelay
jmpgoon
bujinfz:
movdx,0f003h;步进电机反转程序
moval,10000000b
outdx,al
movdx,0f002h
moval,10000000b
outdx,al
calldelay
moval,01000000b
outdx,al
calldelay
moval,00100000b
outdx,al
calldelay
moval,00010000b
outdx,al
calldelay
jmpgoon
delayproc;延时子程序
pushcx;顺序堆栈
pushbx
movbx,4;给bx赋值4
delay1:
movcx,0ffffh;计数器循环计数
delay2:
loopdelay2;循环
decbx;步减
jnzdelay1;延时
popbx;顺序出栈
popcx
ret;返回主程序
delayendp;子程序结束
done:
jmp$
endstart;结束
模拟实验结果
实验基本达到了预期结果,当阀口压力实际值为8大于设定值5时,步进电机正转,阀门开度增大,使压力值减小到2,然后2比5小,使步进电机反转,阀口开度减小,压力值增大到7,然后依次比较再调节阀口,最后使压力实际值等于设定值5,阀口开度保持不变。
总结
项目结果基本上达到了预期结果,不过也存在一些缺陷,比如对于阀门开度的记录有待进一步的调整和提高,其次,对于压力设定的范围过小,当压力超出范围时没有保护措施,还有数码管的显示还有改进的空间,这些都是后来老师提到的不足之处。
但是总体上说项目基本达到了要求。
而且通过这次项目,让我更好地理解了微机原理的相关知识相信以后能更好的加以运用。
总之,感谢学校和老师给我这次锻炼的机会。
参考文献
钱晓捷《16/32位微机原理,汇编语言及接口技术》(第三版)机械工程出版社