基于51单片机的推箱子游戏内容摘要:

,否则,移入 0. if(IR_timer=7){ IR_DATAL|=1。 IR_DATAL=1。 }else{ IR_DATAL=1。 } } i++。 IR_timer=0。 if(i=32) //i=32时,标志着一个完整的红外数据帧已经接收完,将接收完标志致一 { IR_OK=1。 } }else { i=0。 starflag=1。 IR_OK=0。 IR_timer=0。 } } /***********************获取红外按键值 *************************/ unsigned char scanf_hongwai() { while(1) { if(IR_OK) { if(IR_DATAL | IR_DATAH) { IR_OK=0。 starflag=0。 shengyi=300。 return IR_DATAH。 } } } } /**************** 向 12864 写指令 ******************/ void wzl(unsigned char zl){ lcd_en=0。 lcd_rs=0。 lcd_rw=0。 lcd_shuju=zl。 lcd_en=1。 yanshi(1)。 lcd_en=0。 } /************向 12864 写数据 ***************/ void wshuju(unsigned char shuju){ lcd_en=0。 lcd_rs=1。 lcd_rw=0。 lcd_shuju=shuju。 lcd_en=1。 yanshi(1)。 lcd_en=0。 } /**************文本转到图形模式 并开绘图显示 *********************/ void wenben_to_tuxing() { wzl(60)。 //8位接口、使用扩展指令集 wzl(62)。 //使用扩展指令集 ,开绘图显示 } /******************绘图转到文本模式 并关绘图显示 *************/ void tuxing_to_wenben() { wzl(60)。 //关绘图 wzl(56)。 //转到文本模式 } /*****************图形模式下的清屏 ****************/ void tuxing_qinping() { unsigned char x=128。 unsigned char y=128。 qp0: wzl(y)。 wzl(x)。 qp1: wshuju(0)。 wshuju(0)。 x++。 if(x144){goto qp1。 } x=0。 y++。 if(y160){goto qp0。 } } /*********图形模式下 绘制一条 高亮 *********/ void tuxing_gaoliang(unsigned char n)//第几行 从 1~4 { unsigned x=128,y=128,i=0,j=0。 if(n==1){x=128。 y=128。 } if(n==2){x=128。 y=144。 } if(n==3){x=136。 y=128。 } if(n==4){x=136。 y=144。 } gl0: wzl(y+j)。 wzl(x)。 gl1: wshuju(255)。 wshuju(255)。 i++。 if(i8){goto gl1。 } i=0。 j++。 if(j16) {goto gl0。 } } /***********初始化 12864*********/ void csh12864(){ lcd_psb=1。 //并口 wzl(12)。 //显示开 游标关 wzl(48)。 //基本指令集 wzl(1)。 //清屏 yanshi(1000)。 } /************************写入一个字符串数组 *******************/ void wenben_xiewenben(unsigned char *add) { while(*add !=39。 \039。 ) { wshuju(*add)。 add++。 wshuju(*add)。 add++。 } } /**************菜单 返回被确定的序号 , 按了取消键则返回 255***********/ unsigned char caidan(unsigned char n)//表示选中这一行 { unsigned char i=0。 tuxing_to_wenben()。 wzl(1)。 //清屏 yanshi(100)。 wzl(0x80)。 wenben_xiewenben(caidan_biaoqian0)。 wzl(0x93)。 wenben_xiewenben(caidan_biaoqian1)。 wzl(0x8b)。 wenben_xiewenben(caidan_biaoqian2)。 wzl(0x9b)。 wenben_xiewenben(caidan_biaoqian3)。 wenben_to_tuxing()。 cd: tuxing_qinping()。 tuxing_gaoliang(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。