模拟饮料装配线.doc

上传人:文****钱 文档编号:42779 上传时间:2018-05-09 格式:DOC 页数:29 大小:762.75KB
下载 相关 举报
模拟饮料装配线.doc_第1页
第1页 / 共29页
模拟饮料装配线.doc_第2页
第2页 / 共29页
模拟饮料装配线.doc_第3页
第3页 / 共29页
模拟饮料装配线.doc_第4页
第4页 / 共29页
模拟饮料装配线.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、沈阳航空航天大学课程设计报告课程设计名称单片机系统综合课程设计课程设计题目模拟饮料装配线院(系)计算机学院专业计算机科学与技术班级24010101学号2012040101022姓名指导教师、沈阳航空航天大学课程设计报告I学术诚信声明本人声明所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“

2、不及格”和“重修或重做”的评分结论并承担相关一切后果。本人签名日期2015年07月10日沈阳航空航天大学课程设计报告II沈阳航空航天大学课程设计任务书课程名称单片机系统综合课程设计专业计算机科学与技术学生姓名班级24010101学号2012040101022题目名称模拟饮料装配线起止日期2015年6月29日起至2015年7月10日止课设内容和要求根据流水线作业的原理,模拟饮料装配过程。具体内容如下1设计饮料容积的显示方式,有500ML、1升,用键盘设置装配的容量和数量,并设计如何用数码管表示空状态和满状态;2在数码管上用循环(从左到右或相反方向均可)表示流水作业,每装满一个,使其右侧的圆点变亮

3、来标示,同时累计装配数加1;3用十进制数显示装配总数,要完整演示整个过程。二、课程设计要求1独立完成课程设计任务;2通过老师当场验收;3交出完整的课程设计报告。参考资料1张毅刚,刘杰MCS51单片机原理及应用M哈尔滨哈尔滨工业大学出版社,20082高锋单片微型计算机原理与接口技术M北京科学出版社,20073胡汉才单片机原理及其接口技术M北京清华大学出版社,2004教研室审核意见同意立题不同意立题教研室主任签字指导教师(签名)年月日学生签名2015年6月29日沈阳航空航天大学课程设计报告III课程设计总结在自己的不懈努力和老师的细心帮助下,本人终于成功的完成了这次课设,谢谢老师的指导。我在开始拿

4、到本次课题时,一时不知从哪里下手。自己虽然学了一个学期的单片机,但是多是一些基础简单的课题,所以面对这次课设,开始的确是有一些迷茫的。由于本人对汇编语言还算了解,初步决定利用汇编语言进行本次课设的编辑,但是对于自己的能力和是否能成功完成都有很大的疑问。经过查阅资料,初步建立的设计计划,并从多方面去思考问题,把难题分块,一步一步向目标努力,终于成功完成任务。本次课设又是对自己的一次考验,从最初的迷茫到最后的成功完成,我体会到努力的重要,也提高了自己的动手能力,学会学以致用。感觉这次课设对自己的帮助很大,自己深刻感觉到只要在实践中才能真正的锻炼自己的能力。沈阳航空航天大学课程设计报告IV目录第1章

5、总体设计方案111设计需求1111初步问题描述错误未定义书签。112具体需求描述错误未定义书签。12设计原理1121键盘扫描模块错误未定义书签。122数据显示模块错误未定义书签。123主函数处理模块313设计环境3第2章详细设计方案421硬件设计422软件设计6221键盘扫描输入程序6222数码管显示程序7223数据装配处理程序8第3章结果测试及分析1031结果测试1032结果分析10参考文献12附录(程序清单)错误未定义书签。沈阳航空航天大学课程设计报告1第1章总体设计方案11设计需求111初步问题描述根据流水线作业原理,模拟饮料装配过程。具体内容如下1涉及饮料容积的显示方式,有500ML,

6、1L,用键盘设置装配的容量和数量,告并设计如何用数码管表示空状态和满状态;2在数码管上用循环(从左到右或相反方向均可)表示流水作业,每次装满诉一个,使其右侧的圆点变量来标示,同时累计装配数量加1;你3用十进制显示装配总数,要完整演示整个过程。112具体需求描述1需要使用键盘输入进行装配的数量和模式的选择,在键盘上设置输入的0别到9的数据量和其他功能按键;2通过数码管显示当前的装配数量,输入总数后开始工作,进行定时计数,抄在数码管上显示剩余数量和当前完成数量,还有当前的饮料瓶的状态;3当装配饮料满时,数码管显示改变,右侧原点变量,并且装配数加1;4数码显示用十进制,可以在输入装配量和模式后,按开

7、始键进行饮料的装袭配过程。12设计原理通过伟福LAB8000集成的键盘和数码管进行数据的输入和显示,通过键盘输入当前设置的装配数量和其他功能按键如开始等,并通过数码管进行数据的显示,并通过设计的主函数进行数据的处理,完成数据输入和模式选择以及模拟装配和实时显示的功能,具体模块如下121键盘扫描模块通过LAB8000的键盘进行数据的输入,首先判别键盘有无按键闭合,可通过读相应的端口状态进行判断。如果有按键闭合,先进行去除键盘的机械抖动,再沈阳航空航天大学课程设计报告2进行闭合键号的判定,本次课设由于数码管位数有限,可输入数的范围为0099,可一次输入两位数,分别代表十位和个位,再利用键盘扫描算法

8、查找被按下的键盘号,再通过查表查到相应的码值,其中为了防止一次操作被多次执行,加入对键的一次闭合仅做一次处理,采用等待闭合键释放后在操作的处理。1键盘扫描法1判断键盘中有无键按下将全部行线Y0Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是依次将列线置为低电平,其它线为高电平。在确定某根列线位置为低电平后,再逐行检测各行线的电平状态。若某行为低,则该行线与置为低电平的列线交叉处的按键就是闭合

9、的按键。122数据显示模块利用LAB8000上的6个数码管进行要求的数据输出,数据显示模块是显示先前放入到单片机固定存储单元的数据,本次课设将相应的数据放入到了30H到32H的内存单元中。数据显示模块利用的是LED动态显示方式,分别对码选地址8002H和数据输入端8004H进行数据输入,选择相应的数码管和输入数据,数码管分别显示当前未完成数、当前已完成数、饮料瓶的空满状态以及表示装满的右侧圆点。1LED动态显示方式动态显示是指每隔一段时间循环点亮每个LED数码管,每次只有一个LED被点亮。根据人眼的视觉暂留效应,当循环点亮的速度很快的时候,可以认为各个LED是稳定显示的。程序中采用扫描显示的方

10、式,即在同一时刻,只使用一个LED显示数据。通过为共阴极LED(或共阳极LED)的公共引脚赋低电平(或高电平),从而选择某个LED显示。如此循环,使每个LED显示该LED应显示的数据,并进行适当的延时,形成视觉暂留效果。这样便可以达到动态显示的目的。123主函数处理模块沈阳航空航天大学课程设计报告3主函数中是在键盘输入数据并且按开始键后的相应操作,包括要求中的模拟流水线设置,本课设利用8个LED灯来模拟流水线。首先初始化为灭,小灯从左向右亮起,每亮一个代表当前完成一个饮料瓶的装配,同时数码管的右侧圆点亮计数加1。主函数利用中断方式1进行中断计数,在主函数中为了表示能延长显示装满的标志,要多加两

11、个周期的时间显示。在中断等待时,循环调用显示函数,以达到时刻显示的目的。同时加入了蜂鸣器,当装配完成时蜂鸣器响起。13设计环境硬件环境伟福LAB8000、PC机软件环境KEILUVISION3应用软件、WINXP沈阳航空航天大学课程设计报告4第2章详细设计方案21硬件设计本设计中用到的硬件有LAB8000实验箱包括小键盘、6个八段数码管和8个发光二极管等硬件。图21实验箱线连接图沈阳航空航天大学课程设计报告5图22键盘和显示原理电路如图21所示将P1口接在8个发光二极管,用来模拟流水线,当完成一次装配右侧LED灯亮起。以CS0为地址线连接在KEY/LCDCS上,作为端口的地址线。沈阳航空航天大

12、学课程设计报告6将P30连接到蜂鸣器驱动端,当完成所有装配时,蜂鸣器响起。图22是实验键盘和显示的原理电路图,地址以CS0为地址端,通过此电路可以输入变量和输出显示码值。22软件设计软件设计主要是软件编辑和软件功能实现。软件主要分为三个模块,键盘扫描输入程序、数码管显示程序、数据装配处理程序,完成数据输入和模式选择,数据的实时显示和模拟装配的功能。221键盘扫描输入程序如图23所示,首先程序判断是否按键被按下,此过程通过键盘判断模块程序进行判断。程序将行码置零,当有按键被按下,列码中将由0变成1并跳入确认键值程序中,当无按键被按下程序将处于等待状态。如图24所示,如果按键被按下则进入确定键值程

13、序,此程序通过键盘扫描算法和查表确定相应的码值,并将相应的值存储于固定内存空间中,为后续的显示程序做准备。图23判断是否有按键的判断模块开始行线码置零获取列线码列码是否为0等待下一次是否进行键值确定结束沈阳航空航天大学课程设计报告7图24确定键值的模块实验中可设置的输入量为一个范围为099的十进制数,将其作为装配的初始量,程序中预设了按键A和按键B分别代表装配1L和500ML的选择模式,在输入完相应的量后,按F键后,程序开始模拟装配。222数码管显示程序实验要求输出为十进制的数,所以先将数据进行码值的进制转换,再通过查表找到显示数码管的对应七段显示码。通过LED的动态显示法,首先选择最左侧开始

14、输入列线码输出行线码判断行码中是否有为0列码左移N行首键号列号查表确定相应的值是否是否查询所有行列结束是否沈阳航空航天大学课程设计报告8数码管并输入相应的数值,并调用延时程序,延时程序是作用为了显示我们所要显示的码值。然后右移选管码值,显示其右侧数码管。如此显示,直到每个数码管都输出完成,再进行下一次输出显示,具体操作如图25所示。图25数码管显示模块223数据装配处理程序装配处理程序主要模拟饮料装配的过程。首先获取先前键盘输入的装配数量和装配模式,然后进入计数程序中,而计数的过程是通过中断设置的。每当完成一次计数装配,装配总数加一,并且LED灯亮起,在装配过程中代表未满的标志开始从内存中取出

15、数据进行进制转换对所查码值对应相应的七段显示码输入选管码和输入值码管是否显示完成右移选码值结束是否数码管显示沈阳航空航天大学课程设计报告9位为0,当装配满时则置1,并且数码管的右侧圆点变亮。LED灯是由左向右逐步亮起,来模拟装配的过程。具体操作如图26所示。图26函数装配模块开始输入的数据和类型开中断计时是否完成中断计时标记空满标志位置0否点亮左侧LED等,当计数满重新计数是是否完成总数否标记空满位置1是结束沈阳航空航天大学课程设计报告10第3章结果测试及分析31结果测试测试过程如下表31所示。31测试表操作显示过程及反应备注数码管初始化数码管显示为000000按键输入十位数码管显示输出的值为

16、十位按键输入个位数码管显示输出的值为个位十位与个位组成一位十进制数按键输入模式可输入A和B两种模式按键F输入数码管显示位装配数、已装配数和当前装配状态当前装配状态数码显示为0代表正在装配,未满当前装配状态数码显示为1装配数减一,已装配数加一右侧圆点点亮,LED点亮代表本次装配完成,已满装配状态数码显示恢复为0右侧圆点熄灭完成一次后继续装配,未满LED继续向左侧变亮,直到LED全亮连续重复前两次变化,直到LED全亮LED全亮点亮第一个LED灯循环模拟流水线循环演示循环前几次的过程蜂鸣器响起表示当前装配完成按照图21所示连接图进行连接。在程序编译连接完成之后,启动程序。输入装配的数量,由于数码管有

17、限,所以输入的数值范围为十进制099,随后在输沈阳航空航天大学课程设计报告11入想要输入的装配模式,本课设预设了两个模式键A和B,分别代表1L和500ML。一切输入量都完成后,按功能键F表示开始,进行模拟装配。装配状态分为1和0,分别代表满和未满,当装配完成一次后小灯左移一位,同时数码管右侧小圆点变亮。32结果分析根据以上结果分析等到以下分析1在输入两位十进制数和选择模式键后,程序可以输入数据到单片机内存地11址中,证明键盘设计成功,可以作为数据输入的输入器使用,初步完成了11键盘输入的目的,并且定义了需要的功能按键,并且加入了去抖动和和键11的一次闭合一次处理,使键盘功能更加完善。2显示模块

18、能清晰的显示输出数据,六个数码管感觉不到光的闪动。通过动11态显示方法显示数据,表明数码显示完成了初步的显示功能。3主函数的功能是模拟装配过程,函数利用中断进行计数,每当完成模拟的11一次装配,剩余装配数减一,当前完成数加一,并且LED灯向左点亮一个。11如果在装配过程中显示管显示值为0,表示当前状态未满,当装满时右侧圆11点变亮,标志显示数码管变为1,实现了空和满的显示。4综上所述,程序基本完成了数据的输入、数据显示和模拟装配的过程。沈阳航空航天大学课程设计报告12参考文献1张毅刚,刘杰MSC51单片机原理与应用M哈尔滨哈尔滨工业大学出版社,20082高峰单片微型计算机原理与接口技术M北京科

19、学出版社,20073胡汉才单片机原理及其接口技术M北京清华大学出版社,20044郭天祥新概念51单片机C语言教程M北京电子工业出版社,20095张迎新单片机初级教程单片机基础M北京航空航天出版社,20066江世明,黄同成单片机原理及应用M中国铁道出版社,2010沈阳航空航天大学课程设计报告13附录(关键部分程序清单)MXEQU30H放入装配总数FIEQU31H当前已完成总数XSEQU32H代表满和空DZEQU33HZQ1EQU40HZQ2EQU41H设置中断时间XZEQU42H中断次数YCEQU43HORG0000H程序开始AJMPSTARTORG001BH定时器1中断入口AJMPLOOPOR

20、G0400HAJMPMAINORG0500STARTMOVXS,00HMOVFI,00HMOVR6,02HKEYIACALLKS1判断是否有按键被按下NZLK1NIACALLLOOP2调用显示沈阳航空航天大学课程设计报告14NOPNOPNOPNOPAJMPKEYINOPNOPLK1ACALLLOOP2调用显示NOP去抖动NOPNOPACALLLOOP2ACALLKS1JNZLK2ACALLLOOP0AJMPKEYILK2MOVR2,0FBH列选码MOVR4,00H初始化列值LK4MOV34H,R2MOVDPTR,8002H列选线地址MOVA,R2MOVXDPTR,AMOVDPTR,8001H行

21、选线地址MOVXA,DPTR沈阳航空航天大学课程设计报告15JBACC0,LONE判断第一行是否为零MOVA,00HLJMPLKPLONEJBACC1,LTWO判断第二行是否为零MOVA,04HLJMPLKPLTWOJBACC2,LTHR判断第三行是否为零MOVA,08HLJMPLKPLTHRJBACC3,NEXT判断第四行是否为零MOVA,0CHLKPADDA,R4计算闭合键号的数值MOVDZ,ALK3判断是否有按键被按下ACALLLOOP2ACALLKS1JNZLK3NEXT当扫描到的列没有闭合键则向下查询INCR4MOVR2,34H沈阳航空航天大学课程设计报告16MOVA,R2JNBAC

22、C5,LK6判断是否到最大扫描位NOPNOPNOPRLA进行右移MOVR2,AMOVA,34HLJMPLK4LK6MOVA,DZMOVDPTR,TAB0MOVCA,ADPTRLK7通过计算的结果查询CJNEA,0BH,LK5当前输入值为B,设定为1LMOVXZ,40HLJMPKEYILK5CJNEA,0AH,LK8当前输入值为A,设定为500MLMOVXZ,20HLJMPKEYILK8CJNEA,0FH,LK9当前输入值为F,开始装配AJMPMAINLK9DJNZR6,KK沈阳航空航天大学课程设计报告17NOPNOPNOPMOVR7,MXADDA,R7MOVMX,ALJMPSTARTKK输入当

23、前的十位和个位MOVB,10MULABMOVMX,ALJMPKEYIKS1MOVDPTR,8001H判断是否有按键被按下MOVA,00HMOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAANLA,0FHRETLOOP2显示MOVDPTR,TAB赋值查表地址MOVR0,50HMOVR1,30HMOVR3,03H沈阳航空航天大学课程设计报告18LOOP11进制转换,并查取相应的七段显示码MOVA,R1MOVB,0AHDIVABMOVCA,ADPTRMOVR0,A将相应的值放入内存空间INCR0MOVA,BMOVCA,ADPTRMOVR0,AINCR0INCR1DJNZR3

24、,LOOP11SET11MOVR3,06HMOVR0,50HMOVR2,20HMOVDPTR,8002HMOVA,R2MOVXDPTR,ARRAMOVR2,ADISPLAY1取出数据并输入到数码管中MOVDPTR,8004HMOVA,R0MOVR1,32HCJNER1,01H,LL1沈阳航空航天大学课程设计报告19ORLA,80HLL1数码显示MOVXDPTR,AINCR0ACALLYS0MOVDPTR,8002HMOVA,R2MOVXDPTR,ARRAMOVR2,ADJNZR3,DISPLAY1RETYS01延迟程序MOVR1,64HYS11NOPNOPNOPDJNZR1,YS11RETTA

25、BDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHTAB0DB0DH,0EH,0FH,00H,0CH,3,2,1,0BH,6,5,4,0AH,9,8,7MAIN沈阳航空航天大学课程设计报告20MOVZQ1,00HMOVZQ2,00HMOVP1,00HMOVFI,00HMOVXS,00HMOVYC,00HMOVTH1,ZQ1MOVTL1,ZQ2MOVR7,XZMOVTMOD,10H设置中断SETBET1SETBTR1SETBEASETBPT1SJMPLOOP0中断等待LOOPDJNZR7,EXIT中断重设值MOVYC,00HMOVTH1,ZQ1MOVTL1,ZQ

26、2MOVR7,XZINCFI每完成一次,完成数加一MOVA,P1对LED灯赋初值CJNEA,00H,OL0MOVP1,01HLJMPTPOL0对LED灯显示进行操作CJNEA,0FFH,OL1沈阳航空航天大学课程设计报告21MOVP1,01HLJMPTPOL1右移小灯并加1实现模拟RLAINCAMOVP1,ALJMPTPTPDJNZMX,LPLJMPSDLP延长1的显示时间MOVXS,01HRETIEXITINCYCMOVA,YCCJNEA,01H,M1RETIM1CJNEA,02H,M2RETIM2当完成装配置1MOVXS,00HRETISDSJMPLOOP0调用显示程序LOOP0显示模块2

27、MOVDPTR,TAB赋值表头沈阳航空航天大学课程设计报告22MOVR0,50HMOVR1,30HMOVR3,03HCJNER1,00H,LOOP1当装配全部完成蜂鸣器响起CPLP30ACALLYS0CPLP30LOOP1进行进制转换MOVA,R1MOVB,0AHDIVABMOVCA,ADPTRMOVR0,AINCR0MOVA,BMOVCA,ADPTRMOVR0,AINCR0INCR1DJNZR3,LOOP1SET1MOVR3,06HMOVR0,50HMOVR2,20HMOVDPTR,8002HMOVA,R2MOVXDPTR,ARRA沈阳航空航天大学课程设计报告23MOVR2,ADISPLAY数据在数码管上的显示MOVDPTR,8004HMOVA,R0MOVR1,32HCJNER1,01H,LLORLA,80HLLMOVXDPTR,AINCR0ACALLYS0MOVDPTR,8002HMOVA,R2MOVXDPTR,ARRAMOVR2,ADJNZR3,DISPLAYSJMPLOOP0YS0调用延时程序MOVR1,64HYS1NOPNOPNOPDJNZR1,YS1RETEND沈阳航空航天大学课程设计报告24

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。