




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 33 页目 录1、单片机原理与应用大作业大纲 11.1 大作业目的 11.2 大作业内容及要求 11.3 报告撰写要求 21.4 对学生的基本要求 41.5 考核方式 51.6 成绩评定 52、大作业(论文)任务书62.1 大作业(论文)题目 62.2 本次大作业(论文)应达到的目的 62.3 本次大作业(论文)任务的主要内容和要求 72.4 收集的资料及主要参考文献 72.5 审核批准意见 73、线路图 83.1 原理图83.2 装配图94、程序功能说明104.1 设计方案背景 104.2 使用芯片分析104.3 具体功能简介 114.4 设计方案的缺点 125、程序流程图136、结束语167、致谢178、参考文献189、附录(程序清单)19第 2 页 共 33 页1.单片机原理及应用大作业大纲1.1 大作业目的单片机原理及应用是一门实践性很强的计算机专业基础课程,除了课堂理论学习之外,还必须有强有力的实验环节相配合,否则学习效果就会受到很大影响。所以配合该课程内容,学生已经在“开放式微机教学实验系统” (西安唐都科教仪器公司产品)上做了数码转换编程、运算类编程、分支程序设计、循环程序设计、子程序设计等纯汇编语言编程实验。为了使学生不但掌握单片机原理及接口技术的基本原理、基本分析及设计方法和技术,而且能够较熟练地加以综合运用,特安排本综合实验,以加强对学生接口电路硬件、软件的分析与设计能力的训练,进一步加深对课程内容的理解。通过综合实验的实践,使学生了解单片机工作的原理及应用技术,掌握根据硬件电路设计软件的方法,使学生了解设计过程中的各个基本环节,也为今后的实际应用奠定基础。1.2 大作业内容及要求以四个学生为一组,完成下列主要内容:完成电路板的焊接。选定控制对象及控制方案。编制程序完成控制任务,其中至少包括对点阵、键盘扫描、数码管显示及发光二极管中的两项的应用。实验对象:AT98S51 单片机板。实验要求:完成电路板焊接,软件编制及实验报告。实验步骤:第 3 页 共 33 页1)对照元件清单检查元件的种类和数量。2)装配,检察无误后焊接。3)运行片内驻留程序,保证硬件焊接正确。4)熟悉 51汇编环境。5)设计控制、显示内容。6)编制软件、调试。小组成员必须每人完成一段程序的编制与调试。7)撰写实验报告。8)实际演示。9)开发工具为 Keil,可从网上下载评估版。1.3 报告撰写要求报告一人一份。任务书1大作业(论文)的题目由学生根据大纲自行拟定,但必须报教研室主任审批,同意后方可开始执行。2任务书应包括设计(论文)题目、目的与要求、主要任务、参考资料(参考格式见附件 1) 。对相关资料的查阅及设计成果有明确要求。大作业报告(论文)的要求和撰写规范对大作业的成果一般由设计说明书和图纸(或其他作品)两部分组成,对工科类大作业,一般要至少完成 图纸 1 张,另撰写大作业说明书 1 份(原则上不少于 3000 字) ;对于理、文、管、经等类的大作业或论文,要撰写一篇完整报告或论文(原则上不少于 6000 字) 。大作业说明书(论文)应包括封面、任务书、设计总说明或摘要(约 300 字左右)和关键词(仅对论文,一般为 35 个) 、目录、正文及参考文献(资料)等内容。第 4 页 共 33 页大作业说明书(论文)手写、打印均可,手写要用统一的西安建筑科技大学论文用纸,用蓝墨水或黑墨水工整书写;打印统一用 16K 纸,具体格式参照如下:(1)字体设置要求为:题目:二号黑体居中,题目一行排不下时可排两行,行间距为1.5lines;班级、学生姓名及指导教师姓名等:三号黑体居中,行间距为1.5lines;设计总说明或摘要:“设计总说明或摘要”为四号字体居中,内容为小四号宋体字,首行缩进二个字。 “关键词”为小四号黑体字,其后为关键词(小四号宋体字) ,各关键词之间用逗号分开,最后一个关键词后面无标点符号。目录:“目录”为三号黑体字居中。下空二行为章、节、小节及其开始页码,为小四号宋体。正文:大标题(章) 1 绪论 黑体小三号一级节标题 4.1 实验装置和试验方法 黑体四号 二级节标题 4.2.2 实验装置 黑体小四号正 文 宋体小四号表题与图题 宋体五号参考文献及致谢等: 宋体小四号页眉字号为小四号,页脚字号为五号字。(2)页眉中输入“西安建筑科技大学大作业(论文) ”,居中;页脚中输入“第页 共 页” ,居中。(3)公式公式应居中书写,公式的编号用圆括号括起放在公式右边行末,公式和编号第 5 页 共 33 页之间不加虚线。(4)表格每个表格应有表序和表题,表序和表题应写在表格上方正中,表序后空一格书写表题。(5)插图插图必须精心制作,线条粗细要合适,图面要整洁美观。每幅插图应有图序和图题,图序和图题应放在图位下方居中处。(6)各类参考文献的书写格式如下:连续出版物:序号作者.书名.刊名,年,卷号(期号):起止页码专(译)著:序号作者.书名.(译者).出版地:出版者,出版年.起止页码论文集:序号作者.文章名.文集名.会议地点,年.起止页码学位论文: 序号姓名.学位论文题目:XX 学位论文,授予单位所在地:授予单位,授予年专利:序号申请者.专利名.国名,专利文献种类,专利号,出版日期技术标准:序号发布单位.技术标准代号.技术标准名称.出版地:出版者,出版日期(7) 设计时间为 200 年 月 日至 月 日。(8) 如有雷同(指程序的代码有 80%以上的相同) ,双方均按不及格处理。1.4 对学生的基本要求(1)做实验期间,学生要学习态度端正、勤于思考、刻苦钻研、独立完成,对有抄袭他人实验程序和实验报告行为的弄虚作假者,一律按不及格记成绩,并根据学校有关规定给予学籍处理。(2)所作的大作业(论文)应概念清楚,设计计算正确,结构设计合理,第 6 页 共 33 页实验数据可靠,软件程序运行良好,绘图符合标准,说明书(论文)撰写规范。(3)要敢于创新,勇于实践,注意培养自己的创新意识和工程意识。1.5 考核方式以小组为单位。首先叙述系统功能,然后演示。最后回答教师的提问。1.6 成绩评定最终成绩的评定由四部分组成:一、是任务完成情况(50%) 。二、是综合实验报告(20%) 。三、创新性(10%) 。四、复杂性(10%) 。五、为演示及对教师提问的回答(10%) 。不同组之间实验报告如有雷同,雷同双方均按不及格处理。第 7 页 共 33 页2. 大作业(论文)任务书西安建筑科技大学大作业(论文)任务书专业班级: 计算机0401班 学生姓名: 姚倩倩 指导教师(签名): 2.1、大作业(论文)题目设计题目:贪 吃 蛇设计内容:设计小型游戏贪吃蛇。控制蛇的行走方向寻找食物,吃掉食物后蛇长大,并且加分。游戏分为三个等级,随着等级的增加,食物停留的时间逐渐减少。2.2、本次大作业(论文)应达到的目的大作业的基本教学目的是培养学生综合运用所学的基础理论、专业知识和基本技能,提高分析与解决实际问题的能力以及科技写作或设计能力。要求学生在做大作业的过程中要有意识地培养自己的实际能力。通过本次大作业的实践,了解单片机工作的原理及应用技术,掌握根据硬件电路设计软件的方法,了解设计过程中的各个基本环节,也为今后的实际应用奠定基础。第 8 页 共 33 页2.3、本次大作业(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 操作对象:MCS-51 单片机显示板。操作要求:完成电路板焊接,软件编制及实验报告。操作步骤:1)对照元件清单检查元件的种类和数量。2)装配,检察无误后焊接。3)熟悉 51 编程环境。4)设计显示内容。5)编制软件。调试。6)撰写工作报告。7)提交报告并演示作品。 2.4、应收集的资料及主要参考文献: 1)教材单片机实验与实践教程 万光毅 严义 编著 北京航空航天大学出版社单片机系统开发实例导航 求是科技 靳达 编著 人民邮电出版社单片机原理综合实验教程 秦晓梅 陈育斌 编著 大连理工大学出版2.5、审核批准意见教研室主任(签字) 第 9 页 共 33 页3线路图3.1、原理图 L65421RSKJZ.0MHzCuFP87QVpeakrOET/ABGNDUX-+IcsontW图 3.1 原理图第 10 页 共 33 页3.2、装配图3210282726252422139383736353433229303140201918171615141312110987654321237891011265432112122 1129110 1 12 13 14 15 16234567812345678 21432141 32 6512431243124312431243124312431243341 212 21 1221 12 21122121 2112211221121212211221122 12159483726110 11 2图 3.2 元件布局图第 11 页 共 33 页4程序功能简介4.1设计方案背景游戏,在此特指在高科技产品计算机上玩的游戏,可以是网络版的,也可以是单机版的。因为我仅仅是站在游戏的门槛儿上,对游戏的大千世界知之甚少,但我们大学生压力大,经常把游戏作为休闲工具,每周必玩上一两局。游戏的好处并不是仅指一般所说的“休闲”、“娱乐”、“放松心情”,而主要指游戏对思维的训练,只要你稍稍点通其中的道理,引导他正向迁移到学习、生活中,他就会因为体会深刻而运用自如。凡事都有两面性,如何从中挖掘闪光之处,其实只是角度问题。小小游戏常常能折射出大道理,适当迁移可能就会有大收获。因此,小游戏例如贪食蛇通常受到大家的喜爱。本系统由单片机系统、矩阵键盘、LED 显示组成。系统能完成能够用键控制蛇行走的方向致使其吃食,并用数码管正确显示分数的基本功能。本系统操作简单,一目了然。4.2 使用芯片分析MCS-51 系列中的各种芯片的引脚是相互兼容的,其中 8051 单片机是高性能的单片机,它具有 8 位的微处理器,128B 片内 RAM,4K 的片内 ROM,4 个八位的并行 I/O 接口 P0-P3,两个定时/ 计数器,及五个中断源的中断控制系统 在不接任何外围电路的情况下可以实现大部分较为复杂的逻辑控制功能,进行外部 RAM扩展还可以用于数据采集,点阵显示屏控制等方面的应用对于存储容量要求不高的实际应用,8051 是一种不可多得的高性能的单片机 ,被广泛应用于各个领域,8051 单片机的每个端口都是 8 位准双向口,每一条 I/O 线都能独立的用作输入或输出每个端口都包括一个锁存器,一个输出驱动器和输入缓冲器 在无片外扩展存储器的系统中,这四个端口都可以作为准双向通用的 I/O 口使用在具有片外扩展存储器的系统中,P2 口送出高 8 位地址;P0 口为双向总线,分时送出低 8第 12 页 共 33 页位地址和数据的输 3 工作原理及硬件设计为实现贪食蛇的多种功能, P1.0-P1.6用于键盘输入端口;K2,K7,K1,K8 分别代表上,下,左,右四个键来控制蛇的前进方向;k4,k5 分别控制程序的开始和暂停。 4.3具体功能简介本程序用于实现小游戏“ 贪食蛇 ”的各项功能,如控制蛇行走的方向致使其吃食,并用数码管正确显示分数等。程序各元件功能介绍如下:1.LED 数码管,用于显示吃食后的当前分数;2.发光二级管: 按键按下的时候相应的提示灯闪亮;3.点阵:用于显示贪食蛇的当前状态;4.复位键:用于还原数据;5.按键:K1左、K2上、K7下、K8右、K4 开始、K5 暂停;6.提示灯:此程序中没有使用。具体实现步骤:按 K4 开始游戏。此时点阵 4 个点亮表示蛇身,说明蛇初始长度是 4,在点阵中以定时器设置的时间间隔为准,随即显示食物的位置。蛇的起始方向是右,为了使其吃上食物,需要变换其前进方向,使用 K2,K7 ,K1,K8 控制其上下左右。每当贪食蛇吃到一个食物,其身长会加 1,当其撞墙即走到点阵的尽头代表游戏的结束,程序返回初始化状态;每当贪食蛇吃到一个食物,显示管显示的分数增加 300 分,直至达到设置的最高分数 9900 分,说明闯关成功,程序返回初始化状态。第 13 页 共 33 页4.4设计方案的缺点由于食物是依靠延时程序来实现定时,所以不管贪食蛇是否吃到事物都会变换。导致实际中的现象为:当贪食蛇距离食物近时,就算其吃食了食物,但实际食物由于定时未到所以食物依然没有变换,即此时点阵中没有新的食物出现;当贪食蛇距离食物远时,可能出现贪食蛇恰巧准备吃食的时候,定时时间到,导致食物变换位置。我们试图改变这个不足,但未成功。说明我们自身的不足,还需继续努力。第 14 页 共 33 页5、程序流程图图 5.1 键盘扫描流程图图 5.2 数码管显示流程图第 15 页 共 33 页图 5.3 点阵显示流程图第 16 页 共 33 页图 5.4 主函数流程图第 17 页 共 33 页6、结束语在两周的大作业的设计中我学到了很多知识,也对单片机有了新的认识,加深了对单片机的了解在设计过程中,我们遇到了很多的问题,焊板子过程中,根据老师给出的线路板的图,用烙铁将元件都焊接上板子,在元件的正负极以及放置位置等问题上,请教了很多同学,学到了很多硬件知识。在和同学的共同努力下,通过查阅书籍解决,网上搜索等方式,程序代码的编写部分最后也终于达到了预期的效果。大作业实践过程给了我们硬件与软件结合设计的机会,加深了我们对其的了解,也使我们了解到在软件开发过程中团结的重要性,相信这些对我们会在以后的学习以至工作过程中的进步会有很大的帮助第 18 页 共 33 页7、致谢在此我衷心的感谢张光健老师,感谢他在整个设计过程中对我的耐心指导和帮助。还有常喜军、凌观今等同学的热心帮助。正是因为有了他们的帮助,才使得我们的设计能够顺利进行,在此我们一并对他们表示感谢。同时也非常感谢我的同组成员同学,如果不是我们大家配合协作也不能顺利完成任务。让我我明白了如何更好的完成团体协作。课程设计的完成,都使我在各方面都有了一定的提高,谢谢!第 19 页 共 33 页8、参考文献单片机实验与实践教程 万光毅 严义 编著 北京航空航天大学出版社 1999.12单片机系统开发实例导航 求是科技 靳达 编著 人民邮电出版社 2003.10单片机原理综合实验教程 秦晓梅 陈育斌 编著 大连理工大学出版社 2004.6第 20 页 共 33 页9、附录(程序清单)#include #define uchar unsigned char#define uint unsigned intvoid Delay(uint k); /延时程序void Display_DOT(); /点阵显示程序void Display_LED(); /数码管显示程序,显示分数void Device(); /初始化程序void KeyScan(); /键盘扫描程序void Stop(); /暂停void Pen(); /判断蛇头是否与自身相碰uint change_row(uint d); /把数字转换成对应的行的二进制uint change_line(uint e); /把数字转换成对应的列的二进制rand(); /随机数生成函数sbit P1_4=P14;sbit P3_0=P30;sbit P1_0=P10;sbit P1_1=P11;uint m,n;uint food;uint foodtemp;uint food_row;uint food_line;uint count;uint i=0;uint dingshi;uint Score;uint j;uint a,b,c;uchar Snake64;uint f;uint row,line;uint Keyvalue;uint KeyCount;uint Head;uint Temp1;uchar code DISPLAY_TABLE210=0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;void main()第 21 页 共 33 页Device();while(1)KeyScan(); /扫描键盘if(Keyvalue=5) /判断键值是否是 5,如果是则暂停Stop();if(Head=1|Head=8) /判断当前方向,1 是向左,2 是向右if(Keyvalue=2) /如果向上Head=2; /当前方向变为向上for(Temp1=count-1;Temp10;Temp1-) /蛇身移动SnakeTemp1=SnakeTemp1-1;if(Snake10;Temp1-)SnakeTemp1=SnakeTemp1-1;第 22 页 共 33 页if(Snake10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=10;Pen();if(Snake0/10)7)Device();else if(Snake0=food)count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=10;第 23 页 共 33 页Pen();if(Snake0/10)7)Device();if(Head=2|Head=7) /当前方向是向上或者向下的时候if(Keyvalue=1)Head=1;for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=1;Pen();if(Snake0%10)7)Device();elseif(Snake0=food)count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=1;Pen();if(Snake0%10)7)第 24 页 共 33 页Device();if(Keyvalue=8)Head=8;for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;if(Snake1%10)=0)Device();else Snake0-=1;Pen();if(Snake0=food)count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;if(Snake1%10)=0)Device();elseSnake0-=1;Pen();第 25 页 共 33 页Display_LED();Display_DOT();/初始化程序void Device()P0=P1=P2=P3=0XFF;EA=1;ET0=1;TMOD=0x01;TH0=(65536-10000)/256; /定时初值TL0=(65536-10000)%256;TR0=0; /关闭中断Score=300; /蛇身每加一个,分数增加 200if(count0;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=1;Pen();if(Snake0%10)7)Device();elseif(Snake0=food)第 28 页 共 33 页count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=1;Pen();if(Snake0%10)7)Device();if(Head=2)for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;if(Snake10;Temp1-)第 29 页 共 33 页SnakeTemp1=SnakeTemp1-1;if(Snake10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=10;Pen();if(Snake0/10)7)Device();else if(Snake0=food)count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;Snake0+=10;Pen();第 30 页 共 33 页if(Snake0/10)7)Device();if(Head=8)for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;if(Snake1%10)=0)Device();else Snake0-=1;Pen();if(Snake0=food)count+;if(count=37)Device();for(Temp1=count-1;Temp10;Temp1-)SnakeTemp1=SnakeTemp1-1;if(Snake1%1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5《守株待兔》教学设计-2024-2025学年语文三年级下册统编版
- 8《大家的“朋友”》教学设计-2023-2024学年道德与法治三年级下册统编版
- 户外体操活动的准备与配合培训
- 02 姓氏歌 教学设计-2024-2025学年语文一年级下册统编版
- 治安管理法律
- 边坡作业安全教育培训
- 邮政物流文员培训
- Unit 1 My School 第四课时(教学设计)-2024-2025学年人教PEP版英语四年级下册
- Unit 4 Chinese and English names(教学设计)-2024-2025学年冀教版(2024)初中英语七年级上册
- 营销考核管理办法解读
- GB/T 20522-2006半导体器件第14-3部分:半导体传感器-压力传感器
- GB/T 13824-2015旋转与往复式机器的机械振动对振动烈度测量仪的要求
- 三相三线电能表错误接线分析课件
- 三体系管理手册ISO
- 开关柜局部放电检测技术课件
- 机械式停车设备
- 高层外墙GRC拆除方案
- 2022年成都九联投资集团有限公司招聘笔试题库及答案解析
- 三级安全教育登记表
- CA6140车床主轴加工工艺设计
- 公司项目部全员安全生产责任制
评论
0/150
提交评论