燕山大学微机原理三级项目汽车轮毂生产切削.docx
《燕山大学微机原理三级项目汽车轮毂生产切削.docx》由会员分享,可在线阅读,更多相关《燕山大学微机原理三级项目汽车轮毂生产切削.docx(15页珍藏版)》请在冰豆网上搜索。
燕山大学微机原理三级项目汽车轮毂生产切削
汽车轮毂生产专用夹具计算机控制技术的实现
班级:
学号:
姓名:
课程名称:
指导教师:
2014年5月
摘要3
1项目内容3
2设计思路3
3实验设备5
4接线图5
5项目实现的模拟功能7
6项目程序8
7程序结果及分析14
8项目不足14
9项目总结14
汽车轮毂生产专用夹具的控制系统设计
摘要:
本项目主要通过汇编语言进行编程,实现汽车轮毂生产专用夹具的控制系统的设计,主要的应用有8255芯片,数码管、蜂鸣器和开关,实现的是汽车轮毂生产的这个过程的模拟。
主要包括上料,夹紧,定位,切削和技术五个过程,在整个过程中完成定位和夹紧力的实时监测和调整。
1项目内容
汽车轮毂生产的最后一序是数控车削,需要使用专用夹具,该夹具使用液压装置驱动,中心定位方式。
具体的动作过程是:
机器手上料送到------液压定位装置启动------中心定位(使用光电传感器检测中心孔定位是否准确)------若定位满足要求,驱动液压夹紧装置夹紧工件(使用压力传感器检测是否到达工作压力)------夹紧后启动车床主轴开始工作。
要求具有计件功能,能够记录每班的生产件数并使用数码管显示。
2设计思路
按照题目要求,完成此生产需要五步。
上料,定位,加紧,车削,计数。
具体流程图如下:
Figure1流程图
第一步:
机器手上料送到程序开始,需要用一个灯表示料已送到,这个过程之中要注意的是,灯一直是亮着的,表示程序一直在进行。
第二步:
液压定位装置启动送料结束之后,相应的亮着灯熄灭,另一只灯开始亮,表示液压定位装置开始启动。
第三步:
中心定位定位结束之后,需要相应的灯熄灭,然后要用到的是传感器,在这个过程中,传感器可以用另一只灯表示。
第四步:
定位满足要求,驱动液压装置夹紧工件定位满足要求,启动液压装置,加紧主轴,若不满足要求,需要蜂鸣器进行报警,然后进行的是调整,调整合格进行下一步,不合格继续进行调整。
第五步:
夹紧后启动车床主轴开始工作液压装置夹紧工件之后,开始驱动主轴进行工作。
在整个过程中对于主轴工作的次数进行计算,实现计数。
通过8255向相应的灯发送信号,控制整个过程中灯的亮灭,向led控制灯发送相应的控制字,表示相关的各个过程。
将计数所得值转化相应的控制字发送给数码管显示加工的数量。
3实验设备
表格1实验设备
设备
数量
8255
1
蜂鸣器
1
开关
2
发光二极管
8
Led数码管
3
8088芯片
1
导线
若干
4接线图
Figure2接线方式主图1
Figure3接线方式主图2
表格2端口控制对象
端口
控制对象
端口A
发光二极管
端口B
LED
端口C
发光二极管和蜂鸣器
控口端
CS1
表格3端口地址
端口
端口位置
端口A
0F000
端口B
0F001
端口C
0F002
控口地址
0F003
Figure48255内部线路
Figure5数码管内部线路
5项目实现的模拟功能
表格4项目实现的模拟功能
实现功能
现象
计数功能
数码管显示
定位检测
七号灯闪烁蜂鸣器间断鸣叫报警
夹紧检测
八号灯闪烁蜂鸣器连续鸣叫报警
整个工作流程
一至五号灯亮
6项目程序
.modelsmall
.stack
.data
numdw00h
LEDdb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
.code
start:
movax,@data
movds,ax
movdx,0f003h;写入方式控制字
moval,81h
outdx,al
movdx,0f002h;防止蜂鸣器空响
moval,11111111b
outdx,al
shangliao:
movdx,0f000h;上料开始,第一个灯亮
moval,11111110b
outdx,al
calldelay
movdx,0f000h;加紧开始,第二个灯亮
moval,11111101b
outdx,al
calldelay
movdx,0f002h;定位监测
inal,dx
testal,02h
jzbaojing1;不符合要求,跳到报警
jmpjiajin;符合要求,进行夹紧
baojing1:
callfengming1;报警,调用子程序
jiajin:
movdx,0f000h;夹紧,第三个灯亮
moval,11111011b
outdx,al
calldelay
movdx,0f002h;夹紧监测
inal,dx
testal,04h
jzbaojing2;
jmpqiexue;
baojing2:
callfengming2
qiexue:
movdx,0f000h;切削,第四个灯亮
moval,11110111b
outdx,al
calldelay
movdx,0f000h
moval,11111111b;切削工作结束,第四个灯灭
outdx,al
addnum,01h;实现计数
movcx,02ffh
osloy:
movax,num
movbx,offsetLED
movdl,0ah;个位数显示
divdl
pushax
moval,ah
xlatLED
movdx,0f001h
outdx,al
moval,01111111b
movdx,0f002h
outdx,al
calldelay1
popax
movah,0h;十位数显示
movdl,0ah
divdl
pushax
moval,ah
xlatLED
movdx,0f001h
outdx,al
moval,10111111b
movdx,0f002h
outdx,al
calldelay1
popax
movah,0h;百位数显示
movdl,0ah
divdl
pushax
moval,ah
xlatLED
movdx,0f001h
outdx,al
moval,11011111b
movdx,0f002h
outdx,al
calldelay1
popax
looposloy
moval,11110111b;完成计数,第五个灯亮
movdx,0f000h
outdx,al
jmpshangliao;完成一个工作进程,跳回程序首部
fengming1proc;定位监测报警程序
pushax
pushbx
pushcx
pushdx
warn1:
movdx,0f002h
moval,0
outdx,al
calldelay
movdx,0f000h;
moval,10111111b
outdx,al
calldelay
movdx,0f002h
moval,0
outdx,al
calldelay
movdx,0f002h
moval,10111111b
outdx,al
calldelay
movdx,0f002h
inal,dx
testal,02h
jzwarn1
jmpnext1
next1:
movdx,0f000h;
moval,11111111b
outdx,al
popdx
popcx
popbx
popax
endp
ret
fengming2proc;夹紧报警子程序
pushax
pushbx
pushcx
pushdx
warn2:
movdx,0f000h;
moval,01111111b
outdx,al
calldelay
movdx,0f002h
moval,0
outdx,al
calldelay
movdx,0f000h;
moval,01111111b
outdx,al
calldelay
movdx,0f002h
moval,0
outdx,al
calldelay
movdx,0f002h
inal,dx
testal,04h
jzwarn2
jmpnext2
next2:
movdx,0f000h;
moval,11111111b
outdx,al
popdx
popcx
popbx
popax
ret
fengming2endp
delayproc;可控延时子程序
pushax
pushbx
pushcx
movcx,0ffffh
again:
nop
loopagain
popcx
popbx
popax
ret
delayendp
delay1proc;可控延时子程序2
pushax
pushbx
pushcx
movcx,500
again1:
nop
loopagain1
popcx
popbx
popax
ret
delay1endp
endstart
7程序结果及分析
在正常的工作进程中,程序实现了由一至五号灯的依次亮灭,最后计数器实现了准确计数。
当将开关置于高电位时,模拟夹紧或者定位过程出现问题时,程序能够实现预期的报警,将开关置于低电位,模拟调整结束,程序可以顺利向下进行,实现顺利的计数。
整个计数的过程和预期的结果完全相同,达到实验要求。
8项目不足
1、只能进行百位的计数,计数范围较小。
主要原因是蜂鸣器的使用,使得端口c的输出电位减少了一个,将蜂鸣器报警和各自对应的灯亮灭进行结合改善,是可以实现更高位数计数的方法之一。
2、由于检测报警的过程中,占用了端口C的两个端口,使得数码管显示过程中出现了干涉的问题。
本程序调整了开关高低点位对应状态不同的调整,消除了干涉。
应探讨一下是否还有其他更好的方法来进行调节。
9项目总结
在做这个三级项目个总体过程中,我学到了很多。
首先,我学会了课本中未介绍的蜂鸣器和开关的使用,巩固了我在课本中学过的8255和数码管等很多的知识。
我体会到了在实践中学习知识的乐趣。
另外,在整个过程中,我觉得和同学们和老师的交流这个过程,使我受益颇多。
比如蜂鸣器的使用过程中,在程序的设计过程中,有很多的程序段改变蜂鸣器的状态,使我总是不能很好的控制蜂鸣器的工作状态,在和老师交流个过程中,我发现原来可以在其他程序段产生了干涉之后,立即附加修正蜂鸣器的状态程序即可。
再比如,最后数码管显示的过程中,我把cx赋值的程序写在了loop循环中,使得我的程序陷入了死循环,在同学的帮助下,我及时的发现和改正了这个错误,受益很大。
老师指导,小组配合,互相探讨,通力合作,这个过程锻炼了我的耐心,增加了我的自信。
虽然做程序比较繁琐,会出现各种各样的问题,但是在克服了所有困难,最后自己的程序能够顺利实现预期结果时,内心总会充满了成就感。
感谢老师的指导,使我能够顺利完成项目,体会到学习的乐趣。
参考文献:
钱晓捷.16/32位微机原理、汇编语言及接口技术教程北京:
机械工程出版社2011.9