单片机课程设计之贪吃蛇(带图像及文字显示).doc下载

weixin_39821746 2023-03-19 15:30:17
单片机课程设计报告 设计题目: 液晶显示之贪吃蛇 专业班级: 2009级电信(2)班 组长姓名: 章光洪 1:学号2009221105200147,姓名 章光洪 2:学号2009221105200042,姓名 童磊 3:学号2009221105200168,姓名 胡小武 指导教师: 田茂 设计时间: 2011年12月 " " "一.设计目的及要求: " "掌握单片机一般设计方法,学会将所学单片机知识用之于实践,用所学知识完成一个完整的课程设计 " "掌握液晶显示器的一般工作原理,了解液晶屏各管脚的作用 " "在熟悉单片机编程和液晶显示原理的基础上,设计电路,编写代码来实现液晶屏的文字显示,图片显示,并通" "过相应的算法设计一个贪吃蛇的小游戏 " " " "二.设计原理图: " "如下图所示,设计电路图由单片机最小系统构图加上LCD显示电路,八位独立按键电路和串口下载电路组成, " "在实际设计中,为了灵活运用,各部件大都采用排针连接方式,使用时直接用杜邦线连接即可,方便今后在些" "基础上做其它实验 " " " " " " " "三.基础流程图 " " " " " " " " " " " " " " " " " "四.程序设计代码: " "本次程序设计代码由游戏主程序,LCD显示驱动程序,按键扫描程序三部分组成,其中游戏主程序为游戏控制 " "部分,起主导作用,LCD驱动部分提供了LCD各种显示的驱动代码,方便直接调用,而按键扫描部分则实现了外" "部按键的状态扫描。 " "具体代码如下: " " " "按键扫描:Key.c " "#include "REG52.H" " " " "unsigned char OSScanKey(void) " "{ " "unsigned char Temp; " "unsigned char i; " "P2=0xff; " "Temp=P0; " "for(i=0;i<8;i++) " "{ " "if((Temp&(1<https://download.csdn.net/download/qq_43934844/87506312?utm_source=bbsseo
...全文
3 回复 打赏 收藏 转发到动态 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
《电子线路综合》 课程设计报告 设计课题: 贪吃蛇掌上游戏机 专业班级: 电子信息121班 学生姓名: 指导教师: 设计时间: 2015 .12 . 31 赣南师范学院科技学院数学与信息科学系 《 贪吃蛇掌上游戏机 》 一、设计任务与要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,系统以单片机的c语言的软件设计,系统通过LED点 阵屏为载体显示数据,并用四个输入端表示四个控制键(上下左右)。系统硬件部分由 STC89C52RC单片机,8*8点阵屏, 4个按键,软件部分在keil环境下用c51语言编写,包括游戏初始蛇的段数,以及障碍墙 壁,游戏结束时自动复位。 具体要求: 1、用四个按钮控制蛇的方向,蛇的原始段数为2点,并设置墙壁。 2、蛇的移动速度随着蛇的段数增加而增加,当蛇碰到墙壁和自己的身体时死亡 3、用proteus设计,仿真基于STC89C52RC单片机的8*8点阵贪吃蛇的硬件电路。 4、蛇死亡,游戏结束,系统自动复位。 二、方案设计与论证 图1、系统框图 1、贪吃蛇的移动 当蛇没有吃到任何食物时,每次步进蛇头的将要到的下一个LED灯点亮,而蛇尾那个LED 灯会灭掉,程序设计时只要将蛇尾那点位置的值传给蛇头下一个位置的值,再改变蛇尾 的值即可。而蛇头下一个位置根据蛇头和偏移量来确定,每次上下左右按键决定了蛇步 进的偏移量,只要将蛇头的位置加上偏移量的值即得到新的蛇头位置。当蛇头碰到四周 的墙壁或者碰到自己的身体,小蛇就立即毙命并结束游戏。 2、食物的随机出现 食物的出现是一种随机行为,所以必须做一个随机数,而且食物出现的位置不能与蛇的 位置相同,也不能超出墙外,否则就要重置食物。这里使用程序中的定时计数器的低八 位 TL0的数值,由于TL0不断变化,不同的时间点数值不同,我这里使用的是C语言里的std lib.h文件库,使用里面的随机函数srand(),先利用srand(TL0)获得TL0的数值,再利用 两次rand()%8分别得到食物出现的横纵坐标的位置。 三、原理图及元器件清单 1.单位电路设计 (1)AT89C52单片机最小系统模块 本系统以STC89C52RC为核心加上复位电路和晶振电路组成,本系统选用12M的晶振,使得 单片机有合理的运行速度。起振电容30pF对振荡器的频率高低,振荡器的稳定性和振荡 器的快速性影响较合适复位电路为按键高电平复位。 图2、最小系统模块 (2)8*8点阵屏模块 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化 的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。 图3、8*8点阵屏模块 (3)独立按键模块 4个按键控制蛇的游走方向(上下左右)的功能简介明了 图4、独立键盘 (4)系统总原理图说明 贪吃蛇是一款经典的小游戏,玩家使用方向键控制一条很短(游戏刚开始)的蛇,通 过不断的吃豆豆,蛇身会逐渐的加长,当蛇撞到身体或墙壁时游戏结束 图5、总原理图 2.元件清单 表1、元件清单 "元件名称 "符号 "数值 "单位 "备注 "单价(元/ " " " " " " "个) " "电阻 "R1—R8 "10K "欧姆 "1/4瓦 "8 " "电解电容 "C5 "10 "μF "电解,250v耐压 "2 " "瓷片电容 "C1-4 "103 "PF "50v耐压 "4 " "8*8点阵屏 "LED8*8 "\ "\ "\ "1 " "晶振 "X1 "12 "M "250v耐压 "1 " "单片机 "MUC1 "\ "\ "STC89C52RC "1 " "按键 "Key1-4 "\ "\ "\ "4 " "二极管 "D1-4 "1N34A "\ "正向导通压降约为0.2"4 " " " " " "~0.3V " " 总计: 12 元 四、安装与调试 程序软件编译器使用uVision3。在用uVision3编写单片机程序时,因uVision3往往只能 修改语法上的错误,对于算法上的问题不好检查,而直接下到单片机里又受电路板的限 制而不方便调试,因此这里使用Proteus进行电路仿真。该软件具有模拟电路仿真、数字 电路仿真、单片机及其外围电路组成的系统仿真、RS232动态仿真、I2C调试器、SPI调试 器、键盘和LCD系统仿真的功能,同时有各种虚拟仪器,如示波器、逻辑分析仪、信号发 生器等。 先在Proteus上绘制硬件电路(并未画出驱动电路),电路设计完成后就可以进行仿真。 先双击单片机,把用uVision3编译生成的HEX文件指定为下载文件,点击PLAY键即可进行 仿真。当出现ANALYSER ERRORS时,表示电路有错误,列表中说明了具体的错误,必须要先排错才可以进行仿真 。 软件调试及Proteus仿真完成后就进行硬件的安装。

12,107

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告