资源描述:
《智控论文打砖块》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、华南理工大学第七届智能控制设计大赛弹砖块游戏机组别:初级组C题队伍成员:骆英浩柯少杰吴佳祥日期:2012年5月24日星期四一、设计题目:设计一个反弹打砖块游戏机。实现要求1)用二极管点阵或液晶显示屏(如12864)结合按键表示球桌和球拍。其中,界面下方有一条横着的短板,界面上方有一堆固定位置的砖块,小球最初从板面出发,每当小球碰到一次砖块,砖块就会消失,而小球将会镜面反弹,碰到左右的墙壁时,小球也将镜面反弹。小球在下方短板反弹的角度不一定要符合镜面反射原理。2)可以选择难度等级,不同关卡可设定不同界而上方障碍物形状,小球数冃,或者小球速度。3)设定战绩统计时,
2、可输入简单的字母,用于记录选手名称,掉电数据不消失。4)添加背景音乐,碰撞音效以及其他相应语音提示。二、设计方案:利用单片机最小板模块、加独立键盘键盘和一个12864液晶既可以完成所需功能。三、电路图:原理图:ft怡阳加实物图:四、相关程序设计:程序设计包括四个方面:液晶基础画点画线程序部分、游戏基础算法部分、键盘控制部分、其他显示部分。主程序如下:#inelude#inelude#defineuintunsignedint#defineucharunsignedchar#defineSTART1#defineSTOP-
3、1#defineL2#defineR-2#defineNO0#defineUP1#defineDOWN-1#defineLU2#defineLD-2#defineRU3#defineRD-3#defineOUT0sbitRS=P2A5;sbitWRD=P2A6;sbitE=P2A7;sbitPSB=P2A4;sbitRES=P2A2;sbitspeak=P1A2;〃蜂鸣器sbitsda=P3A6;//l2c存储数据的位声明sbitscl=PlA5;//l2c存储数据的位声明sbitleft=P3A2;sbitright=P3A4;sbitstop=P3A5;s
4、bitstart=P3A3;/*ucharDaZhuanKuai[]={〃打0x10,0x10,OxFF,0x10,0x90,0x00,0x08,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x08,0x00,0x68,0xC6,0xFF,0x01,0x00,0x00,0x00,0x00,0x68,0xC6,0xFF,0x00,0x00,0x00,0x00,0x00,〃砖0x10,0x10,0x90,0x70,0x30,0x10,0x10,0x80,0x80,0x68,0x68,0x86,0x86,0x8&0x88,0x80,0x04
5、,0x02,OxOf,0x09,0x09,0x0^0x00,0x34,0x27,0x24,0x44,0x64,0xd4,0x0c,0x00,0x00,〃块0x40,0x40,0xf8,0x40,0x40,0x00,0x80,0x90,0x90,0x90,Oxfe,0x90,0x90,OxfO,0x80,0x80,0x10,0x08,0x07,0x20,0x01,0x80,0x40,0x20,0x30,0x0c,0x03,0x0c,0x30,0x60,0x80,0x80}*/ucharcodeini_data[];ucharcodelevel_data[];uc
6、harcodepoint_data[];ucharcodepicO[];ucharcodepicl[];ucharcodepic2[];ucharcodepic3[];ucharcodepic4[];ucharxdatapic_temp[1024];ucharxdatalevel_temp[60];ucharxdatapoint_temp[56];ucharcodeini_data[]={"打砖块”H查看记录LnH开始START""选择难度Rn};ucharcodelevel_data[]={iiii"0""当前难度”IIII};ucharcodepoint_
7、data[]={iiii"你的得分""游戏结束”"0000n};ucharcodepicO[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
8、,0x00,0x00,0x00,0x0