




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课课 程程 设设 计计 报报 告告 课程设计名称:微机系统综合课程设计微机系统综合课程设计 课程设计题目:模拟饮料装配线模拟饮料装配线 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 课程设计报告 -I- 目目 录录 第第 1 章章 总体设计方案总体设计方案.1 1.1 设计需求1 1.2 设计原理1 1.2.1 提出方案1 1.2.2 方案论证2 1.3 设计环境.3 第第 2 章章 详细设计方案详细设计方案.4 2.1 硬件设计4 2.2 软件设计4 2.2.1 饮料装配线主程序.5 2.2.2 软件延时程序.6 2.2.3 满瓶数量改变程序.7 2.2.3 空瓶数量改变程序7 2.2.4 装配过程显示程序.8 第第 3 章章 结果测试及分析结果测试及分析.9 3.1 结果测试 .9 3.2 结果分析 .10 参考文献参考文献.11 附附 录(程序清单)录(程序清单).12 第 1 章 总体设计方案 -1- 第 1 章 总体设计方案 1.1 设计需求设计需求 根据流水线作业原理,模拟饮料装配过程。具体内容如下: 1. 涉及饮料容积的显示方式,有 500ml,1L,用键盘设置装配的容量和数 量,并设计如何用数码管表示空状态和满状态; 2. 在数码管上用循环(从左到右或相反方向均可)表示流水作业,每次装 满一个,使其右侧的圆点变量来标示,同时累计装配数量加 1; 3. 用十进制显示装配总数,要完整演示整个过程。 1.2 设计原理设计原理 应用可编程键盘/显示接口芯片 8279 与可编程并行接口芯片 8255A。通过使 用 8279,在数码管上显示预设置的容量,在键盘上输入要求的饮料瓶数量,当点 击完后,程序开始运行。1L 的和 500ml 的容量瓶可以输入不同的装瓶数量。在装 瓶的过程中,数码管显示位开始从 1 加到 8,同步进行的是通过使用 8255A 的 8 个发光二极管依次变亮,当装满后,发光二极管全亮,数码管右侧的圆点变亮, 相应调用延时程序。 容量分别为 1L 和 500ml 的饮料瓶顺序进行装瓶,首先进行是 1L 的,全部装 完后,在从键盘上输入 500ml 的装瓶数量,最后显示的是空瓶和满瓶的数量。 再将数码管及发光二极管初始化,循环进行装配工作,最终达到工作需求。 1.2.1 提出方案提出方案 可编程键盘/显示接口芯片 8279 控制数码管的亮灭,数码管的低四位用于表 示容量为 1L 的装配过程,低四位中的最高位数码管代表容量,标示为 1;第二位 代表容量 1L 的空瓶数量,初始化标示为 5 瓶;第三位代表满瓶的数量,初始化 为 0 瓶,需要操作者在键盘上输入要求输入的装瓶数量,此时还没开始进行装配。 最低位代表的是每一瓶饮料的装瓶过程,首先初始化为灭,当开始装配时, 第 1 章 总体设计方案 -2- 数码管从 1 开始依次变化到 8。通过使用可编程并行接口芯片 8255A 的 PC 口输 出,接到发光二极管上。在每次变化的过程中,都需要发光二极管依次置亮。当 装满一瓶时,进行提示装满,效果是发光二极管都置亮,数码管演示装瓶过程位 的右侧圆点亮,证明装满一瓶; 在装完一瓶后,要将发光二极管都置灭,同时数码管装瓶过程位右侧的圆 点置灭,这是为下一瓶饮料的装配做准备。 每次装完一瓶,满瓶数量要进行加 1 操作,空瓶数量要减 1 操作,同时检 查是否装完,没装完则继续进行装配过程,装完则停止。 1.2.2 方案论证方案论证 程序并结合芯片进行论证。 程序开始部分,首先是对芯片的初始化,输入命令控制字。简单介绍可编 程键盘/显示接口芯片 8279;8279 是可编程键盘/显示接口芯片。它的功能主要包 括键盘输入和显示控制。它的功能主要包括键盘输入和显示控制部分,其中键盘 部分提供扫描功能。显示部分则是提供扫描方式的显示接口,可与八段数码管连 接构成。 初始化代码:其中 Z8279 是控制端口 MOV DX,Z8279 MOV AL,00 ;左边输入,八位显示外部译码八位显示 OUT DX,AL MOV AL,38H ;扫描频率 OUT DX,AL 这里简单介绍可编程并行接口芯片 8255A:8255A 是可编程并行输入输出 接口芯片,具有三个 8 位并行端口,用于输出给定信号。 初始化命令字: MOV DX,Z8255 MOV AL,80H OUT DX,AL ;初始化 8255 其中 Z8255 是控制端口,80H 是命令字,PA、PB、PC 口都是输出,这里 我们只用 PC 口作为输出,连接 8 个发光二极管。 然后调用数码管的子程序 BEGIN_,初始化容量为 1L 的空瓶数量为 5 瓶, 满瓶数量为 0 瓶(需要键盘动态输入) ,容量标示为 1L。初始化容量为 500ml 的 第 1 章 总体设计方案 -3- 空瓶数量为 5 瓶,满瓶数量为 0 瓶(需要键盘动态输入) ,容量标示为 500ml。用 寄存器 AH 来存储当前的满瓶数量,寄存器 CX 来存储当前的空瓶数量。 在装配过程中,装配显示位数码管从 1 变化到 8,相应的发光二极管从第一 个依次单独亮到第 8 个,但装满一瓶后,发光二极管全亮,数码管装配位右侧的 圆点置亮,证明已经装完一瓶。 此时改变空瓶和满瓶的数量,满瓶数量加 1,调用 ADD_子程序;空瓶数量 减 1,调用 DEC_子程序。判断装配是否完成,如果没有完成,则继续装配,否 则装配结束。 在数码管和发光二极管显示时,都需要调用延时子程序 DELAY。 经过认真仔细论证,证明所提出的方案切实可行。 1.3 设计环境设计环境 硬件环境:AEDK 实验箱 软件环境:LCT88EA 应用软件、Win2000、PC 机 沈阳航空工业学院课程设计报告 第 2 章 详细设计方案 -4- 第 2 章 详细设计方案 2.1 硬件设计硬件设计 本设计中用到的硬件有 AEDK 实验箱, 8279 芯片、8255A 芯片、小键盘、 8 个八段数码管和 8 个发光二极管。 8279 芯片的片选 CS79 连至译码处 210-217H。 8279 芯片的控制端口接到译码处 212H 处,数据端口接到译码处 210H。 8255A 芯片的片选 CS55 连至译码处 200-207H,控制端口接到译码处 203H,因为这里没有用到 PA 口和 PB 口,所以不需要连接。8255A 的 PC 口接到 译码处 202H,用于连接发光二极管。 如图 2.1 所示。 图图 21 模拟饮料装配线连线图模拟饮料装配线连线图 2.2 软件设计软件设计 首先对芯片进行初始化,对 8279 和 8255A 的命令字和端口译码处进行初始 化。然后将 8279 的 FIFO 寄存器置零,判断是否按键,此时键入的是满瓶的数量, 沈阳航空工业学院课程设计报告 第 2 章 详细设计方案 -5- 则程序开始运行。 2.2.1 饮料装配线主程序饮料装配线主程序 主程序首先对 8279 和 8255A 进行初始化。调用数码管初始化子程序 BEGIN_,置空 FIFO 寄存器。循环检测键盘是否有键入,空则等待,表示装配工 作未启动。键入容量为 1L 的装瓶数量,工作开始。开始装瓶,调用装配过程子 程序 LED8255,装满一瓶后,满瓶位加 1,调用子程序 ADD_,空瓶位减 1,调用 子程序 DEC_,然后判断装配工作是否结束,没有则继续装配,否则工作结束。 在装配过程中,数码管和发光二极管要相应的变亮,此时要调用延时子程 序 DELAY,使能更好演示装瓶过程。 当 1L 的装完后,在键入容量为 500ml 的装瓶数量,同上述效果运行程序。 饮料装配线主程序如图 2.2: 。 图图 2.2 饮料装配线主程序流程图饮料装配线主程序流程图 沈阳航空工业学院课程设计报告 第 2 章 详细设计方案 -6- 2.2.2 软件延时程序软件延时程序 用寄存器 CX 来存储用来循环的值(十六进制)0FFFFH,因为在此之前, 在寄存器 CX 中已经送入了用来存储当前饮料瓶的空瓶数量,所以需要对此加以 存储保护,即将寄存器 CX 压入栈中。 执行 DEC CX 语句,然后判断 CX 是否为 0,如果不为 0,则继续减,直 到为 0。因为在运行的过程中发现延时的时间比较短,不方便检查,达不到好的 效果,所以在执行上述的语句后,接着执行几条 NOP 空指令语句,起到了延时 的作用。 完成延时以后,要把栈中存储的当前空瓶数量值释放出来,执行 POP CX 语句。 软件延时程序流程图如图 2.3 所示。 图图 2.3 软件延时程序流程图软件延时程序流程图 沈阳航空工业学院课程设计报告 第 2 章 详细设计方案 -7- 2.2.3 满瓶数量改变程序满瓶数量改变程序 当装完一瓶饮料后,要将当前满瓶的数量加 1。 满瓶数量改变程序流程图如图 2.4 所示。 图图 2.4 满瓶数量改变程序流程图满瓶数量改变程序流程图 2.2.3 空瓶数量改变程序空瓶数量改变程序 当装完一瓶饮料后,要将当前空瓶的数量减 1。 空瓶数量改变程序流程图如图 2.5 所示。 图图 2.5 空瓶数量改变空瓶数量改变程序流程图程序流程图 沈阳航空工业学院课程设计报告 第 2 章 详细设计方案 -8- 2.2.4 装配过程显示程序装配过程显示程序 在装瓶的过程中,数码管从 1 依次显示到 8,相依的发光二极管在数码管 每变化一次后置亮,当变化完后,发光二极管全部置亮,数码管右侧的圆点置亮, 证明已经装完一瓶 显示程序如下: LED8255: ;装瓶过程 MOV DX,D8279 MOV AL,1 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FEH OUT DX,AL 以上只是演示数码管显示 1,发光二极管第一个灯亮。 CALL DELAY 当到 8 时,发光二极管全为亮,程序如下: MOV DX,C8255 MOV AL,00H OUT DX,AL CALL DELAY RET 沈阳航空工业学院课程设计报告 第 3 章 结果测试及分析 -9- 第 3 章 结果测试及分析 3.1 结果测试结果测试 程序编译连接完成之后,对课程设计要求的各项内容进行测试,按饮料瓶 装配线连线图连接好电路以后,把程序下载到机器中运行。 测试过程如下: 操作显示装瓶过程备注 数码管初始化 标示容量和满瓶数量 按键输入数码管显示输入的值此值标示要求装瓶数量 数码管显示“1” ,发光二 极管第二个灯亮 数码管显示“2” ,发光二 极管第三个灯亮 数码管显示“3” ,发光二 极管第四个灯亮 数码管显示“4” ,发光二 极管第五个灯亮 数码管显示“5” ,发光二 极管第六个灯亮 数码管显示“6” ,发光二 极管第七个灯亮 数码管显示“7” ,发光二 极管第八个灯亮 数码管显示“8” ,发光二 极管第八个灯亮 发光二极管 8 个灯全亮 数码管右侧圆点置亮此时装完一瓶 沈阳航空工业学院课程设计报告 第 3 章 结果测试及分析 -10- 数码管满瓶位显示加 1满瓶数量加 1 数码管空瓶位显示减 1空瓶数量减 1 发光二极管全都置灭 数码管当前亮的圆点置灭进行下一瓶的装配 3.2 结果分析结果分析 按照课程设计的要求,装配线的各项功能基本得以实现。本设计中软件设计 起到了主导作用,逻辑的清晰与否决定了设计的成败。硬件设计部分,8279A 可 编程键盘/显示器接口芯片尤为重要。 沈阳航空工业学院课程设计报告 参考文献 -11- 参考文献 1 龚尚福.微机原理与接口技术M. 西安:西安电子科技大学出版社,2003 2 王忠民.微型计算机原理M. 西安:西安电子科技大学出版社,2003 3 沈美明,温冬婵. IBM-PC 汇编语言程序设计M. 北京:清华大学出版社,2001 4 郑初华.汇编语言、微机原理及接口技术M.北京:电子工业出版社,2006 5 陆鑫.微机原理及接口技术M.北京:机械工业出版社,2005 6 王晓军等. 微机原理与接口技术M.北京:北京邮电大学出版社,2001 附 录(程序清单) Z8279 EQU 212H ;8279 控制端口 D8279 EQU 210H ;8279 数据端口 Z8255 EQU 203H ;8255 控制端口 C8255 EQU 202H ;8255 C 数据端口 CODE SEGMENT ASSUME CS:CODE,DS:CODE START: MOV AX,CS MOV DS,AX MOV DX,Z8279 MOV AL,00h ;左边输入,八位显示外部译码八位显示 OUT DX,AL MOV AL,38H ;扫描频率 OUT DX,AL MOV DX,Z8255 MOV AL,80H OUT DX,AL ;初始化 8255 CALL BEGIN_ ;调用初始化子程序 ;以上为初始化 550,150 NOP MOV DX,Z8279 ;置空 FIFO 寄存器 MOV AL,0C2H OUT DX,AL WAIIT: NOP MOV AX,0 IN AL,DX MOV BL,AL AND AL,80H CMP AL,80H JE WAIIT ;FIFO 正在清除期间则跳转等待 MOV AL,BL AND AL,0FH CMP AL,00H JE WAIIT ;无键按下则等待 MOV DX,Z8279 MOV AL,82H ;置 读 FIFO RAM 命令字 OUT DX,AL MOV DX,D8279 ;读入 FIFO RAM 内容 IN AL,DX MOV CL,AL CMP CL,0 JZ T1 LEA BX,LED XLAT OUT DX,AL MOV AH,0 MOV DX,Z8279 MOV AL,0C2H OUT DX,AL T2: NOP MOV DX,Z8279 MOV AL,80H OUT DX,AL CALL LED8255 ;调入发光二极管显示过程 MOV DX,D8279 MOV AL,80H OUT DX,AL ;将圆点变亮 CALL DELAY MOV DX,C8255 MOV AL,0FFH OUT DX,AL ;发光二极管重新置灭 MOV DX,D8279 MOV AL,00H OUT DX,AL ;圆点灭 MOV DX,Z8279 MOV AL,81H OUT DX,AL CALL ADD_ ;调用子程序,改变满瓶位 MOV DX,Z8279 MOV AL,82H OUT DX,AL CALL DEC_ ;调用子程序,改变空瓶位 CALL DELAY MOV AL,CL CMP AL,0 ;判断是否装完 JNZ T2 T1: NOP MOV DX,Z8279 ;置空 FIFO 寄存器 MOV AL,0C2H OUT DX,AL WAIITT: NOP MOV AX,0 IN AL,DX MOV BL,AL AND AL,80H CMP AL,80H JE WAIITT ;FIFO 正在清除期间则跳转等待 MOV AL,BL AND AL,0FH CMP AL,00H JE WAIITT ;无键按下则等待 MOV DX,Z8279 MOV AL,86H ;置 读 FIFO RAM 命令字 OUT DX,AL MOV DX,D8279 ;读入 FIFO RAM 内容 IN AL,DX MOV CL,AL CMP CL,0 JZ T4 LEA BX,LED XLAT OUT DX,AL MOV AH,0 MOV DX,Z8279 MOV AL,0C2H OUT DX,AL T3: NOP MOV DX,Z8279 MOV AL,84H OUT DX,AL CALL LED8255 MOV DX,D8279 MOV AL,80H OUT DX,AL ;圆点亮 CALL DELAY MOV DX,C8255 MOV AL,0FFH OUT DX,AL ;重新将发光二极管置灭 MOV DX,D8279 MOV AL,00H OUT DX,AL ;圆点灭,等待下一瓶的装入 MOV DX,Z8279 MOV AL,85H OUT DX,AL ;写入控制位,满瓶加 1 CALL ADD_ MOV DX,Z8279 ;写入控制位,空瓶减 1 MOV AL,86H OUT DX,AL CALL DEC_ CALL DELAY MOV AL,CL CMP AL,0 ;判断是否装完 JNZ T3 T4: CALL DELAY MOV DX,Z8279 MOV AL,81H OUT DX,AL MOV DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,Z8279 MOV AL,82H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,Z8279 MOV AL,85H OUT DX,AL MOV DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,Z8279 MOV AL,86H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,Z8279 MOV AL,0C2H OUT DX,AL JMP WAIIT HLT BEGIN_: MOV DX,D8279 MOV AL,00H OUT DX,AL ;显示 1L 装瓶位,初始化为灭 MOV DX,D8279 MOV AL,3FH OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL MOV DX,D8279 MOV AL,06H OUT DX,AL MOV DX,D8279 MOV AL,00H OUT DX,AL ;显示 500ml 装瓶位,初始化为灭 MOV DX,D8279 MOV AL,3FH OUT DX,AL ;500ml 满瓶位,初始化为 0 个 MOV DX,D8279 MOV AL,00H OUT DX,AL ;500ml 空瓶数量位,初始化为 5 个 MOV DX,D8279 MOV AL,6DH OUT DX,AL ;容量标示 500ml RET ADD_: ;满瓶加 1 子程序 INC AH MOV AL,AH LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL RET DEC_: ;空瓶减 1 子程序 DEC CL MOV AL,CL LEA BX,LED XLAT MOV DX,D8279 OUT DX,AL RET LED8255: ;装瓶过程 MOV DX,D8279 MOV AL,1 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FEH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,2 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FDH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,3 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0FBH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,4 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0F7H OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,5 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255 MOV AL,0EFH OUT DX,AL CALL DELAY MOV DX,D8279 MOV AL,6 LEA BX,LED XLAT OUT DX,AL MOV DX,C8255
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 屯昌医疗面试题目及答案
- 天河美术面试题目及答案
- 税务专项面试题目及答案
- 六年级合肥数学试卷
- 隧道贯通后检修方案
- 2025年小学数学全册试题及答案
- 2025年小学教编笔试题目及答案
- 2025年小学拼音试题及答案
- 2025年小学情境考试题及答案
- 2025高一生物期末考试题及答案
- 普惠金融业务讲座
- 水电站安全生产应急预案
- 2025年采购人员考试题库及答案
- JJG 693-2011可燃气体检测报警器
- 消防水池监理规划样本
- 搅拌车、混凝土搅拌车、水泥搅拌车安全操作规程
- 聚谷氨酸项目建议书范文
- 模块化低压配电柜MODAN6000样本_图文
- 钣金件品质控制计划
- 某办公楼室内外装修改造工程施工进度计划横道图
- 六年级上册英语素材重点单词及句型整理 join in剑桥英语
评论
0/150
提交评论