基于單片機(jī)的六路搶答器設(shè)計_第1頁
基于單片機(jī)的六路搶答器設(shè)計_第2頁
基于單片機(jī)的六路搶答器設(shè)計_第3頁
基于單片機(jī)的六路搶答器設(shè)計_第4頁
基于單片機(jī)的六路搶答器設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、僅供個人參考課程設(shè)計(論文)題目名 稱基于單片機(jī)的六路搶答器設(shè)計課程名 稱單片機(jī)原理及應(yīng)在電氣測控學(xué)科中的應(yīng)用學(xué)生姓名學(xué) 號系、專 業(yè)電氣工程系指導(dǎo)教師年 月 日邵陽學(xué)院課程設(shè)計(論文)評閱表學(xué)生姓名 學(xué) 號系電氣工程系專業(yè)班級題目名稱基于單片機(jī)的六路搶答器課程設(shè)計課程名稱單片機(jī)原理及應(yīng)用在電氣測控學(xué)科中的應(yīng)用一、學(xué)生自我總結(jié)學(xué)生簽名:年 月 日、指導(dǎo)教師評定評分項目平時成績論文答辯綜合成績權(quán) 重304030老師填寫等級:優(yōu)、良、中、及格、不及格單項成績指導(dǎo)教師評語:指導(dǎo)教師(簽名):年 月日注:1、本表是學(xué)生課程設(shè)計(論文)成績評定的依據(jù),裝訂在設(shè)計說明書(或論文)的“任務(wù)書”頁后面;2、表

2、中的“評分項目”及“權(quán)重”根據(jù)各系的考核細(xì)則和評分標(biāo)準(zhǔn)確定?!菊繑?shù)字電路在日常生活中的應(yīng)用很多,隨著它的發(fā)展,其應(yīng)用將來會越來越廣泛 工廠、學(xué)校和電視臺等單位常舉辦各種智力比賽,搶答器是必要設(shè)備。搶答器是一名公 正的裁判員,它有主體電路與擴(kuò)展電路組成,其基本原理是主持人按開始按鈕是以開始,利用一個優(yōu)先編碼器,譯出最先搶到答題權(quán)的選手編號,并經(jīng)LED顯示器顯示出來,同時還要封鎖電路以防其他選手再搶答。本文所介紹了 一種六路搶答器的設(shè)計與制作?!娟P(guān)鍵詞】搶答鎖存計時顯示第1節(jié)引言21.1 數(shù)字搶答器的概述21.2 設(shè)計任務(wù)與要求 21.3 系統(tǒng)主要功能3第2節(jié)系統(tǒng)主要硬件電路設(shè)計 52.1 單

3、片機(jī)控制系統(tǒng)原理圖 62.2 單片機(jī)主機(jī)系統(tǒng)電路 62.2.1 時鐘頻率電路的設(shè)計62.2.2 復(fù)位電路的設(shè)計72.2.3 顯示電路的設(shè)計72.2.4 鍵盤掃描電路的設(shè)計72.3 發(fā)聲82.4 系統(tǒng)復(fù)位8第3節(jié)系統(tǒng)軟件設(shè)計103.1 主程序系統(tǒng)結(jié)構(gòu)圖103.2 程序流程圖103.3 系統(tǒng)程序11第4節(jié)調(diào)試及性能分析 20第5節(jié)結(jié)束語21參考文獻(xiàn)22基于單片機(jī)的六路搶答器數(shù)理與信息工程學(xué)院計本072倪曉靜指導(dǎo)教師:余水寶第1節(jié)引言單片機(jī)把我們帶入了智能化的電子領(lǐng)域,許多繁瑣的系統(tǒng)若由單片機(jī)進(jìn)行設(shè)計,便 能收到電路更簡單、功能更齊全的良好效果。若把經(jīng)典的電子系統(tǒng)當(dāng)作一個僵死的電子 系統(tǒng),那么智能化

4、的現(xiàn)代電子系統(tǒng)則是一個具有“生命”的電子系統(tǒng)。而隨著技術(shù)的進(jìn) 步,單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各個電子系統(tǒng)中已成一種趨勢。本設(shè)計就是 基于單片機(jī)設(shè)計搶答系統(tǒng),通過串口通信動態(tài)傳輸數(shù)據(jù),使搶答系統(tǒng)有了更多更完善的 功能。單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機(jī)的應(yīng)用程序賦予了其 新的“生命”,使其在傳統(tǒng)的搶答器面前具有電路簡單、成本低、運(yùn)行可靠等特色。對 于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進(jìn)行搶答,搶到題的選手 來回答問題。搶答器不僅考驗選手的反應(yīng)速度同時也要求選手具備足夠的知識面和一定 的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。1.1 數(shù)字

5、搶答器的概述對于搶答器我們大家都知道那是用于選手做搶答題時用的,選手進(jìn)行搶答,搶到題 的選手來回答問題。搶答器不僅考驗選手的反應(yīng)速度同時也要求選手具備足夠的知識面 和一定的勇氣。選手們都站在同一個起跑線上,體現(xiàn)了公平公正的原則。本實驗設(shè)計的數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊 的輸入信號在顯示器上輸出;用控制電路和主持人開關(guān)啟動報警電路,以上兩部分組成 主體電路。通過定時電路和譯碼電路將秒脈沖產(chǎn)生的信號在顯示器上輸出實現(xiàn)計時功 能,構(gòu)成擴(kuò)展電路。經(jīng)過布線、焊接、調(diào)試等工作后數(shù)字搶答器成形。更具有實用性。1.2 設(shè)計任務(wù)與要求任務(wù):設(shè)計一款數(shù)字搶答器1.3

6、本要求(1)搶答器同時供6名選手或6個代表隊比賽,分別用6個按鈕S0 S5表示。(2)設(shè)置一個系統(tǒng)清除和搶答控制開關(guān) S,該開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在 LED 數(shù)碼管上顯示,同時揚(yáng)聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手 的編號一直保持到主持人將系統(tǒng)清除為止。(4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動"開始”鍵后,定時器進(jìn)行減計時,同時揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的 時間0.5秒左右。(5)參賽選手在設(shè)定的時間內(nèi)進(jìn)行搶答,搶答有效,定時器停止工作,顯示器上顯 示選手

7、的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。(6)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯 小器.上顯示00。優(yōu)點:與普通搶答器相比,本作品有以下幾方面優(yōu)勢具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始”前提前 搶答違反規(guī)則。具有定時功能,在30秒內(nèi)無人搶答表示所有參賽選手獲參賽隊對本題棄權(quán)。30秒時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。1.3 系統(tǒng)主要功能搶答器原理:該搶答器供不多于四個的搶答比賽使用。每個選手的座位前安裝一只 搶答按鈕開關(guān)和一只信號燈。主持人的座位前安裝一只復(fù)原按鈕開關(guān)、一只蜂鳴器和一 只搶答器工作狀態(tài)指示燈。

8、每當(dāng)主持人口頭發(fā)出允許搶答的號令之后,哪個隊先按下座 位上的按鈕開關(guān),該座位的信號燈就先被點亮,同時封鎖其他按鈕開關(guān)的活動。并且熄 滅主持人座位上的狀態(tài)指示燈和發(fā)出 3聲類似于電話振鈴的提示聲,以“聲明”此次 搶答動作已經(jīng)完成。在主持人確認(rèn)后,按下復(fù)原按鈕,狀態(tài)指示燈重新點亮,并且同時 發(fā)出“笛一一笛一一”聲,為下一次的搶答作好準(zhǔn)備。電路中的蜂鳴器FM是一只帶有助音腔的壓電陶瓷蜂鳴器,用于模擬發(fā)出報警聲的功率放大器和喇叭。在FM發(fā)聲的同時,燈D6也在發(fā)光。FM可以看作是一個電容性負(fù)載,本身不能流過直流電流。發(fā)聲 的原理是,作用在兩個電極極板的電位在發(fā)生變化時,陶瓷材料就發(fā)生彎曲,從而振動 空氣

9、發(fā)出聲音。FMffi 4只按鈕開關(guān)SWaSW以及4只電阻RaRd都是在演示板的基 礎(chǔ)上額外添加的。由于 RB端口內(nèi)部具有上拉電阻,只要用軟件設(shè)置其有效,即可省略 在4只端口引腳上外接上拉電阻。按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系如表1.1所示:表1.1按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系座位主持座座座座座座人席位1位2位3位4位5位6按鈕 開關(guān)SW1SW aSWbSW cSWdSWeSWf指示 燈D7D0D1D2D3D4D5蜂鳴 器有無無無無無無第2節(jié) 系統(tǒng)主要硬件電路設(shè)計為使硬件電路設(shè)計盡可能合理,應(yīng)注意以下幾方面:(1)盡可能采用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片可以代替若干普通芯片, 隨著生

10、產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總 和局。(2)留有設(shè)計余地。在設(shè)計硬件電路時,要考慮到將來修改擴(kuò)展的方便。因為很少 有一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴(kuò)展而被 迫進(jìn)行全面返工。(3)程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計采用AT89C5111片機(jī)(4) I/O端口,在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題, 而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸 入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計就預(yù)留出一 些I/O端口,雖然當(dāng)時空著沒用,那

11、么用的時候就派上用場了。2.1 單片機(jī)控制系統(tǒng)原理圖如圖2-1 , P1.0為開始搶答,P1.7為停止,P1.1-P1.6為六路搶答輸入,數(shù)碼管段 選P0 口,位選P2 口低3位,蜂鳴器輸出為P3.6 口。P3.2為時間加1調(diào)整,P3.3為時 間減1調(diào)整。圖2-1系統(tǒng)原理圖O2 - I0,0 IF毀叮er _斤a詼i口 1a - ohi :陽TKL1Kuma 阻酢明XTAQ也的國PQSifilfi中審函間悶僦KMR.itfeR5S-0KJtfiTlALEP2.錨正口用/1府陽岸AX初四P1H門口松"IHj1ffleFUPaITTFl.*.mP15PH 5TlP14口押P1J=TE&#

12、39;U2A->I -一 m2.2 單片機(jī)主機(jī)系統(tǒng)電路該六路搶答器的設(shè)計細(xì)分為時鐘頻率電路的設(shè)計,復(fù)位電路的設(shè)計,顯示電路的設(shè) 計和鍵盤掃描電路的設(shè)計等。2.2.1 時鐘頻率電路的設(shè)計單片機(jī)必須在時鐘的驅(qū)動下才能工作.在單片機(jī)內(nèi)部有一個時鐘振蕩電路,只需要 外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機(jī)內(nèi)部的各個單元,決定單片機(jī)的工作速度。圖2-2外部振蕩C2XTAL2源電路33PFC1XTAL131 PF :TEXi>不得用于商業(yè)用途, GND一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引 腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,具振蕩頻率主要由石

13、英晶振的頻率確定。電路 中兩個電容C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。 C1,C2的典型值為30PE單片機(jī)在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。如時鐘頻率為12MHz即fosc=12MHz,貝U時鐘周期為1/12仙s。2.2.2 復(fù)位電路的設(shè)計單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個機(jī)器周期的高電平即可實 現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖2-3所示:圖2-3復(fù)位電路值得注意的是,在設(shè)計當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功

14、能 ,由上面的硬件 復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值,而前面的功能介紹中提到 了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機(jī)進(jìn)行硬件復(fù)位 , 所以設(shè)定了軟復(fù)位功能。軟復(fù)位實際上就是當(dāng)程序執(zhí)行完畢之后 ,將程序指針通過一條 跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。2.2.3 顯示電路的設(shè)計顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供 盡可能豐富的信息,全靠軟件來解決。2.2.4 鍵盤掃描電路的設(shè)計鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文 獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)

15、的鍵盤掃描 程序。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤 狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作 和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。圖2-4獨(dú)立鍵盤它們各有自己的特點,其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜, 一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在 硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口 資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛 刺”現(xiàn)象。這里采用最常用的方法,即延

16、時重復(fù)掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾 ms,而我們按鍵的時間一月遠(yuǎn)遠(yuǎn)大于這個時間,所以當(dāng)單 片機(jī)檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平是否保持 原狀態(tài),如果是則為有效按鍵,否則無效。2.3 發(fā)聲我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個 口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能 發(fā)出一定頻率的聲音,若再利用延時程序控制“高” “低”電平的持續(xù)時間,就能改變 輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。2.4 系統(tǒng)復(fù)位使CPU!入初始X犬態(tài),從0000H地址開始執(zhí)行程

17、序的過程叫系統(tǒng)復(fù)位。從實現(xiàn)系統(tǒng) 復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過CPLM部的硬件電路給CPU勺RESE就加上足夠時間的高電位才能實現(xiàn)。上電復(fù)位,人工按鈕復(fù)位 和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對 片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動消除中斷激活標(biāo)志,使中斷 系統(tǒng)能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系 列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化 過程中完成。而對

18、中斷激活標(biāo)志的清除工作常被遺忘,因為它沒有明確的位地址可供編 程。有的編程人員用020000 (LJMP 0000HD作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H地址 就完成了軟件復(fù)位,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗 后必須進(jìn)行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置 位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此 可見消除中斷激活標(biāo)志的重要性。在所有的指令中,只有 RETI指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯 處理程序ERRfc要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。這部分程序如下:POWE

19、R DATA 67H ;上電標(biāo)志存放單元ERR: CLR EA ; 關(guān)中斷MOV DPTR,#ERR1 ; 準(zhǔn)備返回地址PUSH DPLPUSH DPHRETI;消除高級中斷激活標(biāo)志ERR1: MOV POWER,#0AAH 重建上電標(biāo)志CLR A ;準(zhǔn)備復(fù)位地址PUSH ACC ;壓入復(fù)位地址0000HPUSH ACCRETI;清除低級中斷激活標(biāo)志,從程序 0000H開始執(zhí)行這段程序先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個RETI指令代替兩個LJMP 指令,從而消除了兩級中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來的程序可能沒有全部激活 兩個標(biāo)志,這也無妨。第3節(jié)系統(tǒng)軟件設(shè)計軟件任務(wù)分析和硬件電路

20、設(shè)計結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完 成,在硬件電路設(shè)計基本定型后,也就基本上決定下來了。3.1 主程序系統(tǒng)結(jié)構(gòu)圖系統(tǒng)初始化模塊圖3-1軟件系統(tǒng)結(jié)構(gòu)圖3.2 程序流程圖在本設(shè)計中包括了以下八個主要的程序: 主程序、非法搶答序、搶答時間調(diào)整程序、 回答時間調(diào)整程序、倒計時程序、正常搶答處理程序、犯規(guī)處理程序、顯示及發(fā)聲程序。 主流程圖如3-2所示:圖3-2程序設(shè)計流程圖3.3 系統(tǒng)程序P1.0為開始搶答,P1.7為停止, 選P2 口,蜂鳴器輸出為P3.6 口。程序代碼如下:OK EQU 20H;RING EQU 22H;ORG 0000H AJMP MAIN ORG 0003H A

21、JMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#0FH;MOV R2,#0AH;MOV TMOD,#11H;MOV TH0,#0F0HMOV TL0,#0FFH ;MOV TH1,#3CHMOV TL1,#0B0H;50msSETB EAp1.1-p1.6為六路搶答輸入數(shù)碼管段選 P0 口,位搶答開始標(biāo)志位 響鈴標(biāo)志位初設(shè)搶答時間為15s初設(shè)答題時間為10s設(shè)置未定時器/模式1越高發(fā)聲頻率越高,越尖為一次溢出中斷不得用于商業(yè)用途僅供個人參考SE

22、TB ET0SETB ET1SETB EX0SETB EX1CLR OKCLR RINGSETB TR1SETB TR0查詢程序:START: MOV R5,#0BHMOV R4,#0BH MOV R3,#0BH ACALL DISPLAY JB P1.0,NEXT ACALL DELAY JB P1.0,NEXTACALL BARKMOV A,R1MOV R6,A SETB OKMOV R3,0AH允許四個中斷T0/T1/INT0/INT1一開始就運(yùn)行定時器,以開始顯示FFF ;果想重新計數(shù)重置TH1/TL1就可以了未開始搶答時候顯示FFF去抖動,如果"開始鍵"按下就向下

23、執(zhí)行;否者跳到非法搶答查詢按鍵發(fā)聲送R1->R6,因為R1中保存了搶答時間搶答標(biāo)志位,用于COUNT程序中判斷;是否查詢搶答搶答只顯示計時,滅號數(shù)不得用于商業(yè)用途AJMP COUNT ; 進(jìn)入倒計時程序,"查詢有效搶答的程序"在COUNT面NEXT: JNB P1.1,FALSE1JNB P1.2,FALSE2JNB P1.3,FALSE3JNB P1.4,FALSE4JNB P1.5,FALSE5JNB P1.6,FALSE6AJMP START非法搶答處理程序:FALSE1: ACALL BARK;按鍵發(fā)聲MOV R3,#01HAJMP ERRORFALSE2:

24、ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORINT0(搶答時間R1調(diào)整程序):INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AH先在兩個時間LED上顯示R1如果不是99,R2力口 1,如果力口至ij 9

25、9 了 ;R1就置0新加起ACALL DISPLAYJNB P3.2,INC0JNB P3.3,DEC0JNB P1.7,BACK0AJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1如果R1為0,R1就置99JZ SETR1;DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETIIN

26、T1(回答時間R2調(diào)整程序):INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.2,INC1JNB P3.3,DEC1JNB P1.7,BACK1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: M

27、OV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI倒計時程序(搶答倒計時和回答倒計時都跳到該程序COUNT: MOV R0,#00H;MOV TH1,#3CHMOV TL1,#0B0H;RECOUNT: MOV A,R6;R6MOV B,#0AHDIV AB;MOV 30H,A;MOV 31H,B;MOV R5,30H;MOV R4,31H;MOV A,R6SUBB A,#07HJNC LARGER;MOV A,R0CJNE A,#0AH,FULL ;1sCLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECK ;SETB RI

28、NGMOV A,R6JZ QUIT;MOV R0,#00HDEC R6;AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECKDEC R6;MOV R0,#00HCHECK: JNB P1.7,QUIT ;ACALL DISPLAYJB OK,ACCOUNT):重置定時器中斷次數(shù)重置定時器保存了倒計時的時間之前;先將搶答時間或回答時間給R6除十分出個位/十位十位存于(30H)個位存于(31H)取十位取個位大于5s跳至ij LARGER;小于等于5s會提醒中0.5s向下運(yùn)行下面系1s的情況,響并顯示號數(shù);并清R0,重新計時計時完畢一秒標(biāo)志減1計時一秒R6自動減1如

29、按下停止鍵退出如果是搶答倒計時,如是則查詢 ;搶答,否者跳過查詢繼續(xù)倒數(shù)AJMP RECOUNT ACCOUT: JNB P1.1,TRUE1JNB P1.2,TRUE2JNB P1.3,TRUE3JNB P1.4,TRUE4JNB P1.5,TRUE5JNB P1.6,TRUE6AJMP RECOUNTQUIT: CLR OKCLR RINGAJMP START正常搶答處理程序:TRUE1: ACALL BARKMOV A,R2MOV R6,A;MOV R3,#01HCLR OK;AJMP COUNTTRUE2: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#02HC

30、LR OKAJMP COUNTTRUE3: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4: ACALL BARK;MOV A,R2MOV R6,A如果按下了 "停止鍵”執(zhí)行的程序按鍵發(fā)聲搶答時間R2送R6因為答題的計時不再查詢搶答;所以就鎖了搶答MOV R3,#04HCLR OKAJMP COUNTTRUE5: ACALL BARK;MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK;MOV A,R2MOV R6,A MOV R3,#06H

31、CLR OK AJMP COUNT 犯規(guī)搶答程序: ERROR: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;HERE: MOV A,R0CJNE A,#0AH,FLASHCLR RINGMOV R3,#0AHMOV R4,#0AH MOV R5,#0AH;AJMP CHECK1FLASH: CJNE A,#14H,CHECK1SETB RINGMOV R0,#00HMOV R3,34H;MOV R5,#0BHMOV R4,#0BH;AJMP CHECK1CHECK1: JNB P1.7,QUIT1 ACALL DISPLAY AJMP HER

32、EQUIT1: CLR RING犯規(guī)號數(shù)暫存與(34H)向下運(yùn)行-> 滅并停響三燈全滅下面系1s的情況,響并顯示號數(shù);并清R0,重新計算取回號數(shù)顯示FF和號數(shù)CLR OKAJMP START顯小程序:入口參數(shù):R5,R4,R3存入的分別為第一,二,三為數(shù)碼所顯示的位碼出口參數(shù):無DISPLAY: MOV DPTR,#DAT1 ;查表顯示程序,利用P0 口做段選碼口;輸出/P2低三位做位選碼輸出MOV A,R5MOVC A,A+DPTRMOV P2,#01HMOV P0,AACALL DELAYMOV DPTR,#DAT2MOV A,R4MOVC A,A+DPTRMOV P2,#02HMO

33、V P0,AACALL DELAYMOV A,R3MOVC A,A+DPTRMOV P2,#04HMOV P0,AACALL DELAYRETDAT1: DB 00H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;"滅","1","2","3","4","5","6","7","8","9","滅","F"DAT2:

34、 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71H;第一個為零,其他與上相同,因為十位如果為零顯示熄滅加減時間延時(起到不會按下就加N個數(shù)):DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET延時(顯示和去抖動用到):DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET發(fā)聲程序:BARK: SETB RINGACALL DELAY1ACALL DELAY1按鍵發(fā)聲標(biāo)志位為1時候P

35、3.6 口不短 ;取反使喇叭發(fā)出一定頻率的聲音CLR RING;RETTO溢出中斷(響鈴程序):T0INT: MOV TH0,#0ECHMOV TL0,#0FFHJNB RING,OUTCPL P3.6;RINGOUT: RETIT1溢出中斷(計時程序):T1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIEND第4節(jié)調(diào)試及性能分析(1)具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始”前提 前搶答違反規(guī)則。(2)具有定時功能,在30秒內(nèi)無人搶答表示所有參賽選手獲參賽隊對本題棄權(quán)。(3) 30秒時仍無人搶答其報警電路工作表示搶答時間耗盡并禁止搶答。

36、(4)如果想調(diào)節(jié)搶答時間或答題時間,按"搶答時間調(diào)節(jié)"鍵或"答題時間調(diào)節(jié)"鍵進(jìn) 入調(diào)節(jié)狀態(tài),此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間值 ,如想加一秒按一下"加1s” 鍵,如果想減一秒按一下"-1s”鍵,時間LED上會顯示改變后的時間,調(diào)整范圍為0s99s, 0s時再減1s會跳到99, 99s時再力口 1s會變到0s。(5)主持人按"搶答開始"鍵,會有提示音,并立刻進(jìn)入搶答倒計時(預(yù)設(shè)15s搶答 時間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進(jìn)入回答倒計時 (預(yù)設(shè)10s 搶答時間),不進(jìn)行搶答查詢,所以只有第一個按搶答的選手有效。倒數(shù)時間到小于 5s 會每秒響一下提示音。(6)如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系統(tǒng)會自動進(jìn)入 準(zhǔn)備狀態(tài),等待主持人按"搶答開始”進(jìn)入下次搶答計時。(7)如果主才I人未按"搶答開始”鍵,而有人按了搶

溫馨提示

  • 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

提交評論