微机原理课程设计2流水线监控系统设计.doc_第1页
微机原理课程设计2流水线监控系统设计.doc_第2页
微机原理课程设计2流水线监控系统设计.doc_第3页
微机原理课程设计2流水线监控系统设计.doc_第4页
微机原理课程设计2流水线监控系统设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理 课程设计报告题 目: 生产流水线监控系统设计 学生姓名: 郭志敏 学 号: 06120105 专业班级: 计算机科学与技术 同组姓名: 郭尧尧、何伟 指导教师: 范轶彦 设计时间: 2010.1.4-2010.1.10 指导老师意见:评定成绩: 签名: 日期: 摘要当代计算机是微电子学与计算数学相结合的产物。微电子学的基本元件及其集成电路构成了他的硬件基础;而计算数学的计算方法与数据结构则构成计算机 的软件基础。自从1945年底世界上第一台电子数字计算机ENIAC诞生以来,计算机技术取得了异常迅猛的发展。由电子管、晶体管、集成电路以至第四代的超大规模集成电路计算机,都与微电子技术的进步密切相关,且以所采 用的逻辑元件作为划分每代的标志。计算机正是大规模集成电路孕育的产物。微型计算机被广泛地用于数值计算和工业控制之中。数据采集系统是计算机在工业控制中最为普遍的应用系统。他的任务是采集生产过程中的工况参数并经过 A/ D 转换器送入内存储器 , CPU 将再对这些参数、数据进行分析、运算和处理 , 如数字滤波、量纲变换、仪表误差修正、数字显示、越限报警、打印制表等功能 。若再配上输出 通道就可以方便地组成计算机控制系统。此次设计为一生产流水线监控系统,每当一定数目的产品下线,该系统能发出提示信息;根据需要,系统能给出当天已生产产品的总的数量。利用KK1+开关模拟流水线上通过的产品,每按动一次开关就相当于有一个产品下线;现要求每当有若干个(自定)产品下线,系统给出提示信息,同时发出提示声音。另外,根据需要,管理者可随时察看当天已经生产的产品数量。关键字:流水线 发声 中断本次设计分工如下: 1何伟同学负责需求分析,确定对系统的综合要求,总结设计思想,写出相应的算法。2.郭尧尧同学负责总体设计,设计系统流程图,设计硬件电路图,硬件连图。3.郭志敏同学负责详细设计,根据芯片引脚的功能、流程图和算法编写相应的汇编程序。4.综合了解8255芯片的工作原理和主要功能,结合TDN微机原理实验箱以及自行设计的外围检测电路,制作一个能测量某流水线工件个数,并显示报警的简易检测装置。目录1、需求分析41.1 设计题目41.2 设计要求41.3 设计目的41.4 开发环境42、系统总体框架图52.1系统框图52.2系统流程图63 模块设计与分析73.1主程序模块73.2小键盘模块83.3显示模块93.4定时模块103.5中断处理模块104调试分析115用户说明115.1连线图115.2电子发生器程序流程图126试验结果137总结138参考文献131、需求分析1.1 设计题目生产流水线监控系统设计 1.2 设计要求1、采用模拟计数装置,自行设计外围电路,将光电检测开关的色标信号(代替工件)送给TDN微机原理实验箱中的8253进行计数。2. 设计一生产流水线监控系统,每当一定数目的产品下线,该系统能发出提示信息;根据需要,系统能给出当天已生产产品的总的数量。3. 利用KK1+开关模拟流水线上通过的产品,每按动一次开关就相当于有一个产品下线;现要求每当有若干个(自定)产品下线,系统给出提示信息,同时发出提示声音(使发声器发声,持续时间3秒钟)。另外,根据需要,管理者可随时察看当天已经生产的产品数量。根据需要,需选择的芯片有8254,8259;其他参数可运行check.exe程序查询。1.3 设计目的系统目标设计利用TDN微机原理实验箱以及自行设计的外围检测电路,制作一个能测量某流水线工件个数,并显示报警的简易检测装置。光电开光的引线说明及内部结构图:实验箱中,8255的地址为60H、61H、62H、63H,8253的地址为40H、41H、42H、43H。对用户开放的引脚如图:中断控制采用系统总线上的IR6(中断向量地址:0038H-003BH)实现。1.4 开发环境生产流水线监控系统的开发与运行环境如下:硬件条件:微机,SUPERPRO编程器、GAL、EEPROM芯片,TEC-2000教学机;软件条件:监控程序MONITOR、交叉汇编程序、GAL逻辑的设计开发软件FM软件。2、系统总体框架图2.1系统框图键盘读入的数显示缓冲的值秒脉冲显示模块主控模块中断模块定时模块小键盘模块LED小键盘82558253/82548259A 图2-1系统框图2.2系统流程图总体流程图(图4-1)开始关中断初始化PCI_INTCSR替换INTR中断矢量,打开屏蔽位设置8254工作方式并装入计数初值。设置8255工作方式开中断开中断关中断结束恢复PCI_INTCSTINTR中断矢量和中断屏蔽字有按键按下返回DOS是否图2-2流程图3 模块设计与分析3.1主程序模块主控模块是系的核心模块,对8253/8254、8255进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz) 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。图3-1 8253引脚图3.2小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。本课题只考虑去抖动。执行一个约10ms的延时程序后再扫描键盘,若F0=1表示真正有键按下,从而消除了抖动影响。实现代码如下:KEY ROC NEAR PUSH CXKST: MOV AL,82H MOV DX,P55CTL OUT DX,AL MOV AL,00H MOV DX,PA55 OUT DX,AL MOV DX,PB55 IN AL,DX OR AL,0F8H CMP AL,0FFH JZ DELAY MOV CX,0300HDLY: LOOP DLY MOV CL,08H MOV AH,0FEHSCAN1: MOV DX,PA55 MOV AL,AH OUT DX,AL MOV DX,PB55 IN AL,DX OR AL,0F8H CMP AL,0FFH JNZ KEYN ROL AH,1 DEC CL JNZ SCAN1 JMP KSTKEYN: PUSH AX MOV DX,PB55RELEA: IN AL,DX OR AL,0F8H CMP AL,0FFH JNZ RELEA POP AX NOT AX MOV SI,OFFSET TABLE MOV DI,OFFSET CHAR MOV CX,24TT: CMP AX,SI JZ NN DEC CX JZ KST ADD SI,02 INC DI JMP TTNN: MOV DL,DI MOV CHAR1,DL MOV AH,02H INT 21H POP CX JMP YANGDELAY: CALL DISPLY JMP KSTYANG: RETKEY ENDP3.3显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。实现代码如下:DISPLAY PROC NEAR MOV CX,77FFHLED52: CALL DISUP LOOP LED52DISUP: PUSH CX MOV DI,OFFSET MIN1 MOV CL,01DISUP1: MOV AL,0 MOV DX,PORTBIT OUT DX,AL MOV AL,DI MOV BX,OFFSET LED XLAT MOV DX,PORTSEG OUT DX,AL MOV AL,CL MOV DX,PORTBIT OUT DX,AL MOV BX,35HDELAY1: DEC BX JNZ DELAY1 CMP CL,20H JZ DISUP2 INC DI SHL CL,1 JMP DISUP1DISUP2: POP CX RETDISPLAY ENDP3.4定时模块定时模块是为8259提供中断请求信号的。由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。功能:就是在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。3.5中断处理模块中断原理按动KK1开关,当按下10次时,调用延时子程序产生中断。中断过程示意图如下(图2-1)断点中断请求现行程序CUP响应中断中断服务中断返回图3-2中断过程示意图4调试分析本设计的难度就是在调试过程中遇到跟理论原理不一样的结果,在实际操作的过程中,遇到了很多打挑战,其中在每个芯片的管脚的认识上来看,要严谨慎重每个管脚的功能要严格按照要求。由于动手能力不足,所以在遇到问题都要考虑很久才能从根本上去解决。其中遇到最大的问题是,我盲目地把整个电路连接好之后,发现电路不能正常工作,结果在老师的指导下,发现由于连接的大意,没有把相关的芯片连上电源。后来通过自己以及同组同学的共同努力下终于把问题解决了,并能演示成功。5用户说明5.1连线图本系统采用了一块8254可编程间隔定时器芯片,一快8259A和一块8255芯片。其中利用8254控制程序中的中断控制,从而控制电子发声单元发声。用8254的计数通道1作为计数器,用于产品的计数;计数通道2作为定时器,定时为3S。当计数通道1的OUT脚出现0到1的跳变的时候,将启动计数通道2开始定时,而计数通道2定时阶段将控制计数通道1停止计数,只有其定时结束并停止定时阶段才可再次启动计数通道1开始计数。8255是控制8254中的GATE门开关。连线图如下(图5-1)图5-1 连线图5.2电子发生器程序流程图图5-2 电子发生设计流程图6试验结果按设计的接线图连接好元件以后,在通过CHECK.EXE程序获得本机端口号,然后修改已编写好的final.asm程序,编译运行,得到final.exe,在DOS下运行final.exe,按动KK1开关,产生中断,显示出“01020304050607080910”(该数字代表连续的产品下线)当到达10后,产生3秒蜂鸣声(10个产品下线后的提示)。测试结果如下图(图5-1)6-1 测试结果图7总结本次课程设计前期准备非常充分,从网络和图书馆查找了很多资料。另外,从实验课基础知识入手,认真阅读任务书和电子钟设计要求,制定计划。 第一步,分析课程题目,先把设计要求搞明白,反复考虑后,确定大概的步骤。 第二步,查找资料掌握相应指令具体用法,为后面写程序奠定基础。 第三步,写程序,这是最重要的步骤,也是最难的步骤。根据相关资料,把每一个语句写出来,有一些从网上找到或者将书中程序直接写进去,然后慢慢理解贯通,变成自己的程序。程序写作过程是和同学一起完成的,可以相互学习。 第四步,程序调试,整理修改,完成试验报告。本来以为这是比较简单的步骤。可是,事实证明,这一步也很难,在所有程序完成后,准备写实验报告。我调试的程序出现了错误没有得到理想的实验结果,不得不花时间重新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论