




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于80528052单片机和单片机和8 81616点阵屏点阵屏 俄罗斯方块游戏板俄罗斯方块游戏板 点击图片进入 Step 1.Step 1.硬件构成硬件构成介绍游戏板所用主要器件及其要实现的功能介绍游戏板所用主要器件及其要实现的功能 1.1 1.1 核心处理器核心处理器-STC80C52RC-STC80C52RC 1.2 8x8 1.2 8x8单色点阵单色点阵-LG12088BH-W-LG12088BH-W 1.3 4-to-16 Line Decoder-MM74HC154 1.3 4-to-16 Line Decoder-MM74HC154 1.4 1.4 四位八段共阳数码管四位八段共阳数码管-LG5641BH-LG5641BH 1.5 1.5 同向锁存器同向锁存器-SN74HC573AN-SN74HC573AN 1.6 1.6 开关按键开关按键 1.7 1.7 焊接实物图:焊接实物图: Step 2.Step 2.仿真软件辅助设计仿真软件辅助设计Proteus 7.10Proteus 7.10仿真模块展示仿真模块展示 Step 3.CStep 3.C程序模块简要说明程序模块简要说明 开发概览 Step 1.硬件构成及功能简介 1.核心处理器 STC80C52RC 8051-based Fullly Static 24MHz CMOS controller with 32 I/O Lines 3 Timers/Counters 8 Interrupts/2 Priority Levels UART Three-Level Program Memory Lock 8K Bytes Flash Memory 128 Bytes On-chip RAM 功能:整个游戏板的控制中心 1.核心处理器 最小系统电路 12MHz晶振 RC复位电路 5V直流电源 Step 1.硬件构成及功能简介 2.8x8单色点阵 LG12088BH-W 主要参数 驱动电流:205mA 颜色:红色 规格:88黑底 数量:2 信号源:由译码器提供16行扫描信号,由锁存器提供8位 显示信号和驱动电流。 功能:提供816个像素点的显示屏,为游戏提供必要的 图形显示模块。 Step 1.硬件构成及功能简介 3.4-to-16 Line Decoder MM74HC154 关键参数 真值表 引脚图 Step 1.硬件构成及功能简介 3.4-to-16 Line Decoder 信号源:P2低四位(P1.0至P1.3),使能E1接P2.7,E2接地 功能:为816点阵提供16行低电平扫描信号。 Step 1.硬件构成及功能简介 4.四位八段共阳数码管 LG5641BH 主要参数: 驱动电流:10mA左右 信号源:用两块锁存器分别控制位选信号和段选信号。 功能:为游戏板提供必要的分数显示模块。 Step 1.硬件构成及功能简介 5.同向锁存器 SN74HC573AN 关键参数 真值表: 引脚图: 驱动性:可驱动数码管和点阵正常点亮 数量:3块 Step 1.硬件构成及功能简介 5.同向锁存器 .作为点阵显示信号输送和驱动的锁存器(一块) 信号源:单片机P3I/O 功能:给点阵送显示信号并提供驱动电流。(LE接地) Step 1.硬件构成及功能简介 5.同向锁存器 .作为P0口拓展和数码管位选、段选信号输送以及驱动 电流提供锁存器(两块)。 信号源:单片机P0口(已上拉10K电阻)。 两个锁存控制端接在单片机P2口。 功能:为数码管送入段选信号和位选信号,提供电流驱动 Step 1.硬件构成及功能简介 6.开关按键 一个自锁开关:用作整个游戏板的开关(带发光二极管)。 六个按键:一个用作复位键,其余五个用作人为控制输入。 信号源:人为击按。 功能:Start/Suspend键:游戏开始和暂停控制 Up键:控制形状逆时针旋转 Left和Right键:控制形状左右移动一格 Down键:控制形状快速下降 Step 1.硬件构成及功能简介 焊接实物图: Step 1.硬件构成及功能简介 点阵和单片机正面点阵和单片机反面 焊接实物图: Step 1.硬件构成及功能简介 数码管正面数码管反面 焊接实物图: Step 1.硬件构成及功能简介 程序运行时状态 Proteus 7.10仿真模块展示 单片机最小系统模块 按键模块 Step 2.仿真软件辅助设计 Proteus 7.10仿真模块展示 点阵显示模块 Step 2.仿真软件辅助设计 Proteus 7.10仿真模块展示 四位数字显示模块 Step 2.仿真软件辅助设计 Proteus 7.10仿真模块展示 仿真运行时Proteus设计文件视频文件 Step 2.仿真软件辅助设计 视频文件 资料简单的操作示意.avi Proteus设计文件 俄罗斯方块-高度仿真版.DSN 详细内容见附件 Step 3.C程序模块简要说明 附件1:Keil工程文件夹 俄罗斯方块keil文件 附件2:C51程序文件 elsfk.c 附件3:C51程序文件word版 俄罗斯方块C程序.doc /* 名称:基于8052单片机和8X16点阵屏俄罗斯方块游戏板 时间:2012年05月23日17时 单位:武汉理工大学信息学院电子1003班 作者:电子那点事(新浪微博账号,欢迎关注) */ #include #include #include #define uchar unsigned char sbit slock=P27;/译码器输出使能端 sbit upkey=P23;/“旋转图形/向上”按键 sbit leftkey=P21;/“左移/向左”按键 sbit rightkey=P22;/“右移/向右”按键 sbit downkey=P20;/“快速下移/向下”按键 sbit duan=P25;/数码管段选信号所用锁存器的锁存允许端 sbit wei=P26;/数码管位选信号所用锁存器的锁存允许端 sbit startsuspendkey=P24;/“开始/暂停/继续”多功能切换按键 Step 3.C程序模块简要说明 /*图形编码机制介绍* 1.由于俄罗斯方块图形的宽度和高度最多只有四位,所以要以4X4为基本单元。 2.硬件采用16行扫描、8位送显示信号 3.各个图形的宽度不一致,所以要人为给图形设定居中位置。 若图形宽度为偶数可直接将其居中,若为奇数则靠左居中。 4.由于图形需要旋转,所以由基本的图形会衍生出另外3种图形。 5.因此每个图形应该给定4个8位的二进制码,并放入一个二维数组里。 6.经典俄罗斯方块游戏里有19种不同形状的方块,包括旋转得到的。 7.数组的第一个下标为该图形的编号 */ uchar code allshape194= 0x00,0x00,0x18,0x18,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x3c, 0x00,0x08,0x18,0x10,0x00,0x00,0x30,0x18,0x00,0x10,0x18,0x08, 0x00,0x00,0x18,0x30,0x00,0x08,0x08,0x18,0x00,0x00,0x38,0x08, 0x00,0x18,0x10,0x10,0x00,0x00,0x20,0x38,0x00,0x10,0x10,0x18, 0x00,0x00,0x08,0x38,0x00,0x18,0x08,0x08,0x00,0x00,0x38,0x20, 0x00,0x00,0x10,0x38,0x00,0x08,0x18,0x08,0x00,0x00,0x38,0x10, 0x00,0x10,0x18,0x10; /*/ Step 3.C程序模块简要说明 /数码管数形显示编码 uchar code number10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /位选信号编码,方便写循环使用 uchar code weima4=0x01,0x02,0x04,0x08; /各个图形的宽度属性,用于判断左移和右移的步格数上限 char shapewidth19=2,1,4,2,3,2,3,2,3,2,3,2,3,2,3,3,2,3,2; /旋转图形时,用于改变图形的编号以实现图形的切换 char shaperotate19=0,2,1,4,3,6,5,8,9,10,7,12,13,14,11,16,17,18,15; /用于存储方块降落后固定显示的图形信息 uchar staticdata20=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xff; /规定一次性消掉的行数的分数奖励机制 uchar rate5=0,1,3,6,10; /*/ Step 3.C程序模块简要说明 /*全局变量声明*/ char y;/方块位置属性:底部下落的高度,y=0时:刚刚出现,y=15时:下落到屏幕最底部 char shapenum;/方块形状属性:从0到18 int left; /方块位置属性:方块偏离居中位置的格数,不同的方块left值的上限不同 int mark; /玩家分数变量 int speed;/方块下落速度变量 int initialspeed;/方块下落的初始速度 int systemspeed;/系统下落速度,此值会随着玩家分数的增加而减小,相应的下落速度会增大 int fastspeed;/当用户按下down键时,方块下落速度为此值 int k;/一个全局循环变量,“帧数”变量 int startcontrol=1;/开始画面状态指示变量,为1时说明程序进入开机欢迎界面 int suspendcontrol=0;/游戏暂停与游戏继续画面状态指示变量,为1说明处在暂停界面。 int randnum;/随机数变量,用于产生随机方块 /*/ Step 3.C程序模块简要说明 /*函数声明*/ void delayms(int);/粗略延时函数 uchar move(uchar,int);/对二进制码实行移位,可为负值 void shapedisplay(); /对点阵扫描一场,对数码管扫描一场,用于显示图形和数字 void keyscan();/对所有键盘扫描一次,并执行相应运算和操作 uchar check(char,int);/用于检查方块将要下落的位置或是将要旋转的位置是否有障碍 uchar shapedisappear();/用于消行,返回一次性消掉的行数 numberdisplay(int amark);/用于四位数字显示 void startimage();/游戏等待开始画面函数 void overimage();/游戏结束后的画面 void dataset();/对数据初始化,为游戏重新开始做准备 /*/ Step 3.C程序模块简要说明 /*主函数*/ void main() char j; startimage();/进入开机,函数内有键盘扫描,只有按下“开始”键会退出函数,否则不退出 dataset();/对数据进行初始化 while(1)/进入大循环 k=speed;/确定显示的帧数 while(k-) keyscan();/扫描键盘,放入高速循环语句中提高键盘的响应速度 ,并检测此时用户是否有相应请求 shapedisplay();/显示图形和数字 y+;/图形下落一格 Step 3.C程序模块简要说明 if(check(shapenum,left)/在没有显示之前判断将要下落的位置是否 有障碍物,如果有障碍就进入到if语句中 if(y=1)/如果y=1;说明方块刚出现就遇到障碍物了 ,这时游戏需结束 overimage();/进入游戏结束画面,此函数内没有键盘扫 描,运行一段时间会自动退出 startimage();/又进入开机画面 dataset();/对数据进行初始化,将前一用户数据清零 else/遇到障碍物,但还不至于图形不能出现 for(j=0;j0;i-) for(j=110;j0;j-); /*/ uchar move(uchar aa,int anum)/移位函数 if(anum=0) aa=(-anum); return aa; /*/ Step 3.C程序模块简要说明 void shapedisplay()/显示函数 uchar j; for(j=y(shapewidthshapenum(shapewidthshaperotateshapenum=0) if(move(allshapeashapenumi,aleft)+staticdatay+i)!=(move(allshapeashapenu mi,aleft)|staticdatay+i) j+; i-; return j;/返回0,说明没有障碍 /*/ Step 3.C程序模块简要说明 uchar shapedisappear()/方块落定后消掉拼满的行,并使没有拼满的行整体下移填补空缺行 char i,j,r=4; for(i=0;i0;j-) staticdataj=staticdataj-1; i-,r-; return 4-r;/函数返回一次性消掉的行的数目 /*/ Step 3.C程序模块简要说明 void startimage()/开机欢迎画面,在没有按键作用的时候会不断执行 uchar i,j; startcontrol=1; while(startcontrol) fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前教育中的幼儿园教育环境建设与管理考核试卷
- 海洋气候对海岸侵蚀影响考核试卷
- 自行车骑行健康风险评估考核试卷
- 石膏在石膏装饰品设计中的创意应用考核试卷
- 纸制品行业品牌营销策略与市场推广考核试卷
- 服务机器人的社交礼仪训练考核试卷
- 稻谷加工技术创新与产业竞争力提升考核试卷
- 智能家居广告媒体资源采购与市场推广协议
- 抖音火花支付实名认证及安全使用协议
- 气凝胶保温管道施工与建筑节能效果评价及认证合同
- (市质检)莆田市2025届高中毕业班第四次教学质量检测试卷语文试卷(含答案解析)
- 瓷砖空鼓装修合同协议
- 中职生职业生涯课件
- 烟台2025年烟台市蓬莱区“蓬选”考选90人笔试历年参考题库附带答案详解
- 2025年浙江省生态环境厅所属事业单位招聘考试备考题库
- 入团考试测试题及答案
- 【语文试卷+答案 】上海市崇明区2025届高三第二学期第二次模拟考试(崇明二模)
- 化妆品公司生产部奖惩管理制度
- 2025年湘教版初中地理七年级下册重点知识点梳理与归纳
- 劳务公司与公司合作协议书
- qw-zl03洁净室区环境监测作业指导书
评论
0/150
提交评论