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

正文內(nèi)容

單片機(jī)八路競賽搶答器課程設(shè)計(jì)-資料下載頁

2025-08-01 14:22本頁面

【導(dǎo)讀】搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合。八路搶答為基本理念??紤]到依需設(shè)定限時(shí)回答的功能,利用AT89C52單片機(jī)及。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶。動復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。制、信號識別以及顯示功能的實(shí)現(xiàn)。由于用了單片機(jī),使其技術(shù)比較成熟,應(yīng)用。起來方便、簡單并且單片機(jī)周圍的輔助電路也比較少,便于控制和實(shí)現(xiàn)。統(tǒng)具有極其靈活的可編程性,能方便地對系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。此可靠性高,易擴(kuò)充。

  

【正文】 Delay(200)。 3=0。 LED_DATA_PORT=ledNum[ge]。 4=1。 Delay(200)。 4=0。 } //顯示結(jié)果,將搶答結(jié)果,即搶答者序號,倒計(jì)時(shí)所剩時(shí)間顯示出來, //該函數(shù)之前要先關(guān)閉顯示,因?yàn)槭莿討B(tài)掃描,所以要在循環(huán)里面一直重復(fù)執(zhí)行 void DisplayResult(void) { //DisplayClose()。 LED_DATA_PORT=ledNum[result]。 武漢理工大學(xué)《數(shù)字電子技術(shù) 基礎(chǔ) 》課程設(shè)計(jì)說明書 22 1=1。 Delay(200)。 1=0。 LED_DATA_PORT=ledNum[shi]。 3=1。 Delay(200)。 3=0。 LED_DATA_PORT=ledNum[ge]。 4=1。 Delay(200)。 4=0。 } //按鍵釋放 void KeyFree(void) { if(KeyScan_8()) { Delay_ms(10)。 if(KeyScan_8()) { state=ADJUST。 //SoundWarning()。 //LED_DATA_PORT=0x00。 //1=2=3=4=1。 while(KeyScan_8())。 //1=2=3=4=0。 } } } //定時(shí)器調(diào)整進(jìn)程 void ProcessAdjust(void) { time=15。 shi=time/10。 ge=time%10。 while(!state) { switch(KeyScan_3()) { case 9://倒計(jì)時(shí)減 武漢理工大學(xué)《數(shù)字電子技術(shù) 基礎(chǔ) 》課程設(shè)計(jì)說明書 23 time。 if(time=0)time=30。 shi=time/10。 ge=time%10。 break。 case 10://倒計(jì)時(shí)加 time++。 if(time30)time=1。 shi=time/10。 ge=time%10。 break。 case 11://狀態(tài)轉(zhuǎn)換 state=ANSWER。 break。 default: 。 } DisplayTime()。 //實(shí)時(shí)刷新倒計(jì)時(shí), //存在的問題: Keyscan()函數(shù)可能會占用一定時(shí)間,對數(shù)碼管動態(tài)掃描顯示有影響 //解決方案:可以把 Keyscan 函數(shù)分開,只檢測 key9, key10, key11三個(gè)按鍵,減少掃描時(shí)間 } KeyFree()。 } //定時(shí)器搶答進(jìn)程 void ProcessAnswer(void) { //KeyFree()。//按鍵釋放,在搶答開始之前,確保所有按鍵都以釋放,否則,發(fā)出報(bào)警聲 flag=0。//結(jié)束標(biāo)識復(fù)位 OpenInter()。 SoundStart()。 while(flag==0) { DisplayTime()。 switch(KeyScan_8())//swith()缺點(diǎn):語句太多,程序長,但執(zhí)行時(shí)間短 { case 1: result=1。 flag=1。 break。 case 2: result=2。 flag=1。 武漢理工大學(xué)《數(shù)字電子技術(shù) 基礎(chǔ) 》課程設(shè)計(jì)說明書 24 break。 case 3: result=3。 flag=1。 break。 case 4: result=4。 flag=1。 break。 case 5: result=5。 flag=1。 break。 case 6: result=6。 flag=1。 break。 case 7: result=7。 flag=1。 break。 case 8: result=8。 flag=1。 break。 default: 。 } } CloseInter()。//搶答結(jié)束,關(guān)閉定時(shí)器 //time=10。//設(shè)置倒計(jì)時(shí)初值 if(flag==1)//有人搶答 { SoundOver()。 while(state) { DisplayResult()。 if(KeyScan_1()==11)state=ADJUST。 } } else//無人搶答 { SoundWarning()。 while(state) { 武漢理工大學(xué)《數(shù)字電子技術(shù) 基礎(chǔ) 》課程設(shè)計(jì)說明書 25 DisplayTime()。 if(KeyScan_1()==11)state=ADJUST。 } } } void main(void) { unsigned int i=0。 DisplayClose()。//關(guān)閉數(shù)碼管 beep=0。 //關(guān)閉蜂鳴器 TMOD=0X11。 //設(shè)置定時(shí)器工作方式為 1 while(1) { switch(state) { case ADJUST: ProcessAdjust()。 break。 case ANSWER: ProcessAnswer()。 break。 default: 。 } } } //定時(shí)器 0 中斷服務(wù)函數(shù) void Timer0(void) interrupt 1 { TH0=(6553545872)/256。//重裝初值 TL0=(6553545872)%256。 num1++。 if(num1=20)//一秒時(shí)間到 { num1=0。 time。 shi=time/10。 ge=time%10。 //刷新顯示倒計(jì)時(shí) if(time=0) 武漢理工大學(xué)《數(shù)字電子技術(shù) 基礎(chǔ) 》課程設(shè)計(jì)說明書 26 { //搶答時(shí)間到,關(guān)閉中斷,封鎖電路,設(shè)置 time 初值 //time=10。//倒計(jì)時(shí)初值為 10 flag=2。 } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1