微机原理三级项目报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目名称:汽车轮毂生产专用夹具控制系统班级:机械装备1班
姓名:李罗金
学号:130101010076
项目指导教师(任课教师、实验室教师):
项目完成时间:2016-5-13
目录
一、设计内容及要求 (2)
二、设计思路 (2)
三、实验设备 (2)
四、项目实现的功能 (3)
五、项目接线图 (4)
六、项目程序 (7)
七、实验结果 (14)
八、程序结果及分析 (15)
九、项目不足 (15)
十、项目总结 (15)
参考文献 (15)
一、设计内容及要求
汽车轮毂生产的最后一序是数控车削,需要使用专用夹具,该夹具使用液压装置控制,中心定位方式。
具体动作过程是:机械手上料——液压定位装置启动——中心定位(使用光电传感器检测中心孔定位是否准确)——若定为满足要求驱动液压夹紧装置夹紧工件(使用压力传感器检测是否达到工作压力)——夹紧后启动车床主轴开始工作。
要求具有计件功能,能够记录每班的生产件数并使用数码管显示
二、设计思路
1数控车削过程按要求大致分为5个部分,即上料,定位,加紧,车削,计数。
2 其中有两个检测点,即中心定位检测和加紧压力检测,不符合检测标准应显示警告,提示修正。
必须满足检测要求后,方能进行下一步动作。
3 车削加工结束后,要有计数设备,由8155芯片输出。
计数总量999件。
三、实验设备
实验设备
设备数量功用
8088CPU
8255芯片 1 控制数码管,步进电机,直流电机8155A芯片 1 接收开关数据,控制138译码器8253A芯片 1 控制蜂鸣器不同频率报警
138译码管 1 控制发光二极管开关 2 模拟是否定位和夹紧
发光二极管8 显示工作流程一至六号灯亮,定位夹紧,八七号灯亮
数码管8 显示计数功能
蜂鸣器 1 报警
直流电机 1 模拟切削过程
步进电机 1 模拟上料,定位,夹紧过程导线若干
端口控制对象
端口控制对象端口地址8255端口A 7段数码管的位选0F000
8255端口B 7段数码管的码选0F001
8255端口C 直流电机,步进电机0F002
8255控口端CS1 0F003
8155端口A 138译码器0e001
8155端口B LED 0e002
8155控口端CS2 0e000
138译码器发光二极管
8253计数器1 8253计数器2 0b000
8253计数器2 蜂鸣器0b001
8253控制端cs5 0b003
四、项目实现的功能
1.计数功能,8255pa口控制7段数码管的位选,pb口控制8255的码选
2.定位检测,如果定位满足则进行下一道工序,否则led灯8亮且蜂鸣器以2赫兹频率报警,步进电机工作模拟继续定位。
3.夹紧力检测,如果加紧满足则进入下一道工序,否则led灯7亮且蜂鸣器以0.5赫兹频率报警,步进电机工作模拟继续夹紧。
4.动作分控功能,8155pa口控制138译码器然后控制led灯亮
5.直流电机模拟切削动作。
6.步进电机模拟上料,夹紧,定位功能。
6.8253控制蜂鸣器以不同频率报警。
五、项目接线图
8255管脚及引线图
8155管脚及引线图
五、项目流程图
8253管脚及引线图
上料 第一个灯亮
定位 第二个灯亮
夹紧 第三个灯亮
切削 第四个灯亮 直流电机工作
计数 第五个灯亮 数码管显示
定位检测
夹紧检测
第如果定位满足要求,进行下一步, 否则第八个灯亮,同时蜂鸣器以高频率报警,步进电机工作,模拟继续夹紧过程。
返回继续检测开关8是否为低电平
计数结束 第六个灯
第如果夹紧满足
要求,进行下一步,
否则第七个灯亮,同时蜂鸣器以高频率报警,步进电机工作,模拟继续夹紧过程。
返回继续检测开关7是否为低电平
第一步上料,机器手上料送到程序开始,需要用一个灯表示料已送到,这个过程之中要注意的是,灯一直是亮着的,表示程序一直在进行。
第二步定位,液压定位装置启动送料结束之后,相应的亮着灯熄灭,第二只灯开始亮,表示液压定位装置开始启动。
检测定位,如果定位为完成,第八个灯亮,同时蜂鸣器以低频率报警,步进电机工作,模拟继续定位过程。
第三步夹紧,定位满足要求,驱动液压装置夹紧工件第三个灯亮,检测夹紧,如果夹紧未完成,第八个灯亮,同时蜂鸣器以高频率报警,步进电机工作,模拟继续夹紧过程。
第四步切削,夹紧后启动车床主轴开始工作,第四个灯亮,液压装置夹紧工件之后,开始驱动主轴进行工作。
开始切削,直流电机开始转动。
第五步计数,切削工作结束后,显示一共加工了多少工件,同时第五个灯亮。
第六步,计数结束,第六个灯亮,返回过程开始。
通过8155向138译码器发出信号,138译码器控制相应的灯亮,控制整个过程中灯的亮灭,向led控制灯发送相应的控制字,表示相关的各个过程。
将计数所得值转化相应的控制字发送给数码管显示加工的数量。
六、项目程序
.model small
pa8155 equ 0e101h ;led
pb8155 equ 0e102h ;on/off
ctl8155 equ 0e100h
pa8255 equ 0f000h ;位选
pb8255 equ 0f001h ;码选
pc8255 equ 0f002h
ctl8255 equ 0f003h
.stack
.data
num dw 00h
LEDdt db 10 dup(0)
.code
start:
mov ax,@data
mov ds,ax
mov dx,ctl8255 ;写入方式控制字
mov al,80h
out dx,al
mov dx,ctl8155
mov al,01h
out dx,al
mov dx,0b003h ;防止蜂鸣器空响
mov al,00010101b ;计数器1以方式2工作out dx,al
mov al,01010101b ;计数器2以方式2工作out dx,al
mov dx,0b000h ;给如初始值,计数器1 mov al,1
out dx,al
mov dx,0b001h ;计数器2
mov al,1
out dx,al
call ksgz ;调用开始工作子程序
ksgz proc
shangliao:
mov dx,pa8155 ;上料开始,第一个灯亮mov al,0
out dx,al
mov bx,8fffh ;通过bx传值设定工作时延时程序的时间Call bjdj
call delay
mov dx,pa8155 ;定位开始,第二个灯亮mov al,1
out dx,al
call delay
mov dx,pb8155;定位监测
in al,dx
test al,80h
jnz jiajin;符合要求,进行夹紧
Mov ax,1000h
call fengming;否则报警,调用子程序
jiajin: ;夹紧,第三个灯亮
mov dx,pa8155
mov al,2
out dx,al
Call bjdj
call delay
mov dx,pb8155;夹紧监测
in al,dx
test al,40h
jnz qiexue;
Mov ax,2000h
call fengming
qiexue:
mov dx,pa8155 ;切削,第四个灯亮mov al,3
out dx,al
mov dx,pc8255 ;切削
mov al,11000000b
out dx,al
call delay
mov al,05h ;切削工作结束
out dx,al
mov dx,pa8155
mov al,4 ;计数开始第五个灯亮
out dx,al
add num,01h;实现计数
call leddisp
mov al,5 ;完成计数,第六个灯亮
mov dx,pa8155
out dx,al
call delay
jmp shangliao;完成一个工作进程,跳回程序首部
ksgz endp
leddisp proc;计数显示子程序
push ax
push bx
push cx
push dx
mov bx,offset ledtb
mov cx,00ffh
osloy: lodsb
mov ax,num
mov dl,0ah ;个位数显示
div dl
push ax
mov al,ah
xlat cs:LEDtb
mov dx,pb8255
out dx,al
mov al,01111111b
mov dx,pa8255
out dx,al
push bx
mov bx,004fh ;通过bx传值设定工作时延时程序的时间
call delay
pop bx
pop ax
mov ah,0h ;十位数显示
mov dl,0ah
div dl
push ax
mov al,ah
xlat cs:LEDtb
mov dx,pb8255
out dx,al
mov al,10111111b
mov dx,pa8255
out dx,al
push bx
mov bx,004fh ;通过bx传值设定工作时延时程序的时间
call delay
pop bx
pop ax
mov ah,0h ;百位数显示
mov dl,0ah
div dl
push ax
mov al,ah
xlat cs:LEDtb
mov dx,pb8255
out dx,al
mov al,11011111b
mov dx,pa8255
out dx,al
push bx
mov bx,004fh ;通过bx传值设定工作时延时程序的时间
call delay
pop bx
pop ax
loop osloy
mov al,11111111b;led灯全灭
mov dx,pa8255
out dx,al
pop dx
pop cx
pop ax
ret
LEDtb db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh leddisp endp
fengming proc;报警程序
push bx
push cx
push dx
Push ax
mov dx,0b003h ;设置计数器1,2的方式控制字mov al,00110101b ;计数器1以方式2工作
out dx,al
mov al,01110111b ;计数器2以方式3工作
out dx,al
Pop ax
mov dx,0b000h
out dx,al
Mov dx,0b001h
Out dx,ax
mov al,Ah
out dx,al
Mov dx,0b000h
Out dx,al
jiance:
call bjdj ;步进电机工作
mov dx,pb8155;监测
in al,dx
test al,80h
jnz ll
led1: mov al,7;第8个灯亮
mov dx,pa8155
out dx,al
jmp jiance
ll: test al,40h
jnz jiesu
mov al,6;第7个灯亮
mov dx,pa8155
jmp jiance
jiesu:
mov al,00010101b;蜂鸣器停响
mov dx,0b003h
out dx,al
mov dx,0b000h
mov al,1
out dx,al
mov al,01010101b
mov dx,0b003h
out dx,al
mov dx,0b001h
mov al,1
out dx,al
pop dx
pop cx
pop bx
ret
fengming endp
bjdj proc ;步进电机连续分别给abcd通电,使步进电机正转push ax
push bx
push cx
push dx
mov bx,00ffh ;通过bx传值设定工作时延时程序的时间mov dx,pc8255
mov cx,10
faz: mov al, 00000001b
out dx,al
call delay
mov al,00000010b
out dx,al
call delay
mov al,00000100b
out dx,al
call delay
mov al,00001000b
call delay
loop faz
pop dx
pop cx
pop bx
pop ax
ret
bjdj endp
delay proc;延时子程序
push ax
push bx
push cx
push dx
again:mov cx,20
again1:nop
loop again1
dec bx ;通过bx传值设定工作时延时程序的时间jnz again
pop dx
pop cx
pop bx
pop ax
ret
delay endp
end start ;程序结束
七、实验结果
八、程序结果及分析
在正常的工作进程中,程序实现了由一至六号灯的依次亮灭,计数器实现了准确计数。
当将7或9开关置于高电位时,模拟夹紧或者定位过程出现问题时,程序能够实现预期的报警,将开关置于低电位,模拟调整结束,程序可以顺利向下进行,实现顺利的计数。
整个计数的过程和预期的结果完全相同,达到实验要求。
九、项目不足
1、只能进行百位的计数,计数范围较小。
可以通过修改程序实现八位数的计数。
2、8253可以实现准确计时,可控制电机转动时间和蜂鸣器蜂鸣频率,由于时间和能力有限,没有做进一步改进。
十、项目总结
刚开始做的时候感觉无从下手,很是迷茫。
后来,一点一点和同学交流,从书上找类似的程序段,渐渐地找到了方法。
这其中,检测对正、加紧的过程有些不好控制,但经过反复试验,终于解决了难题。
最后程序完成,虽说不是很完美,但也基本达到设计要求,很欣慰。
做word时,我用ps画了接线图,用word画流程图,把自己课外学的东西用上了,感觉很满意。
在做项目的过程中,我觉得耐心和合作是非常关键的。
因为程序很繁琐,不小心就会出错,有时碰上有问题的试验机器也很无奈;而且,各个小组成员应集思广益,找出最简便、最合适的方案,通力合作,完成目标。
此外我把项目结果视频文件传到了优酷
/v_show/id_XMTU3MDQwOTc1Mg==.html?from=y1.7-1.2 最后要感谢老师的指导和帮助,使我受益匪浅,收获良多。
参考文献
钱晓捷.16/32位微机原理、汇编语言及接口技术教程北京:机械工程出版社2011.9。