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

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要 搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。作為一個(gè)單 位,如果專門購一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往 往因長(zhǎng)期存放使(電子器件的)搶答器損壞,再購置的麻煩及時(shí)性就會(huì)影響活動(dòng) 的開展,因此設(shè)計(jì)了本搶答器。 本設(shè)計(jì)是以八路搶答為基本理念。利用 at89c51 單片機(jī)及外圍接口實(shí)現(xiàn)的搶 答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié) 合起來,使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用 開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開始后 搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回

2、答問題的時(shí)間可 在 1-99s 設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提 示;搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制 復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 關(guān)鍵詞 at89c51,led 數(shù)碼管,搶答器,計(jì)時(shí) abstract as a tool, the first answer device has been widely used in all kinds of intelligence and knowledge contests occasions. however, it is not used so frequently

3、due to its production complexity, lacking of reliability and reducing interest. although a unit can afford it, it is rarely used yearly. meanwhile, because of the long-term storage, its electronic devices are easy to be damaged. some activities are likely to be affected because it is quiet trouble t

4、o repurchase these spare parts and time-wasting. this first answer device is designed to solve these problems. and this design is based on the principle of eight-way first answer. considering the requirement and the limited time to answer, while using at89c51 single-chip and external interface of th

5、e answer system, the use of single-chip timer / counter timing and number of the principles in mind, the software and hardware combination, makes the system time correctly, while the digital control to display time correctly. switch the keyboard to do with output, speaker prompted occurred. at the s

6、ame time, the system can be realized: in the competitive answering game, only after the answer that will be valid, if at the beginning of pre-answer that will be invalid; competitive answer to the question and the end of the question can be set in 1-99s; it can show whos effective and whose answers

7、invalid, the correct button will prompt after the music; count down to the competitive and finished time, when its full time the system will be automatic reset and the master will also be forced reset ;keys locked in the effective state, while the key is invalid illegal. key words at89c51, led digit

8、al tubes,the first answer device,time 目 錄 畢業(yè)設(shè)計(jì)任務(wù)書.i 摘要.iii 目錄.1 緒論.2 第 1 章 設(shè)計(jì)要求、方案比較及功能.3 1.1 設(shè)計(jì)要求、構(gòu)思.3 1.2 方案論證與比較.3 第 2 章 搶答器的硬件系統(tǒng)設(shè)計(jì).4 2.1 at89c51 的功能及簡(jiǎn)介.4 2.1.1 at89c51 的特殊功能寄存器.6 2.2 搶答器系統(tǒng)的主要功能.6 2.3 時(shí)鐘頻率電路的設(shè)計(jì).8 2.4 復(fù)位電路的設(shè)計(jì).8 2.5 顯示電路的設(shè)計(jì).9 2.6 鍵盤掃描電路的設(shè)計(jì).10 2.7 發(fā)聲電路.12 2.8 系統(tǒng)復(fù)位.12 2.9 器件選擇方案及詳細(xì)清單

9、.13 第 3 章 搶答器軟件系統(tǒng)的設(shè)計(jì).15 3.1 主程序系統(tǒng)圖.15 3.2 軟件任務(wù)分析.15 3.2.1 搶答器設(shè)計(jì)中的定時(shí)電路.16 3.2.2 搶答器設(shè)計(jì)中的報(bào)警電路.16 3.2.3 搶答器設(shè)計(jì)中的時(shí)序控制電路.17 3.3 程序流程圖.18 結(jié)論/展望.19 致謝.20 參考文獻(xiàn).21 附錄.22 緒論 本設(shè)計(jì)采用模塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一 個(gè)搶答按鈕。主持人有開始和結(jié)束、復(fù)位鍵。在后臺(tái)主持人可以修改,搶答時(shí)間 和選手回答問題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為 20s,回答問題時(shí)間為 30s。通過加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開始

10、有效,主 持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手 號(hào),在最后五秒揚(yáng)聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為 犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號(hào),揚(yáng)聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新 一輪搶答開始。 通過研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片機(jī)技術(shù)設(shè)計(jì)的搶答器與目前常用的 搶答器相比,首先,電路連接簡(jiǎn)單,因?yàn)榇蠖鄶?shù)功能單元都通過程序設(shè)計(jì)在單片 機(jī)內(nèi)部,第二,工作性能可靠,抗干擾能力優(yōu)于目前搶答器。所以本研究是一個(gè) 實(shí)用的工程設(shè)計(jì),具有創(chuàng)新性。 搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競(jìng)賽、搶答場(chǎng)合中,它能迅速、 客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只

11、由幾個(gè)三極管、可控硅、 發(fā)光管等組成,能通過發(fā)光管的指示辯認(rèn)出選手號(hào)碼。 本設(shè)計(jì)利用at89c51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí) 器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確 地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼。用開關(guān)做鍵盤輸出, 揚(yáng)聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶答中,只有開始后搶答才有效,如果在開 始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可是在1-99s設(shè)定;可以 顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時(shí)間和回答 問題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵 無效非法。 本

12、系統(tǒng)采用單片機(jī)作為整個(gè)控制核心。該系統(tǒng)通過開關(guān)電路八個(gè)按鍵輸入搶 答信號(hào),利用一個(gè)數(shù)碼管來完成顯示功能,用按鍵來讓選手進(jìn)行搶答,在數(shù)碼管 上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過程。本文主要介紹了單片機(jī)搶答器 設(shè)計(jì)及工作原理,以及它的實(shí)際用途。 通過這次設(shè)計(jì),掌握 51 單片機(jī)的原理,了解簡(jiǎn)單多功能搶答器組成原理, 初步掌握多功能搶答器的調(diào)整及測(cè)試方法,提高動(dòng)手能力和排除故障的能力。同 時(shí)通過設(shè)計(jì)與裝配、調(diào)試,提高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立單 片機(jī)理論和實(shí)踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響, 從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握多功能搶答器的

13、調(diào)整 及測(cè)試方法。提高動(dòng)手能力和排除故障的能力。 第 1 章 設(shè)計(jì)要求、方案比較及功能 1.1 設(shè)計(jì)要求、構(gòu)思 本設(shè)計(jì)要求采用以 at89s51 單片機(jī)為主控芯片來設(shè)計(jì)一款應(yīng)用方便、功能強(qiáng) 大的智能數(shù)字搶答器。利用所學(xué)單片機(jī)的知識(shí)來設(shè)計(jì)鎖存與顯示模塊、定時(shí)模塊、 報(bào)警模塊、非法搶答模塊、正確搶答模塊以及按鍵模塊等程序,并且用七段顯示 譯碼器與數(shù)碼管來實(shí)現(xiàn)顯示功能。在搶答中,只有開始后搶答才有效,如果在開 始搶答前搶答為無效。搶答限定時(shí)間和回答問題的時(shí)間可以在 199s 設(shè)定???以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。搶答時(shí)間和回 答問題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位。

14、搶答限定時(shí)間內(nèi)使用錦囊回答 時(shí)間將加到 60s。按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 1.2 方案論證與比較 在知識(shí)比賽中,特別是做搶答題目的時(shí)候,在搶答過程中,為了知道哪一組 或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在搶答中,靠 視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以 解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介 紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采 用 at89c51 單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、 聲音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過八個(gè)個(gè)按

15、鍵輸入搶答信號(hào);利用存 儲(chǔ)程序來完成軟件的設(shè)計(jì);利用一個(gè) 4 位七段共陰數(shù)碼管來完成顯示功能。工作 時(shí),用按鍵通過開關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào), 控制 4 位七段共陰數(shù)碼管和喇叭工作。在數(shù)碼管上顯示哪一組先答題,從而實(shí)現(xiàn) 整個(gè)搶答過程。 與普通搶答器相比,本作品有以下幾方面優(yōu)勢(shì): 1、具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始” 前提前搶答違反規(guī)則。 2、具有定時(shí)功能,在 30 秒內(nèi)無人搶答表示所有參賽選手獲參賽隊(duì)對(duì)本題棄 權(quán)。 3、30 秒時(shí)仍無人搶答其報(bào)警電路工作表示搶答時(shí)間耗盡并禁止搶答。 第 2 章 搶答器的硬件系統(tǒng)設(shè)計(jì) 本設(shè)計(jì)分為硬件設(shè)

16、計(jì)和軟件設(shè)計(jì),這兩者相互結(jié)合,不可分離;從時(shí)間上看, 硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技 術(shù)準(zhǔn)備充分,硬件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后 期基本上都是軟件設(shè)計(jì)任務(wù),為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主 持人發(fā)布搶答命令之前必須先設(shè)定搶答的時(shí)間,因而在編開始搶答前的程序得先 編寫設(shè)定時(shí)間的程序,當(dāng)時(shí)間設(shè)好了之后,主持人按開始鍵發(fā)布搶答命令,若在 主持人未按開始鍵之前,有選手提前答題,則為違規(guī)搶答,蜂鳴器會(huì)發(fā)出警告聲, 并在顯示器上顯示犯規(guī)的選手編號(hào)。當(dāng)有選手搶答成功,則程序打開定時(shí)中斷開 始倒計(jì)時(shí),然后調(diào)用鍵盤掃描子程序,編寫鍵

17、盤掃描程序,其他選手在此之后按 鍵無效。當(dāng)在掃描到有人按下了搶答鍵,馬上關(guān)閉 t0、調(diào)用顯示程序、封鎖鍵盤。 隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集 成度越來越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。為使硬 件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面: (1) 盡可能采用功能強(qiáng)的芯片,以簡(jiǎn)化電路,功能強(qiáng)的芯片可以代替若干普 通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普 通芯片價(jià)格的總和高。 (2) 留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因 為很少有一錘定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小

18、的修 改或擴(kuò)展而被迫進(jìn)行全面返工。 (3) 程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用 at89c51 單 片機(jī)。 (4) ram 空間,at89c51 內(nèi)部 ram 不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時(shí),往 往覺得不足。如果系統(tǒng)配置了外部 ram,則建議多留一些空間。如選用 8155 作 i/o 接口,就可以增強(qiáng) 256 字節(jié) ram。如果有大批數(shù)據(jù)需要處理,則應(yīng)配置足夠 的 ram,如 6264,62256 等。隨著軟件設(shè)計(jì)水平的提高,往往只要改變或增加軟 件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更 換就使系統(tǒng)升級(jí)換代。只要在硬件電路設(shè)計(jì)初期考慮到這一點(diǎn),

19、就應(yīng)該為系統(tǒng)將 來升級(jí)留足夠的 ram 空間,哪怕多設(shè)計(jì)一個(gè) ram 的插座,暫時(shí)不要插芯片也好。 (5) i/o 端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場(chǎng)試用時(shí),往往會(huì)發(fā)現(xiàn)一些被忽視的問 題,而這些問題不是靠單純的軟件措施能夠解決掉的。如有些新的信號(hào)需要采集, 就必須增加輸入檢測(cè)端;有些物理量需要控制,就必須增加輸出端。如果在硬件 電路設(shè)計(jì)就預(yù)留出一些 i/o 端口,雖然當(dāng)時(shí)空著沒用,那么用的時(shí)候就派上用場(chǎng) 了。 2.1 at89c51 的功能及簡(jiǎn)介 at89c51 單片機(jī)是 atmal 公司 89 系列單片機(jī)的一種 8 位 flash 單片機(jī)。它最 大特點(diǎn)是片內(nèi)含有 flash 存儲(chǔ)器,用途十分廣泛

20、,特別是在生產(chǎn)便攜式商品,手 提式儀器等方面,有著十分廣泛的應(yīng)用。 at89c51 單片機(jī)內(nèi)部主要有以下部件:8031cpu、振蕩電路、總線控制部件、 中斷控制部件、片內(nèi) flash 存儲(chǔ)器、片內(nèi) ram、并行 i/o 接口、定時(shí)器和串行 i/o 接口 at89c51 是 89 系列單片機(jī)的標(biāo)準(zhǔn)型,它是與 msc-51 系列單片機(jī)兼容的。在 內(nèi)部含有 4kb 或 8kb 可重復(fù)編程的 flash 存儲(chǔ)器,可進(jìn)行 1000 次擦寫操作。全 靜態(tài)工作為 0-24mhz,有 3 級(jí)程序鎖存器,內(nèi)部含有 128-256 字節(jié)的 ram,有 32 條可編程 i/o 口線,2-3 個(gè) 16 位定時(shí)/計(jì)數(shù)器

21、,6-8 個(gè)中斷源,通用的串行接口, 低電壓空閑及電源下降方式。 at89c51 單片機(jī)內(nèi)部由 cpu、4kb 的 fperom ,128b 的 ram,兩個(gè) 16 位的定 時(shí)/計(jì)數(shù)器 t0 和 t1,4 個(gè) 8 位的 i/o 端 p0、p1、p2、p3 等組成。單片微機(jī)內(nèi)部 最核心的部分是 cpu。cpu 主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入/輸 出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等,cpu 按其功 能可分為運(yùn)算器和控制器兩部分。控制器由程序計(jì)數(shù)器 pc、指令儲(chǔ)存器、指令譯 碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對(duì)來自存儲(chǔ)器中的指令 進(jìn)行譯碼,通過實(shí)

22、時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的 控制信號(hào),使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器由算術(shù)邏輯器部 件 alu、累加器 acc、暫存器、程序狀態(tài)字寄存器 psw,bcd 碼運(yùn)算調(diào)整電路等組 成。 外部定 時(shí)元件 復(fù)位 中斷 電源 系統(tǒng)時(shí)鐘 rom cpu 定時(shí)/計(jì)數(shù)器 串行 i/o 口 并行 i/o 口 ram 圖 2.1 at89c51 單片機(jī)的內(nèi)部結(jié)構(gòu)圖 為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器 b 和一些專用 寄存器,還增加了位處理邏輯電路的功能。其內(nèi)部結(jié)構(gòu)如圖 2.1 所示。 at89c51 的主要性能包括:at89c51 與 mcs51 控制

23、器系列產(chǎn)品兼容,片內(nèi)有 4k 可在線重復(fù)編程閃速電擦除存儲(chǔ)器(flash memory) ,存儲(chǔ)器可循環(huán)寫入/擦 除 1000 次;存儲(chǔ)器數(shù)據(jù)保存時(shí)間可達(dá) 10 年;工作電壓范圍寬:vcc 可由 2.7v 到 6v;全靜態(tài)工作可由 0hz 到 16mhz;程序存儲(chǔ)器具有 3 級(jí)鎖存保護(hù);128*8 位 內(nèi)部 ram;32 條可編程 i/o 線;兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器;中斷結(jié)構(gòu)具有 5 個(gè)中 斷源和 2 個(gè)中斷優(yōu)先級(jí);可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀 態(tài)保存存儲(chǔ)內(nèi)容。 2.1.1 at89c51 的特殊功能寄存器 特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集

24、合,簡(jiǎn) 稱 sfr(special function register) 。特殊功能寄存器共含有 22 個(gè)不同寄存器。 它們的地址分配在 80hffh 中,即在 ram 地址中。這些寄存器的名稱和地址見 表 1.1。 表 1.1 at89c51 特殊功能寄存器列表 符號(hào)地址注釋 *acce0h累加器 *bf0h乘法寄存器 *pswd0h程序狀態(tài)字 sp81h堆棧指針 dpl82h數(shù)據(jù)存儲(chǔ)器指針低 8 位 dph83h數(shù)據(jù)存儲(chǔ)器指針高 8 位 *iea8h中斷允許控制器 *ipd8h中斷優(yōu)先控制器 *p080h端口 0 *p190h端口 1 *p2a0h端口 2 *p3b0h端口 3 pcon8

25、7h電源控制及波特率選擇 *scon98h串行口控制器 sbuf99h串行數(shù)據(jù)緩沖器 *tcon88h定時(shí)器控制 tmod89h定時(shí)器方式選擇 tl08ah定時(shí)器 0 低 8 位 tl18bh定時(shí)器 1 低 8 位 th08ch定時(shí)器 0 低 8 位 th18dh定時(shí)器 1 高 8 位 注:帶*號(hào)的特殊功能寄存器都是可以位尋址的寄存器 雖然特殊功能寄存器地址在 80hffh 之中,但在 80hffh 的地址單元中, 不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的, 如果對(duì)這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫入則無效。所以,用戶編 程時(shí)不應(yīng)該將數(shù)據(jù)寫入這些未確定的地

26、址單元,它們是公司留待將來開發(fā)新產(chǎn)品 時(shí)使用的。 2.2 搶答器系統(tǒng)的主要功能 本系統(tǒng)是借用單片機(jī)采用模塊化設(shè)計(jì)的八路搶答器,包括 8 路搶答按紐、計(jì) 時(shí)顯示、提示功能等(根據(jù)需要可另設(shè)或多設(shè)相關(guān)功能) 、開始與結(jié)束控制按鈕、 時(shí)限設(shè)定、各種相關(guān)顯示調(diào)控功能等(根據(jù)需要也可另設(shè)或多設(shè)相關(guān)功能) 。 參賽者系統(tǒng),除享有搶答按紐的權(quán)利功能外,還有人性化的提示功能和時(shí)間 提示功能,也可設(shè)定由主控控制在參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的 控制按鈕做開始與結(jié)束控制,根據(jù)活動(dòng)參賽者的層次,對(duì)提前掄答者的行為設(shè)定 為非法或阻隔,若設(shè)有非法搶答控制功能時(shí),在主控處帶有公示性顯示的非法掄 答者的臺(tái)位號(hào),對(duì)

27、搶答限時(shí)及回答問題限時(shí)設(shè)為倒計(jì)時(shí),并有顯示提示。 系統(tǒng)的主要功能模塊方框圖如圖 2.2 所示。 at89c51 單片機(jī) 4 位 七段 數(shù)碼 管顯 示 聲音電路= 8 路搶答 按鍵輸入 復(fù)位電路 開始、結(jié)束 按鍵輸入 加一、減一 按鍵輸入 時(shí)鐘 圖 2.2 系統(tǒng)主要功能模塊 本系統(tǒng)采用模塊化設(shè)計(jì)的八路搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有 一個(gè)搶答按鈕。一共有 8 個(gè)按鍵輸入,分別對(duì)應(yīng) 8 路選手的搶答按鍵。 主持人有開始和結(jié)束鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問題 的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為 20s,回答問題時(shí)間為 30s。通過加鍵和減 鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)

28、間開始有效,主持人按鍵開始后,選 手開始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào),在最后五秒揚(yáng)聲 器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯 示犯規(guī)者的代號(hào),揚(yáng)聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新一輪搶答開始。 單片機(jī)是整個(gè)搶答器的核心,內(nèi)部電路設(shè)計(jì)用匯編語言編寫。它完成了時(shí)間 參數(shù)的設(shè)定,搶按號(hào)碼的譯碼,保存;顯示;輸出,搶按及答題倒計(jì)時(shí)功能等。 本設(shè)計(jì)中,有一個(gè)共陰的數(shù)碼管組,四個(gè)數(shù)碼管。其中兩個(gè)顯示時(shí)間,一個(gè) 空位,一個(gè)顯示搶答號(hào)碼。主持人依次按下復(fù)位鍵(reset) ,開始鍵后開始搶答。 可以搶按:超時(shí)數(shù)碼管顯示“fff” ,當(dāng)搶按超過規(guī)定時(shí)間或答題超

29、過規(guī)定時(shí)間后 數(shù)碼管顯示“fff” 。若有選手在規(guī)定時(shí)間內(nèi)搶按成功,則可以答題,數(shù)碼管顯示 搶答時(shí)間的同時(shí)也顯示選手號(hào)碼。若在按開始鍵前搶答表示違規(guī),數(shù)碼管顯示 “ff”并顯示選手號(hào)碼。 2.3 時(shí)鐘頻率電路的設(shè)計(jì) 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路, 只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決 定單片機(jī)的工作速度。時(shí)鐘電路如圖 2.3 所示。 圖 2.3 外部振蕩源電路 一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms 后振蕩器起振,在 xtal2 引腳產(chǎn)生幅度為 3v 左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的 頻率確定

30、。電路中兩個(gè)電容 c1,c2 的作用有兩個(gè):一是幫助振蕩器起振;二是 對(duì)振蕩器的頻率進(jìn)行微調(diào)。c1,c2 的典型值為 20pf。 單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單 元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用 fosc表 示。圖中時(shí)鐘頻率為 12mhz,即 fosc=12mhz,則時(shí)鐘周期為 1/12s。 2.4 復(fù)位電路的設(shè)計(jì) 單片機(jī)的第 9 腳 rst 為硬件復(fù)位端,只要將該端持續(xù) 4 個(gè)機(jī)器周期的高電平 即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖 2.4 所示: 圖 2.4 復(fù)位電路 由按鍵 reset1 以及

31、電解電容 c3、電阻 r2 構(gòu)成按鍵及上電復(fù)位電路。由于單 片機(jī)是高電平復(fù)位,所以當(dāng)按鍵 reset1 按下時(shí)候,單片機(jī)的 9 腳 reset 管腳處 于高電平,此時(shí)單片機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,由于電容的緩慢充電,單片機(jī) 的 9 腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時(shí)間后,單片機(jī)的 9 腳處于穩(wěn)定的低電 平狀態(tài),此時(shí)單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從 0000h 開始執(zhí)行。 值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面 的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功 能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單 片機(jī)進(jìn)行硬件復(fù)位

32、,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢 之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。 2.5 顯示電路的設(shè)計(jì) 顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提 下提供盡可能豐富的信息,全靠軟件來解決。 在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包 括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不 閃爍,程序編寫簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài) 好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí) 際情況采用的是動(dòng)態(tài)顯示方法。 通過查表法,將其在數(shù)碼管上顯示出

33、來,其中 p0 口為字型碼輸入端,p2 口 低 3 位為字選段輸入端。在這里我們通過查表將字型碼送給 7 段數(shù)碼管顯示的數(shù) 字,數(shù)碼管顯示原理如下: mov a,r3 movc a,a+dptr mov p2,#0feh mov p0,a acall delay mov dptr,#dat2 mov a,r5 movc a,a+dptr mov p2,#0fdh mov p0,a acall delay mov a,r4 movc a,a+dptr mov p2,#0fbh mov p0,a acall delay ret 4 位七段數(shù)碼管顯示電路如圖 2.5 所示。 圖 2.5 共陰極數(shù)碼管

34、 數(shù)碼管采用的是 4 位七段共陰數(shù)碼管,其中 ah 段分別接到單片機(jī)的 p0 口, 由單片機(jī)輸出的 p0 口數(shù)據(jù)來決定段碼值,位選碼 com1、com3、com4 分別接到單 片機(jī)的 p2.0、p2.1、p2.2,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。在圖中還有 八個(gè) 1k 的電阻,連接在 p0 口上,用作 p0 口的上拉電阻,保證 p0 口沒有數(shù)據(jù)輸 出時(shí)候處于高電平狀態(tài)。 2.6 鍵盤掃描電路的設(shè)計(jì) 鍵盤是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計(jì)方法也 可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了 相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來看,僅僅

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

36、幾 ms,而我們 按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后再延時(shí)一 段時(shí)間(這里我們?nèi)?10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵, 否則無效。 在本文設(shè)計(jì)中采用了獨(dú)立鍵盤的方式,本設(shè)計(jì)中有 8 個(gè)搶答按鍵輸入,一個(gè) 開始按鍵、一個(gè)結(jié)束按鍵,此外還有搶答時(shí)間調(diào)整鍵、回答時(shí)間調(diào)整鍵,加一按 鍵、減一按鍵各一個(gè)。如圖 2.6 所示。 圖 2.6 搶答按鍵及調(diào)整按鍵 8 個(gè)搶答按鍵分別接入單片機(jī)的 p1.0p1.7 端口,單片機(jī)通過讀取 p1.0p1.7 的值來判斷當(dāng)前輸入的是 8 個(gè)搶答按鍵中的哪一個(gè)。搶答時(shí)間調(diào)整和回答時(shí)間調(diào) 整接到單片機(jī)的 p3.3 和 p

37、3.4 接口,加一及減一按鍵接到單片機(jī)的 p3.5 和 p3.6 接口。 圖 2.7 開始、結(jié)束按鍵 在圖 2.7 中,開始及結(jié)束按鍵接到單片機(jī)的 10、11 腳,這里用到了單片機(jī) 10、11 腳復(fù)合功能中的 io 端口功能,單片機(jī)通過讀取 10、11 腳的 p3.0、p3.1 的 io 端口值來判斷當(dāng)前是否處于搶答開始狀態(tài)或搶答結(jié)束狀態(tài)。 按鍵的觸點(diǎn)在閉合和斷開時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的, 如不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延 時(shí)的方法來避開抖動(dòng)階段,這一延時(shí)過程一般大于 5ms,例如取 10-20ms。如果 監(jiān)控程序中的讀鍵操作安排在主程

38、序(后臺(tái)程序)或鍵盤中斷(外部中斷)子程 序中,則該延時(shí)子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時(shí)中斷 子程序中,就可省去專門的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來完成抖 動(dòng)處理。 k1k8 八個(gè)按鍵的輸入電平靠 74hc30 輸入與非門和 74ls04 反向器組成的電 路改變輸入電平。圖 2.8 中電路就是由一個(gè) 74hc30 輸入與非門和 74ls04 反向器 組成的去抖電路。 圖 2.8 去抖電路 2.7 發(fā)聲電路 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片 機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波, 接上喇叭就能發(fā)出一定

39、頻率的聲音,若再利用延時(shí)程序控制“高” “低”電平的 持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。 本文設(shè)計(jì)如圖 2.9 所示。圖中單片機(jī)的 14 腳輸出具有復(fù)合功能,此處用到 了單片機(jī) 17 腳的 io 端口功能,單片機(jī)通過內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波 形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。 圖 2.9 發(fā)聲電路 2.8 系統(tǒng)復(fù)位 使 cpu 進(jìn)入初始狀態(tài),從 0000h 地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí) 現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通 過 cpu 外部的硬件電路給 cpu 的 reset 端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電 復(fù)位,人工

40、按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存 器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還 能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不 少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過 轉(zhuǎn)移指令使程序從 0000h 地址開始執(zhí)行。對(duì)各專用寄存器的復(fù)位操作是容易的, 也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。而對(duì)中斷激 活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。有的編程人員 用 020000(ljmp 0000h)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000h 地址就完成了軟件

41、復(fù)位,就是這類錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須 進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置 位,它將阻止同級(jí)中斷響應(yīng)。由于軟件看門是高級(jí)中斷,它將阻止說要中斷響應(yīng), 由此可見清除中斷激活標(biāo)志的重要性。 在所有的指令中,只有 reti 指令能夠清除中斷激活標(biāo)志。出錯(cuò)處理程序 err 主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。 程序一般先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個(gè) reti 指令代替 兩個(gè) ljmp 指令,從而清除了兩級(jí)中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來的程序 可能沒有全部激活兩個(gè)標(biāo)志,這也無妨。 有復(fù)位時(shí)系統(tǒng)的歷史

42、狀況,可將復(fù)位分為“冷啟動(dòng)”和“熱啟動(dòng)” 。 “冷啟 動(dòng)”時(shí),系統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動(dòng)”時(shí),對(duì)系 統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時(shí),必須是 “冷啟動(dòng)” ,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動(dòng)”初次上電投 入運(yùn)行時(shí),必須是“冷啟動(dòng)” ,以后由抗干擾措施引起的復(fù)位操作一般均為“熱 啟動(dòng)” 。為了使系統(tǒng)能正確決定采用何種啟動(dòng)方式,常用上電標(biāo)志來區(qū)分,如圖 2.10 所示。 圖 2.10 系統(tǒng)復(fù)位策略圖 2.9 器件選擇方案及詳細(xì)清單 微控制器選用 atmal 公司生產(chǎn)的 at89c51,該芯片貨源充足,并且價(jià)格也比 較便宜。如表 2.

43、2 所示。 表 2.2 器件選型方案的詳細(xì)清單 器件名稱規(guī)格型號(hào)數(shù)量 微處理器at86c511 74ls041芯片 74hc301 電阻3wtt10k8 電容20pf3 晶振12mhz1 按鈕11 7 段數(shù)碼管7seg-mpx4-ca4 揚(yáng)聲器1 第 3 章 搶答器軟件系統(tǒng)的設(shè)計(jì) 本章是搶答器的軟件設(shè)計(jì),實(shí)現(xiàn)搶答功能主要是通過編寫程序的方法集成在 at89c51 內(nèi)部。將程序下載到硬件電路中,實(shí)現(xiàn)搶答功能。 3.1 主程序系統(tǒng)圖 系統(tǒng)初始化模塊 按鍵模塊 非 法 搶 答 模 塊 正 確 搶 答 模 塊 調(diào) 整 搶 答 時(shí) 間 調(diào) 整 回 答 時(shí) 間 模 塊數(shù)碼顯示模塊 圖 3.1 主程序系統(tǒng)圖

44、 3.2 軟件任務(wù)分析 軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由 軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。 軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為 兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示, 打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和 操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法 各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。 軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能 定義和接口定義(輸入輸出定義)

45、 。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù) 據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。 各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選 擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來講,執(zhí)行模塊任務(wù)明確單純,比較容易編 程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就 比較難了。 軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟 件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程 序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十 ms 甚至幾百 ms 也沒關(guān)系,故通 常將監(jiān)控程序(鍵盤解釋程序) ,顯示程序和打印程序等與操作者打交道的程序

46、放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng) 和外部中斷(如掉電中斷) 。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆?系統(tǒng)進(jìn)入睡眠狀態(tài)” ,以利于系統(tǒng)節(jié)電和抗干擾。 3.2.1 搶答器設(shè)計(jì)中的定時(shí)電路 由節(jié)目主持人根據(jù)搶答題的難易程度,設(shè)定一次搶答的時(shí)間,通過預(yù)置時(shí)間 電路對(duì)計(jì)數(shù)器進(jìn)行預(yù)置,計(jì)數(shù)器的時(shí)鐘脈沖由秒脈沖電路提供??深A(yù)置時(shí)間的電 路選用十進(jìn)制同步加減計(jì)數(shù)器 74ls192 進(jìn)行設(shè)計(jì),具體電路如圖 3.2 所示。本設(shè) 計(jì)是以 555 構(gòu)成震蕩電路,由 74ls192 來充當(dāng)計(jì)數(shù)器,構(gòu)成搶答器的倒計(jì)時(shí)電路。 該電路簡(jiǎn)單,無需用到晶振,芯片都是市場(chǎng)上容易購得的。

47、設(shè)計(jì)功能完善,能實(shí) 現(xiàn)直接清零、啟動(dòng)。 圖 3.2 定時(shí)電路 3.2.2 搶答器設(shè)計(jì)中的報(bào)警電路 由 555 定時(shí)器和三極管構(gòu)成的報(bào)警電路如圖 3.3 所示。其中 555 構(gòu)成多諧振 蕩器,其輸出信號(hào)經(jīng)三極管推動(dòng)揚(yáng)聲器。pr 為控制信號(hào),當(dāng) pr 為高電平時(shí),多 諧振蕩器工作,反之,電路停振。 圖 3.3 報(bào)警電路 3.2.3 搶答器設(shè)計(jì)中的時(shí)序控制電路 時(shí)序控制電路是搶答器設(shè)計(jì)的關(guān)鍵,它要完成以下三項(xiàng)功能: 1、主持人將控制開關(guān)撥到開始位置時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路進(jìn) 人正常搶答工作狀態(tài)。 2、當(dāng)參賽選手按動(dòng)搶答鍵時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路停止工作。 3、當(dāng)設(shè)定的搶答時(shí)間到,

48、無人搶答時(shí),揚(yáng)聲器發(fā)聲,同時(shí)搶答電路和定時(shí)電路 停止工作。 圖 3.4 時(shí)序控制電路 根據(jù)上面的功能要求,設(shè)計(jì)的時(shí)序控制電路如圖 3.4 所示。圖中,門 g1 的 作用是控制時(shí)鐘信號(hào) cp 的放行與禁止,門 g2 的作用是控制 74ls148 的輸人使能 端 。圖 4-3 的工作原理是:主持人控制開關(guān)從清除位置撥到開始位置時(shí), 來自于圖 4-1 中的 74ls279 的輸出 1q=0,經(jīng) g3 反相, a1,則時(shí)鐘信號(hào) cp 能 夠加到 74ls192 的 cpd 時(shí)鐘輸入端,定時(shí)電路進(jìn)行遞減計(jì)時(shí)。同時(shí),在定時(shí)時(shí)間 未到時(shí),則定時(shí)到信號(hào)為 1,門 g2 的輸出 st=0,使 74ls148 處

49、于正常工作狀 態(tài),從而實(shí)現(xiàn)功能 1 的要求。當(dāng)選手在定時(shí)時(shí)間內(nèi)按動(dòng)搶答鍵時(shí),1q1,經(jīng) g3 反相, a0,封鎖 cp 信號(hào),定時(shí)器處于保持工作狀態(tài);同時(shí),門 g2 的輸出 st=1,74ls148 處于禁止工作狀態(tài),從而實(shí)現(xiàn)功能 2 的要求。當(dāng)定時(shí)時(shí)間到時(shí), 則定時(shí)到信號(hào)為 0,st=1,74ls148 處于禁止工作狀態(tài),禁止選手進(jìn)行搶答。 同時(shí), 門 g1 處于關(guān)門狀態(tài),封鎖 cp 信號(hào),使定時(shí)電路保持 00 狀態(tài)不變,從而 實(shí)現(xiàn)功能 3 的要求。集成單穩(wěn)觸發(fā)器 74ls121 用于控制報(bào)警電路及發(fā)聲的時(shí)間。 3.3 程序流程圖程序流程圖 在本設(shè)計(jì)中包括了以下主要的程序:主程序,查詢程序,

50、非法搶答程序,搶 答時(shí)間調(diào)整程序,回答時(shí)間調(diào)整程序,倒計(jì)時(shí)程序,正常搶答處理程序,犯規(guī)處 理程序,顯示及發(fā)聲程序。主流程圖如 3.5 所示: 顯示 fff 開始鍵 加一鍵 減一鍵 回答 時(shí)間 調(diào)整搶 答時(shí)間 去抖動(dòng) 非法搶 答處理 顯示 犯規(guī) 正常 搶答 顯示搶答 號(hào)并倒計(jì)時(shí) y y y 初始化 圖 3.5 程序流程圖 結(jié)論/展望 這次設(shè)計(jì)的八路多功能搶答器采用了通用的電子元器件,利用at89c51單 片機(jī)及外圍接口實(shí)現(xiàn)搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理, 將軟、硬件有機(jī)地結(jié)合起來。理論聯(lián)系實(shí)踐,體現(xiàn)出大學(xué)生動(dòng)手能力。通過查資 料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并

51、且由原先的被動(dòng)的接受知 識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的 傳統(tǒng)的學(xué)習(xí)模式下,我可能會(huì)記住很多的書本知識(shí),但是通過畢業(yè)論文,我學(xué)會(huì) 了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié) 合的問題。把握重點(diǎn)、攻克難關(guān),學(xué)到用到、活學(xué)活用。在設(shè)計(jì)過程中由于時(shí)間 倉促有很多地方難免存在不足之處,硬件設(shè)計(jì)已經(jīng)完成,在軟件設(shè)計(jì)中有些功能 還尚未開發(fā)出來。但在以后的工作中,我會(huì)嚴(yán)格要求自己,追求完美。 整個(gè)設(shè)計(jì)通過了軟件和硬件上的調(diào)試、仿真。我想這對(duì)于自己以后的學(xué)習(xí)和 工作都會(huì)有很大的幫助的。在這次設(shè)計(jì)中遇到了很多實(shí)際性的問題,在實(shí)際設(shè)計(jì) 中才發(fā)現(xiàn),書

52、本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有 些問題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。對(duì)于單片機(jī)設(shè)計(jì), 其硬件電路是比較簡(jiǎn)單的,主要是解決程序設(shè)計(jì)中的問題。而程序設(shè)計(jì)是一個(gè)很 靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力。它才是一個(gè)設(shè)計(jì)的靈 魂所在。因此在整個(gè)設(shè)計(jì)過程中大部分時(shí)間是用在程序上面的。很多子程序是可 以借鑒書本上的,但怎樣銜接各個(gè)子程序才是關(guān)鍵的問題所在,這需要對(duì)單片機(jī) 的結(jié)構(gòu)很熟悉。因此可以說單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不可分 的。 但是,通過這次設(shè)計(jì)我也發(fā)現(xiàn)自己的很多不足之處。在設(shè)計(jì)過程中我發(fā)現(xiàn)自 己考慮問題很不全面,自己的專業(yè)知

53、識(shí)掌握的很不牢固,所掌握的計(jì)算機(jī)應(yīng)用軟 件還不夠多,我希望自己的這些不足之處能在今后的工作和學(xué)習(xí)中得到改善。而 且,通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,學(xué)會(huì)了堅(jiān)持和努力,這將為以后的 學(xué)習(xí)做出了最好的榜樣! 回頭再看看該設(shè)計(jì),還可以將設(shè)計(jì)的擴(kuò)展功能增強(qiáng):1、可以設(shè)計(jì)聲控裝置, 在主持人說開始時(shí),系統(tǒng)自動(dòng)完成清零并開始計(jì)時(shí)的功能。2、增加記分模塊, 可以設(shè)定初始積分,并記錄每次搶答完成后的積分。3、將搶答按鍵用無線實(shí)現(xiàn), 如紅外線,使搶答者可以遠(yuǎn)距離進(jìn)行搶答,并簡(jiǎn)化按鍵模塊的線路布置。如果提 供相應(yīng)的器材及時(shí)間上的寬限,一定可以完成上述擴(kuò)展功能,進(jìn)一步完善作品。 致謝 經(jīng)過近幾個(gè)月的艱苦奮戰(zhàn),我

54、的畢業(yè)設(shè)計(jì)已接近尾聲。在這幾個(gè)月的時(shí)間里, 我衷心感謝我的指導(dǎo)老師楊老師,在課題選定、理論指導(dǎo)和方案的論證上,楊老 師對(duì)我精心的指導(dǎo)和耐心的鼓勵(lì),使我能夠堅(jiān)持到底,畢業(yè)設(shè)計(jì)有了圓滿的結(jié)果。 他淵博的知識(shí),深邃的思想,嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格、平易近人的處事態(tài)度和幽默風(fēng)趣 的話語,讓我在學(xué)習(xí)知識(shí)和解決問題時(shí)感到無比的輕松和愉快。至此論文定稿之 際,對(duì)楊老師表示衷心的感謝! 感謝老師能在繁忙之中抽出時(shí)間為我提供耐心的 指導(dǎo),幫我們解決在設(shè)計(jì)過程中遇到的種種問題。 在做畢業(yè)設(shè)計(jì)期間,我還有幸得到其它老師的熱心指導(dǎo)和同學(xué)們的大力幫助, 正因?yàn)橛辛怂麄儯也拍茼樌瓿僧厴I(yè)設(shè)計(jì)和論文。在這里一并向他們表示感謝! 最

55、后,再次向各位領(lǐng)導(dǎo)、各位老師致以崇高的敬意和最衷心的感謝!并真心的祝 愿老師們工作順利,身體健康。同學(xué)們都能找到一的滿意的工作! 參考文獻(xiàn) 1 程相波,衛(wèi)安軍.基于 mcs-51 單片機(jī)的八路搶答器設(shè)計(jì)方法研究j.北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2007,(2). 2林凌,李剛,丁茹,李小霞.新型單片機(jī)接口器件與技術(shù)m.西安:西安電子科技大學(xué)出版社,2005 年. 3李增生.對(duì)搶答器的改進(jìn)j.電子制作,2000,(12). 4馬軻瀛.八路數(shù)字搶答器系統(tǒng)j.華商,2007,(23). 5高偉.at89 單片機(jī)原理及應(yīng)用m.北京:國(guó)防工業(yè)出版社,2008 年. 6蔡朝陽.單片機(jī)控制實(shí)習(xí)與專題制作m.北

56、京:北京航空航天大學(xué)出版社,2006 年. 7楊凌霄.微型計(jì)算機(jī)原理及應(yīng)用m.江蘇:中國(guó)礦業(yè)大學(xué)出版社,2004 年. 8丁建偉.搶答器電路設(shè)計(jì)j.蘭州工業(yè)高等??茖W(xué)校學(xué)報(bào),2008,(04). 9 胡學(xué)海.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)m.北京:北京電子工業(yè)出版社,2005 年. 10何書森,何華斌.實(shí)用電子線路設(shè)計(jì)速成m.福州:福建科學(xué)技術(shù)出版社,2006 11李國(guó)厚,王春陽.自動(dòng)化專業(yè)英語m.北京:北京大學(xué)出版社,2006 12楊金巖,鄭應(yīng)強(qiáng),張振仁8051 單片機(jī)數(shù)據(jù)傳輸接口擴(kuò)展技術(shù)與應(yīng)用實(shí)例人民郵電出版社.2005 附 錄 附錄 a 系統(tǒng)原理圖 附圖 a 系統(tǒng)原理圖 附錄 b 程序清單 o

57、k equ 20h ;搶答開始標(biāo)志位 ring equ 22h ;響鈴標(biāo)志位 data0 equ 36h ;搶答按鍵口數(shù)據(jù)存放地址 org 0000h ajmp main org 0003h ajmp intt0 org 000bh ajmp t0int org 001bh ajmp t1int org 0040h main: mov r1,#20 ;初設(shè)搶答時(shí)間為 20s mov r2,#30 ;初設(shè)答題時(shí)間為 30s mov 38h,#60 ;啟用錦囊時(shí)間從 60s 倒計(jì)時(shí) mov tmod,#11h ;設(shè)置未定時(shí)器/模式 1 mov th0,#0f0h mov tl0,#0ffh ;越高

58、發(fā)聲頻率越高,越尖 mov th1,#3ch mov tl1,#0b0h ;50ms 為一次溢出中斷 setb ea setb et0 setb et1 ;允許二個(gè)中斷,t0/t1 clr ok clr ring setb tr1 setb tr0 ;一開始就運(yùn)行定時(shí)器,以開 始顯示 fff.如果想重新計(jì)數(shù),重置 th1/tl1 就可以了 查詢程序: start: mov data0,#0ffh ;初始化 mov r5,#0bh mov r4,#0bh mov r3,#0bh acall display ;未開始搶答時(shí)候顯示 fff jnb p3.3,selsub0 jnb p3.4,tz3

59、;倒計(jì)時(shí)調(diào)整 jb p3.0,next acall delay jb p3.0,next ;去抖動(dòng),如果“開始鍵”按 下就向下執(zhí)行,否者跳到非法搶答查詢 setb ex0 ;開放 int0 acall bark ;按鍵發(fā)聲 mov a,r1 mov r6,a ;送 r1-r6,因?yàn)?r1 中保存了搶答 時(shí)間 setb ok ;搶答標(biāo)志位,在使用錦囊時(shí) 用作判斷是搶答倒計(jì)時(shí)還是回答倒計(jì)時(shí) mov r3,#0ah ;搶答只顯示計(jì)時(shí),滅號(hào)數(shù) ajmp count ;進(jìn)入倒計(jì)時(shí)程序,“查詢有 效搶答的程序”在 count 里面 next: jnb p1.0,false1 jnb p1.1,false2

60、 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jnb p1.5,false6 jnb p1.6,tz1 jnb p1.7,tz2 ajmp start tz1: ajmp false7 tz2: ajmp false8 tz3: ajmp selsub1 非法搶答處理程序: false1: mov r3,#01h ajmp error false2: mov r3,#02h ajmp error false3: mov r3,#03h ajmp error false4: mov r3,#04h ajmp error false5: mov

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論