欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-游戏机的制作:俄罗斯方块.doc

    • 资源ID:3948968       资源大小:622KB        全文页数:47页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-游戏机的制作:俄罗斯方块.doc

    湖南信息科学职业学院毕 业 论 文(设计) 游戏机的制作:俄罗斯方块 学生姓名:学 号:年级专业:二六级电子信息指导老师:系 别:电子信息系湖南·长沙二OO九年六月目 录 1方案论证11.1 开发意义:11.2 功能介绍:12设计思路13硬件电路23.1 74HC573驱动芯片电路23.2 8*8LED点阵的接口电路23.3 单片机最小系统电路33.4 整体电路图以及仿真效果34 系统调试44.1 硬件调试44.2 软件调试45 作品展示416 元器件清单427 结束语42致 谢44参考文献45游戏机的制作:俄罗斯方块 作 者: 指导老师: (湖南信息科学职业学院电子信息系06级电子信息工程,长沙 410151) 摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,应用到各个领域。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 我做的题目是一个用51单片机制作的游戏机,大致分位软件和硬件2大部分,硬件主要通过5按键、1个8*8LED点阵屏、一个单片机系统,实现积木的左、右、下、变化、复位五个模式,完全达到俄罗斯方块所实现的功能。 关键词:AT89S52单片机芯片 ;74HC573驱动芯片 ;GYXM-1558ASR-LED点阵屏 1方案论证1.1 开发意义:充分理解点阵显示的原理,已经动态扫描的应用,对生活中的产品有了个全新的认识,不但懂得理论与实际的差距,也时对自己思维的一次强有力的挑战,做出这个东西让我收获良多。1.2 功能介绍:开始让他显示个积木,在按键没实现控制的时候,每隔1S下移一次,有触底处理功能,当碰到底的时候图形不能下移,判断能否消行,能消行则消行,不能再判断是否到顶,到底则从新开始,没到底产生下个随即数,中间有5个按键控制,一个实现图形左移,一个实现图形右移,一个实现下移,一个实现旋转,一个复位。2设计思路图形的上下移动: 根据点阵理论可通过图形数据的左右移动和地址变化来实现。 图形的变化: 可通过地址变化来得到。即把需要变化的数据送到一固定地址,通过地址变化再送回显示的地址里面。图形的碰边处理: 可通过各个边上的数据判断是否到边来实现。与原有图形相遇:可通过与原有图形数据进行比较处理来实现。:图形的旋转:在固定地址里面实现旋转比较容易,但是在行进中的图形旋转就比较费脑筋,我是用一个地址计数下移的次数,再用一个地址计数左移右移的次数。再根据这些次数确定图形的地址,再把这些地址送到图形变化的一个固定的地址中,变化后再送回到显示的地址中去显示。图形的碰边处理:如果不对图形进行边框处理,图形就会一直移动,看不到我们想要的效果。我是用把边框数据与图形数据进行位运算。再判断这些数据就可以得到图形是否到边。3硬件电路3.1 74HC573驱动芯片电路此芯片时个锁存器,也可以做驱动芯片驱动LED点阵屏幕,这里面的电源和地系统附加了 但是实际中的加上去,不然芯片不能工作。3.2 8*8LED点阵的接口电路上面的是仿真的图 上端接数据 下端开片选 但是实际中引脚很不规则,所有的花时间去测 用一节干电池,或者用指针万用表打到电阻10K档。3.3 单片机最小系统电路3.4 整体电路图以及仿真效果但是里面的电源、地、晶振、复位、EA等 在仿真中系统自动加的 要是在实际生活中的加进去。4 系统调试 4.1 硬件调试第一 检查单片机的最小系统是否正常,包括检查晶振、单片机2端电压、复位电路。第二 驱动芯片是否工作正常、接法是否正确,再检查LED点阵是否接的正确,可以用一节干电池测,也可以用指针万用表打到电阻10K档位测。4.2 软件调试 流程图程序代码;=;俄罗斯方块,采用移片选的方法.;编译时间:09年1月15;编译者: 谭华;实现功能: 俄罗斯方块的旋转,左移,右移; 消行 碰边 触底 产生随即数等 基本实现右移的基本功能;=初始化自定义=pianxuan equ p2shuchu equ p1bt0 equ 20h.0bt1 equ 20h.1bt2 equ 20h.2bt3 equ 20h.3bt4 equ 20h.4bt5 equ 20h.5bt6equ20h.6bt8equ21h.0bt9equ21h.1bt10equ21h.2bt11equ21h.3;= org 0000h ajmp start org 0bh ljmp intt0 org 30h;=主程序初始化= start: mov sp, #60h mov tmod, #21h mov th0, #0b1h mov tl0, #0e0hmovth1,#25movtl1,#25movr1,#00callchushihuacallchuzhisetb ea setb et0 setb tr0setbtr1 clr bt0clrbt1clrbt2clrbt3clrbt4clrbt5clrbt8clrbt9clrbt10clrbt11setbbt6mov35h,#0fehmovr2,#00movr4,#00;=;主程序;=main:jnb bt0, main clr bt0callsaomiao;扫描按键callxianshi0;调用下移显示画面子程序callxianshi;调用触边后静态图形显示的子程序jbbt10,loop;判断是否触顶,=1,游戏结束,跳到满屏显示callchudi;调用触底子程序callxiaohang;调用消行判断子程序callyanshi_40ms;调用延时40ms消抖子程序,40ms到,BT5置1jnbbt5,xia0clrbt5callpanduan;调用按键判断处理子程序xia0:jnbbt9,xia;图形快速下落标志位,=1快速下落clrbt9callxialuo;调用图形下落子程序ajmpmainxia:callyanshi_1s;延时1s子程序.1s到,BT1=1jnb bt1, main clrbt1callxialuoajmpmainloop:callyanshi_500ms;调用延时500ms子程序,500ms到bt11=1jnb bt11, main clrbt11callmanping;调用满屏全亮子程序ajmpmain;=;按键扫描;=saomiao:jbp3.2,qq0setbbt2ajmpqqqq0:jbp3.1,qq1setbbt3ajmpqqqq1:jbp3.0,qq2setbbt4ajmpqqqq2:jbp3.3,qq4setbbt8ajmpqqqq4:setbbt6clrbt2clrbt3clrbt4clrbt8qq:ret;=;图形下移子程序;=xialuo:mova,35hrlamov35h,aret;=;判断子程序;=panduan:jnbbt2,ww0clrbt2jnbbt6,ww0clrbt6callyouyiajmpwwww0:jnbbt3,ww1clrbt3jnbbt6,ww1clrbt6callzuoyiajmpwwww1:jnbbt4,ww2clrbt4jnbbt6,ww2clrbt6callzhuanajmpwwww2:jnbbt8,wwclrbt8jnbbt6,wwclrbt6callkuaixiaww:ret;=;快速下落子程序;=kuaixia:setbbt9ret;=;满屏子程序;=manping:mov41h,#0ffhmov42h,#0ffhmov43h,#0ffhmov44h,#0ffhmov45h,#0ffhmov46h,#0ffhmov47h,#0ffhmov48h,#0ffhret;=;清屏子程序;=qingping:mov41h,#00hmov42h,#00hmov43h,#00hmov44h,#00hmov45h,#00hmov46h,#00hmov47h,#00hmov48h,#00hret;=;下移显示;=xianshi0:mova,35hmovp1,31hmovp2,acalldelayrlamovp1,#00movp1,32hmovp2,acalldelayrlamovp1,#00movp1,33hmovp2,acalldelaymovp1,#00ret;=;图形右移子程序;=zuoyi: mov a, 31h jnb acc.0, dd1 ajmp dddd1: mov a, 32h jnb acc.0, dd2 ajmp dddd2: mov a, 33h jnb acc.0, dd3 ajmp dddd3: mova,35hcjnea,#0feh,sa0callsad0ajmpddsa0:mova,35hcjnea,#0fdh,sa1callsad1ajmpddsa1:mova,35hcjnea,#0fbh,sa2callsad2ajmpddsa2:mova,35hcjnea,#0f7h,sa3callsad3ajmpddsa3:mova,35hcjnea,#0efh,sa4callsad4ajmpddsa4:mova,35hcjnea,#0bfh,ddcallsad5ajmpdddd:retsad0:mov a, 33hrr amov39h,#00mov39h,aanla,43hcjnea,#00,dd4 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,42hcjnea,#00,dd4 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,41hcjnea,#00,dd4 mov 31h, 39hdec51hdd4: retsad1:mov a, 33hrramov39h,#00mov39h,aanla,44hcjnea,#00,dd5 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,43hcjnea,#00,dd5 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,42hcjnea,#00,dd5 mov 31h, 39hdec51hdd5: retsad2:mov a, 33hrr amov39h,#00mov39h,aanla,45hcjnea,#00,dd6 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,44hcjnea,#00,dd6 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,43hcjnea,#00,dd6 mov 31h, 39hdec51hdd6: retsad3:mov a, 33hrr amov39h,#00mov39h,aanla,46hcjnea,#00,dd7 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,45hcjnea,#00,dd7 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,44hcjnea,#00,dd7 mov 31h, 39hdec51hdd7: retsad4:mov a, 33hrr amov39h,#00mov39h,aanla,47hcjnea,#00,dd8 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,46hcjnea,#00,dd8 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,45hcjnea,#00,dd8 mov 31h, 39hdec51hdd8: retsad5:mov a, 33hrr amov39h,#00mov39h,aanla,48hcjnea,#00,dd9 mov 33h, 39h mov a, 32hrr amov39h,#00mov39h,aanla,47hcjnea,#00,dd9 mov 32h, 39h mov a, 31h rr amov39h,#00mov39h,aanla,46hcjnea,#00,dd9 mov 31h, 39hdec51hdd9: ret;=图形左移子程序=;通过图形移动一位,与静止图形相与,为零则移动,否则原地不动;=youyi: mov a, 31h jnbacc.7, cc0 ajmp cc20cc0: mov a, 32h jnb acc.7, cc1 ajmpcc20cc1: mov a, 33h jnb acc.7, cc ajmp cc20cc: mova,35hcjnea,#0feh,zz0callscd0ajmpcc20zz0:mova,35hcjnea,#0fdh,zz1callscd1ajmpcc20zz1:mova,35hcjnea,#0fbh,zz2callscd2ajmpcc20zz2:mova,35hcjnea,#0f7h,zz3callscd3ajmpcc20zz3:mova,35hcjnea,#0efh,zz4callscd4ajmpcc20zz4:mova,35hcjnea,#0bfh,cc20callscd5ajmpcc20cc20:retscd0:mov a, 33hrl amov39h,#00mov39h,aanla,43hcjnea,#00,cc2 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,42hcjnea,#00,cc2 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,41hcjnea,#00,cc2 mov 31h, 39hinc51hcc2: retscd1:mov a, 33hrl amov39h,#00mov39h,aanla,44hcjnea,#00,cc3 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,43hcjnea,#00,cc3 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,42hcjnea,#00,cc3 mov 31h, 39hinc51hcc3: retscd2:mov a, 33hrl amov39h,#00mov39h,aanla,45hcjnea,#00,cc4 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,44hcjnea,#00,cc4 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,43hcjnea,#00,cc4 mov 31h, 39hinc51hcc4: retscd3:mov a, 33hrl amov39h,#00mov39h,aanla,46hcjnea,#00,cc5 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,45hcjnea,#00,cc5 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,44hcjnea,#00,cc5 mov 31h, 39hinc51hcc5: retscd4:mov a, 33hrl amov39h,#00mov39h,aanla,47hcjnea,#00,cc6 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,46hcjnea,#00,cc6 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,45hcjnea,#00,cc6 mov 31h, 39hinc51hcc6: retscd5:mov a, 33hrl amov39h,#00mov39h,aanla,48hcjnea,#00,cc7 mov 33h, 39h mov a, 32hrl amov39h,#00mov39h,aanla,47hcjnea,#00,cc7 mov 32h, 39h mov a, 31h rl amov39h,#00mov39h,aanla,46hcjnea,#00,cc7 mov 31h, 39hinc51hcc7: ret;=;图形旋转子程序;=zhuan:cjner1,#0,bu0callzhuan0ajmpbubu0:cjner1,#1,bu1callzhuan1ajmpbubu1:cjner1,#2,bu2callzhuan2ajmpbubu2:cjner1,#3,bu3callzhuan3ajmpbubu3:cjner1,#4,bucallzhuan4bu:retzhuan0:incr2cjner2,#1,gg0mov31h,#10hmov32h,#18hmov33h,#10hcallyizhouajmpgggg0:cjner2,#2,gg1mov31h,#38hmov32h,#10hmov33h,#00hcallyizhouajmpgggg1:cjner2,#3,gg2mov31h,#10hmov32h,#30hmov33h,#10hcallyizhouajmpgggg2:cjner2,#4,ggmovr2,#00mov31h,#10hmov32h,#38hmov33h,#00hcallyizhougg:retzhuan1:incr2cjner2,#1,ggg0mov31h,#08hmov32h,#18hmov33h,#10hcallyizhouajmpgggggg0:cjner2,#2,gggmov31h,#30hmov32h,#18hmov33h,#00hmovr2,#00callyizhouggg:retzhuan2:incr2cjner2,#1,hh0mov31h,#18hmov32h,#30hmov33h,#00hcallyizhouajmphhhh0:cjner2,#2,hhmov31h,#10hmov32h,#18hmov33h,#08hmovr2,#00callyizhouhh:retzhuan3:incr2cjner2,#1,hh1mov31h,#20hmov32h,#38hmov33h,#00hcallyizhouajmphh4hh1:cjner2,#2,hh2mov31h,#18hmov32h,#10hmov33h,#10hcallyizhouajmphh4hh2:cjner2,#3,hh3mov31h,#38hmov32h,#08hmov33h,#00hcallyizhouajmphh4hh3:cjner2,#4,hh4movr2,#00mov31h,#10hmov32h,#10hmov33h,#30hcallyizhouhh4:retzhuan4:incr2cjner2,#1,hh5mov31h,#10hmov32h,#10hmov33h,#18hcallyizhouajmphh8hh5:cjner2,#2,hh6mov31h,#38hmov32h,#20hmov33h,#00hcallyizhouajmphh8hh6:cjner2,#3,hh7mov31h,#18hmov32h,#08hmov33h,#08hcallyizhouajmphh8hh7:cjner2,#4,hh8movr2,#00mov31h,#08hmov32h,#38hmov33h,#00hcallyizhouhh8:ret;=yizhou:mova,51hcjnea,#5,tt7jmptttt7:cjnea,#6,tt0callyyizhoujmptttt0:cjnea,#7,tt1callyyizhoucallyyizhoucallzhuanpan0jmptttt1:cjnea,#8,tt2callyyizhoucallyyizhoucallyyizhoucallzhuanpan0jmptttt2:cjnea,#9,tt3callyyizhoucallyyizhoucallyyizhoucallyyizhoucallzhuanpan0jmptttt3:cjnea,#4,tt4callzyizhoujmptttt4:cjnea,#3,tt5callzyizhoucallzyizhoujmptttt5:cjnea,#2,tt6callzyizhoucallzyizhoucallzyizhoucallzhuanpan1jmptttt6:cjnea,#1,ttcallzyizhoucallzyizhoucallzyizhoucallzyizhoucallzhuanpan1tt:ret;=触边旋转判断=zhuanpan0:mova,31hjnbacc.0,hui0callzyizhouajmphuihui0:mova,32hjnbacc.0,hui1callzyizhouajmphuihui1:mova,33hjnbacc.0,huicallzyizhouhui:ret;=触边旋转判断=zhuanpan1:mova,31hjnbacc.7,hui3callyyizhouajmphui2hui3:mova,32hjnbacc.7,hui4callyyizhouajmphui2hui4:mova,33hjnbacc.7,hui2callyyizhouhui2:ret;=X轴右移一位=yyizhou:mova,31hrlamov31h,amova,32hrlamov32h,amova,33hrlamov33h,aret;=X轴左移一位=zyizhou:mova,31hrramov31h,amova,32hrramov32h,amova,33hrramov33h,aret;=显示子程序=xianshi:movp1,41hmovp2,#0fehcalldelaymovp1,#00movp1,42hmovp2,#0fdhcalldelaymovp1,#00movp1,43hmovp2,#0fbhcalldelaymovp1,#00movp1,44hmovp2,#0f7hcalldelaymovp1,#00movp1,45hmovp2,#0efhcalldelaymovp1,#00movp1,46hmovp2,#0dfhcalldelaymovp1,#00movp1,47hmovp2,#0bfhcalldelaymovp1,#00movp1,48hmovp2,#7fhcalldelaymovp1,#00ret;=消行显示子程序=xiaohang:mova,48hcjnea,#0ffh,zh0calltiaozhen0zh0:mova,47hcjnea,#0ffh,zh1calltiaozhen1zh1:mova,46hcjnea,#0ffh,zh2calltiaozhen2zh2:mov

    注意事项

    本文(毕业设计(论文)-游戏机的制作:俄罗斯方块.doc)为本站会员(yyf)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开