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

正文內(nèi)容

基于單片機的貪食蛇設計-預覽頁

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

下一頁面
 

【正文】 標暫存器 SNAKE_TAIL_Y EQU 28H 。蛇的節(jié)數(shù) PUT_FOOD EQU 2CH 。400 延時 XX EQU 33H 。方向 Y 坐標 SNAKE_TOU_X EQU 40H 。蛇身第一節(jié) Y 坐標 存儲單元 SNAKE_SHEN2_X EQU 42H 。Y 坐標小于 8 的寄存器 IR_COM1 EQU 39H 。位定義區(qū) 。有鍵按下標志位 B_SNAKE_DED BIT 03H 。=============================================================================================== 。定時器 T0 中斷 ORG 13H JMP IR_IN 。初始化 蛇總長 20 節(jié) 。第三節(jié)之后的蛇身 X,Y 坐標清0 CLE_SNAKE_SHEN_X_17: INC R0 MOV R0,0 CJNE R0,53H,CLE_SNAKE_SHEN_X_17 MOV R0,SNAKE_SHEN2_Y CLE_SNAKE_SHEN_Y_17: INC R0 MOV R0,0 CJNE R0,67H,CLE_SNAKE_SHEN_Y_17 MOV IR_COM1,00H 。第一顆食物 X,Y 坐標 MOV FOOD_Y,13 MOV SNAKE_CHANG,3 。蛇死亡標志位初始化 CLR B_SNAKE_FOOD 。開 INT0 中斷 SETB EX1 。定時器 0 工作方式 SETB ET0 。SMOD=0 波特率不倍增 MOV TH1,0FDH 。堆棧初始化 JB B_PASS,GOTO_GAME 。============================================================================================== SNAKE: CALL DISP_SNAKE 。啟停鍵按下顯示 PLAYGAME 進入游戲 JNB B_GAME_ON_OFF,SHEXIN CLR B_GAME_ON_OFF 。============================================================================================== 。清除 T0 中斷標志 CALL KEYTEST 。再次判斷是否有鍵按下 JMP NOKEY XX_X_YY_Y: 。對移動次數(shù)進行計數(shù)從而產(chǎn)生隨機碼 CALL SNAKE_MOVE 。判斷是否吃到食物子程序==============3 JNB B_SNAKE_FOOD,MAINDISP CALL SNAKE_ZHANGCHANG 。啟 停鍵在游戲中按下則結束顯示GAMEOVER JNB B_GAME_ON_OFF,GAMEOVER 。T0 中斷服務子程序 重送初值 置標志位 。================================================================================================ GAME_ON_OFF: 。鍵盤測試子程序 有鍵按下則 B_KEYTEST=1 。=============================================================================================== READKEY_X_Y: JNB ,PD_UP_DOWN1 。向下鍵按下 則置方向標志 MOV XX,0 JMP READKEY_OUT KEY_LEFT: JNB ,PD_LEFT_RIGHT1 。向右鍵按下則置方向標志 MOV YY,0 READKEY_OUT: MOV A,P1 。=============================================================================================== SNAKE_MOVE: MOV R1,SNAKE_CHANG MOV A,SNAKE_TOU_X ADD A,X 。蛇頭 Y 坐標加上 方向 Y 坐標 MOV R0,SNAKE_TOU_Y MOVE_CHANGE_Y: 。蛇顯示子程序 。高位為鍵盤因此屏蔽掉 MOV P1,A 。計算出 Y坐標的高 8位和低8 位 MOV P0,H_Y_8 。延時 MOV P0,00H MOV P2,00H CJNE R0,53H,GAME_DISP_20 。 Y 坐標計算子程序 Y 坐標大于 8 的存在 H_Y_8 中 , 小于 8 的存在 L_Y_8 中 。判斷 Y坐標是否大于 8 CLR C 。Y 坐標小于 8則執(zhí)行下面的操作 SETB C MOV A,00H COUNT_Y_L_1: 。================================================================================================ SNAKE_DED: SETB B_SNAKE_DED MOV A,1 。判斷 蛇頭是否撞到上邊的墻 CJNE A,SNAKE_TOU_Y,SNAKE_DED_ZISHEN JMP SNAKE_DED_OUT SNAKE_DED_ZISHEN: 。================================================================================================ SNAKE_FOOD: CLR B_SNAKE_FOOD MOV A,FOOD_X CJNE A,SNAKE_TOU_X,SNAKE_FOOD_OUT 。吃到食物子程序 增加一節(jié) 并重新放食 。放新的食物 PUT_FOOD_COUNT: 。整數(shù)部分存入 A,便于下一次除 MOV A,2 MUL AB 。將算得的隨機數(shù)存入食物的 X坐標 。余數(shù)乘以 2 MOV R2,A 。y 坐標不能大于 16 DEC R2 JNC SUBB_1_Y CJNE R2,0,R2_FOOD_Y 。將蛇頭的坐標轉入 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 。修正后的隨機數(shù)不能等于 255,等于則減 1 DEC A MOV PUT_FOOD,A JMP PUT_FOOD_COUNT PUT_FOOD_OUT: RET 。每過一關則提高一點速度 MOV TIME,A INC PASS_NUM 。=============================================================================================== 。讀串口 內(nèi)容 CJNE A,00H,UP SETB B_GAME_ON_OFF 。收到 03H 則向左 CJNE A,03H,RIGHT MOV A,X CJNE A,0,RIGHT MOV X,1 MOV Y,0 JMP RI_OVER RIGHT: 。=============================================================================================== IR_IN: CLR EA 。轉入工作寄存器區(qū) 1 MOV P0,00H 。等待 I2_0: CALL DEL_014 DJNZ R2,I2_0 JB IRIN,I1
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1