單片機(jī)課程設(shè)計(jì)搶答器 基于51單片機(jī)的4人搶答器課程設(shè)計(jì)doc_第1頁
單片機(jī)課程設(shè)計(jì)搶答器 基于51單片機(jī)的4人搶答器課程設(shè)計(jì)doc_第2頁
單片機(jī)課程設(shè)計(jì)搶答器 基于51單片機(jī)的4人搶答器課程設(shè)計(jì)doc_第3頁
單片機(jī)課程設(shè)計(jì)搶答器 基于51單片機(jī)的4人搶答器課程設(shè)計(jì)doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——單片機(jī)課程設(shè)計(jì)搶答器基于51單片機(jī)的4人搶答器課程設(shè)計(jì)doc基于51單片機(jī)的4人搶答器設(shè)計(jì)設(shè)計(jì)要求:

以單片機(jī)為核心,設(shè)計(jì)一個4位競賽搶答器:同時供4名選手或4個代表隊(duì)比賽,分別用4個按鈕S0~S3表示。

設(shè)置一個系統(tǒng)除掉和搶答操縱開關(guān)S,開關(guān)由主持人操縱。

搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號,并在優(yōu)先搶答選手的編號一向保持到主持人將系統(tǒng)除掉為止。

搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。

當(dāng)主持人啟動“開頭”鍵后,定時器舉行減計(jì)時,同時揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時間為0.5s左右。

參賽選手在設(shè)定的時間內(nèi)舉行搶答,搶答有效,定時器中斷工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)除掉為止。

假設(shè)定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并遏止搶答,定時顯示器上顯示00。

工作原理:

通過鍵盤變更搶答的時間,原理與鬧鐘時間的設(shè)定一致,將定時時間的變量置為全局變量后,通過鍵盤掃描程序使每按下一次按鍵,時間加1(超過30時置0)。同時單片機(jī)不斷舉行按鍵掃描,當(dāng)參賽選手的按鍵按下時,用于產(chǎn)生時鐘信號的定時計(jì)數(shù)器中斷計(jì)數(shù),同時將選手編號(按鍵號)和搶答時間分別顯示在LED上。

#include#defineucharunsignedchar#defineuintunsignedintucharnum;//定義中斷變量,num計(jì)滿20表示1秒時間到ucharnum1;//十秒倒計(jì)時顯示初始值ucharflag1,flag2;//清零鍵及開頭鍵按下標(biāo)志位ucharflag3,flag4=0;//定義鍵盤按下標(biāo)志位ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管編碼sbitdula=P1^6;//定義段選端口sbitwela=P1^7;//定義位選端口sbitsp=P3^0;//定義蜂鳴器端口sbitclear=P1^0;//定義清零鍵sbitstart=P1^1;//開頭鍵sbitkey1=P1^2;sbitkey2=P1^3;sbitkey3=P1^4;sbitkey4=P1^5;//key1到key4為選手按鍵voiddelay(uintz)//延時函數(shù){uinti,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}voidbeep()//定義蜂鳴器函數(shù){sp=0;delay(500);sp=1;}voiddisplay(uinta)//選手編號顯示函數(shù){wela=1;P2=0xff;//防止鎖存干擾wela=0;dula=1;P2=table[a];dula=0;P2=0xff;wela=1;P2=0xfd;wela=0;delay(5);}voidclr()//清零函數(shù)(主持人按下清零鍵后數(shù)碼管顯示0){dula=1;P2=table[0];dula=0;P2=0xff;wela=1;P2=0xfc;wela=0;delay(5);}voiddis30s()//十秒倒計(jì)時顯示函數(shù){ucharshi,ge;shi=num1/30;ge=num1%30;wela=1;P2=0xff;wela=0;dula=1;P2=table[shi];dula=0;P2=0xff;wela=1;P2=0xfe;wela=0;delay(5);wela=1;P2=0xff;wela=0;dula=1;P2=table[ge];dula=0;P2=0xff;wela=1;P2=0xfd;wela=0;delay(5);}voidplayer()//選手按鍵檢測函數(shù){if(key1==0if(key1==0TR0=0;flag1=flag2=0;flag4=1;beep();while(!key1);}}if(key2==0if(key2==0TR0=0;flag1=flag2=0;flag4=1;beep();while(!key2);}}if(key3==0if(key3==0TR0=0;flag1=flag2=0;flag4=1;beep();while(!key3);}}if(key4==0if(key4==0TR0=0;flag1=flag2=0;flag4=1;beep();while(!key4);}}}voidkeyscan()//檢測按鍵{if(clear==0if(clear==0//等待按鍵釋放flag1=0;flag2=0;flag3=0;flag4=0;num=0;num1=10;clr();//清零flag1=1;//按下清零鍵標(biāo)志位}}if(flag1==1)//假設(shè)按下清零鍵{if(start==0if(start==0flag3=1;while(!start);}}}if(flag2==1)//按下開頭鍵{TR0=1;//啟動定時器0dis30s();player();}}voidmain(){TMOD=0x01;//設(shè)置定時器0工作方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;//開總中斷ET0=1;//開定時器0中斷while(1)//一向檢測按鍵{keyscan();}}voidT0_ser()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num==20){num=0;num1--;}if(num1==0){TR0=0;f

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論