版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 第1章 概述2</b></p><p> 1.1 課題的要求2</p><p> 1.2 課題的目的及意義2</p><p> 第2章 系統(tǒng)總體方案的說(shuō)明3</p><p> 2.1單片
2、機(jī)芯片的選取3</p><p> 2.2硬件設(shè)計(jì)框圖3</p><p> 2.3硬件電路工作原理3</p><p> 第3章 硬件電路設(shè)計(jì)5</p><p> 3.1 I/O接口分配表5</p><p> 3.2 時(shí)鐘電路5</p><p> 3.3 復(fù)位電路5&l
3、t;/p><p> 3.4 指示燈顯示電路6</p><p><b> 3.5按鍵電路7</b></p><p> 3.7 數(shù)碼管顯示電路7</p><p> 3.8蜂鳴報(bào)警電路8</p><p> 第4章 軟件設(shè)計(jì)9</p><p> 4.1主程序設(shè)計(jì)
4、9</p><p> 4.2 子程序設(shè)計(jì)9</p><p> 第5章 系統(tǒng)仿真與實(shí)物調(diào)試11</p><p> 5.1仿真測(cè)試11</p><p> 5.2 實(shí)物調(diào)試15</p><p> 第6章 課題總結(jié)16</p><p><b> 參考文獻(xiàn)17</
5、b></p><p> 附錄A 系統(tǒng)原理圖18</p><p> 附錄B 程序19</p><p><b> 第1章 概述</b></p><p><b> 1.1 課題的要求</b></p><p> 本課題要求設(shè)計(jì)一個(gè)以單片機(jī)為核心的電子搶答器,
6、電子搶答器具有三個(gè)人的搶答控制盒答題時(shí)的倒計(jì)時(shí)顯示功能。具體要求如下:一位主持人與3位搶答者,復(fù)位后,甲乙丙的綠、紅燈全亮,開(kāi)始鍵、復(fù)位鍵的指示燈全暗;主持人按復(fù)位鍵則僅復(fù)位指示燈亮,其他都暗,準(zhǔn)備開(kāi)始;主持人按開(kāi)始鍵,開(kāi)始燈亮,允許甲乙丙搶答,此時(shí)優(yōu)先者則相應(yīng)成功指示燈亮,如允許前搶就相應(yīng)犯規(guī)燈亮;答題開(kāi)始進(jìn)行倒計(jì)時(shí),到規(guī)定時(shí)間不允許答題,并返回復(fù)位狀態(tài)。可以通過(guò)鍵盤操作修改答題限制時(shí)間和槍答限制時(shí)間。</p><
7、p> 1.2 課題的目的及意義</p><p> 在許多競(jìng)賽活動(dòng)匯總,為了準(zhǔn)確,公正,直觀地判斷出第一搶答者,通常設(shè)置一臺(tái)搶答器,通過(guò)數(shù)碼顯示管,燈管,及音響等多種手段指示出第一搶答者。同時(shí)可以設(shè)置計(jì)分,犯規(guī)等多種功能,該系統(tǒng)是針對(duì)上述要求設(shè)計(jì)出的供3名選手參賽試用的數(shù)字式競(jìng)賽搶答器,而且可以通過(guò)本次的課程設(shè)計(jì)我們可以學(xué)到關(guān)于單片機(jī)在實(shí)際生活中的設(shè)計(jì)應(yīng)用,也可以深入地學(xué)習(xí)到單片機(jī)的編程。</p&g
8、t;<p> 通過(guò)該課程的學(xué)習(xí)使我們對(duì)計(jì)算機(jī)控制系統(tǒng)有一個(gè)全面的了解、掌握常規(guī)控制算法的使用方法、掌握簡(jiǎn)單微型計(jì)算機(jī)應(yīng)用系統(tǒng)軟硬的設(shè)計(jì)方法,進(jìn)一步鍛煉同學(xué)們?cè)谖⑿陀?jì)算機(jī)應(yīng)用方面的實(shí)際工作能力。</p><p> 第2章 系統(tǒng)總體方案的說(shuō)明</p><p> 2.1單片機(jī)芯片的選取</p><p> 采用STC89C52RC單片機(jī)作為硬件核心,該
9、單片機(jī)指令代碼完全兼容傳統(tǒng)的8051單片機(jī)。STC89C52RC的工作電壓為5.5-3.4V,工作頻率范圍0-80MHz,程序存儲(chǔ)器flash容量為8KB,隨機(jī)存儲(chǔ)器RAM空間為512字節(jié)。</p><p><b> 2.2硬件設(shè)計(jì)框圖</b></p><p> 根據(jù)設(shè)計(jì)要求,確定系統(tǒng)的設(shè)計(jì)方案,圖2.2所示為該系統(tǒng)方案的硬件電路設(shè)計(jì)框圖,硬件電路由6個(gè)部分組成,
10、即晶振控制,按鍵電路,電源電路,數(shù)碼管顯示,指示燈顯示,蜂鳴器報(bào)警電路。</p><p> 圖2.2 硬件電路設(shè)計(jì)框圖</p><p> 2.3硬件電路工作原理</p><p> 系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、按鍵和報(bào)警電路等組成本電路是由STC89C52RC單片機(jī)為控制核心,具有與8051系列單片機(jī)完全兼容,程序加密等功能,8KB字節(jié)可編程閃存,工作電壓
11、范圍為2.7~6V,全靜態(tài)工作頻率為0~24MHZ。用查詢式鍵盤進(jìn)行搶答。采用動(dòng)態(tài)顯示組號(hào)。主持人按下開(kāi)始搶答鍵才可以搶答。有人搶答則搶答違規(guī),報(bào)警并顯示組號(hào),主持人按下開(kāi)始搶答開(kāi)關(guān)重新?lián)尨?。主持人按下開(kāi)始搶答按紐,對(duì)應(yīng)的選手號(hào)及倒計(jì)時(shí)在數(shù)碼管顯示,相應(yīng)選手號(hào)的燈亮。主持人按下復(fù)位開(kāi)關(guān)為下一題的搶答做準(zhǔn)備。單片機(jī)最小系統(tǒng)、搶答按鍵模塊、顯示模塊、顯示驅(qū)動(dòng)模塊、搶答開(kāi)關(guān)模塊、LED。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的
12、處理, 輸出控制信號(hào),單片機(jī)控制的智能搶答器。</p><p> 第3章 硬件電路設(shè)計(jì)</p><p> 3.1 I/O接口分配表</p><p><b> 3.2 時(shí)鐘電路</b></p><p> 單片機(jī)各功能部件的運(yùn)行是以時(shí)鐘控制信號(hào)為基準(zhǔn)的。所以,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響
13、單片機(jī)的穩(wěn)定性,常用的時(shí)鐘電路設(shè)計(jì)有內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式,本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式。警惕震蕩頻率是采用12MHZ的石英晶體。</p><p><b> 圖3.2時(shí)鐘電路</b></p><p><b> 3.3 復(fù)位電路</b></p><p> 單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電
14、平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),該系統(tǒng)是采用的按鍵上電復(fù)位電路,其電路圖如圖3.4所示:</p><p> 圖3.3按鍵上電復(fù)位電路</p><p> 3.4 指示燈顯示電路</p><p> 一開(kāi)始3位選手的燈全亮,主使人按下開(kāi)始鍵,開(kāi)始燈亮,按下復(fù)位鍵復(fù)位燈亮,搶答選手按下?lián)尨疰I,對(duì)應(yīng)的3位搶答燈亮。P1.3,P1.4,P1.5做甲
15、乙丙三位選手的搶答燈,P1.6,P1.7做復(fù)位燈和開(kāi)始燈。其電路圖如圖3.5所示。</p><p> 圖3.4 指示燈顯示電路</p><p><b> 3.5按鍵電路</b></p><p> 主要用到89C52RC的P3.0和P3.1做開(kāi)始和復(fù)位按鍵,用P2.5,P2.6,P2.7做3位選手的搶答按鍵,P3.2,P3.3做設(shè)置搶答時(shí)間
16、以及答題時(shí)間的按鍵,P3.4和P3.5做加減時(shí)間的按鍵。其電路如圖3.6所示。</p><p><b> 圖3.6按鍵電路</b></p><p> 3.7 數(shù)碼管顯示電路</p><p> LED顯示器的驅(qū)動(dòng)是一個(gè)非常重要的問(wèn)題,顯示電路由LED顯示器,段驅(qū)動(dòng)電路和位驅(qū)動(dòng)電路組成。由于單片機(jī)的并行接口不能直接驅(qū)動(dòng)LED顯示器,所以要加驅(qū)
17、動(dòng),使之產(chǎn)生足夠大的電流才能正常工作。本設(shè)計(jì)方案選擇的是動(dòng)態(tài)控制方式。由于一位數(shù)據(jù)的顯示器的顯示是由段碼和位碼信號(hào)共同配合完成的。圖是本設(shè)計(jì)的顯示數(shù)碼管的驅(qū)動(dòng)電路。</p><p> 圖3.7 數(shù)碼管顯示電路</p><p><b> 3.8蜂鳴報(bào)警電路</b></p><p> 當(dāng)選手犯規(guī)的時(shí)候,系統(tǒng)要求產(chǎn)生報(bào)警信號(hào),可以選擇一個(gè)蜂鳴
18、器來(lái)實(shí)現(xiàn)這一功能。由P3.7引出,接蜂鳴器,當(dāng)有選手犯規(guī)時(shí),蜂鳴器會(huì)自動(dòng)報(bào)警。圖3.8為蜂鳴器報(bào)警電路.</p><p> 圖3.8蜂鳴器報(bào)警電路</p><p><b> 第4章 軟件設(shè)計(jì)</b></p><p><b> 4.1主程序設(shè)計(jì)</b></p><p> 在搶答開(kāi)始之前設(shè)置好搶
19、答時(shí)間,以及答題時(shí)間,設(shè)置好時(shí)間之后,初始化。在主持人按下開(kāi)始搶答鍵之前判斷是否有人犯規(guī),沒(méi)人犯規(guī)按下開(kāi)始鍵,開(kāi)始搶答,如果有人犯規(guī),報(bào)警,并提醒犯規(guī)選手,然后復(fù)位繼續(xù)操作。開(kāi)始搶答,搶答倒計(jì)時(shí),如果有人搶答,查詢哪位選手最先搶答成功,然后該選手回答問(wèn)題,答題倒計(jì)時(shí),回答完畢,計(jì)時(shí)器復(fù)位;如果搶答時(shí)間到,沒(méi)人搶答,計(jì)時(shí)器復(fù)位,繼續(xù)下一道題搶答。主程序流程圖如圖4.1所示。</p><p> 圖4.1 主程序流程
20、圖</p><p><b> 4.2 子程序設(shè)計(jì)</b></p><p> 4.2.1 時(shí)間程序設(shè)置</p><p> 根據(jù)規(guī)定,設(shè)置搶答時(shí)間和答題時(shí)間,流程圖如圖4.2.1所示。</p><p> 4.2.1 設(shè)置時(shí)間流程圖</p><p> 4.2.2 犯規(guī)程序設(shè)計(jì)</p>
21、;<p> 在主持人未宣布開(kāi)始搶答前,有選手按下?lián)尨疰I,視為犯規(guī),犯規(guī)后選手的搶答燈會(huì)亮,并在數(shù)碼管顯示該選手的編號(hào),蜂鳴器會(huì)開(kāi)始報(bào)警。 流程圖如圖4.2.2所示。</p><p> 4.2.2 犯規(guī)程序流程圖</p><p> 第5章 系統(tǒng)仿真與實(shí)物調(diào)試</p><p><b> 5.1仿真測(cè)試</b></p>
22、;<p> 5.1.1初始化仿真</p><p> 把keil編譯產(chǎn)生的HEX文件導(dǎo)入Proteus里面的單片機(jī)中,初始化時(shí),3位選手指示燈亮,復(fù)位燈,開(kāi)始燈滅,數(shù)碼管顯示FFF。仿真圖如圖5.1.1所示。</p><p> 圖5.1.1 復(fù)位電路</p><p> 5.1.2 犯規(guī)仿真</p><p> 在按下復(fù)位按
23、鈕以后主持人還沒(méi)有按開(kāi)始按鈕,第三位選手搶答,選手犯規(guī),他的指示燈亮,數(shù)碼管顯示他的序號(hào),蜂鳴器報(bào)警。仿真圖如圖5.1.2所示。</p><p> 5.1.2 丙選手犯規(guī)仿真圖</p><p><b> 5.1.3開(kāi)始搶答</b></p><p> 主持人按下開(kāi)始鍵,開(kāi)始燈亮,數(shù)碼管開(kāi)始倒計(jì)時(shí),仿真圖如圖5.1.3所示。</p>
24、;<p> 5.1.3 開(kāi)始搶答仿真圖</p><p> 5.1.4 搶答成功,答題</p><p> 開(kāi)始搶答以后,乙選手搶答成功,答題倒計(jì)時(shí),數(shù)碼管顯示選手編號(hào)及倒計(jì)時(shí),仿真圖如5.1.4所示。</p><p> 5.1.4 乙選手搶答成功開(kāi)始答題仿真圖</p><p> 5.1.5設(shè)置搶答時(shí)間與答題時(shí)間</
25、p><p> 設(shè)置搶答時(shí)間,本次設(shè)計(jì)仿真是將搶答時(shí)間增加了至16秒,仿真圖如5.1.5.1所示。</p><p> 設(shè)置答題時(shí)間,本次設(shè)計(jì)仿真是將答題時(shí)間減少了至24秒,仿真圖如5.1.5.2所示。</p><p> 5.1.5.1 搶答時(shí)間增加了至16秒仿真圖</p><p> 5.1.5.2 答題時(shí)間減少到26秒仿真圖</p&g
26、t;<p><b> 5.2 實(shí)物調(diào)試</b></p><p> 運(yùn)行keil軟件新建一個(gè)工程把程序輸進(jìn)去,然后進(jìn)行編譯,再點(diǎn)擊工具條上的Debug按鈕,程序被下載到單片機(jī)中,仿真如下圖所示。</p><p> 圖5.2.1 初始化</p><p> 圖5.2.2 乙選手倒計(jì)時(shí)答題</p><p>
27、 5.2.3 乙選手犯規(guī)</p><p><b> 第6章 課題總結(jié)</b></p><p> 兩周的課程設(shè)計(jì)轉(zhuǎn)眼也要結(jié)束了,通過(guò)這次課程設(shè)計(jì)期間使我對(duì)單片機(jī)課上所學(xué)到的知識(shí)有了更深的認(rèn)識(shí),并且把我們平時(shí)在電子這一方面所學(xué)到的知識(shí)有了一個(gè)綜合的運(yùn)用。非常感謝王老師的悉心督促和耐心指導(dǎo)。</p><p> 本次電子課程設(shè)計(jì)實(shí)習(xí)將理論與實(shí)
28、踐有機(jī)地結(jié)合,既考查了同學(xué)對(duì)理論知識(shí)的掌握程度,由反映了實(shí)際動(dòng)手能力,更主要的是考查了同學(xué)對(duì)知識(shí)的綜合運(yùn)用以及創(chuàng)新設(shè)計(jì)思維能力,為今后的發(fā)展提供了一次良好的學(xué)習(xí)環(huán)境。 在完成單片機(jī)課程設(shè)計(jì)后,我們發(fā)現(xiàn)我們還有許多不足,所學(xué)到的知識(shí)還遠(yuǎn)遠(yuǎn)不夠,以至于還有一些功能不能被動(dòng)完成。思維局限性,編程語(yǔ)言可以用多種方式進(jìn)行實(shí)現(xiàn),要充分利用書本知識(shí)進(jìn)行發(fā)散性思維,創(chuàng)新的理念有待提高。不懂得將所學(xué)知識(shí)充分利用,要形成知識(shí)結(jié)構(gòu)體系
29、,這樣不會(huì)將知識(shí)給孤立,從而不能得到太多的擴(kuò)展。但通過(guò)學(xué)習(xí)這一次實(shí)踐,增強(qiáng)了我們的動(dòng)手能力,提高和鞏固了單片機(jī)方面的知識(shí),特別是軟件方面。</p><p> 兩周的課程設(shè)計(jì)轉(zhuǎn)眼也要結(jié)束了,通過(guò)這次課程設(shè)計(jì)期間使我對(duì)單片機(jī)課上所學(xué)到的知識(shí)有了更深的認(rèn)識(shí),并且把我們平時(shí)在電子這一方面所學(xué)到的知識(shí)有了一個(gè)綜合的運(yùn)用。非常感謝王老師的悉心督促和耐心指導(dǎo)以及給予我?guī)椭耐瑢W(xué)們。</p><p>&
30、lt;b> 參考文獻(xiàn)</b></p><p> [1] 王迎旭 單片機(jī)原理與應(yīng)用 [M] 北京:機(jī)械工業(yè)出版社,2012[2] 三恒星科技 MCS-51 單片機(jī)原理與應(yīng)用實(shí)例 [M] 北京:電子工業(yè)出版社,2008[3] 王守中 51單片機(jī)開(kāi)發(fā)入門與典型實(shí)例 [M] 北京:人民郵電出版社,2007[4] 李全利 單片機(jī)原理及應(yīng)用技術(shù) [M] 北京:高等教育出版社,2004[5] 林毓
31、梁 單片機(jī)原理及應(yīng)用 [M] 北京:機(jī)械工業(yè)出版社,2005</p><p> 附錄A 系統(tǒng)原理圖</p><p><b> 附錄B 程序</b></p><p> #include<reg51.h></p><p> typedef unsigned char uchar;</p>
32、<p> sbit FW=P3^1; //復(fù)位按鍵</p><p> sbit le1=P2^0; // 數(shù)碼管位選</p><p> sbit le2=P2^1; //數(shù)碼管位選</p><p> sbit le3=P2^2; //
33、數(shù)碼管位選</p><p> sbit led1=P1^3; //甲選手指示燈</p><p> sbit led2=P1^4; //乙選手指示燈</p><p> sbit led3=P1^5; //丙選手指示燈</p><p> sbit kaishi=P1
34、^6; //開(kāi)始指示燈</p><p> sbit fuwei=P1^7; //復(fù)位指示燈</p><p> int daoshu=10,time=30; //初始化搶答和答題時(shí)間</p><p> void chushi(); //定義初始化程序</p
35、><p> void display(uchar,ucahr,uchar); //定義動(dòng)態(tài)掃描程序</p><p> void delay(int); //定義延時(shí)程序</p><p> void fangui(); //定義犯規(guī)程序</p><p>
36、 void jishi(); //定義計(jì)時(shí)搶答程序</p><p> void shezhi1(); //定義設(shè)置搶答時(shí)間程序</p><p> void shezhi2(); //定義設(shè)置答題時(shí)間程序</p><p> void display1(uchar)
37、; //定義答題程序</p><p> uchar tab[12]={0x0c0,0x0F9,0x0A4,0x0B0,0x099,0x092,0x082,0x0F8,0x080,0x090,0x0FF,0x8E};</p><p> void main()</p><p><b> {</b></p>
38、<p><b> uchar c;</b></p><p> chushi(); //調(diào)用初始化程序</p><p><b> while(1)</b></p><p><b> {</b></p><p> d
39、isplay(11,11,11); //動(dòng)態(tài)掃描</p><p> fangui();調(diào)用犯規(guī)程序,判斷是否犯規(guī)</p><p><b> c=P3;</b></p><p> if(c==0x0ff)</p><p><b> continue;</b><
40、/p><p><b> else</b></p><p><b> {</b></p><p><b> delay(2);</b></p><p><b> c=P3;</b></p><p> if(c==0x0ff)&l
41、t;/p><p><b> continue;</b></p><p><b> else</b></p><p><b> {</b></p><p><b> switch(c)</b></p><p><b>
42、 {</b></p><p> case 0x0fe: jishi();break; //開(kāi)始搶答</p><p> case 0x0fd: P1=0xbf;break; //復(fù)位</p><p> case 0x0fb: shezhi1();break; //搶答時(shí)間設(shè)置</p>&
43、lt;p> case 0x0f7: shezhi2();break; //答題時(shí)間設(shè)置</p><p> default:continue;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b
44、></p><p><b> }</b></p><p><b> }</b></p><p> void chushi()</p><p><b> {</b></p><p><b> P0=0x0FF;</b>
45、</p><p><b> P1=0x0FF;</b></p><p><b> P2=0x0FF;</b></p><p><b> P3=0x0FF;</b></p><p> led1=0; //選手燈亮</p><p>
46、;<b> led2=0;</b></p><p><b> led3=0;</b></p><p><b> }</b></p><p> void display(uchar a1,uchar a2,uchar a3)</p><p><b> {<
47、;/b></p><p> //P2=0xFB; //第3位數(shù)碼管動(dòng)態(tài)掃描顯示</p><p><b> le3=0;</b></p><p> P0=tab[a1];</p><p><b> delay(0);</b></p><p&
48、gt;<b> le3=1;</b></p><p> //P2=0xFD; //第2位數(shù)碼管動(dòng)態(tài)掃描顯示</p><p><b> le2=0;</b></p><p> P0=tab[a2];</p><p><b> delay(0);</b>
49、</p><p><b> le2=1;</b></p><p> //P2=0xFE; //第1位數(shù)碼管動(dòng)態(tài)掃描顯示</p><p><b> le1=0;</b></p><p> P0=tab[a3];</p><p><b> d
50、elay(0);</b></p><p><b> le1=1;</b></p><p><b> }</b></p><p> void delay(int a)</p><p><b> {</b></p><p> int i
51、,j,k;</p><p> for(k=a;k>=0;k--)</p><p> for(i=0;i<=125;i++)</p><p> for(j=0;j<=5;j++)</p><p><b> {}</b></p><p><b> } </b
52、></p><p> void fangui()</p><p><b> {</b></p><p><b> uchar b;</b></p><p><b> b=P2;</b></p><p> b=b&0xf0;
53、 </p><p> if(b==0xf0) //看是否有人搶答</p><p><b> return;</b></p><p><b> else</b></p><p><b> {</b></p><
54、p><b> delay(2);</b></p><p><b> b=P2;</b></p><p><b> b=b&0xf0;</b></p><p> if(b==0x0f0)</p><p><b> return;</b>
55、;</p><p><b> else</b></p><p><b> {</b></p><p><b> P1=0xff;</b></p><p><b> switch(b)</b></p><p><b>
56、; {</b></p><p> case 0xd0:do{ display(1,11,11);led1=0;}while(FW==1);led1=1;break; //第一位選手犯規(guī)</p><p> case 0xb0:do{ display(2,11,11);led2=0;}while(FW==1);led2=1;break; //第2位選手犯規(guī)<
57、/p><p> case 0x70:do{ display(3,11,11);led3=0;}while(FW==1);led3=1;break; // 第3位選手犯規(guī)</p><p> default: ; </p><p><b> }</b></p><p><b> }&l
58、t;/b></p><p><b> }</b></p><p><b> return;</b></p><p><b> }</b></p><p> void jishi()</p><p><b> {</b>
59、;</p><p> int i,j,k,a,b;</p><p> uchar key;</p><p> kaishi=0; //開(kāi)始搶答,開(kāi)始倒計(jì)時(shí)</p><p> for(i=daoshu;i>=0;i--)</p><p><b> {</b>&
60、lt;/p><p><b> P1=0x7f;</b></p><p><b> a=i/10;</b></p><p><b> b=i%10;</b></p><p> for(k=15;k>=0;k--)</p><p><b>
61、; {</b></p><p><b> if(FW==0)</b></p><p><b> {</b></p><p><b> delay(2);</b></p><p><b> if(FW==0)</b></p>
62、<p> {P1=0xbf; return;}</p><p><b> }</b></p><p> display(0,b,a);</p><p><b> key=P2;</b></p><p> key=key&0xf0;</p><p&g
63、t; if(key==0x0f0)</p><p><b> continue;</b></p><p><b> else</b></p><p><b> {</b></p><p><b> delay(2);</b></p>
64、<p><b> key=P2;</b></p><p> key=key&0xf0;</p><p> if(key==0x0f0)</p><p><b> continue;</b></p><p><b> else</b></p&g
65、t;<p> switch(key)</p><p><b> {</b></p><p> case 0xd0:P1=0xf7;display1(1);return;break; //第1位選手搶答成功</p><p> case 0xb0:P1=0xef;display1(2);return;break;
66、 //第2位選手搶答成功</p><p> case 0x70:P1=0xdf;display1(3);return;break; //第3位選手搶答成功</p><p> default:; </p><p><b> }</b></p><p><b> }</b><
67、;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void display1(uchar gg)</p><p><b> {</b></
68、p><p> int i,j,k,a,b;</p><p> for(i=time;i>=0;i--)</p><p><b> {</b></p><p> a=i/10; //取十位</p><p> b=i%10; //取個(gè)位</p>
69、<p> for(k=15;k>=0;k--)</p><p><b> {</b></p><p> display(gg,b,a); //數(shù)碼管顯示</p><p><b> if(FW==0)</b></p><p> {P1=0xbf;return;}
70、</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void shezhi1()</p><p><b> { </b></p>
71、;<p> uchar key;</p><p><b> int a,b;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> a=daoshu/10;</p><p&
72、gt; b=daoshu%10;</p><p> display(0,b,a);</p><p><b> key=P3;</b></p><p> if(key==0x0ff)</p><p><b> continue;</b></p><p><b&g
73、t; else</b></p><p><b> {</b></p><p> if(key==0x0ff)</p><p><b> continue;</b></p><p><b> else</b></p><p> sw
74、itch(key)</p><p><b> {</b></p><p> case 0x0ef:if(daoshu<30)daoshu++;while(P3==0x0ef){};break; //搶答時(shí)間增加,最大增加到30秒</p><p> case 0x0df:if(daoshu>5)daosh
75、u--;while(P3==0x0df){};break; //搶答時(shí)間減少,最少減少到5秒</p><p> case 0x0fd:P1=0xbf;return;break;</p><p> default:continue;</p><p><b> }</b></p><p><
76、b> }</b></p><p><b> }</b></p><p><b> return;</b></p><p><b> }</b></p><p> void shezhi2()</p><p><b>
77、 { </b></p><p> uchar key;</p><p><b> int a,b;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> a=time
78、/10;</p><p> b=time%10;</p><p> display(0,b,a);</p><p><b> key=P3;</b></p><p> if(key==0x0ff)</p><p><b> continue;</b></p&g
79、t;<p><b> else</b></p><p><b> {</b></p><p> if(key==0x0ff)</p><p><b> continue;</b></p><p><b> else</b></
80、p><p> switch(key)</p><p><b> {</b></p><p> case 0x0ef:if(time<60)time++;while(P3==0x0ef){};break; //答題時(shí)間增加,最多增加到60秒</p><p> case 0x0df:if(time>20)ti
81、me--;while(P3==0x0df){};break; //答題時(shí)間減少,最少減少到20秒</p><p> case 0x0fd:P1=0xbf;return;break;</p><p> default:continue;</p><p><b> }</b></p><p><b> }
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)三人搶答器
- 單片機(jī)搶答器課程設(shè)計(jì) --搶答器
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)搶答器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---搶答器
- 搶答器 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)搶答器(16路搶答器)
- 智力搶答器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)多路搶答器
- 智力搶答器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--智力搶答器
- 單片機(jī)搶答器課程設(shè)計(jì)3
- 搶答器單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--搶答器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的搶答器設(shè)計(jì)
- 四路搶答器單片機(jī)課程設(shè)計(jì)
- 四路搶答器單片機(jī)課程設(shè)計(jì)
- 基于單片機(jī)的搶答器課程設(shè)計(jì)
- 基于單片機(jī)的搶答器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論