




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
; 不懂的加qq: 997245807 湖北汽车工业学院(5)微机控制的饮料包装流水线某饮料包装流水线,一个包装箱能装12瓶饮料,要求每通过12瓶流水线暂停5秒,等待封箱打包完毕,然后重新启动流水线继续装箱。设计饮料包装流水线的控制电路,要求具有产量统计功能(数量及每箱生产时的时间-年月日小时分),发光二极管显示流水线的状态(运行、故障、打包)。; 不懂的加qq: 997245807 湖北汽车工业学院IOPORT EQU 3400H-280HIO8253 EQU IOPORT+283H ; 计数器控制字IO82530 EQU IOPORT+280H; 计数器0IO82531 EQU IOPORT+281H ; 计数器1IO82532 EQU IOPORT+282H ; 计数器2IO8255 EQU IOPORT+28BH ; 并行控制字IO8255A EQU IOPORT+288H ; A口IO8255B EQU IOPORT+289H ; B口IO8255C EQU IOPORT+28AH ; c口DATAS SEGMENTCaiDan DB*- Cai Dang -*,0DH,0AH DB* *,0DH,0AH DB* 1: Kai Shi *,0DH,0AH DB* *,0DH,0AH DB* 2: Tui Chu *,0DH,0AH DB* *,0DH,0AH DB*- Cheng Yuan -*,0DH,0AH DB* Wang Long *,0DH,0AH DB*-*,0DH,0AH,$DaBao DB Zheng Zai Da Bao, 0DH,0AH,$KaiJi DB Liu Shui Xian Mei You Kai JI ! Qing Kai Ji!, 0DH,0AH,$ChongXingKS DB An 1 ji Xu Sheng Chang, An Reng Yi Jian Tui Chu ! , 0DH,0AH,$QingChu DB Gu Zhang Yi Qing Chu, Ji Xu Sheng Chang! , 0DH,0AH,$GuZhang DB Chu Xian Gu Zhang, 0DH,0AH,$ShengChang1 DB Zheng Zai Sheng Chang, 0DH,0AH,$NYR1 DB Sheng Chang Nian Yue Ri :,$NYR DB 0000 / 00 / 00 ,0DH,0AH,$ SF1 DB Sheng Cheng Shi Fen :,$ SF DB 00 : 00 ,0DH,0AH,$ SL DB Sheng Chang Shu Liang : ,$SL1DB 0BiaoZhiDB 0HuiChe DB 0DH,0AH,$DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV BiaoZhi, 0 MOV DX,OFFSET CaiDan;显示标题及开始菜单CALL ShuChuSR:CALL ShuRuCMP AL,1JNZ PDJMP KSPD: CMP AL,2JZ TuiChuJNZ SRKS: MOV AL, 10000001B ; 8255 控制字 (A口方式0, A口输入, C口高4输出, B口方式0, B口输出, C口低4输出) MOV DX, IO8255 OUT DX, AL MOV DX,IO8255B MOV AL,03H; 0000 0011 pb1和pb0 为高电平 OUT DX,AL MOV DX,IO8255C ;合上,C口置0,退出 IN AL,DX TEST AL,08H ;判断PC3-K0是否为高 JZ TuiChu4CALL ShengChang;调用 生产 子程序数 ; 判断生产是否有故障SCPD:CALL KaiJi4CALL GuZhang4MOV DX,IO8255C IN AL,DX TEST AL,02H ; 判断PC1-OUT2是否为高, 测试是否是否生产一瓶 JZ SCPD; 不为高电平; 箱数加一INC SL1CALL YanShi5S; 调用延时程序 ; 判断打包是否有故障YSPD:CALL KaiJi4CALL GuZhang4;闪烁MOV DX,IO8255AMOV AL,02H ; 0000 0100 PA2输出高电平,为故障状态OUT DX,AL ;A口 CALL DELAY ;调延时子程序MOV DX,IO8255A MOV AL,00HOUT DX,AL CALL DELAY ;调延时子程序 MOV DX,IO8255C IN AL,DX TEST AL,01H ;0000 0001 判断PC0-OUT0是否为高 JZ YSPD ; 调用时间函数MOV AX,0003HINT 10H ; 清屏 CALL NYR4; 调用 生产时间(年月日) 子程序 CALL SF4; 调用 生产时间(时分) 子程序CALL SL4; 调用 生产数量 子程序JMP JiXuYunXing TuiChu4:MOV DX, OFFSET KaiJi CALL ShuChu JiXuYunXing:MOV DX, OFFSET ChongXingKS MOV AH, 09HINT 21HCALL ShuRu; 判断是否继续 CMP AL,1JNZ TuiChuJMP KSTuiChu:MOV AH,4CH INT 21H ; -输出函数-ShuChu PROC MOV AX,0003HINT 10H ; 清屏 MOV AH,09H INT 21HRETShuChuENDP; -输入函数-ShuRuPROC MOV AH,07H INT 21HRETShuRuENDP; -饮料生产-ShengChangPROC; 标志, 以后故障判断灯光MOV BiaoZhi, 0; 按键计数MOV DX,IO8253 ;8253初始化,给8253送控制字,283H控制口 MOV AL,90H ;10O1 0000 2#计数器,工作方式0 OUT DX,AL MOV DX,IO82532 ;给2#计数器覆初值 MOV AL,11 ;共计12次 OUT DX,AL ; 二极管(运行)显示 MOV AL,01H ;0000 0001,8255PA0端口置1,点亮运行灯 MOV DX,IO8255A ;8255A口输出 OUT DX,AL ; 屏幕(生产)显示 MOV DX,OFFSET ShengChang1; 显示 正在生产 提示 CALL ShuChuRETShengChangENDP; -延时 5 s -YanShi5SPROC; 标志, 以后故障判断灯光MOV BiaoZhi, 1; 二极管(打包)显示 MOV AL,02H ;0000 0010 8255PA1端口置1,点亮运行灯 MOV DX,IO8255A ;8255A口输出 OUT DX,ALMOV DX,OFFSET DaBao;屏幕显示正在打包CALL ShuChu; 延时5sMOV DX,IO8253 ;8253送控制字 MOV AL,76H ;0111 0110,8253初始化,1#计数器,方式3 ,延时 OUT DX,AL MOV DX,IO82531 ;1#计数器赋值5000,延时 MOV AX,5000 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,IO8253 ;8253送控制字 MOV AL,30H ;0000 0011,8255初始化,0#计数器,方式0,延时 OUT DX,AL MOV DX,IO82530 ;给0#赋值1000,延时 MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL RETYanShi5SENDP; -生产时间(年月日)-NYR4 PROC;PUSH BX ; 获取系统时间(年月日) MOV AH,2AH;DOS功能调用:读系统日期INT 21H ; 保存年份 MOV AX,CX ;CX存放年份,赋给AXMOV BX,10LEA SI,NYR+4 ;使SI指向 0000 / 00 / 00 的第4位,年份末位MOV CX,4 PUSH DX ;保护月和日Nian: XOR DX,DX ;DX清零DIV BX;AX/10,余数放DXADD DL,30H;转换ASCII码显示字符MOV SI,DL ;将DL中的余数转换为ASCII码后存放在SI所指向的内存中DEC SILOOP Nian;循环4次显示年份 ;保存月日 POP DX ;弹出月和日MOV AL,DL;DL存放日期,赋给ALXOR AH,AH ;AH清零DIV BL;AX/10ADD AX,3030H ;将AH中的余数和AL中的商转换为ASCII码ADD SI,13;使SI指向 0000 / 00 / 00 的第13位,日期首位MOV SI,AX ;将AX中的数值放入SI所指向的内存中MOV AL,DH;DH存放月份,赋给ALXOR AH,AHDIV BL;处理同日期ADD AX,3030H ;使SI指向 0000 / 00 / 00 的第9位,月份首位SUB SI,5MOV SI,AX ; 显示年月日MOV DX,OFFSET NYR1MOV AH,09HINT 21HMOV DX,OFFSET NYR MOV AH,09HINT 21H;POP BX ; 显示时分 MOV DX,OFFSET SF1MOV AH,09HINT 21H RETNYR4 ENDP;-生产时间(时分)-SF4 PROC ; 获取系统时间(时分) ;PUSH BX MOV AH,2CH ;DOS功能调用:读系统时间 INT 21H ; 保存时分 MOV BX,10 LEA DI,SF ;使DI指向 00 : 00 : 00 的第一位,空格位 MOV AL,CH ;CH存放小时,赋给AL XOR AH,AH DIV BL ADD AX,3030H MOV DI+1,AX ;将AX中的数值存放至DI+1所指向的内存,小时位 MOV AL,CL ;CL存放分钟,赋给AL XOR AH,AH DIV BL ADD AX,3030H MOV DI+6,AX ;将AX中的数值存放至DI+6所指向的内存,分钟位 ; 显示时分 MOV DX,OFFSET SF MOV AH,09H INT 21H ;POP BX RETSF4 ENDP;-输出数量-SL4PROC MOV DX, OFFSET SLMOV AH, 09HINT 21H OR SL1,30H ;将结果从高位单元开始把非压缩的BCD码变成ASCII码 MOV DL,SL1 ;将ASCII码送DL以满足2号功能调用的规定要求 MOV AH,2 ;功能号送AHINT 21H ;调用2号功能,显示一位数字MOV DX,OFFSET HuiChe;显示标题及开始菜单MOV AH, 09HINT 21HSL4ENDP;-故障模拟-GuZhang4PROC; 判断有没有模拟故障MOV DX,IO8255C IN AL,DXTEST AL,04H ; 0000 0100 判断PC2-K0是否为高JZ MeiYou ;PC2-0(没有故障)则跳到MeiYou; 暂停计数器 MOV BL,AL ;将AL的内容存在BL中MOV DX,IO8255B ;PB0/PB1输出低电平,定时/计数1、2停止计数MOV AL,00HOUT DX,AL; 显示故障提示MOV AX,0003HINT 10H ; 清屏MOV AH,09HMOV DX,OFFSET GuZhangINT 21H ; 判断是否排除故障 JianCe:;闪烁MOV DX,IO8255AMOV AL,04H ; 0000 0100 PA2输出高电平,为故障状态OUT DX,AL ;A口 CALL DELAY ;调延时子程序 MOV DX,IO8255A MOV AL,00HOUT DX,AL CALL DELAY ;调延时子程序MOV DX,IO8255C;判断PC2,故障是否排除IN AL,DXTEST AL,04HJNZ JianCe; 排除故障恢复生产 MOV AX,0003HINT 10H ; 清屏 MOV AH,09H ;输出故障排除提示MOV DX,OFFSET QingChu INT 21HMOV DX,IO8255B ;PB0/PB1输出高电平,定时/计数1、2恢复计数MOV AL,03HOUT DX,AL; 显示运行的灯光 CMP BiaoZhi,0JNZ DaBaoDengMOV DX,IO8255AMOV AL,01H ;0000 0001 PA2 ,PA0.1输出高电平,恢复到计数状态OUT DX,AL ;A口 ; 屏幕(生产)显示 MOV DX,OFFSET ShengChang1; 显示 正在生产 提示 CALL ShuChuJMP HuanYuanDaBaoDeng:MOV DX,IO8255AMOV AL,02H ;0000 0010 PA2 ,PA0.1输出高电平,恢复到计数状态OUT DX,AL ;A口MOV DX,OFFSET DaBao ; 显示 正在生产 提示 CALL ShuChu HuanYuan:MOV AL,BLMeiYou:RETGuZhang4 ENDP;-开机判断-KaiJi4PROC; 判断有没有开机MOV DX,IO8255C IN AL,DXTEST AL,08H ; 0000 1000 判断PC3是否为高JNZ KaiJiLe ;PC2-0(已经开机)则跳到KaiJiLe ; 暂停计数器 MOV BL,AL ;将AL的内容存在BL中MOV DX,IO8255B ;PB0/PB1输出低电平,定时/计数1、2停止计数MOV AL,00HOUT DX,AL ; 关闭显示灯 MOV DX,IO8255AMOV AL,00H ; 0000 0100 PA0,1输出低电平,PA2输出高电平,为故障状态OUT DX,AL ;A口MOV AX,0003HINT 10H ; 清屏MOV AH,09HMOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025新能源行业安全管理创新技术应用与发展战略报告
- 2025南平市科技馆招聘工作人员备考考试题库附答案解析
- 2025年南京市市级机关公开遴选公务员36人考试参考题库及答案解析
- 2025年乡村文化旅游品牌建设与创新模式研究报告
- 2025年湖南衡阳常宁市市属事业单位急需紧缺专业技术人才引进20人备考考试题库附答案解析
- 2025年河北承德护理职业学院公开选聘专业技术人员补充工作考试参考题库及答案解析
- 2025西安高新第二中学招聘备考考试题库附答案解析
- 2025山西阳泉市盂县招(选)聘社区专职10人(第二批)考试参考题库及答案解析
- 2025年牡丹江医科大学附属红旗医院招聘临时用工人员6人考试参考题库及答案解析
- 感恩的心感谢有你记一次难忘的相遇作文(15篇)
- 2025年初级注册安全工程师考试试卷及答案
- 教学能力比赛现场决赛30道答辩问题要点
- 《篮球教学课件》课件
- 库房供暖合同协议
- 码头项目事故案例
- 防雷安全知识培训课件
- 建设单位与总包单位实名制管理协议
- 危重患者转运及安全管理
- 妇幼信息管理制度
- 初一英语摸底试题及答案
- 梁式转换层悬挂式施工和贝雷梁施工技术
评论
0/150
提交评论