• 5.87 MB
  • 8页

微机原理实验项目报告 项目四----某生产线控制系统设计.doc

  • 8页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'微机原理实验项目报告项目四----某生产线控制系统设计班级:13级机控二班林银福学号:2指导教师:田行斌项目完成时间:2016年5月16日 一、项目的描述及要求:4、某生产线控制系统设计某生产线用于装配某机械产品,总共有5个工位,分别为A、B、C、D、E要求使用微机控制,总计45秒完成一个产品的装配。A、B、C、D各需要8秒,E工位需要13秒。其中E工位是关键控制工位,如果在E工位没有按照要求的时间完成就要将A工位暂停,直到E工位完成后给A一个完成信号重新启动A工位。要求记录完成的工件数和生产线发生故障的次数并显示。二、项目的模拟方案:连线图如下图:8255PA0~7PB0~7PC0PC2PC5PC6PC7误工开关138Y0~Y7数码管位选8253CLK1GATE1OUT1VCC1953Hz脉冲A0A1CSA1A2CS2发光管数码管段选G1VCCGNDG2AG2BGNDABCCSA0A1CS0A0A1定义发光管灯从右往左依次为1号灯、2号灯……8号灯。1号灯为A工位指示信号灯,3号灯为B工位指示信号灯,4号灯为C工位指示信号灯,5号灯为D工位指示信号灯,6号灯为E工位指示信号灯,2号灯为E工位误工的指示信号灯(2号灯和6号灯同时亮表示E工位误工)。由于试验仪自动运行不会出现误工的情况,必须人为的给误工开关跳到低电平发出误工信号,误工信号灯亮后给误工信号灯跳到低电平取消误工。由于C端口低四位用来输入误工信号,只好用138译码器控制数码管的位选端。三、程序流程图如下图所示: 程序初始化开始A工位开始启动运行8秒B工位开始运行8秒C工位开始运行8秒D工位开始运行8秒E工位开始运行13秒判断是否误工是否A工位暂停,发出误工信号,等待E工位完成工作重新启动A工位记录完工次数和误工次数并显示四、控制程序:.modelsmall.stack.dataledtbdb3fh,6h,5bh,4fh,66h,6dh,7dh,7h,7fh,6fh;数码管数字代码num1db0;误工数num2db0;完成数n1db0;误工次数个位n2db0;误工次数十位n3db0;完成次数个位n4db0;完成次数十位.codestart:movax,@datamovds,axmoval,81h;设定8255的工作方式,C口低四位输入movdx,0f003houtdx,almovdx,0f002hmoval,b outdx,almoval,b;发光灯全亮,检查灯是否损坏movdx,0f000houtdx,almoval,b;全灭movdx,0f000houtdx,almoval,b;设定8253的计数器0的工作方式movdx,0e003houtdx,alagain:moval,b;工位A,1号灯亮8秒movdx,0f000houtdx,alcalljishi8;计时8秒again1:movdx,0f002hinal,dxtestal,bjzagain1moval,b;工位B,2号灯亮8秒movdx,0f000houtdx,alcalljishi8;计时8秒again2:movdx,0f002hinal,dxtestal,bjzagain2moval,b;工位C,3号灯亮8秒movdx,0f000houtdx,alcalljishi8;计时8秒again3:movdx,0f002hinal,dxtestal,bjzagain3moval,b;工位D,4号灯亮8秒movdx,0f000houtdx,alcalljishi8;计时8秒again4:movdx,0f002hinal,dxtestal,bjzagain4moval,b;工位E,5号灯亮13秒movdx,0f002houtdx,almoval,2dh;设定计时器0的计时13秒 movdx,0e000houtdx,almoval,63hmovdx,0e000houtdx,alagain5:movdx,0f002hinal,dxtestal,bjzagain5movdx,0f002h;判断是否误工inal,dxtestal,bjnzjixu;没有误工就跳到计数again6:moval,b;发出误工信号7号灯亮movdx,0f000houtdx,almovdx,0f002hinal,dxtestal,bjzagain6moval,b;取消误工信号,灯全灭movdx,0f000houtdx,alincnum1jixu:moval,b;灯全灭,等待计数装置计数movdx,0f000houtdx,alincnum2callshuzhimovcx,06fffh;循环让数码管持续亮again7:callledxianloopagain7jmpagainmovax,4c00hint21hshuzhiproc;计算各个位上的数值pushaxpushdxOK1:xorax,axmoval,num1cmpal,10jaeshi1ge1:movn2,aljmpOK2shi1:movdl,10divdl movn1,almovn2,ahOK2:xorax,axmoval,num2cmpal,10jaeshi2ge2:movn4,aljmpOK3shi2:movdl,10divdlmovn3,almovn4,ahOK3:popdxpopaxretshuzhiendpledxianproc;数码管显示pushaxpushdxmovbx,offsetledtbledxian1:moval,n1;输出误工次数个位数字n1xlatmovdx,0f001houtdx,al;B口控制输出什么数字moval,b;138译码器控制位选:一号管亮movdx,0f002houtdx,almoval,n2;输出误工次数十位数字n2xlatmovdx,0f001houtdx,almovdx,0f002hmoval,b;138译码器控制二号管亮outdx,alledxian2:moval,n3;输出完工次数个位数字n3xlatmovdx,0f001houtdx,almoval,b;138译码器控制五号管亮movdx,0f002houtdx,almoval,n4;输出完工次数十位数字n4xlatmovdx,0f001houtdx,almovdx,0f002h moval,b;138译码器控制六号管亮outdx,alledxian3:popdxpopaxretledxianendpjishi8proc;计时8秒子程序pushaxpushdxjishi:moval,08h;设定计数器1计时movdx,0e000houtdx,almoval,3dhmovdx,0e000houtdx,alpopdxpopaxretjishi8endpendstart五、实验结果图示误工次数完成次数 连线图如下138译码器8253定时计数器并行接口电路8255A六、上机感言通过长达五个星期的上机实验、做项目,让我对微机原理有了更进一步的了解,在实验和项目中我用到了8255、8253和138译码器,我学会了用8253控制计时的程序编制,使用8255控制指示灯按照一定的顺序点亮,使用138译码器控制指示灯。我所做的项目是生产线控制系统设计,以上三个元器件都用到了,我觉得8253计时器是一个难点,在编辑计时8秒和13秒的时候不断尝试才找到了答案,另外让七段数码管显示计数次数又是一个难点。面对诸多的难点和问题,查阅课本,互相讨论,基本上都很好的解决了。这些日子的上机不仅让我了解到了电脑程序的复杂,也对我复习微机原理准备考试起到了恨大帮助!'