版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)學(xué) 生 姓 名:武靖文學(xué) 號:26專 業(yè):應(yīng)用電子技術(shù)系 部:電子工程學(xué)院設(shè)計(論文)題目:八路智力競賽搶答器指 導(dǎo) 教 師:吳振慧2013 年 12 月 2 日摘 要此次設(shè)計提出了用AT89C51單片機(jī)為核心控制元件,設(shè)計一個簡易的搶答器,本方案以AT89C51單片機(jī)作為主控核心,與MAX232、發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成四路搶答器,利用了單片機(jī)的延時電路、按鍵復(fù)位電路、時鐘電路、定時/中斷等電路,設(shè)計的搶答器具有實時顯示搶答選手的號碼和搶答時間的特點,還有復(fù)位電路,使其再開始新的一輪的答題和比賽使其實現(xiàn)一些基本的功能。本設(shè)計的系統(tǒng)實用性強(qiáng)、判斷精確、操作簡單、擴(kuò)展功能
2、強(qiáng)。它的功能實現(xiàn)是比賽開始,主持人讀完題之后按下總開關(guān),即計時開始,此時數(shù)碼管開始進(jìn)行1s的加計時,直到有一個選手搶答時,對應(yīng)的會在數(shù)碼管上顯示出該選手的編號和搶答所用的時間,同時該選手對應(yīng)的發(fā)光二極管會發(fā)出相應(yīng)的光,蜂鳴器也會發(fā)出聲音,以提示有人搶答本題,如果在規(guī)定的時間內(nèi)無人搶答則此題作廢,即開始重新一輪的搶答。關(guān)鍵字:AT89C51單片機(jī)、動態(tài)顯示、中斷、按鍵控制AbstractThe proposed design with AT89C51 control elements, design a simple, this scheme to responder AT89C51 as th
3、e core, and master MAX232, light emitting diode, digital production, etc, using four road vies to answer first the single-chip delay circuit, clocking circuit and reset circuit buttons, and timing circuits, etc, the design/interrupt the contest with real-time display vies to answer first the number
4、and vies to answer first time characteristics, and reset circuit, which is the beginning of a new round of answer again and realized that the basic functions.The design of the system, operation is simple, accurate and judging function expansion. It is the realization of the function of the match beg
5、an, after reading questions according to host, namely the total switch, digital timer starts to tube until the timing, 1s are a contestant vies to answer first, the corresponding in digital tube shows that the contestants serial number and vies to answer first time, at the same time, the player will
6、 be issued corresponding leds light, the corresponding buzzer will sound, to remind people that if the numbeers vies to answer first the problem, namely to void the round vies to answer first.Keywords: AT89C51 microcontroller, dynamic display, interruption, button control摘 要IAbstractII第一章 緒論21.1 課題的
7、背景21.2 課題的目的和意義21.3 課題研究的內(nèi)容21.4 國內(nèi)外研究現(xiàn)狀3第二章 電路的整體設(shè)計32.1 設(shè)計的任務(wù)與要求32.2 設(shè)計的原理42.3 設(shè)計方案42.4方框圖5第三章 硬件設(shè)計63.1電路功能及工作流程圖63.2 硬件電路的設(shè)計73.3 時鐘頻率電路的設(shè)計93.4 復(fù)位電路的設(shè)計103.5 顯示電路的設(shè)計113.6 鍵盤掃描電路的設(shè)計123.7 發(fā)聲電路的設(shè)計153.8 系統(tǒng)復(fù)位電路的設(shè)計153.9 元器件清單17第四章 軟件的編制184.1 設(shè)計思想184.2 方案實現(xiàn)184.3 程序框架圖214.4 軟件編制22第五章 總結(jié)與展望28謝 辭30參考文獻(xiàn)30附錄31第一
8、章 緒論1.1 課題的背景搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只由幾個三極管、可控硅、發(fā)光管等組成,能通過發(fā)光管的指示辯認(rèn)出選手號碼?,F(xiàn)在大多數(shù)搶答器均使用單片機(jī)(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示等功能。本課題利用AT89C51單片機(jī)及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時器/計數(shù)器定時和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計時,同時使數(shù)碼管能夠正確地顯示時間和選手號碼。用開關(guān)做鍵盤輸出,揚聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶
9、答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可是在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,時間完后系統(tǒng)自動復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。1.2 課題的目的和意義通過這次設(shè)計,掌握51單片機(jī)的原理,了解簡單多功能搶答器組成原理,初步掌握多功能搶答器的調(diào)整及測試方法,提高動手能力和排除故障的能力。同時通過本課題設(shè)計與裝配、調(diào)試,提高自己的動手能力,鞏固已學(xué)的理論知識,建立單片機(jī)理論和實踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計、計算定時計數(shù)的各個
10、單元電路。初步掌握多功能搶答器的調(diào)整及測試方法。提高動手能力和排除故障的能力。1.3 課題研究的內(nèi)容本系統(tǒng)采用模塊化設(shè)計智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個搶答按鈕。主持人有開始和結(jié)束、復(fù)位鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設(shè)置,原始狀態(tài)下?lián)尨饡r間為20s,回答問題時間為30s。通過加鍵和減鍵修改上述時間,改完后結(jié)束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時間倒計時和選手號,在最后五秒揚聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號,揚聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新一輪搶答開始。
11、通過研究并在設(shè)計驗證后發(fā)現(xiàn),采用單片機(jī)技術(shù)設(shè)計的搶答器與目前常用的搶答器相比,首先,電路連接簡單,因為大多數(shù)功能單元都通過程序設(shè)計在單片機(jī)內(nèi)部,第二,工作性能可靠,抗干擾能力優(yōu)于目前搶答器。所以本研究是一個實用的工程設(shè)計,具有創(chuàng)新性。1.4 國內(nèi)外研究現(xiàn)狀搶答器作為一種電子產(chǎn)品,早已廣泛應(yīng)用于各種智力和知識競賽場合,但目前所使用的搶答器有的電路復(fù)雜不便于制作,可靠性低,實現(xiàn)起來很困難;有的則用一些專用的集成塊,而專用集成塊的購買又很困難,為適應(yīng)高校等多代表隊單位活動的需要而設(shè)計一個多功能搶答器,這種搶答器具有電路簡單,元件普通,易于購買等優(yōu)點,很好地解決了制作者制作困難和難于購買的問題。國內(nèi)外
12、已經(jīng)開始了普遍的應(yīng)用。第二章 電路的整體設(shè)計2.1 設(shè)計的任務(wù)與要求1. 搶答器同時供8名選手或8個代表隊比賽,分別用8個按鈕S0 S7表示。2. 設(shè)置一個系統(tǒng)清除和搶答控制開關(guān)S,該開關(guān)由主持人控制。3. 搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。4. 搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動開始鍵后,定時器進(jìn)行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。5. 參賽選手在設(shè)定的時間內(nèi)進(jìn)行搶答,搶答有
13、效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止6. 如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。2.2 設(shè)計的原理此電路完成當(dāng)主持人宣布搶答開始的時候,按下開始按鈕,此時電路進(jìn)入搶答狀態(tài),選手的輸入采用了掃描式的輸入,之后把相應(yīng)的信息送往單片機(jī),再由單片機(jī)輸出到顯示輸出電路中。此時有人第一按下相應(yīng)的搶答按鈕,經(jīng)過單片機(jī)的控制選擇,在八段顯示器上顯示相應(yīng)的號碼,并鎖存,同時禁止其他按鈕的輸入。單片機(jī)的系統(tǒng)實用性強(qiáng)、判斷精確、操作簡單、擴(kuò)展功能強(qiáng)。它的功能實現(xiàn)是比賽開始,主持人讀完題之后按下總開關(guān),即計時開始,此時數(shù)碼管
14、開始進(jìn)行1s的加計時,直到有一個選手搶答時,對應(yīng)的會在數(shù)碼管上顯示出該選手的編號和搶答所用的時間,同時該選手對應(yīng)的發(fā)光二極管會發(fā)出相應(yīng)的光,蜂鳴器也會發(fā)出聲音,以提示有人搶答本題,如果在規(guī)定的60s時間內(nèi)沒有做出搶答,則此題作廢,即開始重新一輪的搶答。搶答器具有鎖存、定時、顯示和報警功能。即當(dāng)搶答開始后,選手搶答按動按鈕,鎖存器鎖存相應(yīng)的選手編碼,同時用數(shù)碼顯示管把選手的編碼顯示出來,并開始搶答時間的倒計時,同時用數(shù)碼顯示管把選手的所剩搶答時間顯示出來。而在選手按鍵搶答以及搶答時間倒計時到時的時候都有報警以提醒主持人和選手。搶答時間設(shè)定30秒。接通電源后,主持人將開關(guān)撥到清除狀態(tài),搶答器處于禁
15、止?fàn)顟B(tài),編號顯示器滅燈,定時器顯示設(shè)定時間;主持人將開關(guān)置開始狀態(tài),宣布開始搶答器工作。定時器倒計時。選手在定時時間內(nèi)搶答時,搶答器完成:優(yōu)先判斷、編號鎖存、編號顯示、揚聲器提示。當(dāng)一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次操作清除和開始狀態(tài)開關(guān)。2.3 設(shè)計方案 本搶答系統(tǒng)可實現(xiàn)以下功能:搶答功能:通過八路按鍵配合程序來實現(xiàn)搶答功能。當(dāng)主持人按下?lián)尨疰I開始搶答后,此時任一路按下按鈕均閉鎖其它各路,由程序?qū)︽I盤譯碼并顯示最先按下?lián)尨疰I的路數(shù)及其當(dāng)前時間。搶答限時:主持人按下?lián)尨疰I后,設(shè)置5秒為搶答時間(此時間可在1-60秒之間修改)。若5秒內(nèi)無人搶
16、答,倒計時為0時發(fā)出報警,說明該搶答題目作廢。此時閉鎖所有搶答按鍵,只有當(dāng)主持人再次按下?lián)尨疰I開始下一次搶答方可搶答。答題限時:當(dāng)選手按下按鈕時,啟動倒計時(此倒計時時間可在160秒之間修改),倒計時為0時發(fā)出報警,說明答題時間到。2.4方框圖加載程序運 行行開始開始數(shù)碼管顯示000開始搶按時間倒計時開始前有選手搶按顯示違例選手號碼并伴有語音報警倒計時結(jié)束,超時有選手搶按顯示000顯示選手號碼,倒計時時間,語音報警,答題,答題時間倒計時正常流程違規(guī)流程若超過答題時間,則數(shù)碼管顯示000答題完畢根據(jù)選手表現(xiàn),規(guī)則由主持人減分第三章 硬件設(shè)計3.1電路功能及工作流程圖該電路完成兩個功能:一是分辨出
17、選手按鍵的先后,并鎖定74LS175的功能真值表即優(yōu)先搶答者的編號,同時譯碼顯示電路顯示選手編號;二是要使其他選手隨后的按鍵操作無效。其工作原理為:當(dāng)主持人控制開關(guān)處于“清零”時,(開關(guān)J2接地時為清零)D觸發(fā)器的清零端為低電平,使D觸發(fā)器被強(qiáng)制清零,輸入的搶答信號無效。當(dāng)主持人將開關(guān)J2撥到”VCC”,計時電路置位并開始計時,同時選手可以搶答。當(dāng)沒人搶答時,搶答信號為高電平,EI為低電平,當(dāng)一有人搶答時,搶答信號為低電平,優(yōu)先編碼器對其編碼,EI變?yōu)楦唠娖?。鎖存器鎖存選手編號和EI,同時,鎖存器Q4與EI電平相同,Q4與時鐘信號與運算,使時鐘失效,輸出一直為低電平,當(dāng)其他選手搶答后,由于已經(jīng)
18、沒有了時鐘信號,而無法鎖存其編碼。當(dāng)選手回答完畢,主持人控制開關(guān)J2,J3時,搶答電路復(fù)位,以便進(jìn)行下一輪搶3.2 硬件電路的設(shè)計本設(shè)計分為硬件設(shè)計和軟件設(shè)計,這兩者相互結(jié)合,不可分離;從時間上看,硬件設(shè)計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬件設(shè)計的大返工是比較少的,軟件設(shè)計的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計任務(wù),隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設(shè)計的工作量在整個項目中的所占的比重逐漸下降。為使硬件電路設(shè)計盡可能合理,應(yīng)注意以下幾方面:(1) 盡可能采用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片
19、可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。(2) 留有設(shè)計余地。在設(shè)計硬件電路時,要考慮到將來修改擴(kuò)展的方便。因為很少有一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。(3) 程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計采用AT89C51單片機(jī)。(4) RAM空間,AT89C51內(nèi)部RAM不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時,往往覺得不足。如果系統(tǒng)配置了外部RAM,則建議多留一些空間。如選用8155作I/O接口,就可以增強(qiáng)256字節(jié)RAM。如果有大批數(shù)據(jù)需要處理,則應(yīng)配置足夠的RAM,如62
20、64,62256等。隨著軟件設(shè)計水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設(shè)計初期考慮到這一點,就應(yīng)該為系統(tǒng)將來升級留足夠的RAM空間,哪怕多設(shè)計一個RAM的插座,暫不插芯片也好。(5) I/O端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計就預(yù)留出一些I/O端口,雖然當(dāng)時空著沒用,那么用的時候就派上用場了。圖3-1 系統(tǒng)原理圖圖3-1中U1為
21、單片機(jī)AT89C51,U2為芯片74HC30,U3為芯片74LS04。K1K8分別為8路搶答按鍵,分別接到單片機(jī)的P1.0P1.7中。開始按鍵與結(jié)束按鍵分別接到單片機(jī)的10、11腳,由于單片機(jī)的10、11腳既有串行接口RXD、TXD功能,又有P3.0、P3.1的IO端口功能,此處按鍵用到單片機(jī)10、11腳的IO端口功能。搶答時間調(diào)整按鍵和回答時間調(diào)整按鍵分別接到單片機(jī)的13、14管腳,加一按鍵和減一按鍵分別接到單片機(jī)的15、16管腳。4位七段數(shù)碼管段選P0口。4位七段數(shù)碼管的位選接P2口低3位,蜂鳴器輸出為P3.7口。3.3 時鐘頻率電路的設(shè)計單片機(jī)必須在時鐘的驅(qū)動下才能工作。在單片機(jī)內(nèi)部有一
22、個時鐘振蕩電路,只需要外接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機(jī)內(nèi)部的各個單元,決定單片機(jī)的工作速度。時鐘電路如圖3-2所示。圖3-2 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為20PF。單片機(jī)在工作時,由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),常用fosc表示。圖中時鐘頻率為12MHz,即f
23、osc=12MHz,則時鐘周期為1/12s。3.4 復(fù)位電路的設(shè)計單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個機(jī)器周期的高電平即可實現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖3-3所示:圖3-3 復(fù)位電路圖3-3中由按鍵RESET1以及電解電容C3、電阻R2構(gòu)成按鍵及上電復(fù)位電路。由于單片機(jī)是高電平復(fù)位,所以當(dāng)按鍵RESET1按下時候,單片機(jī)的9腳RESET管腳處于高電平,此時單片機(jī)處于復(fù)位狀態(tài)。當(dāng)上電后,由于電容的緩慢充電,單片機(jī)的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機(jī)的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。值得注
24、意的是,在設(shè)計當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現(xiàn)的前提條件就是不能對單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.5 顯示電路的設(shè)計顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍
25、,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設(shè)計中根據(jù)實際情況采用的是動態(tài)顯示方法。通過查表法,將其在數(shù)碼管上顯示出來,其中P0口為字型碼輸入端,P2口低3位為字選段輸入端。在這里我們通過查表將字型碼送給7段數(shù)碼管顯示的數(shù)字,4位七段數(shù)碼管顯示電路如圖3-4所示。圖3-4 共陰極數(shù)碼管圖3-4中數(shù)碼管采用的是4位七段共陰數(shù)碼管,其中AH段分別接到單片機(jī)的P0口,由單片機(jī)輸出的P0口數(shù)據(jù)來決定段碼值,位選碼COM1、COM3、COM4分別接到單片機(jī)的P2.0、P2.1、P2.2,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。在
26、圖中還有八個1K的電阻,連接在P0口上,用作P0口的上拉電阻,保證P0口沒有數(shù)據(jù)輸出時候處于高電平狀態(tài)。3.6 鍵盤掃描電路的設(shè)計鍵盤是人與單片機(jī)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜,一般用在對硬件電路要求不高的簡
27、單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺” 現(xiàn)象。這里采用最常用的方法,即延時重復(fù)掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠(yuǎn)遠(yuǎn)大于這個時間,所以當(dāng)單片機(jī)檢測到有按鍵動靜后再延時一段時間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。在本文設(shè)計中采用了獨立鍵盤的方式,本設(shè)計中有8個搶答按鍵輸入,一個開始按鍵、一個結(jié)束按鍵,此外還有搶答時間調(diào)整鍵、回答時間調(diào)
28、整鍵,加一按鍵、減一按鍵各一個。如圖3-5所示。圖3-5 搶答按鍵及調(diào)整按鍵在圖3-5中8個搶答按鍵分別接入單片機(jī)的P1.0P1.7端口,單片機(jī)通過讀取P1.0P1.7的值來判斷當(dāng)前輸入的是8個搶答按鍵中的哪一個。搶答時間調(diào)整和回答時間調(diào)整接到單片機(jī)的P3.3和P3.4接口,加一及減一按鍵接到單片機(jī)的P3.5和P3.6接口。圖3-6 開始、結(jié)束按鍵在圖3-6中,開始及結(jié)束按鍵接到單片機(jī)的10、11腳,這里用到了單片機(jī)10、11腳復(fù)合功能中的IO端口功能,單片機(jī)通過讀取10、11腳的P3.0、P3.1的IO端口值來判斷當(dāng)前是否處于搶答開始狀態(tài)或搶答結(jié)束狀態(tài)。按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,
29、這時觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。K1K8八個按鍵的輸入電平靠74HC30輸入與非門和74LS04反向器組成的電路改變輸入電平。圖3-7中電路就是由一個74HC30輸入與非門和74LS04反向器組成的去抖電路。圖3-7 去抖電路3.7 發(fā)
30、聲電路的設(shè)計我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。本文設(shè)計如圖3-8所示。圖中單片機(jī)的14腳輸出具有復(fù)合功能,此處用到了單片機(jī)17腳的IO端口功能,單片機(jī)通過內(nèi)部定時器的操作實現(xiàn)交替變換的波形輸出驅(qū)動揚聲器發(fā)聲。圖3-8 發(fā)聲電路3.8 系統(tǒng)復(fù)位電路的設(shè)計使CPU進(jìn)入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件
31、復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過CPU外部的硬件電路給CPU的RESET端加上足夠時間的高電位才能實現(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ù)實際需要去主程序初始化過程中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人
32、員用(LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H地址就完成了軟件復(fù)位,就是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。出錯處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。程序一般先關(guān)中斷,以便后續(xù)處理能順利進(jìn)行,然后用兩個RETI指令代替兩個LJMP指令,從而清除了兩級中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來的程序可能沒
33、有全部激活兩個標(biāo)志,這也無妨。有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動”。 “冷啟動”時,系統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”初次上電投入運行時,必須是“冷啟動”,以后由抗干擾措施引起的復(fù)位操作一般均為“熱啟動”。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上電標(biāo)志來區(qū)分,如圖3-9所示。復(fù)位關(guān)中斷,設(shè)定堆棧上電標(biāo)志冷啟自檢全面初始化熱啟動恢復(fù)被破壞的信息部分初始化建立上電標(biāo)志開始運轉(zhuǎn)圖3-9 系統(tǒng)復(fù)位策略圖3.9 元器件清單序
34、號名稱參數(shù)數(shù)量序號名稱參數(shù)數(shù)量1電阻10K84微動開關(guān)6*6*612.2K136075ICNE5551100K1Cd451112電容100uF16揚聲器147uF17電池盒5#4節(jié)110418電路板Ld0817110319二極管4148183數(shù)碼管0.5寸共陰110三極管90131第四章 軟件的編制4.1 設(shè)計思想由方案分析知,本設(shè)計涉及到的功能子程序包括:查詢程序、非法搶答處理程序、INT0(調(diào)搶答時間)、INT1(調(diào)回答時間)、倒計時程序、正常搶答處理程序、犯規(guī)搶答程序、顯示程序、發(fā)聲程序、T0溢出中斷(響鈴程序)、T1溢出中斷(計時程序)。4.2 方案實現(xiàn)由設(shè)計的硬件部分看到,本設(shè)計采用
35、P3.2、P3.3分別接搶答時間調(diào)節(jié)和答題時間調(diào)節(jié)按鈕,即通過外部中斷0、外部中斷1分別控制搶答、答題時間的調(diào)整。因此,設(shè)計的軟件部分可分為工作模塊、外部中斷0模塊、外部中斷1模塊。對流程圖的分析,也分三部分來介紹。1、工作時(非調(diào)節(jié)時間時)的流程平時正常工作時,程序的流程圖繪制如圖4-1:對工作流程圖中的某些部分解釋如下:初始化部分:包括對定時計數(shù)器的工作方式、初始化數(shù)值的設(shè)置,還包括對搶答時間與答題時間的預(yù)設(shè),另外,還應(yīng)對外部中斷0、外部中斷1進(jìn)行開放。搶答倒計時、回答倒計時部分:由于二者功能的相似性,本設(shè)計將二者在一個子程序倒計時程序中一起編寫。另外,此時還需要調(diào)用到顯示子程序,在流程圖
36、中省略了。犯規(guī)程序部分:包括對犯規(guī)選手號的顯示、報警器的間斷工作。另外,由于在設(shè)計要求主持人能隨時對工作過程終止,因此,要不斷查詢停止鍵的狀態(tài),一旦按下,便回到初始化后的狀態(tài);在倒計時過程中還要不斷將與5S比較,當(dāng)小于5S時,還需調(diào)用發(fā)聲程序;小于5S后, 又需要不斷將與0較,當(dāng)其等于零時,立即返回。圖4-1 工作流程圖2、 外部中斷0(搶答時間調(diào)整)流程外部中斷0(搶答時間調(diào)整)的流程圖見圖4-2:INT0中斷Y顯示當(dāng)前搶答時間P3.4按下?P3.5按下?搶答時間加1sNYN結(jié)果為100s?結(jié)果置0N結(jié)果為0s?結(jié)果置100搶答時間減1sYYN停止鍵按下?中斷返回NY圖4-2 INT0流程圖
37、一旦因P3.2對應(yīng)鍵的按下,便進(jìn)入INT0中斷過程。通過不斷對P3.4(加1s)和P3.5(減1s)進(jìn)行不斷的查詢,來對搶答時間進(jìn)行調(diào)整:發(fā)現(xiàn)P3.4按下,就對原搶答時間加1s, 發(fā)現(xiàn)P3.5下,就對原搶答時間減1s并調(diào)用顯示程序。根據(jù)設(shè)計要求,當(dāng)加至99s時,若再加1s,則時間變?yōu)?;當(dāng)減至0s后,若再減一秒,時間變?yōu)?9s。因此,流程中應(yīng)該對當(dāng)前時間于99s或0s比較,再作出相應(yīng)處理。另外,在中斷過程中還需要不時對停止按鈕進(jìn)行查詢,一旦發(fā)現(xiàn)其按下,立即中斷返回。由于本中斷過程在返回前一直是循環(huán)執(zhí)行的,因此,只需要在每次循環(huán)末查詢一次即可,如流程圖所示。3、 外部中斷1(答題時間調(diào)整)流程外
38、部中斷1(答題時間調(diào)整)流程與外部中斷1流程大同小異,但這里還是介紹一下。其程序流程參見圖4-3:INT1中斷Y顯示當(dāng)前答題時間P3.4按下?P3.5按下下?答題時間加1sNYN結(jié)果為0s?結(jié)果置0N結(jié)果為0s?結(jié)果置100答題時間減1sYYN停止鍵按下?中斷返回NY 圖4-3 INT1流程圖與搶答時間調(diào)整類似,一旦因P3.3對應(yīng)的按鈕按下,便進(jìn)入INT1中斷過程。通過不斷對P3.4(加1s)和P3.5(減1s)進(jìn)行不斷的查詢,來對搶答時間進(jìn)行調(diào)整:發(fā)現(xiàn)P3.4按下,就對原搶答時間加1s, 發(fā)現(xiàn)P3.5下,就對原搶答時間減1s并調(diào)用顯示程序。當(dāng)加至99s時,若再加1s,則時間變?yōu)?;當(dāng)減至0s
39、后,若再減一秒,時間變?yōu)?9s。因此,流程中應(yīng)該對當(dāng)前時間于99s或0s比較,再作出相應(yīng)處理。4.3 程序框架圖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.2=0?P1.7=0? Y N Y 調(diào)用響鈴,顯示程序調(diào)用響鈴,顯示程序 NP1.3=0? Y調(diào)用響鈴,顯示程序結(jié)束束 NP1.4=0? Y調(diào)用響鈴,顯示程序4.4 軟件編制ORG 0000HAJMP MAINORG 0003H ;INT0中斷入口AJMP INT0SUBORG 000BH ;T0中斷入口A
40、JMP T0INTORG 0013H ;INT1中斷入口AJMP INT1SUBORG 001BH ;T1中斷入口AJMP T1INTORG 0100H;*;*主程序*;;*;MAIN: ;主要功能是對系統(tǒng)進(jìn)行初始化MOV RI,#0AH ;初設(shè)搶答時間10sMOV R2,#1EH ;初設(shè)回答時間30sMOV TMOD,#11H ;定時器T0和T1均工作再方式1MOV TH0,#0F0H ;定時器T0賦初值MOV TL0,#0FFHMOV TH1,#3CH ;定時器T1賦初值MOV TL1,#0B0HSETB EA ;打開中斷寄存器總開關(guān)SETB ET0 ;打開T0中斷開關(guān)SETB ET1 ;
41、打開T1中斷開關(guān)SETB EX0 ;打開INT0中斷開關(guān)SETB EX1 ;打開INT1中斷開關(guān)CLR OKCLR RINGSETB TR1 ;T1開始定時SETB TR0 ;T0開始定時;*;*非法搶答查詢程序*;*;FEIFA:JNB P1.0,FEIFA1 ;查詢1號選手是否發(fā)生搶答JNB P1.1,FEIFA2 ;查詢2號選手是否發(fā)生搶答JNB P1.2,FEIFA3 ;查詢3號選手是否發(fā)生搶答JNB P1.3,FEIFA4 ;查詢4號選手是否發(fā)生搶答JNB P1.4,FEIFA5 ;查詢5號選手是否發(fā)生搶答JNB P1.5,FEIFA6 ;查詢6號選手是否發(fā)生搶答JNB P1.6,F
42、EIFA7 ;查詢7號選手是否發(fā)生搶答JNB P1.7,FEIFA8 ;查詢8號選手是否發(fā)生搶答AJMP STARTFEIFA1:MOV R3,#01H ;將犯規(guī)號送到R3AJMP ERROR ;跳轉(zhuǎn)到犯規(guī)處理程序FEIFA2:MOV R3,#02HAJMP ERRORFEIFA3:MOV R3,#03HAJMP ERRORFEIFA4:MOV R3,#04HAJMP ERRORFEIFA5:MOV R3,#05HAJMP ERRORFEIFA6:MOV R3,#06HAJMP ERRORFEIFA7:MOV R3,#07HAJMP ERRORFEIFA8:MOV R3,#08HAJMP ER
43、ROR;*;*犯規(guī)處理程序*;*;MOV R0,#00H MOV TH1,#3CH ;對T1重新進(jìn)行賦值MOV TL1,#0B0HMOV 34H,R3 ;犯規(guī)號數(shù)暫存與34H;*指示燈閃爍處理程序*;HERE;MOV A,R0CJNE A,#06H,FlashCLR RINGMOV R3,#0AH MOV R4,#0AH MOV R5,#0AH ;三個燈全滅AJMP CHECK1Flash:CJNE A,#0CH,CHECK1SETB RINGMOV R0,#00H MOV R3,#34H MOV R4,#0BH MOV R5,#0BH ;顯示FF和號數(shù)AJMP CHECK1CHECK1:JN
44、B P3.1,QUIT1MOV R3,#34H ACALL DISPLAYAJMP HEREQUIT1:CLR RINGCLR OKAJMP START;*;*顯示子程序*;DISPLAY:MOV DPTR,#DAT1MOV A,R3MOVC A,A+DPTRMOV P2,#0FBHMOV P0,AACALL DELAY2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0FEHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0FDHMOV P0,AACALL DELAY2RETDAT1:DB 0FFH,0F
45、9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EHDAT2:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,0FFH,8EHTRUE1:ACALL BAOJINGMOV A,R2MOV R6,A ;搶答時間送到R6MOV R3,#01HCLR OK ;答題時間,鎖搶答AJMP COUNTTRUE2:ACALL BAOJINGMOV A,R2MOV R6,A MOV R3,#02HCLR OK AJMP COUNTTRUE3:ACALL BAOJINGMOV A,R2MOV R6,A M
46、OV R3,#03HCLR OK AJMP COUNTTRUE4:ACALL BAOJINGMOV A,R2MOV R6,A MOV R3,#04HCLR OK AJMP COUNTTRUE5:ACALL BAOJINGMOV A,R2MOV R6,A MOV R3,#05HCLR OKAJMP COUNTTRUE6:ACALL BAOJINGMOV A,R2MOV R6,A MOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BAOJINGMOV A,R2MOV R6,A MOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BAOJINGM
47、OV A,R2MOV R6,A MOV R3,#08HCLR OK AJMP COUNT;*報警處理程序*;BAOJING:SETB RINGACALL DELAY1ACALL DELAY1CLR RINGRETEND第五章 總結(jié)與展望本文研究設(shè)計的八路搶答器采用了通用的電子元器件,利用AT89C51單片機(jī)及外圍接口實現(xiàn)強(qiáng)大系統(tǒng),通過對電路流程的實踐,體現(xiàn)出大學(xué)生的動手能力。通過查資料和收集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動手能力。并且有原先的被動接受只是轉(zhuǎn)換為主動尋求知識,這可以說是學(xué)習(xí)方法上的一個很大突破。在以往的傳統(tǒng)學(xué)習(xí)模式下,我們可能會記住很多書本知識,但是通過畢業(yè)設(shè)計,我們學(xué)會了如何將學(xué)到的知識化為自己的東西,學(xué)會了怎么跟好的處理知識和實踐相結(jié)合的問題,把握重點,攻克難關(guān),學(xué)到用到活學(xué)活用。在設(shè)計過程中由于時間倉促有很多地方難免存在不足之處,硬件設(shè)計已經(jīng)完成,在軟
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年外教服務(wù)合同
- 柜臺租賃合同的稅務(wù)處理
- 工程拆遷房屋合同模板
- 公司股權(quán)承包合同-合同范本
- 項目合作協(xié)議書格式模板
- 專業(yè)內(nèi)部施工承包合同模板
- 2024年二人股權(quán)購買協(xié)議
- 2024合伙開公司合同范本
- 廣告公司經(jīng)營權(quán)買賣合同
- 2024年超市用工協(xié)議樣本
- 林木種質(zhì)資源調(diào)查表(新表)
- 蔬菜出口基地備案管理課件
- 子宮異常出血的護(hù)理
- 高考英語單詞3500記憶短文40篇
- 《耳穴療法治療失眠》課件
- 詢盤分析及回復(fù)
- 氯化工藝安全培訓(xùn)課件
- 指導(dǎo)巡察工作精細(xì)科學(xué)
- 企業(yè)法律知識培訓(xùn)消費者權(quán)益保護(hù)實務(wù)
- 快樂讀書吧-讀后分享課:《十萬個為什么》教學(xué)案列
- 2024年 貴州茅臺酒股份有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論