

免费预览已结束,剩余18页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子综合设计打鼓游戏机设计打鼓游戏机设计一 课题介绍1.1 飞思卡尔s12(x)单片机简介freescale公司推出的s12、s12x系列单片机是增强型的16位mcu,其集成度高,片内资源丰富,功能模块包括spi、sci、i2c、can、a/d、pwm、ect等,方便构建实际应用系统;大容量的flash、ram和eeprom存储器可满足大部分的存储空间需求,具有的低功耗工作,复位控制,看门狗及实时中断等配置功能更有助于系统的可靠运行;可宽范围选择逻辑时钟频率,最高工作频率达25mhz/50mhz;具有方便快捷的在线编程调试能力;具有丰富、高效的指令系统,具有较强的数值运算和逻辑运算能力。1.2 课题简介本系统是基于s12xdt512slk核心开发板设计并实现打鼓游戏机。程序语言采用c语言,编程软件采用codewarrior开发环境。整个系统需要在自己制作的硬件电路上实现。打鼓游戏机是这样一款游戏:系统随机产生一个鼓点,当鼓点到达基准线时,玩家应该按下相应按键,如果成功按键,系统将实现加分,如果没有成功按键,系统不做处理。游戏最后以得分高低评判玩家水平。通常游戏配有背景音乐和鼓声作为前景音乐。整款游戏集趣味性、挑战性、可观赏性于一体。我们采用单片机作为控制管理器,通过编程实现不少于四键输入的信息接收,lcd液晶屏显示,前景背景音乐输出,实现打鼓游戏功能。同时,设计出能完成上述要求的硬件电路,安装制作成实验电路板,调试完成相应的软件功能。二 方案验证2.1硬件方案验证系统采用核心开发板加扩展板的方式。在核心开发板上主要是s12芯片。扩展板上主要是12864lcd液晶显示屏、按键、语音芯片、扬声器、led发光二极管等外围电路。 图1 打鼓游戏机系统框图输入/输出(i/o)接口,是单片机与外界进行信息交互的重要通道,在整个单片机系统中占有重要地位。单片机所处理的信息(包括程序和数据)大都要由输入设备提供,而处理的结果则要通过输出设备输出。s12(x)系列单片机的各种外围接口采用模块化设计方式,它的输入/输出接口由许多标准模块组成,这些接口包括porta、portb、porte、portk、porth、portj、portm、ports、portp和portt。各自独立,具有gpio功能,大部分接口在通用功能的基础上还有一些特殊的复用功能。这些功能可通过寄存器的设置与程序配合,发挥各种功能。2.1.1单片机最小系统mcu最小系统是指可以使内部程序运行起来的所必须的基本外围电路。以mc9s12dg128为例,最小系统包括电源电路,复位电路,晶振电路,bdm调试接口电路,pll电路等。下图是单片机的最小系统电路原理图。图2 单片机最小系统电路原理图mcu芯片外部供电电压为5v,供给vddr,vddx及vdda,vregen通过一个电阻接至高电平,以便使能产生mcu内部使用的2.5v电压。电源电路部分的电容c8c20构成滤波电路,可以改善系统的电磁兼容性,降低电源波动对系统的影响,增强电路工作的稳定性。复位电路可以实现上电复位和按键复位操作,reset低电平有效。2.1.2 12864lcd液晶显示屏电路液晶显示模块是12864-12点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16x16点阵)、128个字符(8x16点阵)及64x256点阵显示ram(gdram)。可与mcu直接接口,提供两种界面来连接微处理机:8位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。采用串行连接方式,电路连线简洁,但难于控制,而且会对显示频率造成影响,可能会导致闪烁问题。如果采用并口连接方式电路连线复杂,但是易于控制,而且数据传送速率快,能很好的满足屏幕刷新率的要求。因此系统采用并口连接方式。即lcd的数据和控制管脚直接与mcu连接。下图是lcd与单片机并行连接的电路图。为了连线和控制方便,我们将单片机的porta0-porta7与lcd的db0-db7连接,portb口主要连接lcd的控制管脚。图3 lcd模块电路图2.1.3 按键扫描电路嵌入式系统键盘电路的设计应使mcu不仅能察觉是否有键按下,并能识别按下的是哪一个键,而且还要把此键所代表的信息翻译成mcu所能接受的形式。在微控制器实验系统中,常用的键盘接口有2种:独立式和矩阵式。当mcu系统中所需要的键盘按键数量较多时,为了减少mcu的i/o口的占用,通常将按键排列成矩阵形式。矩阵式结构的键盘显然需要比独立式更多的器件,识别软件的设计也要复杂一些。在本系统中,按键数量不是很多,同时i/o口也足够多,所以我们采用独立式方式,这样可以简化程序控制。独立式按键是直接用i/o口线构成的单个按键电路,其特点是每个按键单独占用一根mcu的i/o口线,每个按键的工作不会影响其他i/o口线的状态,独立式按键的电路图如下所示。图4 按键电路图独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根i/o口线,因此,在按键较多时,i/o口线浪费较大。按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,i/o口线上有确定的高电平。当i/o口线内部有上拉电阻时,外电路就不需要再接上拉电阻了。实验中,按键我们采用的是b口和e口,只需要在软件中设置上拉电阻就好了,不需要焊接上拉电阻。按键还需要考虑另外一个问题按键开关去抖动。mcu应用系统的键盘通常使用机械触电式按键开关,其主要功能是把机械上的通断转换成电气上的逻辑关系。也就是说,它能提供标准的ttl逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键在按下或抬起时,由于机械弹性作用的影响,通常伴有一定时间的触电机械抖动,然后其触电才稳定下来。抖动时间的长短与开关的机械特性有关,一般为5ms-10ms。在触电抖动期间检测按键的通与断状态,可能会导致判断出错。即按键一次按下或抬起被错误地认为是多次按动操作,这种情况是不允许出现的。为了克服按键触电机械抖动所致的检测误判,必须采用去抖动措施。可以从硬件和软件两方面予以考虑。硬件去抖动采用d触发器。软件去抖动采用延迟10ms再次判断法。实验中,我们采用软件去抖动。2.1.4 语音系统电路isd1700 系列是华邦公司新推出的语音芯片,用来替代已经停产的isd1400 系列及isd2500 系列芯片。isd1700 系列不仅在录音时间上有更多的选择(从20 秒到240 秒),而且在功能上继承14 及25 系列的所有录放功能,并增加了一些更加人性化的提示功能及对存储的精确操作。该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(valert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。主控单片机主要通过四线(sclk,mosi,miso,/ss)spi协议对isd1700进行串行通信。isd1700作为从机,几乎所有的操作都可以通过这个spi协议来完成。为了兼容独立按键模式,一些spi命令:play,rec,erase,fwd,reset和global_erase的运行类似于相应的独立按键模式的操作。另外,set_play,set_rec,set_erase命令允许用户指定录音、放音和擦除的开始和结束。此外,还有一些命令可以访问apc寄存器,用来设置芯片模拟输入的方式。在本系统中,我们需要通过程序控制音乐的播放和停止,因此采用spi接口模式与mcu连接。在调试中,我们可以采用独立按键录放音。芯片外围电路设计参考了官方的设计手册。电路图如下。图5 语言系统电路图2.1.5 led发光二极管电路发光二极管正向导通后,led灯被点亮;反向截止,led灯灭。我们四个led发光二极管接到mcu的t7t4口上,接100欧姆的电阻限流。当mcu输出为0时,led灯被点亮。图6 发光二极管电路图2.2 软件方案验证我们设定了三个难度等级,体现在数量和速度上不同。进入游戏,将显示初始化界面。然后选择难度,询问是否开始游戏。进入游戏后,利用随机函数每次产生一个鼓点,当到达一定范围内时,按键扫描,检测是否有键按下并判断是否等于当前鼓点值。如果正确,作加分处理,进一步判断精确程度,如果非常精确,将给出相应提示。一旦按下退出键,则游戏马上结束。玩家在进行游戏的同时,将通过语音芯片播放背景音乐。每关游戏结束后,通关或者失败都将会给出相应的提示。图7 程序算法流程图三 硬件制作电路设计完成后要进行电路的安装,实验中我们采用面包板。在安装时要注意以下几个问题。(1) 准备好常用的工具和材料。要将各种电子元器件及结构各异的零部件装配c成符合要求的电子产品,一套基本的工具是必可不少的,如烙铁、钳子、改锥、镊子和焊锡。(2) 所有电子元器件在安装前要全部测试一遍,有条件的还要进行元器件老化处理,以保证元器件的质量。(3) 有极性的电子元器件安装时其标志最好方向一致,以便检查和替换。集成电路的方向要保持一致,以便正确布线和查线。(4) 在面包板上组装电路时,为了便于检查,可根据连线的不同作用选择不同颜色的导线。如正电源采用红线,负电源采用蓝线,地线采用黑线,信号线采用黄线等。(5) 布线要按信号的流向有序连接,连线要做到横平竖直,不允许跨接在集成电路上。另外,导线的选择要粗细适中,避免导线与面包板插孔之间接触不良。电路安装完毕后,不要急于通电,首先要根据电路原理图认真地检查电路连接是否正确。主要直观检查电源、地线、信号线、元器件引脚之间有无短路,连线有无接触不良,元器件有无漏焊,二极管、三极管和电解电容的极性有无错误等。对于电子系统的调试,一般分为不通电检查,通电观察,分块调试,整机统调。四 软件编程4.1 lcd显示原理在lcd显示控制中,我们采用并行方式。8位并行连接时序图如下: 图8 mcu写资料到模块 图9 mcu从模块读出资料虽然lcd自带了中文字库,但由于要实现lcd的动态显示,所以我们必须采用绘图方式。绘图显示ram提供6432个位元组的记忆空间,最多可以控制25664点的二维绘图缓冲空间,在更改绘图ram时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图ram,而地址计数器(ac)会自动加一;在写入绘图ram的期间,绘图显示必须关闭,整个写入绘图ram的步骤如下:1、 关闭绘图显示功能。2、 先将水平的位元组坐标(x)写入绘图ram地址;3、 再将垂直的坐标(y)写入绘图ram地址;4、 将d15d8写入到ram中;5、 将d7d0写入到ram中;6、 打开绘图显示功能。4.2 游戏算法设计我们设定了三个难度等级,体现在数量、速度和通过得分比列上不同。三个难度分别是初级,中级,高级。在这三个难度下,数量分别为10个,40个,80个;分别得分为4,25,60才能通关。同时,在产生鼓点的速度上也有所区别。鼓点的产生是采用随机方式。进入游戏,将显示初始化界面。然后进入难度选择,选择难度后,询问是否开始游戏。进入游戏后,利用随机函数每次产生一个鼓点,当到达一定范围内时,按键扫描,检测是否有键按下并判断是否等于当前鼓点值。如果正确,作加分处理,进一步判断精确程度,如果非常精确,将给出相应提示。一旦按下退出键,则游戏马上结束。玩家在进行游戏的同时,将通过语音芯片播放背景音乐。每关游戏结束后,通关或者失败都将会给出相应的提示。playgame()函数的算法流程图如下。图10 playgame()函数算法流程图初始化界面采用一幅128*64的图片,利用字模提取软件提取图片数据。在lcd的绘图功能下显示。五 课题总结 通过在s12xdt512核心开发板和按键、语言系统、lcd等外围电路编程和调试,我们实现了打鼓游戏机的设计。整个游戏显示稳定,游戏界面效果好,具备一定的趣味性和可观赏性。系统具体实现了一下功能:1.实现了lcd背景图像显示2.实现了动画操作3.能正确进行计分操作4.能实现背景音乐的输出5.有多种操作难度可选6.具有操作准确度提示动画7.能实现中途退出游戏8.具有较好的游戏界面9.利用led发光二极管作为提示用,减低难度10.能实现图片显示虽然我们通过硬件电路设计,软件编程实现了打鼓游戏机,但是由于时间有限,我们还有很多功能不够完善,如音乐只有一首歌曲,长按按键会导致动态扫描速度变慢,不能同时产生多个鼓点等。这也是我们以后需要完善的地方。六 心得体会在进行算法设计时,一个小的细节问题就影响到设计的成功,如:我刚开始在playgame()函数中多次调用了整屏绘图函数,这样做导致的后果是屏幕不断的闪烁,严重影响视觉。首先我一直没有找到原因,后来通过每次运行一行程序发现在playgame()函数中每一次都要调用整屏绘图函数,整屏绘图刷新率低,容易产生闪烁现象。最后我在playgame()函数外面写了一个整屏绘图函数,而在playgame()函数里面只是对部分点进行修改,通过这种方式就解决了闪烁问题。这样一个小小的细节,让我懂得写程序要严谨,逻辑要清晰。同时要学会检查错误,排除错误。在课程设计硬件实验中,遇到了一些问题,首先是布局问题,由于器件和管脚较多,为了使布局美观,在器件布局上画了些时间,在和同组员讨论后才完成布局。再者是焊接和连线,焊接和连线工作需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司新年开工小活动方案
- 公司竞拍活动方案
- 公司案例收集活动方案
- 公司欢迎回来活动方案
- 公司职工健身房策划方案
- 公司疫情捐赠活动方案
- 2025年装修工程师职业资格考试试题及答案
- 公共关系与危机管理的2025年试卷及答案
- 2025年养老服务体系建设考试试卷及答案
- 2025年刑法学知识与实践应用考核题及答案
- 2025年高考真题-英语(全国一卷) 含答案
- 出租房退房协议(通用5篇)
- 2023年宁夏银川市西夏区北京西路街道社区工作人员考试模拟题含答案
- GB/T 23932-2009建筑用金属面绝热夹芯板
- 防静电手环测试指导书
- 机电控制工程
- 码头承包经营合同
- 建筑工程防水(防渗漏)处理PPT
- 温病学讲义刘景源
- 校企共建校内实训基地协议模版
- 嵌顿疝病人应急预案
评论
0/150
提交评论