基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全

上傳人:仙*** 文檔編號(hào):34630416 上傳時(shí)間:2021-10-22 格式:DOC 頁(yè)數(shù):46 大?。?.65MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全_第1頁(yè)
第1頁(yè) / 共46頁(yè)
基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全_第2頁(yè)
第2頁(yè) / 共46頁(yè)
基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全_第3頁(yè)
第3頁(yè) / 共46頁(yè)

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的打地鼠游戲機(jī)1602和led顯示模擬源碼齊全(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、目錄一、摘要3二、流程圖4三、電路原理5四、操作說(shuō)明7五、演示圖片8六、程序代碼11一、摘要本作品采用STC89C52單片機(jī)作為主控芯片,選取LCD1602液晶作為顯示屏,選用24C02芯片作為外部EEPROM存儲(chǔ)得分等數(shù)據(jù)。 游戲程序應(yīng)用C語(yǔ)言編譯,主要使用函數(shù)為顯示主界面函數(shù),選擇模式函數(shù),隨機(jī)函數(shù),鍵盤掃描函數(shù)和眾多界面函數(shù)。系統(tǒng)配有開機(jī)音樂和led短暫特效;以及關(guān)閉游戲音樂效果。目前配有三個(gè)難度等級(jí),可以隨時(shí)添加。游戲中可以實(shí)時(shí)顯示得分、時(shí)間等數(shù)據(jù)。能夠通過led顯示和LCD1602同時(shí)顯示地鼠的出現(xiàn)。題目要求中所有內(nèi)容均已完成,且加入了很多額外顯示環(huán)節(jié)。二、流程圖三、電路原理1、主控

2、芯片2、地鼠led和3*3鍵盤 3、蜂鳴器和buzzer4、1602環(huán)節(jié)5、24C02芯片四、操作說(shuō)明1. 插上電源后,打開作品左下角的自鎖開關(guān)啟動(dòng)。2. 系統(tǒng)啟動(dòng)后,會(huì)次顯示“welcome”字樣,以及本隊(duì)伍的名稱,并伴隨著短暫的旋律,led閃爍效果。緊接著便進(jìn)入游戲選擇界面,分別是:1.start 2.score 3.exit分別對(duì)應(yīng)著開始游戲,進(jìn)入歷史分?jǐn)?shù)菜單,以及結(jié)束的功能。通過button1 和button2鍵可以進(jìn)行功能選擇的切換和選取,button1用于切換,button2用于確認(rèn)。3. 選擇start選項(xiàng)之后會(huì)有5秒鐘的準(zhǔn)備時(shí)間,之后即可進(jìn)入游戲,游戲分為3個(gè)關(guān)卡,難度依次上升

3、,具體表現(xiàn)為地鼠產(chǎn)生的時(shí)間間隔依次減少,第一次為3秒間隔,往后依次遞減。以9個(gè)燈泡作為地鼠,每次隨機(jī)亮一個(gè)燈泡,游戲者需要在另一個(gè)3*3的矩陣上在燈泡亮的時(shí)間內(nèi)按下相應(yīng)的按鈕即代表?yè)舸蛳鄳?yīng)位置,從而實(shí)現(xiàn)打地鼠的模擬功能。4. 游戲界面的上方有左右兩行,分別對(duì)應(yīng)顯示剩余時(shí)間(每次游戲的時(shí)間為30秒),以及所獲得的分?jǐn)?shù)。下方也有左右兩行,分別對(duì)應(yīng)當(dāng)前所示洞的序數(shù), 5. 若擊中地鼠:正常情況下分?jǐn)?shù)加1,播放提示音1;6. 每關(guān)有(30/地鼠實(shí)現(xiàn)時(shí)間) 個(gè)地鼠(或地雷),擊打完成后若分?jǐn)?shù)大于等于 level*10則進(jìn)入下一關(guān)。7. 游戲失敗時(shí),顯示“GAME OVER”。8. 順利通過3關(guān)或游戲失敗

4、后均導(dǎo)致游戲結(jié)束,此時(shí)顯示你的得分并檢測(cè),若比存儲(chǔ)的紀(jì)錄分?jǐn)?shù)高,則刷新紀(jì)錄并存儲(chǔ)。9. 顯示作者信息及其他相關(guān)信息后回到游戲開始的等待畫面。補(bǔ)充說(shuō)明:1. 本版本中進(jìn)入游戲后只能用按鍵控制,在下一版本中會(huì)添加紅外遙控控制。2. 液晶顯示屏背光環(huán)節(jié)設(shè)置為接電即啟用的狀態(tài),可以換增電池模塊。3. LCD1602顯示圖片上略有難度,下一環(huán)節(jié)將使用12864或者觸屏板進(jìn)行設(shè)計(jì)。4. 蜂鳴器聲音過于單調(diào),下一環(huán)節(jié)將啟用PM50100語(yǔ)音芯片進(jìn)行播報(bào)。五、演示圖片仿真圖片實(shí)際圖片六、程序代碼#include#includesbit RS=P20;sbit EN=P21;sbit Speak=P22;sbi

5、t button1=P23; /選擇模式鍵sbit button2=P24;/確認(rèn)鍵、返回鍵、暫停鍵、下一關(guān)開始鍵sbit Buzzer=P26;sbit hole1=P27;/1號(hào)洞sbit SDA=P11;/24c02數(shù)據(jù)線sbit SCL=P10;/24c02時(shí)鐘線unsigned char Count;/Play_Song使用unsigned char i,j;unsigned char temp;/隨機(jī)數(shù)種子unsigned char result;/隨機(jī)數(shù)臨時(shí)變量unsigned char score;/保存臨時(shí)分?jǐn)?shù)unsigned char tempname2;/保存臨時(shí)分?jǐn)?shù)的名

6、字unsigned char time;/保存時(shí)間(30秒倒計(jì)時(shí))unsigned char num;/1秒鐘判斷變量unsigned char flag1;/1標(biāo)識(shí)得分,led全滅,不進(jìn)行scankey操作unsigned char flag2;/1標(biāo)識(shí)得分Buzzer響方式1unsigned char flag3;/1標(biāo)識(shí)地鼠出洞時(shí)間到,開始下一輪地鼠出洞unsigned char flag4;/1標(biāo)識(shí)關(guān)卡時(shí)間到unsigned char flag5;/1標(biāo)志暫停unsigned char level;/關(guān)卡等級(jí)unsigned char holenum;/保存隨機(jī)生成的洞號(hào)unsigne

7、d char topscore3=0; /保存3個(gè)最高分unsigned char name32=AA,BB,CC; /保存3個(gè)最高分名字 unsigned char code hole=0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/P3口控制的洞unsigned char code str1=Welcome!;/歡迎標(biāo)語(yǔ)unsigned char code str2=1.start 2.score; unsigned char code str3=3.exit;unsigned char code str4=See You! ;/exi

8、t界面unsigned char code str5=Ready?;unsigned char code str6=GO!;unsigned char code str7=Your Soccer: ;/查看分?jǐn)?shù)unsigned char code str8=Time: Score: ;unsigned char code str9= Team: SONGE ;/隊(duì)名unsigned char code str10=Game Over!;unsigned char code str11=You Win! GO?;unsigned char code str12=You Lose!;unsigne

9、d char code str13=top1:;unsigned char code str14=Congratulations;unsigned char code str15=hole: level:;unsigned char code str16=top2:;unsigned char code str17=top3:;unsigned char code str18=Your Name:;/記錄姓名/*1602函數(shù)聲明*/void displayWelcome();/顯示歡迎界面void displayPrepare();/顯示選項(xiàng)void Game();/游戲真正進(jìn)行void di

10、splayGame(); /開始游戲void displayExit(); /顯示退出界面void displaytime();void displayChoose(); /顯示選擇界面void displayover();void scankey();void pause();void displayScoreNext();/*基礎(chǔ)函數(shù)*/void delayms(unsigned int xms)/延時(shí)xms 毫秒unsigned int i,j;for(i=xms; i0; i-)for(j=110; j0; j-);void delayus(unsigned int ums)/延時(shí)um

11、s 個(gè)3微秒unsigned int i,j;for(i=0; iums; i+)for(j=0; j3; j+);void Time_init() /定時(shí)器初始化,11.0592MZ晶振 初始選擇:定時(shí)器0用于播放音樂,定時(shí)器1關(guān)閉 /進(jìn)入游戲:定時(shí)器1用于LCD顯示分?jǐn)?shù)TMOD = 0x11;/16位定時(shí)器退出游戲:定時(shí)器0播放音樂,定時(shí)器1關(guān)閉TH0 = 0xDC;TL0 = 0x00;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1; /開總中斷ET0=1;/開定時(shí)器0中斷ET1=1;/開定時(shí)器1中斷void Time0() interr

12、upt 1/定時(shí)器0中斷播放音樂TH0 = 0xDC;TL0 = 0x00;Count+;/長(zhǎng)度加1void Time1() interrupt 3/定時(shí)器1中斷游戲中顯示分?jǐn)?shù)TH1=(65536-45872)/256;TL1=(65536-45872)%256;/每50ms中斷一次num+;if(num%20=0)/近似1秒鐘time-;if(num=(60-20*level)/出洞結(jié)束,level1:3s; level2:2s; level3:1snum=0;flag3=1;if(time=0)/一關(guān)結(jié)束time=30;flag4=1;/*播放音樂*/unsigned char code

13、SONG = /祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x00, /27個(gè)數(shù)字/0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,/0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,/0x30,0x20,0x30,0x20,0x39,0x10,0x2

14、6,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,/0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,/0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,/0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,/0x20,0x20

15、,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,/0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,/0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,/0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0

16、x20,0x30,0x20,/0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,/0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,/0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,/第217個(gè)數(shù)字 /路邊的野花不要采/0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10

17、,0x18,0x40,0x1C,/0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x00,/0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,/0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0

18、x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,/0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,/0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,/0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,/0x05,0x20,0x

19、10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,/0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,/0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,/0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,;voi

20、d Play_Song(unsigned char i)/i=1 播放 路邊的野花不要采/i=0 播放 祝你平安unsigned char Temp1,Temp2;unsigned int Addr;Count = 0;/中斷計(jì)數(shù)器清0Addr = i * 27; /音樂地址TR0=1;/開啟定時(shí)器0while(1)Temp1 = SONGAddr+; if (Temp1 = 0xFF) /休止符 TR0 = 0; /關(guān)閉定時(shí)器0 delayus(100); else if (Temp1 = 0x00) /歌曲結(jié)束符 TR0=0; /關(guān)閉定時(shí)器0 return; else /正常播放歌曲 Te

21、mp2 = SONGAddr+; TR0 = 1; while(1) Speak = Speak; delayus(Temp1); if(Temp2 = Count) Count = 0; break; void playBuzzer()if(flag2=1) /得分響B(tài)uzzer=0;delayms(30);Buzzer=1;else/*24C02環(huán)節(jié)*/void init()SDA=1;delayms(5);SCL=1;delayms(5);void start()/開始信號(hào)SDA=1;delayms(5);SCL=1;delayms(5);SDA=0;delayms(5);void st

22、op()/停止信號(hào)SDA=0;delayms(5);SCL=1;delayms(5);SDA=1;delayms(5);void respons()/應(yīng)答unsigned char i;SCL=1;delayms(5);while(SDA=1)&(i250)i+;SCL=0;delayms(5);void write_byte(unsigned char date)/寫字節(jié)unsigned char i,temp,j;temp=date;for(i=0; i8; i+)j=0x80&temp;temp=temp1;SCL=0;delayms(5);SDA=(bit)j;delayms(5);S

23、CL=1;delayms(5);SCL=0;delayms(5);SDA=1;delayms(5);unsigned char read_byte()/讀字節(jié)unsigned char i,k;SCL=0;delayms(2);SDA=1;for(i=0; i8; i+)SCL=1;delayms(5);k=(ktopscore0)topscore2=topscore1;/第二名賦給第三名name20=name10;name21=name11;topscore1=topscore0;/第一名賦給第二名name10=name00;name11=name01;topscore0=score;/臨時(shí)

24、變量賦給第一名name00=tempname0;name01=tempname1;else if(scoretopscore1)topscore2=topscore1;/第二名賦給第三名name20=name10;name21=name11;topscore1=score; /臨時(shí)變量賦給第二名name10=tempname0;name11=tempname1;else if(scoretopscore2)topscore2=score; /臨時(shí)變量賦給第三名name20=tempname0;name21=tempname1;/*1602環(huán)節(jié)*/ void wr_com(unsigned ch

25、ar com)/寫指令 delayms(5);RS=0;EN=0;P0=com;delayms(5);EN=1;delayms(5);EN=0;void wr_dat(unsigned char dat)/寫數(shù)據(jù) delayms(5);RS=1;EN=0;P0=dat;delayms(5);EN=1;delayms(5);EN=0;void lcd_init()/1602初始化設(shè)置/delayms(25);wr_com(0x38); /設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口wr_com(0x01); /顯示清0,數(shù)據(jù)指針清0wr_com(0x06); /寫一個(gè)字符后地址加一wr_com(0

26、x0c); /設(shè)置開顯示,不顯示光標(biāo)getRecord(); void displayWelcome()/顯示歡迎界面wr_com(0x80+0x03);delayms(5);for(i=0; i9; i+)wr_dat(str1i);delayus(5);wr_com(0xc0+0x01);delayms(5);for(i=0; i13; i+)wr_dat(str9i);delayus(5);for(i=0; i10; i+)/開關(guān)顯示完成閃爍if(j=0)wr_com(0x08);/關(guān)顯示delayms(100); elsewr_com(0x0c);/開顯示 delayms(100);j

27、=j;Play_Song(0);delayms(100);void displayPrepare()/顯示選項(xiàng)wr_com(0x01);/清屏delayms(5);wr_com(0x80);delayms(5);for(i=0; i15; i+)wr_dat(str2i);delayus(5);wr_com(0x80+0x40);delayms(5);for(i=0; i6; i+)wr_dat(str3i);delayus(5);for(i=0; i9; i+)switch(i%3)case 0:hole1=0;P3=0x00;delayms(100);case 1:hole1=0;P3=0

28、x55;delayms(100); case 2:hole1=1;P3=0xaa;delayms(100); hole1=0;P3=0x00;void displaytime() /游戲過程中刷新顯示時(shí)間、分?jǐn)?shù)wr_com(0x80+0x05); /顯示倒計(jì)時(shí)delayus(5);wr_dat(0x30+time/10);delayus(5);wr_dat(0x30+time%10);delayus(5);wr_com(0x80+0x0e); /顯示分?jǐn)?shù)delayus(5);wr_dat(0x30+score/10);delayus(5);wr_dat(0x30+score%10);delay

29、us(5);wr_com(0xc0+0x0e); /顯示關(guān)卡delayus(5);wr_dat(0x30+(level+1);delayus(5);void recordName()/記錄姓名wr_com(0x01);delayus(5);wr_com(0x80);delayus(5);for(i=0; iZ)i=A;if(button2=0)/確認(rèn),開始輸入第二個(gè)字母tempname0=i;break; i=A;/輸入第二個(gè)字母wr_dat(i);delayus(5);while(1)wr_com(0x80+0x0b);delayus(5);wr_dat(i);delayus(5);if(b

30、utton1=0)delayms(10);if(button1=0)while(!button1);i+;if(iZ)i=A;if(button2=0)/確認(rèn),輸入完畢tempname1=i;break; wr_com(0x0c);/關(guān)閉光標(biāo)delayus(5);displayChoose();void displayover() /顯示一輪游戲結(jié)束畫面TR1=0;/關(guān)閉定時(shí)器1wr_com(0x01);delayms(5);wr_com(0x80);delayms(5);for(i=0; i=(10*(1+level) /不同level分?jǐn)?shù)要求不同,win了if(level=3) /通關(guān)了l

31、evel=0;wr_com(0x80);delayus(5);for(i=0; i15; i+)wr_dat(str14i);delayus(5);wr_com(0xc0);delayus(5);for(i=0; i8; i+)wr_dat(str11i);delayus(5);while(1)if(button2=0)delayms(10);if(button2=0)while(!button2);recordName(); else /升級(jí)了for(i=0; i12; i+) /You Win!wr_dat(str11i);delayus(5);while(1)if(button2=0)d

32、elayms(10);if(button2=0)while(!button2);level+;displayGame();else /You Lose!for(i=0; i9; i+)wr_dat(str12i);delayus(5);while(1)/失敗了if(button2=0)delayms(10);if(button2=0)while(!button2);if(score!=0)/0分不記錄recordName();displayChoose(); void scankey()/掃描按鍵,判斷是否得分 if(hole1=0) & (P3=0x00)/打中地鼠delayms(5);if

33、(hole1=0) & (P3=0x00)while(hole1=0) & (P3=0x00);flag1=1; /標(biāo)志得分不進(jìn)行scankeyflag2=1; /標(biāo)識(shí)得分buzzerscore+;playBuzzer(); hole1=0;P3=0x00;unsigned char random()/隨機(jī)數(shù)temp+;result=rand()%9+1;return result;void displayhole() /hole地鼠顯示holenum=random();if(holenum=0)holenum+;wr_com(0xc0+0x06);delayus(5);wr_dat(0x30

34、+holenum);delayus(5);switch(holenum)case 0:break;case 1: /1號(hào)洞亮hole1=1;P3=hole1;break; case 2: /2號(hào)洞亮hole1=0;P3=hole2;break; case 3: /3號(hào)洞亮hole1=0;P3=hole3;break; case 4: /4號(hào)洞亮hole1=0;P3=hole4;break; case 5: /5號(hào)洞亮hole1=0;P3=hole5;break; case 6: /6號(hào)洞亮hole1=0;P3=hole6;break; case 7:/7號(hào)洞亮 hole1=0;P3=hole7

35、;break; case 8: /8號(hào)洞亮hole1=0;P3=hole8;break; case 9: /9號(hào)洞亮hole1=0;P3=hole9;break; void pause()/暫停/恢復(fù)游戲if(button2=0)/暫停鍵 delayms(5);/去抖動(dòng) if(button2=0) while(!button2);TR1=TR1;flag5=flag5; return;void Gameinit() /游戲開始時(shí)數(shù)據(jù)初始化flag1=0;/scankey標(biāo)識(shí)flag2=0;/蜂鳴器標(biāo)志位flag3=0;/出洞結(jié)束標(biāo)識(shí)flag4=0;/timeover標(biāo)識(shí)time=30;if(l

36、evel=0)/重新開始闖關(guān),則清零得分score=0;wr_com(0x01); /清屏delayus(5);wr_com(0x80);delayus(5);for(i=0; i15; i+)/固定內(nèi)容顯示wr_dat(str8i);delayus(5);wr_com(0xc0);delayus(5);for(i=0; i14; i+)wr_dat(str15i);delayus(5);void Game()/游戲真正進(jìn)行!Gameinit();displaytime();/顯示時(shí)間、分?jǐn)?shù)、洞、關(guān)卡TR1=1;/開啟定時(shí)器1while(1) displayhole();/地鼠出洞while(

37、!flag3)/地鼠出洞時(shí)間 level:3s; level2:2s; level3:1sif(flag5=0)if(flag1=0)scankey();displaytime();pause();/暫停鍵判斷;if(flag2=0)/沒有打中地鼠playBuzzer();if(flag4=1)/時(shí)間到,結(jié)束gamedisplayover();flag1=0;/scankey標(biāo)識(shí)flag2=0;/蜂鳴器標(biāo)志位flag3=0;/出洞結(jié)束標(biāo)識(shí)flag4=0;/timeover標(biāo)識(shí)void displayGame() /開始游戲wr_com(0x01);/清屏delayms(5);wr_com(0x

38、80+0x04);delayms(5);for(i=0; i0; i-) /顯示倒數(shù)5秒wr_dat(0x30+i);for(j=0; j10; j+)delayms(100);wr_com(0xc0+0x06);delayms(5);wr_com(0xc0+0x06);delayms(5);for(i=0; i3; i+) /顯示GOwr_dat(str6i);delayus(5);delayms(200);Game();/開始游戲!void displayScore() /顯示得分記錄getRecord();/從24C02中獲取數(shù)據(jù)wr_com(0x01);delayms(5);wr_co

39、m(0x80);delayms(5);for(i=0; i12; i+) /顯示當(dāng)前得分wr_dat(str7i); delayus(5);wr_dat(0x30+score/10);delayms(5);wr_dat(0x30+score%10);delayms(5);wr_com(0xc0);delayus(5);for(i=0; i5; i+) /第二行顯示top1wr_dat(str13i);delayus(5);wr_com(0xc0+0x06); /top1delayus(5);wr_dat(0x30+topscore0/10);delayus(5);wr_dat(0x30+top

40、score0%10);delayus(5);wr_com(0xc0+0x09);delayus(5);wr_dat(name00);delayus(5);wr_dat(name01);delayus(5);while(1)/進(jìn)入第二頁(yè)鍵if(button2=0) delayms(10);/去抖動(dòng) if(button2=0) while(!button2);displayScoreNext();break; void displayScoreNext()/顯示分?jǐn)?shù)第二頁(yè)wr_com(0x01);delayms(5);wr_com(0x80); delayus(5);for(i=0; i5; i+

41、) /第一行顯示top2wr_dat(str16i);delayus(5);wr_com(0x80+0x06); delayus(5);wr_dat(0x30+topscore3/10);delayus(5);wr_dat(0x30+topscore3%10);delayus(5);wr_com(0x80+0x09); delayus(5);wr_dat(name10);delayus(5);wr_dat(name11);delayus(5);wr_com(0xc0); delayus(5);for(i=0; i5; i+) /第二行顯示top3wr_dat(str17i);delayus(5

42、);wr_com(0xc0+0x06); delayus(5);wr_dat(0x30+topscore6/10);delayus(5);wr_dat(0x30+topscore6%10);delayus(5);wr_com(0xc0+0x09); delayus(5);wr_dat(name20);delayus(5);wr_dat(name21);delayus(5);while(1)/返回鍵if(button2=0) delayms(10);/去抖動(dòng) if(button2=0) while(!button2);break; void displayExit() /顯示退出界面wr_com

43、(0x01); /清屏delayms(5);wr_com(0x80+0x01);delayms(5);for(i=0; i8; i+)wr_dat(str4i);delayus(5);wr_com(0xc0+0x01);delayms(5);for(i=0; i13; i+)wr_dat(str9i);delayus(5);while(1)Play_Song(1);delayms(200);void displayChoose() /顯示選擇界面if(score!=0)/0分不記錄Judge();/判斷并重新排序Record();/記錄到24C02中displayPrepare();wr_com(0x80);delayms(5);wr_com(0x0f);/光標(biāo)閃爍delayms(5);i=0;while(1)if(button1=0)/選擇模式鍵delayms(10);/去抖動(dòng)if(button1=

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!