freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的貪食蛇設(shè)計(jì)(留存版)

2025-09-13 16:30上一頁面

下一頁面
  

【正文】 JMP RI_OVER DOWN: 。依次取出各節(jié)蛇身與食物坐標(biāo)進(jìn)行比較 ,重疊則重放食物 24 MOV A,B CJNE A,FOOD_Y,PD_FOOD MOV A,13 ADD A,PUT_FOOD 。存入 R2 SUBB_1_X: MOV A,R2 SUBB A,17 。================================================================================================ 。初始化 Y 坐標(biāo)的高 8位和低 8 位 MOV L_Y_8,00H CJNE R2,0,COUNT_Y_H 。從蛇頭開始顯示 MOV R1,SNAKE_TOU_Y GAME_DISP_20: MOV A,R0 。向左鍵按下則置方向標(biāo)志 MOV YY,0 JMP READKEY_OUT KEY_RIGHT: JNB ,PD_LEFT_RIGHT2 。================================================================================================ 。等待 400MS 到 MOV TIME_400,TIME 。啟停標(biāo)志位為 0 表示啟停鍵沒按下繼續(xù)等待 CLR B_GAME_ON_OFF 。INT0 負(fù)邊緣觸發(fā) CLR IT1 。20*20MS=400MS 移動(dòng)一次 CLR B_PASS START: MOV TIME_400,TIME MOV SNAKE_TOU_X,8 。啟停標(biāo)志位 BT0 BIT 01H 。方向 Y 坐標(biāo)暫存 X EQU 35H 。 INT0 為啟停鍵 。 INT1 為紅外接收 。方向 X 坐標(biāo) Y EQU 36H 。定時(shí)器 0 中斷標(biāo)志 B_KEYTEST BIT 02H 。剛進(jìn)入游戲模式時(shí)蛇為三節(jié) ,初始 X,Y 坐標(biāo) MOV SNAKE_TOU_Y,8 MOV SNAKE_SHEN1_X,7 MOV SNAKE_SHEN1_Y,8 MOV SNAKE_SHEN2_X,6 MOV SNAKE_SHEN2_Y,8 MOV R0,SNAKE_SHEN2_X 。INT1 邊緣觸發(fā)方式 MOV TMOD,01H 。清除啟停標(biāo)志位 SHEXIN: CALL DISP_SHEXIN 。重送初值 CLR INC PUT_FOOD 。INTO 中斷服務(wù)子程序 啟 , 停 。判斷是否為向右鍵按下 JMP READKEY_OUT PD_LEFT_RIGHT2: MOV A,X CJNE A,0,READKEY_OUT MOV XX,1 。取 X 坐標(biāo) ORL A,0F0H 。Y 坐標(biāo)為 0 則不要調(diào)整 JMP COUNT_Y_OUT COUNT_Y_H: CLR C MOV A,8 SUBB A,R2 JNC COUNT_Y_L 。判斷蛇是否吃到食物 吃到食物 B_SNAKE_FOOD=1 。得到的余數(shù)不能大于 15 DEC R2 JNC SUBB_1_X CJNE R2,1,R2_FOOD_X INC R2 R2_FOOD_X: MOV FOOD_X,R2 。重放食物時(shí)修正隨機(jī)數(shù) MOV PUT_FOOD,A CJNE A,255,PUT_FOOD_COUNT 。收到 02H 則向下 CJNE A,02H,LEFT MOV A,Y CJNE A,0,LEFT MOV X,0 MOV Y,1 JMP RI_OVER LEFT: 。等待結(jié)果碼結(jié)束 CALL DEL_014 。收到 04H 則向右 CJNE A,04H,RI_OVER MOV A,X CJNE A,0,RI_OVER MOV X,1 MOV Y,0 RI_OVER: RETI 27 。================================================================================================ 。得出食物 Y 坐標(biāo) MOV A,R3 。食物的 X 坐標(biāo)是否與蛇頭 X 坐標(biāo)重合 MOV A,FOOD_Y CJNE A,SNAKE_TOU_Y,SNAKE_FOOD_OUT 。大于 8 則調(diào)整 MOV A,R2 SUBB A,8 MOV R2,A 。X 坐標(biāo)輸出 INC R0 。去抖 ANL A,0F0H RET 。INTO 中斷服務(wù)子程序 CLR EX0 JB ,OUT CALL DEL_10MS JB ,OUT SETB B_GAME_ON_OFF 。調(diào)用蛇身移動(dòng)子程序==================1 CALL SNAKE_DED 。清除啟停標(biāo)志位 GOTO_GAME: CLR B_PASS MOV DPTR,6553620xx0 。開定時(shí)器 0 SETB ES 。紅外接收寄存器 MOV IR_COM2,00H MOV PUT_FOOD,0 。蛇死亡標(biāo)志位 B_SNAKE_FOOD BIT 04H 。蛇頭 X 坐標(biāo) 存儲(chǔ)單元 SNAKE_TOU_Y EQU 54H 。================================================================================================= 。硬件 : P0,P2 顯示碼輸出 行 , 接 74LS154 為點(diǎn)陣列掃描信號(hào) 。400 延時(shí) XX EQU 33H 。位定義區(qū) 。初始化 蛇總長 20 節(jié) 。開 INT0 中斷 SETB EX1 。============================================================================================== SNAKE: CALL DISP_SNAKE 。再次判斷是否有鍵按下 JMP NOKEY XX_X_YY_Y: 。T0 中斷服務(wù)子程序 重送初值 置標(biāo)志位 。向下鍵按下 則置方向標(biāo)志 MOV XX,0 JMP READKEY_OUT KEY_LEFT: JNB ,PD_LEFT_RIGHT1 。蛇顯示子程序 。 Y 坐標(biāo)計(jì)算子程序 Y 坐標(biāo)大于 8 的存在 H_Y_8 中 , 小于 8 的存在 L_Y_8 中 。判斷 蛇頭是否撞到上邊的墻 CJNE A,SNAKE_TOU_Y,SNAKE_DED_ZISHEN JMP SNAKE_DED_OUT SNAKE_DED_ZISHEN: 。整數(shù)部分存入 A,便于下一次除 MOV A,2 MUL AB 。將蛇頭的坐標(biāo)轉(zhuǎn)入 R0,R1 MOV R1,SNAKE_TOU_Y PD_FOOD: MOV A,R0 MOV B,R1 INC R0 INC R1 CJNE R0,53H,PD_FOOD_1 。讀串口 內(nèi)容 CJNE A,00H,UP SETB B_GAME_ON_OFF 。等待 I2_0: CALL DEL_014 DJNZ R2,I2_0 JB IRIN,I1 。=============================================================================================== IR_IN: CLR EA 。每過一關(guān)則提高一點(diǎn)速度 MOV TIME,A
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1