某生产线的计算机控制技术的实现系统设计

上传人:枫** 文档编号:431126202 上传时间:2023-12-25 格式:DOC 页数:15 大小:1.93MB
返回 下载 相关 举报
某生产线的计算机控制技术的实现系统设计_第1页
第1页 / 共15页
某生产线的计算机控制技术的实现系统设计_第2页
第2页 / 共15页
某生产线的计算机控制技术的实现系统设计_第3页
第3页 / 共15页
某生产线的计算机控制技术的实现系统设计_第4页
第4页 / 共15页
某生产线的计算机控制技术的实现系统设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《某生产线的计算机控制技术的实现系统设计》由会员分享,可在线阅读,更多相关《某生产线的计算机控制技术的实现系统设计(15页珍藏版)》请在金锄头文库上搜索。

1、某生产线的计算机控制技术的实现班 级: 10级机控(1)班学 号: 100101010053姓 名: 卢彪课 程 名 称:16/32位微机原理,汇编语言及接口技术指 导 教 师: 李艳文2013年5月 1一、项目要求3二、 模拟方案3三、程序执行流程图4四、接线图5五、 实物接线图5六、 功能实现7七、详细程序7八、 感言12某生产线的计算机控制技术的实现 作者 卢彪 (燕山大学 机械工程学院)摘要:该项目主要是通过数码管模拟A,B,C,D,E五个工序的运行情况,用8253 定时计数器进行精确计时。用七段数码管的前4位记录完成的工件数,后四位记录误工数。通过用汇编语言的编程,基本实现A,B,C

2、,D各运行8S, E运行13S,并对误工现象进行模拟、识别和记录功能。一、项目要求某生产线用于装配某机械产品,总共有5个工位,分别为A、B、C、D、E要求使用微机控制,总计45秒完成一个产品的装配。A、B、C、D各需要8秒,E工位需要13秒。其中E工位是关键控制工位,如果在E工位没有按照要求的时间完成就要将A工位暂停,直到E工位完成后给A一个完成信号重新启动A工位。要求记录完成的工件数和生产线发生故障的次数并显示。二、 模拟方案1、考虑采用二极管的亮灭代表A,B,C,D,E的运行与否以及误工情况2、采用七段数码管的前四位表示所生产的的工件数,后四位表示误工数3、用误工开关模拟E工位的误工情况4

3、、采用8255A作为基本的输入输出接口,用PA口对数码管进行段控;用 PB口控制二极管的亮灭;PC0作为误工信号的输入接口,PC1作为计时 结束信号返回的接口,PC5,PC6,PC7用来控制74LS138译码器的A、 B、C端口。5、采用74LS138译码器的输出接口对七段数码管进行位控6、采用8253定时计数器进行精确计时三、程序执行流程图 工序B 工序C 工序D 工序E 工序A 判断故障 延时,故障数加一工件数加一,显示无故障有故障 四、接线图五、 实物接线图1、8255A实物接线图2、74LS138译码器实物接线图3、8253定时计数器实物接线图六、 功能实现 通过二极管的1、2、3、4

4、、6号灯分别模拟A、B、C、D、E五个工位的运行情况,8号灯与6号灯同时亮表示E工位误工。本题通过8号开关模拟误工信号。七段数码管的前四位显示所完成的工件数,后四位显示E工位误工数。七、详细程序 .model small .stack .data chushu dw 10;定义除数为10 shuju db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;010所对应的七段数码管段码shuju gjs dw 0h;定义所完成工件数gjs wgs dw 0h;定义误工数wgs ge1 db 0h;定义工件数个位ge1 shi1 db 0h;定义工件数十位shi1 b

5、ai1 db 0h;定义工件数百位bai1 ge2 db 0h;定义误工数个位ge2 shi2 db 0h;定义误工数十位shi2 bai2 db 0h;定义误工数百位bai2 .code start: mov ax,data mov ds,ax;初始化8255A mov dx,0f003h; mov al,10000001b out dx,al mov dx,0e003h;初始化8253 mov al,00110000b out dx,al a0: mov dx,0f001h;定义A工位 mov al,11111110b out dx,al call delay8s;调用8S延时程序 a1:

6、 mov dx,0f002h in al,dx;返回计数器out0信号 and al,00000010b jz a1;OUT0为低电平继续循环 mov dx,0f001h;OUT0为高电平则开始工位B mov al,11111101b out dx,al call delay8s b1: mov dx,0f002h in al,dx test al,00000010b jz b1 mov dx,0f001h;开始工位C mov al,11111011b out dx,al call delay8s c1: mov dx,0f002h in al,dx test al,00000010b jz

7、c1 mov dx,0f001h;开始工位D mov al,11110111b out dx,al call delay8s d1: mov dx,0f002h in al,dx test al,00000010b jz d1 m: mov dx,0f001h;开始工位E mov al,11011111b out dx,al call delay13s;调用13S延时程序 e1: mov dx,0f002h in al,dx;返回计时器OUT0信号 test al,00000010b jz e1;若OUT0信号为低电平继续循环 e2: mov dx,0f002h;若为高电平则检测误工情况 in

8、 al,dx;返回误工开关电平 test al,00000001b jz count;误工信号为低电平,跳转至分支count delay:mov dx,0f001h mov al,01011111b out dx,al;E工位和误工信号灯同时亮 delay1: mov dx,0f002h in al,dx;返回误工信号 test al,00000001b jnz delay;若继续误工,则重复检验 mov dx,0f001h mov al,11111111b out dx,al;误工解除,信号灯全灭进行计数 inc wgs;误工数加一 count: mov al,11111111b mov d

9、x,0f001h out dx,al;信号灯全灭,进行计数 inc gjs;工件数加一 call jisuan1;调用计算工件数子程序jisuan1 call jisuan2;调用计算误工数子程序jisuan2 mov cx,3h;设定数码管循环显示次数为3 show: call ledshow ;调用数码管显示子程序 loop show;循环显示 jmp a0;调至程序开头,重新进行 mov ax,4c00h int 21h jisuan1 proc push ax push dx ge3: mov ax,gjs;工件数AX mov dx,0;dx清零 div chushu;利用除十取余法取出个位 mov ge1,dl shi: mov dx,0 div chushu mov shi1,dl;继续除十取余取出十位 bai: mov dx,0 div chushu mov bai1,dl ;取出百位 pop cx pop dx pop ax ret jisuan1 endp jisuan2 proc push ax push dx ge0: mov dx,0 mov ax,wgs div chushu mov ge2,dl shi0: mov dx,0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号