微机接口实验-51单片机-综合实验·迷宫.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10·综合实验·迷宫座位号:3709300720286 王梦硕 PAGE35 / NUMPAGES35 10·综合实验·迷宫 09300720286 王梦硕 实验内容: 利用LCD12864显示一个迷宫;利用4个按键控制人物在迷宫中行走;如果在规定时间内走出迷宫则胜利,否则失败。 实验原理: 1·LCD12864的使用方法: LCD12864即为128x64像素液晶显示屏。 我们使用的LCD12864共有17个引脚,对外可见13个,功能如下: 引脚符号 引脚名称 功能 A0 (D/I) 数据、指令选择信号 D/I = 1为数据操作; D/I = 0 为写指令或读状态。 A1 (R/W) 读写选择信号 R/W = 1 为读选项; R/W = 0 为写选项。 A2 (CS1/CS2_n) 芯片片选信号 A2 = 0 CS1被选通; A2 = 1 CS2 被选通。 CS_n (E) 读写使能信号 在E下降沿,数据被锁存入LCD12864及其兼容控制驱动器; 在E高电平期间,数据被读出。 RST 复位信号 RST = 0, LCD12864复位。 DB0 ~ DB7 数据总线 LCD12864分为左右两块LCD,分别为CS1和CS2,每块64x64像素。每块LCS分8页,每页8行,共64行,每页64列,共64列: 几种基本指令: a·行设置指令: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 X X X X X X b·页设置指令: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 X X X RAM中从0xB8到0xBF存放页信息。共8页。 c·列设置指令: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 X X X X X X d·读状态指令: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0 Busy 0 ON/OFF RESET 0 0 0 0 Busy:为1内部忙,不能对液晶屏进行操作;为0可进行操作。 ON/OFF:为1显示关闭;为0显示打开。 RESET:为1复位状态;为0正常。 e·写数据指令: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 X X X X X X X X 2·C51的中断实现 定时器的原理与使用方法在实验03·定时器报告中有阐述,这里主要介绍C51的中断函数定义即原理。 interrupt n: 说明函数是终端类型号n的中断服务子程序。具体格式: void int00 (void) interrupt n // 中断类型为n的中断服务子程序,无输入参数 { // 无返回值 decaring variables; statement; } C51编译器支持32个中断函数,终端类型号为0~31。将函数定义为中断函数后,编译器会在对应的终端服务程序入口地址处,生成一条LJMP指令,直接跳转到中断函数。中断函数不能带参数,也不能定义函数返回值,并且程序不能直接调用中断函数。编译器会为中断函数添加保护现场的代码,进入函数时,压栈保护函数中使用了的ACC、B、DPTR和PSW寄存器的值,返回前弹栈恢复。 设计思路: 1·概述                         C c c c B b A a b b a a     D  d      d d                 左半屏用作游戏显示区域,右半屏显示游戏状态:游戏显示区域以2x2像素点阵作为最小显示单位,玩家控制人物以只点亮左上和右下像素的点阵标示以便于识别,移动的最小单位与显示的最小单位相同,即每次移动2像素;游戏状态显示区域由上中下三部分组成,最上方显示作者名字缩写M.S.WANG,中部显示当前游戏状态的提示,下部显示游戏时间条。玩家需要控制人物在时间条充满前通过迷宫到达指定位置(这里成为胜利点)以获胜。 用控制人物的左上像素坐标(p,c,b)描述当前人物所在位置,其中p表示人物所在页,c表示左上像素所在列,b表示左上像素所在位。因为最小显示和移动单位为2x2像素,所以c为0~62的偶数,b为0~6的偶数(不考虑迷宫布局)。 简便起见,下文提到的字节(Byte)均指实际上相邻2个字节,如第1页第2、3列的两个字节。 如右图所示,由粗线框出的相邻两个字节为我们约定的一个字节,Aaaa为当前人物所在位置,是一个2x2像素的点阵,其位置由A给出。向左移动后将到达Bbbb,向上移动后到达Cccc,向下移动后到达Dddd。 2·移动的判断 因为迷宫布局保持不变,只有一个2x2像素不断变化,所

文档评论(0)

186****6410 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档