欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

    • 资源ID:3317117       资源大小:1.93MB        全文页数:15页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    某生产线的计算机控制技术的实现班 级: 10级机控(1)班学 号: 100101010053姓 名: 卢彪课 程 名 称:16/32位微机原理,汇编语言及接口技术指 导 教 师: 李艳文2013年5月 15一、项目要求3二、 模拟方案3三、程序执行流程图4四、接线图5五、 实物接线图5六、 功能实现7七、详细程序7八、 感言12某生产线的计算机控制技术的实现 作者 卢彪 (燕山大学 机械工程学院)摘要:该项目主要是通过数码管模拟A,B,C,D,E五个工序的运行情况,用8253 定时计数器进行精确计时。用七段数码管的前4位记录完成的工件数,后四位记录误工数。通过用汇编语言的编程,基本实现A,B,C,D各运行8S, E运行13S,并对误工现象进行模拟、识别和记录功能。一、项目要求某生产线用于装配某机械产品,总共有5个工位,分别为A、B、C、D、E要求使用微机控制,总计45秒完成一个产品的装配。A、B、C、D各需要8秒,E工位需要13秒。其中E工位是关键控制工位,如果在E工位没有按照要求的时间完成就要将A工位暂停,直到E工位完成后给A一个完成信号重新启动A工位。要求记录完成的工件数和生产线发生故障的次数并显示。2、 模拟方案1、考虑采用二极管的亮灭代表A,B,C,D,E的运行与否以及误工情况2、采用七段数码管的前四位表示所生产的的工件数,后四位表示误工数3、用误工开关模拟E工位的误工情况4、采用8255A作为基本的输入输出接口,用PA口对数码管进行段控;用 PB口控制二极管的亮灭;PC0作为误工信号的输入接口,PC1作为计时 结束信号返回的接口,PC5,PC6,PC7用来控制74LS138译码器的A、 B、C端口。5、采用74LS138译码器的输出接口对七段数码管进行位控6、采用8253定时计数器进行精确计时三、程序执行流程图 工序B 工序C 工序D 工序E 工序A 判断故障 延时,故障数加一工件数加一,显示无故障有故障 四、接线图5、 实物接线图1、8255A实物接线图2、74LS138译码器实物接线图3、8253定时计数器实物接线图6、 功能实现 通过二极管的1、2、3、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 bai1 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: 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 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 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 dx,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 div chushu mov shi2,dl bai0: mov dx,0 div chushu mov bai2,dl pop dx pop ax ret jisuan2 endp ledshow proc push bx push ax push dx showbai1:mov bx,offset shuju;shuju偏移地址bx mov al,bai1;百位数字al xlat ;百位数字对应的数码管段码al mov dx,0f000h out dx,al;写入段码 mov al,11000000b mov dx,0f002h out dx,al;写入位码 showshi1:mov bx,offset shuju;显示工件数十位 mov al,shi1 xlat mov dx,0f000h out dx,al mov al,10100000b mov dx,0f002h out dx,al showge1:mov bx,offset shuju;显示工件数各位 mov al,ge1 xlat mov dx,0f000h out dx,al mov al,10000000b mov dx,0f002h out dx,al showbai2:mov bx,offset shuju;显示误工数百位 mov al,bai2 xlat mov dx,0f000h out dx,al mov al,01000000b mov dx,0f002h out dx,al showshi2:mov bx,offset shuju;显示误工数十位 mov al,shi2 xlat mov dx,0f000h out dx,al mov al,00100000b mov dx,0f002h out dx,al showge2:mov bx,offset shuju;显示误工数个位 mov al,ge2 xlat mov dx,0f000h out dx,al mov al,00000000 mov dx,0f002h out dx,al pop dx pop ax pop bx ret ledshow endp delay8s proc;8s延时子程序 push ax push dx mov al,08h mov dx,0e000h out dx,al;写入计数值低字节 mov al,3dh mov dx,0e000h out dx,al;写入计数值高字节 pop dx pop ax ret delay8s endp delay13s proc;13s延时子程序 push ax push dx mov al,2dh mov dx,0e000h out dx,al mov al,63h mov dx,0e000h out dx,al pop dx pop ax ret delay13s endp end start 8、 感言 经过一段时间的忙碌和纠结以后终于把项目如期完成了。从一开始的满脑的茫然到后来的一知半解再到后来能自己独立完成这次项目,学到了许多。不单单是汇编语言的编程知识、硬件的连线知识,更重要的是一种学习的态度和方法。面对从未接触过的领域,大部分人肯定会十分茫然,但我们若是畏步不前,那我们就会毫无进步,唯有硬着头皮向上冲,方能学到自己该学到的东西。

    注意事项

    本文(某生产线的计算机控制技术的实现系统设计.doc)为本站会员(李主任)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开