微處理機(jī)應(yīng)用.ppt_第1頁
微處理機(jī)應(yīng)用.ppt_第2頁
微處理機(jī)應(yīng)用.ppt_第3頁
微處理機(jī)應(yīng)用.ppt_第4頁
微處理機(jī)應(yīng)用.ppt_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、微處理機(jī)應(yīng)用,定時(shí)炸彈 組員:姚力瑋 江鴻錡 林永泓 黃朝昇,定時(shí)炸彈,讓同學(xué)自由設(shè)定炸彈密碼,讓同學(xué)們破解出正確的數(shù)字;且在限定時(shí)間內(nèi),配合緊張刺激的音樂來完成任務(wù),否則就. !Game Over! 定時(shí)炸彈理念可分為兩部分: 1:猜數(shù)字 2:倒數(shù)計(jì)時(shí)器,猜數(shù)字,在中猜出一正確數(shù)字,並將結(jié)果輸出如下: 其中:、:代表以及的數(shù)量多寡 :代表數(shù)字以及位置都猜對 :代表數(shù)字猜對但位置放錯(cuò) 例:假設(shè)正確數(shù)字為 但猜成則顯示(不為) 亦顯示(不為) 則顯示 亦顯示 則顯示 亦顯示 則顯示 而則表示完全沒猜中數(shù)字,倒數(shù)計(jì)時(shí)器,若將時(shí)間限定為3分鐘,也就是180秒,於遊戲啟動時(shí),逐一遞減秒數(shù)直至0為止,如

2、:180 179 178 177 . 0,但是不顯示於七段顯示器上,設(shè)定為內(nèi)建的時(shí)間,音樂隨著時(shí)間的減少而逐漸緊湊,在規(guī)定的時(shí)間內(nèi)尚未能解出密碼時(shí),會聽見失敗的音效;反之,解出密碼能聽到光榮的音樂。倘若重新啟動遊戲時(shí),則時(shí)間也就會從3分鐘開始計(jì)數(shù),直到0或是結(jié)束遊戲而終止。,目前進(jìn)度,結(jié)合上次的猜數(shù)字,這次我們加入了音效,在輸入每個(gè)按 鍵時(shí)會發(fā)出聲響並讓使用者確認(rèn)目前的輸入值。在輸入四 位錯(cuò)誤之?dāng)?shù)字後會發(fā)出類似mi的頻率並顯示出 ,而在輸入正確之四位數(shù)字後會發(fā)出類似do的頻率並顯示 出。,#include At898252.h#define KEYPAD P1#define SPK P2_7#

3、define DO 65536-500000/523#define MI 65536-500000/659#define SI 65536-500000/988unsigned int T;char table17=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f, 0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x80;char digit4=0 x0e,0 x0d,0 x0b,0 x07;char pswd4=5678; /設(shè)定密碼void delay_ms(unsigned int DT)

4、/crystal=12MHz delay DT ms unsigned int i,j; for(i=0;iDT;i+) for(j=0;j120;j+);,char check_key() / Q : no keyin, if keyin :16key = 0-F /code char k_code16=0123456789ABCDEF; code char k_code16=D#0*C987B654A321; KEYPAD=0 x7f; if (KEYPAD=0 x77) return k_code0; if (KEYPAD=0 x7b) return k_code1; if (KEYPA

5、D=0 x7d) return k_code2; if (KEYPAD=0 x7e) return k_code3; KEYPAD=0 xbf; if (KEYPAD=0 xb7) return k_code4; if (KEYPAD=0 xbb) return k_code5; if (KEYPAD=0 xbd) return k_code6; if (KEYPAD=0 xbe) return k_code7; KEYPAD=0 xdf; if (KEYPAD=0 xd7) return k_code8; if (KEYPAD=0 xdb) return k_code9; if (KEYPA

6、D=0 xdd) return k_code10; if (KEYPAD=0 xde) return k_code11; KEYPAD=0 xef; if (KEYPAD=0 xe7) return k_code12; if (KEYPAD=0 xeb) return k_code13; if (KEYPAD=0 xed) return k_code14; if (KEYPAD=0 xee) return k_code15; return Q;,char wait_a_key() char k; /* keyin = 0-15 */ while(1) k = check_key(); if(

7、k != Q ) break; return k;void timer0 (void) interrupt 1/interrupt NO.1 TH0 = T/256; TL0 = T%256; SPK = SPK; /反相delay(int n) int i; for(i=0;in*1000;i+);sound(int x, int y) T = x; TR0=1; delay(y); TR0=0; SPK = 1; delay(1);,void main(void) char kk4; int DT=1000; while(1) kk0 = wait_a_key(); if(kk0=0) P

8、0=table0;P2=digit0;sound(SI,5); if(kk0=1) P0=table1;P2=digit0;sound(SI,5); if(kk0=2) P0=table2;P2=digit0;sound(SI,5); if(kk0=3) P0=table3;P2=digit0;sound(SI,5); if(kk0=4) P0=table4;P2=digit0;sound(SI,5); if(kk0=5) P0=table5;P2=digit0;sound(SI,5); if(kk0=6) P0=table6;P2=digit0;sound(SI,5); if(kk0=7)

9、P0=table7;P2=digit0;sound(SI,5); if(kk0=8) P0=table8;P2=digit0;sound(SI,5); if(kk0=9) P0=table9;P2=digit0;sound(SI,5); if(kk0=A) P0=table10;P2=digit0;sound(SI,5); if(kk0=B) P0=table11;P2=digit0;sound(SI,5); if(kk0=C) P0=table12;P2=digit0;sound(SI,5); if(kk0=D) P0=table13;P2=digit0;sound(SI,5); if(kk

10、0=#) P0=table14;P2=digit0;sound(SI,5); if(kk0=*) P0=table15;P2=digit0;sound(SI,5); delay_ms(DT);,kk1 = wait_a_key(); if(kk1=0) P0=table0;P2=digit1;sound(SI,5); if(kk1=1) P0=table1;P2=digit1;sound(SI,5); if(kk1=2) P0=table2;P2=digit1;sound(SI,5); if(kk1=3) P0=table3;P2=digit1;sound(SI,5); if(kk1=4) P

11、0=table4;P2=digit1;sound(SI,5); if(kk1=5) P0=table5;P2=digit1;sound(SI,5); if(kk1=6) P0=table6;P2=digit1;sound(SI,5); if(kk1=7) P0=table7;P2=digit1;sound(SI,5); if(kk1=8) P0=table8;P2=digit1;sound(SI,5); if(kk1=9) P0=table9;P2=digit1;sound(SI,5); if(kk1=A) P0=table10;P2=digit1;sound(SI,5); if(kk1=B)

12、 P0=table11;P2=digit1;sound(SI,5); if(kk1=C) P0=table12;P2=digit1;sound(SI,5); if(kk1=D) P0=table13;P2=digit1;sound(SI,5); if(kk1=#) P0=table14;P2=digit1;sound(SI,5); if(kk1=*) P0=table15;P2=digit1;sound(SI,5); delay_ms(DT);,kk2 = wait_a_key(); if(kk2=0) P0=table0;P2=digit2;sound(SI,5); if(kk2=1) P0

13、=table1;P2=digit2;sound(SI,5); if(kk2=2) P0=table2;P2=digit2;sound(SI,5); if(kk2=3) P0=table3;P2=digit2;sound(SI,5); if(kk2=4) P0=table4;P2=digit2;sound(SI,5); if(kk2=5) P0=table5;P2=digit2;sound(SI,5); if(kk2=6) P0=table6;P2=digit2;sound(SI,5); if(kk2=7) P0=table7;P2=digit2;sound(SI,5); if(kk2=8) P

14、0=table8;P2=digit2;sound(SI,5); if(kk2=9) P0=table9;P2=digit2;sound(SI,5); if(kk2=A) P0=table10;P2=digit2;sound(SI,5); if(kk2=B) P0=table11;P2=digit2;sound(SI,5); if(kk2=C) P0=table12;P2=digit2;sound(SI,5); if(kk2=D) P0=table13;P2=digit2;sound(SI,5); if(kk2=#) P0=table14;P2=digit2;sound(SI,5); if(kk

15、2=*) P0=table15;P2=digit2;sound(SI,5); delay_ms(DT);,kk3 = wait_a_key(); if(kk3=0) P0=table0;P2=digit3;sound(SI,5); if(kk3=1) P0=table1;P2=digit3;sound(SI,5); if(kk3=2) P0=table2;P2=digit3;sound(SI,5); if(kk3=3) P0=table3;P2=digit3;sound(SI,5); if(kk3=4) P0=table4;P2=digit3;sound(SI,5); if(kk3=5) P0

16、=table5;P2=digit3;sound(SI,5); if(kk3=6) P0=table6;P2=digit3;sound(SI,5); if(kk3=7) P0=table7;P2=digit3;sound(SI,5); if(kk3=8) P0=table8;P2=digit3;sound(SI,5); if(kk3=9) P0=table9;P2=digit3;sound(SI,5); if(kk3=A) P0=table10;P2=digit3;sound(SI,5); if(kk3=B) P0=table11;P2=digit3;sound(SI,5); if(kk3=C)

溫馨提示

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

評論

0/150

提交評論