俄罗斯方块作为游戏史上经典游戏之一,对于生活在这个数字世界的人应该感到不陌生!当年在大街小巷,饭后茶余,多少人为它痴迷,它所创造的经济价值在游戏史是罕见的。就连这个游戏的发明者,前苏联科学家Alex Pajitnov也不敢相信,这个游戏会产生这么深远的影响,为后续的计算游戏编程很多方面都是可以见到“俄罗斯方块“思想的背影。
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机。
AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。
AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。原文请加辣;文^论,文'网QQ3249'114
在显示方面,此次采用TFT(薄膜场效应晶体管LCD),它是每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动,从而可以做到高速度、高亮度、高对比度显示屏幕信息,是目前最好的LCD彩色显示设备之一,其效果接近CRT显示器,是现在笔记本电脑和台式机上的主流显示设备。TFT的每个像素点都是由集成在自身上的TFT来控制,是有源像素点。因此,不但速度可以极大提高,而且对比度和亮度也大大提高了,同时分辨率也达到了很高水平。而且TFT显示器是当今嵌入式显示的主流方向,各大山寨手机,各种山寨游戏机等,几乎都能见到TFT显示器的踪影。
本文就以上的器件将结合题目给出解决方案处理这次毕业设计的要求,制作由AVR控制的彩屏显示的俄罗斯方块。论文网
http://www.751com.cn/2方案设计与论证
2.1系统简介与主要指标
本文主要通过Mega16控制彩屏,通过几个按键与用户交互,实现游戏过程。系统在刚开始初始化时,在彩屏产生游戏初始界面。随后产生随机落下的俄罗斯方块。用户通过按键输入控制方块旋转,方向,下落速度,在检测到下落初不能下落时,检测该行的方块情况,对其加分和升级。
本次设计要实现的主要指标为:
1 系统的稳定性比较好,不会在游戏过程中程序跑飞。
2 在游戏过程中刷屏,不会有闪烁的现象出现,游戏过程流畅。
3 游戏过程中检测按键能快速响应。
2.2设计方案的比较
针对题目和系统要求,基于单片机的俄罗斯方块有多种可以实现的方案,但各种方案的都是依据最初俄罗斯方块游戏设计者所设定的规则下,自己再加入一些个性化的游戏规则和算法做出来的,由于制作单片机俄罗斯方块的硬件电路都差不多,此次平台限制在AVR单片机,它是有一定原因的,一方面各种单片机中也有千变万化的解决方案,这就赋予这个游戏更具有生命力和趣味性。下面会在一些新的角度阐述AVR平台下跟其他单片机中有几种比较常见有名的平台和处理俄罗斯方块的方案,以及这次设计所提供的解决方案。他们如下:
方案一:51单片机外扩一个RAM,同时在外扩RAM建立BUFFER映射LCD的显存,通过控制BUFFER,进而控制LCD的显示,较快速的对LCD的控制。
方案二:STM32单片机,在STM32单片机内存开辟多级内存块BUFFER直接映射到显存,通过控制BUFFER,进而控制彩屏。
方案三:AVR单片机通过在内存建立4*4点方块的标准俄罗斯方块模型,然后在内存再开辟一个BUFFER映射标准俄罗斯方块游戏区域显存,把内存中得到的标准俄罗斯方块的结果,通过一定的变换算法,写入彩屏。
在如上三种方案中最后一种方案是本设计所提供的解决方案,对于第一种方案51单片机由于它的RAM ,ROM的限制,要实现俄罗斯方块不得不在外扩展RAM一般是用62256芯片外扩,但是由于他的执行指令的速度太慢,对于实现单色的LCD是可以实现,对于这次设计中所用到的彩屏,51单片机也像以上方法外扩内存也可实现,但是执行起来彩屏响应很吃力。对于方案二,由于STM32速度非常快,并且拥有大内存,不用外扩内存,直接连接彩屏就可实现,更重要的是如果基于STM32库的设计,在库的模块中自带有彩屏的API函数,这样的设计将会变的很简单,但是使用STM32的成本将会更很高,相对于STM32的资源来说,只是单单用它来开发单片机俄罗斯方块,将是严重浪费其资源。所以必须找一种8位高速度单片机来完成对彩屏的驱动,故采用AVR实现,对于Mega16它的SRAM有4K,FLASH有16K,并且拥有较快速的执行指令,足够满足这次的设计。
输入按键方面:传统的按键检测是要等待20ms用于确认按键被按下,在这个系统中是不能允许的,这样要CPU白白浪费20ms,对彩屏的刷屏将产生严重影响,这次设计将引入状态机按键,把用于按键检测的20ms,在该系统中更有效的利用。论文网
http://www.751com.cn/算法方面:前两个方案通过外扩或者直接在内存映射外部的显存实现,本次将同样采用在Mega16的SRAM里建立BUFFER,通过在BUFFER中模拟俄罗斯方块,把俄罗斯方块的结果输入彩屏中显示,这样就可以直接写彩屏就可以做到对彩屏的控制了。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
Mega16单片机+AVR彩屏游戏机设计 第2页下载如图片无法显示或论文不完整,请联系qq752018766