微处理机应用.ppt

微处理机应用.ppt

ID:53280555

大小:116.00 KB

页数:14页

时间:2020-04-18

微处理机应用.ppt_第1页
微处理机应用.ppt_第2页
微处理机应用.ppt_第3页
微处理机应用.ppt_第4页
微处理机应用.ppt_第5页
资源描述:

《微处理机应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微處理機應用~定時炸彈~組員:姚力瑋江鴻錡林永泓黃朝昇定時炸彈讓同學自由設定炸彈密碼,讓同學們破解出正確的數字;且在限定時間內,配合緊張刺激的音樂來完成任務,否則就...!GameOver!定時炸彈理念可分為兩部分:<1>:猜數字<2>:倒數計時器猜數字在0000~9999中猜出一正確數字,並將結果輸出如下:XAYb 其中:X、Y:代表A以及b的數量多寡A :代表數字以及位置都猜對b :代表數字猜對但位置放錯例:假設正確數字為1234但猜成123X則顯示3A0b(X不為4)12X4亦顯示3A0b(X不為3)3214

2、則顯示2A2b1432亦顯示2A2b4321則顯示0A4b2143亦顯示0A4b1234則顯示4A0b而0A0b則表示完全沒猜中數字倒數計時器若將時間限定為3分鐘,也就是180秒,於遊戲啟動時,逐一遞減秒數直至0為止,如:180→179→178→177...→0,但是不顯示於七段顯示器上,設定為內建的時間,音樂隨著時間的減少而逐漸緊湊,在規定的時間內尚未能解出密碼時,會聽見失敗的音效;反之,解出密碼能聽到光榮的音樂。倘若重新啟動遊戲時,則時間也就會從3分鐘開始計數,直到0或是結束遊戲而終止。目前進度結合上次的猜數字

3、,這次我們加入了音效,在輸入每個按鍵時會發出聲響並讓使用者確認目前的輸入值。在輸入四位錯誤之數字後會發出類似mi的頻率並顯示出HHHH,而在輸入正確之四位數字後會發出類似do的頻率並顯示出0000。#include"At898252.h" #defineKEYPADP1 #defineSPKP2_7 #defineDO65536-500000/523 #defineMI65536-500000/659 #defineSI65536-500000/988 unsignedintT; chartable[17]={0x

4、3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x80}; chardigit[4]={0x0e,0x0d,0x0b,0x07}; charpswd[4]="5678";//設定密碼voiddelay_ms(unsignedintDT)//crystal=12MHz delay DTms { unsignedinti,j;for(i=0;i

5、check_key() {//'Q':nokeyin,ifkeyin:16key=0--F //codechark_code[16]="0123456789ABCDEF"; codechark_code[16]="D#0*C987B654A321"; KEYPAD=0x7f; if(KEYPAD==0x77)returnk_code[0]; if(KEYPAD==0x7b)returnk_code[1]; if(KEYPAD==0x7d)returnk_code[2]; if(KEYPAD==0x7e)return

6、k_code[3]; KEYPAD=0xbf; if(KEYPAD==0xb7)returnk_code[4]; if(KEYPAD==0xbb)returnk_code[5]; if(KEYPAD==0xbd)returnk_code[6]; if(KEYPAD==0xbe)returnk_code[7]; KEYPAD=0xdf; if(KEYPAD==0xd7)returnk_code[8]; if(KEYPAD==0xdb)returnk_code[9]; if(KEYPAD==0xdd)returnk_c

7、ode[10]; if(KEYPAD==0xde)returnk_code[11]; KEYPAD=0xef; if(KEYPAD==0xe7)returnk_code[12]; if(KEYPAD==0xeb)returnk_code[13]; if(KEYPAD==0xed)returnk_code[14]; if(KEYPAD==0xee)returnk_code[15]; return'Q'; }charwait_a_key() {chark;/*keyin=0--15*/ while(1) {k=chec

8、k_key(); if(k!='Q') {break;} } returnk; } voidtimer0(void)interrupt1 //interruptNO.1 { TH0=T/256; TL0=T%256; SPK=~SPK;//反相}delay(intn) {inti;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。