这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » 乐动达人游戏系统

共1条 1/1 1 跳转至

乐动达人游戏系统

高工
2014-03-17 14:06:15     打赏

作者:山东科技大学 任祥华 王笑 李田政 

指导老师:孙红雨

 

作品简介:

  作品采用大赛指定单片机IAP15F2K61S2作为系统的主控制器。该单片机抗干扰能力强、无需外部晶振和复位电路、支持ISP/IAP在线编程,有2K字节SRAM、8路高速10位A/D转换器、6路外部中断。其运行速度快,能满足我们游戏系统的要求。

 

平台选型说明:

  作品采用大赛指定单片机IAP15F2K61S2作为系统的主控制器。该单片机抗干扰能力强、无需外部晶振和复位电路、支持ISP/IAP在线编程,有2K字节SRAM、8路高速10位A/D转换器、6路外部中断。其运行速度快,能满足我们游戏系统的要求。

 

设计说明:

  一、设计方案

  方案一:用多个74LS138译码芯片级联控制流水灯。

  方案二:用多个74HC595级联控制流水灯。

  使用74LS138则每一个等都有固定的编码,用单片机可以随意控制灯的亮灭。但其硬件连线复杂,需要的I/0口资源较多。74HC595芯片有串行输入并行输出的功能并带有内部锁存器。使用该芯片控制,每条流水灯只需要一根数据线和一根时钟线,可节省单片机的I/0资源。并且控制流水点亮的软件实现简单,其弊端是对单个灯的控制不如方案一方便,还需要有一定的延时。

  基于系统本身考虑,单纯的流水点亮完全可以满足设计要求。权衡一二,我们选择使用方案二。

  二、硬件设计:

  1. 控制平台

  作品采用大赛指定单片机IAP15F2K61S2作为系统的主控制器。该单片机既有抗干扰能力强、支持超级加密、无需外部晶振和复位电路、支持ISP/IAP在线编程、2K字节SRAM、双串口、带有高速10位A/D转换器、低功耗的优点。

  STC15F2K60S2系列单片机是STC生产的单时钟周期的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,采用第八代加

  密技术,加密性超强,指令代码完全兼容传统8051,但速度快8--12倍。内部集成高密度R/C时钟(±0.3%),±1%温飘,5MHZ~35MHZ宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路(内部已集成高可靠复位电路,ISP编程时8级复位门槛可选)。3路CCP/PWM/PCA,8路高速10位A/D转换(30万次每秒),内置2K字节大容量SRAM,2组超高速异步串行通信端口(UART1/UART2,可在5组管脚之间进行切换,分时复用可作5组串口使用),1组高速同步串行通信端口SPI,针对多串口通信/电机控制、强干扰场合。

  我们共使用了单片机31个I/0口,其中4路外部中断,2个定时器,2路ADC。

  2. 音频采集调理电路

  音频输入信号系统调理电路见图2。测量放大器INA128用于接收、放大来自MP3或低频信号发生器的音频电压信号。放大倍数可由电位器W1进行适当调节,计算公式:

 (1)

  其中 为电位器W1的电阻。

  1NA128的另外一个作用是将信号电压上移2.5V,将音频信号由双极性信号转化为单极性信号。

  MAX296为8阶贝塞尔低通滤波器,用于抗混叠滤波。边界频率由内部时钟控制,时钟频率和边界频率的比率为50:1。内部时钟频率由CLK引脚上的电容C3确定,公式如下:

 

  3. LED灯控模块和脚踏圆盘模块

  灯控模块包括4排“音乐流水灯”(每排32个LED灯)、4个“音乐流水灯”脚踏圆盘、1个装饰圆盘、1中间扇形盘,见图2

 

  4排“音乐流水灯”控制电路电路见图3。

  74HC595的OUT接LED灯的负极,LED灯的正极接+3.3V的电压源。每排“音乐流水灯”都有4片74HC595级联,由相同的时钟信号控制。

  圆盘周围接一圈三色LED小彩灯,在每个圆盘下面放置一个脚踏按键,踩下按键,单片机接收到信号,同时改变灯的颜色。

中间圆盘装有一周的五彩灯,常量,使游戏更炫动。中间扇形部分显示盘有8排LED小彩灯,用一片74HC595芯

流水灯整体布局

片控制,随音乐有节奏的闪烁。

  整个灯控系统成放射状排列,比竖直排列视野更宽,五彩的灯光随着节拍闪烁,让游戏更动感,炫目。增加了游戏的炫动性和趣味性。

  4. 显示模块

  得分显示采用84×48点阵液晶NOKIA5110。

  5.各模块与单片机连接

  液晶显示模块通过SPI接口与单片机相连。其RST、CS_、D/C切换、DIN、CLK分别与单片机的P2.0~P2.4相连。

  三、软件设计

  软件设计总思路见图4

 

  中间扇形部分的流水灯根据由对音乐A/D转换值控制,A/D转换值越高,灯点亮的越多。用定时中断扫描A/D转换的值。

  “音乐流水灯”也是根据音乐A/D转换值随机点亮的,每次点亮灯的个数也是随机数。

  脚踏按键接单片机中断口,采取下降沿中断。当中断产生时,判断是否应该踏击,若判断为是,总成绩加10分,否则不加分。

  四、开发环境

  Keil C51开发系统基本知识

  ⒈系统概述

  Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil 的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

  ⒉Keil C51单片机软件开发系统的整体结构

  C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中

  优点

  ⒈Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

  ⒉与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

  五、部分源程序代码

  void main()

  {

  InitADC(); //初始化ADC

  interrupt_init(); //初始化中断

  LCD_init(); //初始化LCD模块

  LCD_clear(); //清屏幕

  SCK=0;//先拉低时钟线

  SCK_COLOR=0;

  while(inter_0!=0)//准备开始函数

  {

  set_parameter();

  display_start();//屏幕显示开始

  }

  LCD_clear(); //清屏幕

  shan_light();//开始闪灯

  EA = 1; //开总中断

  max_color=0; //底下大板的灯

  while(1)

  {

  ff++;

  if(ff>=zero_num)

  {

  ff=0;

  music_flag=1;//有音乐

  aa++;

  LED_go(number_table[aa],LED_table[aa]);//流水灯执行

  if(aa>=31)

  {

  aa=0; //循环31次

  }

  }

  else

  {

  music_flag=0;

  SI0=1;SI1=1;SI2=1;SI3=1;

  SCK=1; //移位

  SCK=0;

  delay(cc); //延时控制流水灯速度

      }

  }

 此文档的视频来自:http://v.eepw.com.cn/video/play/id/13428




关键词: 乐动     游戏系统     单片机    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]