基于單片機的智能搶答器畢業(yè)設(shè)計說明_第1頁
基于單片機的智能搶答器畢業(yè)設(shè)計說明_第2頁
基于單片機的智能搶答器畢業(yè)設(shè)計說明_第3頁
基于單片機的智能搶答器畢業(yè)設(shè)計說明_第4頁
基于單片機的智能搶答器畢業(yè)設(shè)計說明_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的智能搶答器設(shè)計摘 要 8路搶答器,就是一種利用單片機功能而做出來的產(chǎn)品。該搶答器除具有基本的搶答功能外,還具有計時和報警功能。 主持人通過時間預設(shè)開關(guān)預設(shè)供搶答的時間,系統(tǒng)將完成自動倒計時。若在規(guī)定的時間有人搶答,則計時將自動停止;若在規(guī)定的時間無人搶答,則系統(tǒng)中的蜂鳴器將發(fā)響,提示主持人本輪搶答無效,實現(xiàn)報警功能。主持人還可以通過時間預設(shè)開關(guān)預設(shè)答題的時間,系統(tǒng)將完成自動倒計時。規(guī)定要在設(shè)置的答題時間回答完問題,如在倒計時時間沒有回答完問題,實現(xiàn)報警功能。關(guān)鍵詞:八路 搶答器 定時 報警1 方案設(shè)計1.1 設(shè)計方案1.1.1確定單片機的型號 根據(jù)系統(tǒng)的功能與要求,選擇STC89C

2、52RC單片機。1.1.2任務(wù):設(shè)計一個供8名選手參加的八路掃描式搶答器。每組設(shè)計一個搶答按扭供參加者使用。電路具有第一搶答信號的鑒別和鎖定存儲功能。在主持人將系統(tǒng)復位并發(fā)出搶答指令后,如果參賽者在第一時間按搶答開關(guān),則按鈕指示燈燈亮并用組別電路顯示出搶答者的組別。同時揚聲器發(fā)出聲音。電路應具有自鎖功能,使其他組不起作用。1.2 系統(tǒng)的功能與要求每名選手有一個搶答按扭,按扭的編號與選手的編號相對應,搶答器具有信號的鑒別和數(shù)據(jù)的鎖存、顯示的功能。搶答開始后,若有選手搶答按扭,在數(shù)碼管上顯示相應的編號,蜂鳴器發(fā)出音響提示。同時,電路應具備自鎖功能,禁止其他選手再搶答,優(yōu)先搶答選手的編號一直保持到主

3、持人按開始答題開始。搶答器具有定時搶答的功能。在主持人發(fā)出搶答指令后,定時器立即進行減計時,并在顯示器上顯示,同時蜂鳴器發(fā)出短暫的聲響,聲響持續(xù)0.5s左右。選手在設(shè)定的時間進行搶答,搶答有效,定時器停止工作,顯示器顯示選手編號與最后倒計時剩下的時間。主持人按開始答題開始,答題時間開始倒計時。當按復位鍵后,完成一次搶答流程。1.3 八路搶答器的概述本文介紹的八路數(shù)顯搶答器具有電路簡單、成本較低、操作方便、靈敏可靠等優(yōu)點,經(jīng)使用效果良好,具有較高的推廣價值??捎糜?組或8組以下的智力競賽中。比賽前,將參賽組從1至8編號,每組發(fā)給對應的的一個搶答按鈕。主持人按一下總控制啟動鍵后,搶答開始。此后,哪

4、一組最先按下?lián)尨鸢粹o,數(shù)碼顯示器就立即顯示該組的組號并鎖定,同時蜂鳴器發(fā)出聲響。以后,按下任何一路搶答按鈕均不起反應。主持人按開始答題開始,答題時間開始倒計時。當按復位鍵后,完成一次搶答流程。2 系統(tǒng)總體結(jié)構(gòu)設(shè)計2.1 原理圖2.2 原理圖簡要說明基于這個設(shè)計的上述要求,根據(jù)功能要求,須設(shè)計有搶答電路、顯示電路、主持人控制電路、定時電路、報警電路,各個電路都有其自己的功能。通過復位鍵,電路進入就緒狀態(tài),等待搶答。首先由主持人發(fā)布搶答命令,按下S3進入倒計時狀態(tài)和搶答狀態(tài)。在電路中“S7S14”為八路搶答器的8個按鍵,如果有人按下按鍵,程序就會判斷是誰先按下的,然后從P0口輸出搶答者的七段碼值,

5、送到碼管顯示,并封鎖鍵盤,保持剛才按鍵按下時刻的時間,禁止其他人按鍵的輸入,從而實現(xiàn)了搶答的功能。如果在設(shè)定的時間中沒有一個人按下按鍵,一到時間則產(chǎn)生報警信號已超時,不可以搶答。當主持人,按S4鍵,答題開始,答題時間開始倒計時。如沒有按復位鍵,時間倒計直到0,并報警。當要進行下一次搶答時,由主持人先按一下復位按鍵S2,電路復位,進入下一次搶答的就緒狀態(tài)。主持人可以在搶答開始前按“S5”,”S6”可以分別設(shè)置搶答時間,和答題時間。3 各模塊電路設(shè)計與實現(xiàn)3.1搶答器電路如圖2.3所示電路,該電路完成兩個功能:一是分辨出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號,同時數(shù)碼管顯示編號;二是禁止其他選手按

6、鍵,即使其他選手操作無效。搶答器具有鎖存、定時、顯示和報警功能。即當搶答開始后,選手搶答按動按鈕,鎖存器鎖存相應的選手編碼,同時用LED數(shù)碼管把選手的編碼顯示出來,并且開始搶答時間的倒計時,同時用LED數(shù)碼管把選手的所剩搶答時間顯示出來。而在選手按鍵搶答以與搶答時間倒計時到時的時候都有報警以提醒主持人和選手。3.2 時序控制電路時序控制電路是搶答器設(shè)計的關(guān)鍵,它要完成以下功能:A主持人按“開始”鍵時,搶答電路和定時電路進入正常搶答狀態(tài)。B當參賽選手按動搶答鍵時,蜂鳴器聲響,搶答電路和定時電路停止工作。C.主持人按“答題開始”鍵時,定時電路進入正常答題狀態(tài)。3.3 復位電路的設(shè)計復位是計算機的一

7、個重要工作狀態(tài)。在單片機工作時,接電之前要復位,斷電后也要復位,發(fā)生故障也要復位,在搶答器中復位則是為定時做鋪墊的,在搶答之前要復位,搶答完要復位,按了復位鍵之后,LED的顯示的是0。單片機的復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。整個復位電路包括芯片外二部分。外部電路產(chǎn)生的復位信號通過復位引腳RST進入片的斯密特觸發(fā)器(抑制噪聲作用)再與片復位電路相連。復位電路每個機器周期對斯密特觸發(fā)器的輸出采樣一次。當RST引腳端保持兩個機器周期(24個時鐘周期)以上的高電平時,AT89C51進入復位狀態(tài).圖2-5 復位電路3.4 定時電路的設(shè)計(1)設(shè)置一個

8、系統(tǒng)清除和搶答控制開關(guān)S即復位鍵,該開關(guān)由主持人控制。(2) 搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當主持人啟動總控制啟動"復位"鍵后,定時器進行減計時,并在顯示器上顯示。 (3) 搶答器要具有數(shù)據(jù)鎖存和顯示的功能,參賽選手在設(shè)定的時間進行搶答,搶答有效,定時器停止工作,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。顯示器上顯示選手的編號,同時其他人在按就無效,并一直保持到主持人將系統(tǒng)清除為止。(4) 如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示0,并發(fā)出一段時間的報

9、警聲。(5)3.5  報警電路設(shè)計 10K的電阻,一個三級管和一個蜂鳴器就組成了一個報警的電路,當選手開始搶答是蜂鳴器便提醒主持人是哪一個臺號,當在設(shè)定的時間沒有人搶答,倒計時完畢后蜂鳴器也會發(fā)出短時間的叫聲。圖(2)中,接在三極管基極的10K電阻為限流電阻,在此利用晶體管的高電流增益,以達到電路快速飽和的目的。圖2-6 報警電路3.6 LED數(shù)碼顯示器與驅(qū)動電路LED是發(fā)光二極管的縮寫,LED顯示器由若干個發(fā)光二極管構(gòu)成的,當發(fā)光二極管導通時,顯示對應的字符。LED顯示器由7個發(fā)光二極管組成,也稱為7段顯示器,排列形狀。LED顯示器還有一個圓點型的發(fā)光二極管,用于顯示小數(shù)點,有時也

10、稱為8段LED顯示器。LED顯示器的發(fā)光二極管有共陰極和共陽極兩種接法。共陰極接法,各發(fā)光二極管的陰極連在一起并接地,當某一發(fā)光二極管的陽極輸入高電平時,則該段發(fā)光;共陽極接法,各發(fā)光二極管的陽極連在一起并接+5V,當陰極輸入低電平時,該段發(fā)光二極管發(fā)光。3.7 電源電路圖2-8 電源電路電源通過USB數(shù)據(jù)線,接電腦USB口供+5V電,這樣方便簡單。4 軟件設(shè)計 程序流程圖4.1 系統(tǒng)主要程序設(shè)計4.1.1 系統(tǒng)主程序設(shè)計 為了能達到搶答的公平、公正、合理,應該在主持人發(fā)布搶答命令之前設(shè)定搶答的時間。當時間設(shè)好了之后,主持人發(fā)布搶答命令。按下S3按鍵后,程序開始打開,定時中斷開始倒計時,然后調(diào)

11、用鍵盤掃描子程序,編寫鍵盤掃描程序。當掃描到有人按下了鍵,馬上關(guān)閉T0,調(diào)用顯示程序,并封鎖鍵盤。按下S4鍵后,定時中斷開始倒計時,并掃描復位鍵是否按下。4.1.2搶答器的源程序 P1.0-P1.7為八路搶答器的輸入端口,數(shù)碼管斷選P0口,位選P2口,蜂鳴器輸出為P3.7。程序框架圖:開始P1.5=0? N NP1.0=0? Y 調(diào)用響鈴,顯示程序調(diào)用響鈴,顯示程序 Y NP1.1=0?N P1.6=0? Y 調(diào)用響鈴,顯示程序 Y調(diào)用響鈴,顯示程序 NP1.7=0?P1.2=0? Y N Y 調(diào)用響鈴,顯示程序調(diào)用響鈴,顯示程序 NP1.3=0? Y結(jié)束調(diào)用響鈴,顯示程序 NP1.4=0?

12、Y調(diào)用響鈴,顯示程序開 始主程序框圖:P1 口 全 置1關(guān) 閉 顯 示個位送“0”,十位全滅(送FF)設(shè)定中斷方式,下 降沿有效開 四 個 中 斷關(guān) 提 示 音十位位碼取低電平(即0送到p3.0口)十位字符碼送P0口延 時十位位碼取高電平(即1送P3.0口)個位位碼去低電平(即0送P3.1口)個位字符碼送P0口延 時個位位碼取高電平(即1送P3.1口)5 調(diào)試5.1硬件調(diào)試過程接完畢后,在接通電源前。先檢查一下焊接電路板有沒有虛焊,和電源正負有沒有短路的現(xiàn)象,再接通電源。如通電源后,發(fā)現(xiàn)數(shù)碼管不亮,要立刻切斷電源,再做仔細的檢查,改正后再進行測試,直到正常為止。 電源檢查通電后,再進行功能調(diào)試

13、。首先看下數(shù)碼管各斷碼顯示是否正常,如發(fā)現(xiàn)顯示亂碼,就依次檢查各斷碼對應的線路,直到正常顯示。再檢查各個按鍵,是否達到了功能要求,與蜂鳴器是否正常響。5.2軟件調(diào)試軟件調(diào)試是通過對用戶程序的編譯、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。程序運行后編輯,查看是否有邏輯的錯誤。常見的軟件錯誤有:程序失控、中斷錯誤、輸入輸出錯誤和結(jié)果不正確等,對不同的錯誤和現(xiàn)象采取相應的方法找出錯誤并加以修改程序,達到預期的功能。6 總結(jié)此次設(shè)計要求我們在老師的指導下獨立進行查閱資料,設(shè)計方案與組織實驗等工作,并寫出報告。這次實驗對于提高我們的素質(zhì)和科學實驗能力非常有益,為以后從事電子電

14、路方面的設(shè)計,研制電子產(chǎn)品打下基礎(chǔ)。通過這兩個多月的學習,發(fā)現(xiàn)了自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。這次的設(shè)計也讓我看到了團隊的力量,我認為我們的工作是一個團隊的工作,團隊需要個人,個人也離不開團隊,必須發(fā)揚團結(jié)協(xié)作的精神。剛開始的時候,大家就分配好了各自的任務(wù),大家有的繪制原理圖,進行仿真實驗,有的積極查詢相關(guān)資料,并且經(jīng)常聚在一起討論各個方案的可行性。在設(shè)計中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導致整個工作失敗。團結(jié)協(xié)作是我們成功的一項非常重要的保證。雖然這只是一次的極簡單的制作(八路

15、搶答器),可是平心而論,也耗費了我們不少的心血,這就讓我不得不佩服專門搞單片機開發(fā)的技術(shù)前輩,才意識到老一輩對我們社會的付出,為了人們的生活更美好,他們?yōu)槲覀兩鐣冻龆嗌傩难?!通過這次設(shè)計,為完成這次設(shè)計我們確實很辛苦,但苦中仍有樂,和團隊人員這十幾天的一起工作的日子,讓我們有說有笑,相互幫助,配合默契,多少人間歡樂在這里灑下,大學里兩年的相處還趕不上這兩個月的實習,我感覺我和同學們之間的距離更加近了。這個工程確實很累,但當我們仿真實驗成功的時候,當我們連好線,按下按鈕,LED亮了起來,喇叭響起的是我一生以來最好聽的聲音,我們的心中就不免興奮,不免激動。對我而言,知識上的收獲重要,精神上的

16、豐收更加可喜。在此要特別感我的指導老師對我們的指導,在此向老師說一聲,老師您辛苦了!當然我也要感我們同組的人的積極合作。在老師的啟發(fā)和我們共同的努力下,我們才能順利的完成設(shè)計。在以后的工作中,我一定會更加努力的學習,充分的發(fā)揮自己的特長。參考文獻1 朱運利. 單片機技術(shù)應用. :機械工業(yè), 2005年1月第一版.2 大彪. 電子技能與實訓. :電子工業(yè), 2004年7月.3 華. MCS-51單片機接口技術(shù)與應用. :航天航空大學. 附錄A 程序#include<reg52.h>#define uchar unsigned char#define uint unsigned int

17、char s;uchar num=0;char time=20;char datitime=30;uint tt,t1;bit flag,s_flag=1,b_flag,fall_flag;bit K_startcountflag,K_timecountflag;sbit K0=P30;sbit beep=P37; sbit rled=P31;sbit K1=P10;sbit K2=P11;sbit K3=P12;sbit K4=P13;sbit K5=P14;sbit K6=P15;sbit K7=P16;sbit K8=P17;sbit K_Time=P32;sbit K_startcou

18、nt=P33;sbit K_timecount=P34;void delay(uchar ms)uchar y;for(;ms>0;ms-)for(y=120;y>0;y-);uchar code tabledu=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code tablewe=0XFE,0XFD,0XFB,0XF7;void T0_Init(void)TMOD=0X01;TH0=(65536-2000)/256;TL0=(65536-2000)%25

19、6;TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET0=1;ET1=1;EA=1;P0=0;void Key_Scan(void)if(K0=0)delay(10);if(K0=0)while(!K0);TR0=1;s=time;tt=0;flag=1;s_flag=1;b_flag=1;num=0;beep=1;rled=1;fall_flag=0;K_startcountflag=0;K_timecountflag=0;void Scan(void)if(K1=0)delay(10);if(K1=0)while(!K1);num=1;TR0=0;TR

20、1=1;s_flag=0;if(K2=0)delay(10);if(K2=0)while(!K2);num=2;TR0=0;TR1=1;s_flag=0;if(K3=0)delay(10);if(K3=0)while(!K3);num=3;TR0=0;TR1=1;s_flag=0;if(K4=0)delay(10);if(K4=0)while(!K4);num=4;TR0=0;TR1=1;s_flag=0;if(K5=0)delay(10);if(K5=0)while(!K5);num=5;TR0=0;TR1=1;s_flag=0;if(K6=0)delay(10);if(K6=0)while

21、(!K6);num=6;TR0=0;TR1=1;s_flag=0;if(K7=0)delay(10);if(K7=0)while(!K7);num=7;TR0=0;TR1=1;s_flag=0;if(K8=0)delay(10);if(K8=0)while(!K8);num=8;TR0=0;TR1=1;s_flag=0;void display(void)if(flag=1)if(num!=0)P0=tabledunum;P2=tablewe0;delay(2);P0=0;P2=0XFF;elseP0=0;P2=0XFF;P0=tabledus/10;P2=tablewe2;delay(2);

22、P0=0;P2=0XFF;P0=tabledus%10;P2=tablewe3;delay(2);P2=0XFF;P0=0;elseif(fall_flag=1)if(num!=0)P0=tabledunum;P2=tablewe0;delay(2);P0=0;P2=0XFF;P0=tabledu15;P2=tablewe2;delay(2);P0=0;P2=0XFF;P0=tabledu15;P2=tablewe3;delay(2);P0=0;P2=0XFF;elseP0=0;P2=0XFF;elseif(K_startcountflag=1)P0=0X40;P2=tablewe0;dela

23、y(2);P0=0;P2=0XFF;P0=0X40;P2=tablewe1;delay(2);P0=0;P2=0XFF;P0=tabledutime/10;P2=tablewe2;delay(2);P0=0;P2=0XFF;P0=tabledutime%10;P2=tablewe3;delay(2);P0=0;P2=0XFF;else if(K_timecountflag=1)P0=0X07;P2=tablewe0;delay(2);P0=0;P2=0XFF; P0=0x31;P2=tablewe1;delay(2);P0=0;P2=0XFF;P0=tabledudatitime/10;P2=

24、tablewe2;delay(2);P0=0;P2=0XFF;P0=tabledudatitime%10;P2=tablewe3;delay(2);P0=0;P2=0XFF;elseP0=tabledu15;P2=tablewe0;delay(2);P0=0;P0=tabledu15;P2=tablewe2;delay(2);P0=0;/P2=0XFF;P0=tabledu15;P2=tablewe3;delay(2);P0=0;P2=0XFF;void Time_Scan(void)if(K_startcount=0)delay(10);if(K_startcount=0)while(!K_startcount);time+;if(time>50)time=20;K_startcountflag=1;K_timec

溫馨提示

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

評論

0/150

提交評論