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

正文內(nèi)容

單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告-基于mcs-51單片機(jī)的俄羅斯方塊游戲設(shè)計(jì)-資料下載頁(yè)

2024-11-17 10:17本頁(yè)面

【導(dǎo)讀】,先在仿真機(jī)的LED上顯示自己學(xué)號(hào)的后6位,再進(jìn)行相應(yīng)內(nèi)容驗(yàn)收。盤(pán)輸入,能夠完美實(shí)現(xiàn)俄羅斯方塊的基本游戲內(nèi)容,界面優(yōu)美,最后可以顯示分?jǐn)?shù)和級(jí)別,如果游戲失敗顯示“GAMEOVER”,最后顯示本人姓名“YANGXIN”和學(xué)號(hào)“202020880”。如果有鍵按下,程序?qū)⒏鶕?jù)按下的鍵來(lái)改變圖形存儲(chǔ)區(qū)的值,同時(shí)程序?qū)⑴袛鄨D。容,游戲重新開(kāi)始。QH12864T液晶顯示器一共有128*64個(gè)像素點(diǎn),本程序中每個(gè)像素點(diǎn)用一個(gè)坐標(biāo)表示,對(duì)于顯示類(lèi)的基本操作是任意點(diǎn)亮一個(gè)點(diǎn),熄滅一個(gè)。方塊,根據(jù)偽隨機(jī)數(shù)將這四個(gè)小方塊對(duì)應(yīng)的值裝入RAM固定的區(qū)域內(nèi)。設(shè)置循環(huán)變量數(shù)R2=128,即總共要掃描128次,每一次循環(huán)過(guò)程中檢測(cè)此行是否已滿(mǎn),同時(shí)將此行上面RAM的內(nèi)容按每列依次下移,下移完之后重新令R2=0,又。此行不全為零時(shí)只需令R2=R2+1,直到R2=128消層過(guò)程結(jié)束。余數(shù)是l存入R2,及時(shí)用商和余數(shù)建立坐標(biāo)系。此時(shí)若以此為旋轉(zhuǎn)中心的圖形需要旋轉(zhuǎn),旋轉(zhuǎn)完之后將x2加上R1將y2加上R2,然后將x2乘以64再加上y2。

  

【正文】 ,拋棄它 if(Game_Stop==1) { if(Game_Level==0) { Game_Level=9。 Show_num(13,11,9)。 //顯示等級(jí)水平 Game_Speed=MIN_SLOW_SPEED/(Game_Level+1)。 //根據(jù)水平確定速度 } else { Game_Level。 Show_num(13,11,Game_Level)。 //顯示等級(jí)水平 Game_Speed=MIN_SLOW_SPEED/(Game_Level+1)。 //根據(jù)水平確定速度 } } else { 29 Now_Speed=1。 //調(diào)整位置后,加速下降 DSpeed=Now_Speed。 } }break。 case Change_Shape: { Key=Nothing。 //信息已被處理,拋棄它 if(Game_Stop==1) { if(Game_Level==9) { Game_Level=0。 Show_num(13,11,0)。 //顯示等級(jí)水平 Game_Speed=MIN_SLOW_SPEED/(Game_Level+1)。 //根據(jù)水平確定速度 } else { Game_Level++。 Show_num(13,11,Game_Level)。 //顯示等級(jí)水平 Game_Speed=MIN_SLOW_SPEED/(Game_Level+1)。 //根據(jù)水平確定速度 } } else { if(!Change_Shape_Anti()) { Show_shape(xx,yy,This_shape,0)。 //刪除當(dāng)前形狀 This_shape=shape[This_shape].next。 Show_shape(xx,yy,This_shape,1)。 //顯示變化后的形狀 } } }break。 case Game_Star: { Key=Nothing。 //信息已被處理,拋棄它 ClrGraphic()。 Show_Image(35,15,94,114,0)。 Init_GamePlatform()。 Game_Stop=0。 }break。 case Game_Pause: 30 { Key=Nothing。 //信息已被處理,拋棄它 Game_Stop=!Game_Stop。 } default:Now_Speed=Game_Speed。 } } include include define Nothing 100 //端口定義 sbit C1 = P2^4。 sbit C2 = P2^5。 sbit C3 = P2^6。 sbit C4 = P2^7。 sbit R1 = P2^0。 sbit R2 = P2^1。 sbit R3 = P2^2。 sbit R4 = P2^3。 uchar Key=Nothing。 //鍵盤(pán)緩沖寄存器(公有數(shù)據(jù)) uchar Fn_Key。 //功能鍵 //********************************************************************* //= 函數(shù)原型 : void KEYPAD_Scan(char* const Key, char* const Fn_Key) //= 功 能 : 掃描鍵盤(pán) //= 參 數(shù) : 普通鍵 New_Key,功能鍵 New_FuncKey,緩存器的指針 //= 返 回 值 : //= 函數(shù)性質(zhì):私有函數(shù) //********************************************************************** void KEYPAD_Scan(char* const Key, char* const Fn_Key) { C1 = 0。 if (R1 == 0) *Fn_Key = 39。o39。 //ON鍵 if (R2 == 0) *Key = 0。 if (R3 == 0) *Fn_Key = 39。=39。 if (R4 == 0) *Key = 39。+39。 31 C1 = 1。 C2 = 0。 if (R1 == 0) *Key = 1。 if (R2 == 0) *Key = 2。 if (R3 == 0) *Key = 3。 if (R4 == 0) *Key = 39。39。 C2 = 1。 C3 = 0。 if (R1 == 0) *Key = 4。 if (R2 == 0) *Key = 5。 if (R3 == 0) *Key = 6。 if (R4 == 0) *Key = 39。*39。 C3 = 1。 C4 = 0。 if (R1 == 0) *Key = 7。 if (R2 == 0) *Key = 8。 if (R3 == 0) *Key = 9。 if (R4 == 0) *Key = 39。/39。 C4 = 1。 } //********************************************************************* //= 函數(shù)原型 : void KEY_Update() //= 功 能 : 鍵盤(pán)緩沖寄存器更新程序 . 普通鍵 Key, 功能鍵 Fn_Key //= 參 數(shù) : //= 返 回 值 : //= 函數(shù)性質(zhì):公有函數(shù) //********************************************************************** void KEY_Update() { static uchar delay=20。 //去抖動(dòng)延時(shí) static bit delaying=0。 //標(biāo)識(shí)是否正在延時(shí) if(delaying==0) { if(Key==Nothing) //如果 Key緩存器中的數(shù)據(jù)未被讀取,則不掃描鍵盤(pán) { KEYPAD_Scan(amp。Key,amp。Fn_Key)。 //掃描鍵盤(pán) if(Key!=Nothing) { 32 delaying=1。 Key=Nothing。 } } } else { if(delay==0) //延時(shí)結(jié)束 { KEYPAD_Scan(amp。Key,amp。Fn_Key)。 //讀取鍵盤(pán) delay=20。 delaying=0。 } else delay。 //延時(shí)減一 } } include include include include void main(void) { SCH_Init_T2()。 Init_LCD()。 Init_Game()。 SCH_Add_Task(Fangkuai_down, 0, 3)。 SCH_Add_Task(KEY_Update, 1, 3)。 SCH_Add_Task(Fangkuai_Control, 2, 5)。 SCH_Start()。 while(1) { 33 SCH_Dispatch_Tasks()。 } } include include define SCH_MAX_TASKS 5 typedef data struct //定義任務(wù)結(jié)構(gòu) { void (code * pTask)(void)。 uint Delay。 uint Period。 uchar RunMe。 }sTask。 sTask SCH_tasks_G[SCH_MAX_TASKS]。 //定義任務(wù)數(shù)據(jù)結(jié)構(gòu) //任務(wù)開(kāi)始--------------------- void SCH_Start(void) { EA = 1。 } //系統(tǒng)進(jìn)入空閑模式,等待下一次刷新--------- void SCH_Go_To_Sleep() { PCON |= 0x01。 } //任務(wù)添加--------------------- uchar SCH_Add_Task(void (code * pFunction)(),const uint DELAY,const uint PERIOD) { uchar Index = 0。 while ((SCH_tasks_G[Index].pTask != 0) amp。amp。 (Index SCH_MAX_TASKS)) { 34 Index++。 //查找空的任務(wù)指針 } if (Index == SCH_MAX_TASKS) { return 0。 } SCH_tasks_G[Index].pTask = pFunction。 SCH_tasks_G[Index].Delay = DELAY。 SCH_tasks_G[Index].Period = PERIOD。 SCH_tasks_G[Index].RunMe = 0。 return Index。 } //任務(wù)刪除----------------------- bit SCH_Delete_Task(const uchar TASK_INDEX) { if (SCH_tasks_G[TASK_INDEX].pTask == 0) { return 0。 } SCH_tasks_G[TASK_INDEX].pTask = 0x0000。 SCH_tasks_G[TASK_INDEX].Delay = 0。 SCH_tasks_G[TASK_INDEX].Period = 0。 SCH_tasks_G[TASK_INDEX].RunMe = 0。 return 0。 } //任務(wù)調(diào)度--------------------- void SCH_Dispatch_Tasks(void) { uchar Index。 35 for (Index = 0。 Index
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1