




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)(論文)題 目: 基于51單片機(jī)的六路搶答器設(shè)計(jì)與制作 系 部: 電子信息技術(shù)系 專 業(yè): 電子信息工程 學(xué) 號: 070306xxx 學(xué)生姓名: xxx 指導(dǎo)教師姓名: xx 指導(dǎo)教師職稱: 副教授 二一年 五 月 八 日摘 要隨著科學(xué)技術(shù)的不斷發(fā)展,促使人們學(xué)科學(xué)、學(xué)技術(shù)、學(xué)知識的手段多種多樣。搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合。但搶答器的使用頻率較低,且有的要么制作復(fù)雜,要么可靠性低,減少興致。做為一個(gè)單位若專購一臺搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時(shí)性就會影響活動的開展,因此設(shè)計(jì)了本搶
2、答器。本設(shè)計(jì)是以六路搶答為基本理念。考慮到依需設(shè)定限時(shí)回答的功能,利用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í)間和回答問題的時(shí)間可在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。關(guān)鍵詞: AT89C51
3、 LED數(shù)碼管 搶答器 計(jì)時(shí) 報(bào)警 目 錄第一章 緒 論11.1 課題研究的相關(guān)背景11.2 選題的目的和意義11.3 課題研究的內(nèi)容11.4 國內(nèi)外研究現(xiàn)狀21.5 搶答器目前存在的主要問題3第二章 搶答器的系統(tǒng)概述42.1 系統(tǒng)的主要功能42.2 系統(tǒng)需求分析52.3 搶答器的工作流程52.4 搶答器的工作過程62.5 器件選型方案及詳細(xì)清單72.6 AT89C51特殊功能寄存器72.7 AT89C51的功能及簡介82.7.1 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖82.7.2 AT89C51單片機(jī)92.8 搶答器的優(yōu)點(diǎn)及組成10第三章 系統(tǒng)總體方案的設(shè)計(jì)113.1 硬件電路的設(shè)計(jì)113.2 總
4、體原理圖123.3 時(shí)鐘頻率電路的設(shè)計(jì)123.4 復(fù)位電路的設(shè)計(jì)133.5 顯示電路的設(shè)計(jì)143.5.1 顯示模塊在系統(tǒng)軟件中的安排143.6 鍵盤掃描電路的設(shè)計(jì)163.6.1 鍵盤抖動的軟件處理173.7 發(fā)聲173.8 系統(tǒng)復(fù)位183.9 本章小結(jié)19第四章 軟件設(shè)計(jì)204.1 主程序系統(tǒng)結(jié)構(gòu)圖204.2軟件任務(wù)分析204.3 程序流程圖214.4本章小結(jié)22第五章 Proteus仿真系列組圖235.1系統(tǒng)仿真圖235.1.1復(fù)位圖235.1.2設(shè)置計(jì)時(shí)時(shí)間235.1.3非法搶答并顯示座號235.1.4搶答成功并顯示倒計(jì)時(shí)245.1.5三號選手搶答成功255.2本章小結(jié)25總結(jié)26參考文獻(xiàn)
5、26致 謝27附錄一28附錄二34科技職業(yè)學(xué)院信息技術(shù)系 電子信息工程技術(shù)專業(yè)畢業(yè)設(shè)計(jì)第一章 緒 論1.1 課題研究的相關(guān)背景搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只由幾個(gè)三極管、可控硅、發(fā)光管等組成,能通過發(fā)光管的指示辯認(rèn)出選手號碼?,F(xiàn)在大多數(shù)搶答器均使用單片機(jī)(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計(jì)時(shí)、選手得分顯示等功能。本課題利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行
6、計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號碼。用開關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時(shí)間和回答問題的時(shí)間可是在1-99s設(shè)定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。1.2 選題的目的和意義通過這次課程設(shè)計(jì),掌握51單片機(jī)的原理,了解簡單多功能搶答器組成原理,初步掌握多功能搶答器的調(diào)整及測試方法,提高動手能力和排除故障的能力。同時(shí)通過本課題設(shè)計(jì)與裝配、調(diào)試,提高自己的動手能力,鞏固已學(xué)的理論知識,建立單
7、片機(jī)理論和實(shí)踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握多功能搶答器的調(diào)整及測試方法。提高動手能力和排除故障的能力。1.3 課題研究的內(nèi)容本系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開始和結(jié)束、復(fù)位鍵。在后臺主持人可以修改,搶答時(shí)間和選手回答問題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為15s,回答問題時(shí)間為10s。通過加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開始有效,主持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號,在最后五秒揚(yáng)聲器發(fā)生提示。如果主持人沒有按下開
8、始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號,揚(yáng)聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新一輪搶答開始。通過研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片機(jī)技術(shù)設(shè)計(jì)的搶答器與目前常用的搶答器相比,首先,電路連接簡單,因?yàn)榇蠖鄶?shù)功能單元都通過程序設(shè)計(jì)在單片機(jī)內(nèi)部,第二,工作性能可靠,抗千擾能力優(yōu)于目前搶答器。所以本研究是一個(gè)實(shí)用的工程設(shè)計(jì),具有創(chuàng)新性。本論文章節(jié)的結(jié)構(gòu)和內(nèi)容如下:第一章:緒論。簡要介紹了搶答器的發(fā)展現(xiàn)狀;說明了本課題研究的內(nèi)容.第二章:搶答器系統(tǒng)概述。說明了搶答器的工作過程和主要功能,并定下了本課題要達(dá)到的設(shè)計(jì)目標(biāo)。第三章:搶答器的硬件電路的設(shè)計(jì)。詳細(xì)描述了本課題各個(gè)組成電路單元的設(shè)計(jì)。第四章
9、:搶答器的軟件設(shè)計(jì),并編程序。第五章:Proteus仿真,仿真出結(jié)果。結(jié)論:總結(jié)課題設(shè)計(jì),指出設(shè)計(jì)中的一些問題,提出改善的意見,并展望搶答器的未來設(shè)計(jì)。后其號碼只有數(shù)碼或指示燈顯示,沒有語音提示。本課題就是為了解決以上3個(gè)問題,設(shè)計(jì)了六路搶答器。1.4 國內(nèi)外研究現(xiàn)狀搶答器作為一種電子產(chǎn)品,早已廣泛應(yīng)用于各種智力和知識競賽場合,但目前所使用的搶答器有的電路較復(fù)雜不便于制作,可靠性低,實(shí)現(xiàn)起來很困難;有的則用一些專用的集成塊 ,而專用集成塊的購買又很困難。為適應(yīng)高校等多代表隊(duì)單位活動的需要而設(shè)計(jì)一個(gè)多功能搶答器,這種搶答器具有電路簡單,元件普通 ,易于購買等優(yōu)點(diǎn),很好地解決了制作者制作困難和難于
10、購買的問題。在國內(nèi)外已經(jīng)開始了普遍的應(yīng)用。1.5 搶答器目前存在的主要問題隨著改革開放事業(yè)的不斷深入,促使人們學(xué)科學(xué)、學(xué)技術(shù)、學(xué)知識的手段多種多樣,搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識競賽場合。但搶答器的使用頻率校低,且有的要么制作復(fù)雜,要么可靠性低,減少興致。作為一個(gè)單位若專購一臺搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時(shí)性就會影響活動的開展。但目前多數(shù)搶答器存在3個(gè)不足之處:第一,現(xiàn)場線路連接復(fù)雜。因?yàn)槊總€(gè)選手位于搶答現(xiàn)場的不同位置,每個(gè)選手與控制臺之間要有長長的連接線。選手越多,連接線就越多、越亂,這些連接線不
11、僅影響了現(xiàn)場的美觀,而且降低了搶答器的可靠性,增加了安裝的難度,甚至影響了現(xiàn)場人員的走動。第二,電路復(fù)雜。因?yàn)閱纹瑱C(jī)只完成號碼處理、計(jì)時(shí)、數(shù)據(jù)運(yùn)算等功能,其它功能如選手號碼的識別、譯碼、計(jì)分顯示等仍只能通過數(shù)字集成電路完成。采用單片機(jī)掃描技術(shù)識別選手搶按號碼時(shí),電路的延遲時(shí)間較大。第三,選手搶按成功。第二章 搶答器的系統(tǒng)概述2.1 系統(tǒng)的主要功能本系統(tǒng)是借用單片機(jī)采用模塊化設(shè)計(jì)的智能搶答器,主控與參賽者設(shè)為終端分系統(tǒng)。參賽者分系統(tǒng)設(shè)有:搶答按紐、計(jì)時(shí)顯示、提示功能等(根據(jù)需要可另設(shè)或多設(shè)相關(guān)功能);主控分系統(tǒng)有:開始與結(jié)束控制按鈕、時(shí)限設(shè)定、各種相關(guān)顯示調(diào)控功能等(根據(jù)需要也可另設(shè)或多設(shè)相關(guān)功
12、能)。參賽者系統(tǒng),除享有搶答按紐的權(quán)利功能外1,還有人性化的提示功能和時(shí)間提示功能,也可設(shè)定由主控控制在參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開始與結(jié)束控制,根據(jù)活動參賽者的層次,對提前掄答者的行為設(shè)定為非法或阻隔,若設(shè)有非法搶答控制功能時(shí),在主控處帶有公示性顯示的非法掄答者的臺位號,對搶答限時(shí)及回答問題限時(shí)設(shè)為倒計(jì)時(shí)式,并有公示性顯示。如圖2-1所示。 主 控 制 器初始化初始化Y YY 顯示搶答號并倒計(jì)時(shí)正常搶答 顯示非法搶答處理去抖動調(diào)整搶答時(shí)間回答時(shí)間 減一鍵按下?加一鍵按下? 開始鍵按下?LED顯示聲生器鍵盤顯示時(shí)鐘頻率復(fù)位電路圖2-1 系統(tǒng)主要功能模塊本系統(tǒng)采用模塊化設(shè)
13、計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開始和結(jié)束復(fù)位鍵。在后臺主持人可以修改,搶答時(shí)間和選手回答問題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為15s,回答問題時(shí)間為10s。通過加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開始有效,主持人按鍵開始后,選手開始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號,在最后五秒揚(yáng)聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數(shù)碼顯示屏顯示犯規(guī)者的代號,揚(yáng)聲器持續(xù)發(fā)生。主持人可按鍵結(jié)束,新一輪搶答開始。系統(tǒng)的主要功能模塊方框圖如2-1所示。搶答主板:搶答主板是整個(gè)搶答器的核心,其關(guān)鍵是單片機(jī)AT89C51。內(nèi)部電路設(shè)計(jì)用
14、匯編語言編寫。它完成了時(shí)間參數(shù)的設(shè)定,搶按號碼的譯碼,保存;顯示;輸出,搶按及答題倒計(jì)時(shí)功能等。顯示及指示:本設(shè)計(jì)中,有一個(gè)共陰的數(shù)碼管組,四個(gè)數(shù)碼管。其中兩個(gè)顯示時(shí)間,一個(gè)空位,一個(gè)顯示搶答號碼。主持人依次按下復(fù)位鍵(RESET),開始鍵后開始搶答。可以搶按:超時(shí)數(shù)碼管顯示“FFF”,當(dāng)搶按超過規(guī)定時(shí)間或答題超過規(guī)定時(shí)間后數(shù)碼管顯“FFF”。若有選手在規(guī)定時(shí)間內(nèi)搶按成功,則可以答題,數(shù)碼管顯示搶答時(shí)間的同時(shí)也顯示選手號碼。若在按開始鍵前搶答表示違規(guī),數(shù)碼管顯示“FF”并顯示選手號碼。2.2 系統(tǒng)需求分析1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。2、搶答限定時(shí)間和回答問題
15、的時(shí)間可是在199s設(shè)定。3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。4、搶答時(shí)間和回答問題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動復(fù)位。5、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。2.3 搶答器的工作流程搶答器的基本工作原理:在搶答競賽或呼叫時(shí)2,有多個(gè)信號同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,并識別、記錄第一個(gè)號碼,同時(shí)內(nèi)部的定時(shí)器開始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號。在整個(gè)搶答器工作過程中,顯示電路、語音電路等還要根據(jù)現(xiàn)場的實(shí)際情況向外電路輸出相應(yīng)信號。搶答器的工作流程分為、系統(tǒng)復(fù)位、正常流程、違例流程等幾部分,如圖2-2所示,下面分別予以介紹。如圖2-2所示2.4
16、 搶答器的工作過程1、如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按加一鍵或減一鍵進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)會顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如想加一秒按一下加1s鍵,如果想減一秒按一下減1s鍵,時(shí)間LED上會顯示改變后的時(shí)間,調(diào)整范圍為099s, 0s時(shí)再減1s會跳到99,99s時(shí)再加1s會變到0s。2、主持人按搶答開始鍵,會有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)15s搶答時(shí)間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進(jìn)入回答倒計(jì)時(shí)(預(yù)設(shè)10s搶答時(shí)間),不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到小于5s會每秒響一下提示音。加載程序運(yùn) 行行開始開始數(shù)碼管顯示TTT開始搶按時(shí)間倒計(jì)時(shí)開始前
17、有選手搶按顯示違例選手號碼并伴有語音報(bào)警倒計(jì)時(shí)結(jié)束,超時(shí)有選手搶按顯示TTT顯示選手號碼,倒計(jì)時(shí)時(shí)間,語音報(bào)警,答題,答題時(shí)間倒計(jì)時(shí)正常流程違規(guī)流程若超過答題時(shí)間,則數(shù)碼管顯示TTT答題完畢根據(jù)選手表現(xiàn),規(guī)則由主持人減分圖2-2 搶答器工作流程3、如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按停止按鍵,系統(tǒng)會自動進(jìn)入準(zhǔn)備狀態(tài),等待主持人按搶答開始進(jìn)入下次搶答計(jì)時(shí)。4、如果主持人未按搶答開始鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號數(shù)并響個(gè)不停,直到按下停止 鍵為止??偠灾菊n題利用AT89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng)設(shè)計(jì)了搶答器,該搶答器增加了新功能、提高了系統(tǒng)的可
18、靠性、簡化了電路結(jié)構(gòu)、節(jié)約了成本,是一個(gè)實(shí)用的工程設(shè)計(jì)。2.5 器件選型方案及詳細(xì)清單微控制器選用ATMAL公司生產(chǎn)的AT89C51,該芯片貨源充足,并且價(jià)格也比較便宜。如表2-1所示。2.6 AT89C51特殊功能寄存器特殊功能寄存器也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡稱SFR(Special Function Register)。特殊功能寄存器共含有22個(gè)不同寄存器。它們的地址分配在80HFFH中,即在RAM地址中。這些寄存器的名稱和地址如表2-2所示。表2-1器件選型方案的詳細(xì)清單器件名稱 規(guī)格型號 數(shù)量微處理器 AT89C51 1電阻 3WTT10K 8電容 30PF
19、3晶振 12MHZ 1按鈕 - 11反相器 - 37段數(shù)碼管 7SEG-MPX4CC 4 揚(yáng)聲器 - 1 雖然特殊功能寄存器地址在80HFFH之中,但在80HFFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內(nèi)容是不確定的,如果對這些單元進(jìn)行操作,得到的是一些隨機(jī)數(shù),而寫入則無效。所以,用戶編程時(shí)不應(yīng)該將數(shù)據(jù)寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產(chǎn)品時(shí)使用的。2.7 AT89C51的功能及簡介2.7.1 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖AT89C51單片機(jī)內(nèi)部由CPU、4KB的FPEROM ,128B的RAM,兩個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的
20、I/O端P0、P1、P2、P3等組成。單片微機(jī)內(nèi)部最核心的部分是CPU。CPU主要功能是產(chǎn)生各種控制信號,控制存儲器、輸入/輸出端口的數(shù)據(jù)傳輸、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等,CPU按其功能可分為運(yùn)算器和控制器兩部分。控制器由程序計(jì)數(shù)器PC、指令儲存器、指令譯碼器、實(shí)時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。它的功能是對來自存儲器中的指令進(jìn)行譯碼,通過實(shí)時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的內(nèi)部和外部的控制信號,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的操作。運(yùn)算器由算術(shù)邏輯器部件ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運(yùn)算調(diào)整電路等組成。如圖2-3所示。外部定時(shí)元件復(fù)位中斷
21、電源系統(tǒng)時(shí)鐘ROMCPU定時(shí)/計(jì)數(shù)器串行I/O口并行I/O口RAM圖2-3 AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)圖為了提高數(shù)據(jù)處理和位操作功能,片內(nèi)增加了一個(gè)通用寄存器B和一些專用寄存器,還增加了位處理邏輯電路的功能3。其內(nèi)部結(jié)構(gòu)如圖2-3所示。2.7.2 AT89C51單片機(jī)AT89C51是一種低功耗、高性能的含有4KB閃速可編程電擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并且與80C51指令系統(tǒng)和引腳完成兼容。芯片上的FPEROM允許在線或采用通用的非易失存
22、儲編程器對程序存儲器重復(fù)編程。(1)AT89C51的主要性能包括:AT89C51與MCS51控制器系列產(chǎn)品兼容,片內(nèi)有4K可在線重復(fù)編程閃速電擦除存儲器(Flash Memory),存儲器可循環(huán)寫入/擦除1000次;存儲器數(shù)據(jù)保存時(shí)間可達(dá)10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲器具有3級鎖存保護(hù);128*8位內(nèi)部RAM;32條可編程I/O線;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷結(jié)構(gòu)具有5個(gè)中斷源和2個(gè)中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。(2)FPEROM的編程:AT89C51的I/O口P0、P1、P2和P3除
23、具有與80C51相同的一些性能和用途外,在FPEROM編程時(shí),P0口接收代碼字節(jié),并在程序檢驗(yàn)時(shí)輸出代碼字節(jié),但在程序校驗(yàn)時(shí)需要外部上拉負(fù)載電阻,在FPEROM編程和程序校驗(yàn)期間,P1口接收低位地址字節(jié),P2口接收高位地址字節(jié)和一些控制信號,P3口也接收一些FPEROM編程和校驗(yàn)用的信號,此時(shí)ALE/PROG引腳是編程脈沖輸入(PROG)端,在FPEROM編程期間,如果選擇12V編程電壓、那么EA/Vpp引腳也允許接受12V編程電壓(Vpp)。2.8 搶答器的優(yōu)點(diǎn)及組成在知識比賽中,特別是做搶答題目的時(shí)候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在
24、搶答中,靠視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用AT89C51單片機(jī)作為核心。控制系統(tǒng)的四個(gè)模塊分別為:存儲模塊、顯示模塊、語音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過開關(guān)電路六個(gè)按鍵輸入搶答信號;利用存儲程序來完成軟件的設(shè)計(jì);利用一個(gè)數(shù)碼管來完成顯示功能。工作時(shí),用按鍵通過開關(guān)電路輸入各路的搶答信號,經(jīng)單片機(jī)的處理,輸出控制信號,控制數(shù)碼管和語音芯片工作。在數(shù)碼管上顯示哪一組先答題,并通過語音系統(tǒng)讀出第N組請答題,從而實(shí)現(xiàn)整
25、個(gè)搶答過程。第三章 系統(tǒng)總體方案的設(shè)計(jì)3.1 硬件電路的設(shè)計(jì)本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì)5,這兩者相互結(jié)合,不可分離;從時(shí)間上看,硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計(jì)任務(wù),隨著集成電路技術(shù)的飛速發(fā)展,各種功能很強(qiáng)的芯片不斷出現(xiàn),使硬件電路的集成度越來越高,硬件設(shè)計(jì)的工作量在整個(gè)項(xiàng)目中的所占的比重逐漸下降。為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面:(1) 盡可能采用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,
26、并不一定比若干普通芯片價(jià)格的總和高。(2) 留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(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ì)水平的提高,往往只要改變或增加軟件中
27、的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設(shè)計(jì)初期考慮到這一點(diǎn),就應(yīng)該為系統(tǒng)將來升級留足夠的RAM空間,哪怕多設(shè)計(jì)一個(gè)RAM的插座,暫不插芯片也好。(5) I/O端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時(shí),往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計(jì)就預(yù)留出一些I/O端口,雖然當(dāng)時(shí)空著沒用,那么用的時(shí)候就派上用場了。3.2 總體原理圖圖3-1系統(tǒng)原理圖P1.0為開始搶答9,P1.7為停止,P1.1-P1.6為六路搶答輸
28、入,數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。P3.2為時(shí)間加1調(diào)整,P3.3為時(shí)間減1調(diào)整。3.3 時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。如圖3-2所示。圖3-2為外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30
29、PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz,則時(shí)鐘周期為1/12s。3.4 復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖3-3所示。圖3-3復(fù)位電路值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件
30、就是不能對單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.5 顯示電路的設(shè)計(jì)顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。3.5.1 顯示模塊在系統(tǒng)軟件中的安排操作者主要設(shè)計(jì)從顯示設(shè)備上獲取微機(jī)系統(tǒng)的信息的,因此,操作者每操作一下,顯示設(shè)備商都應(yīng)該有一定的反應(yīng)。這說明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯示模塊。不同的操作需要顯示不同的內(nèi)容,這又說明各執(zhí)行模塊對顯示模塊的驅(qū)動方式是不同的。另一方面,在操作者沒有進(jìn)行操作時(shí),顯示內(nèi)容也是變化的
31、,如顯示現(xiàn)場各物理量的變化情況。這時(shí)顯示模塊不是由操作者通過命令鍵來驅(qū)動,而是由各類自動執(zhí)行的功能模塊來驅(qū)動。自動執(zhí)行的各類模塊在安排在各種中斷子程序中,這就是說,各種中斷子程序也要調(diào)用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過程中發(fā)生了中斷,中斷子程序也調(diào)用顯示模塊,這時(shí)就容易出問題。一種比較妥善的辦法是只讓一處調(diào)用顯示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請顯示。這就要設(shè)置一個(gè)顯示申請標(biāo)志,當(dāng)某模塊需要顯示時(shí),將申請標(biāo)志置位,同時(shí)設(shè)定有關(guān)顯示內(nèi)容(或指針)。由于一處調(diào)用顯示模塊,故不會發(fā)生沖突。為
32、了使顯示模塊能及時(shí)反應(yīng)系統(tǒng)需要,應(yīng)將顯示模塊安排在一個(gè)重復(fù)執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時(shí)鐘中斷子程序)中。當(dāng)監(jiān)控程序(鍵盤解釋程序)安排在時(shí)鐘中斷子程序中時(shí),處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示模塊就可以了。例如用DISP作顯示申請標(biāo)志,就可以這樣安排顯示模塊的調(diào)用,即DISP BIT 2DH.4 ;顯示申請標(biāo)志SKEYEND: JNB DISP,RETI0 ;有顯示申請否? LCALL DISPLAY ;調(diào)用顯示模塊,更新顯示內(nèi)容 CLR DISP ;清除申請 RETI ;中斷返回KEYEND為鍵盤解釋程序的最后匯集點(diǎn),這時(shí)如果發(fā)現(xiàn)有顯示申請,就進(jìn)行集中操作,更新顯示內(nèi)容,否則就跳過這一
33、步。這里將顯示功能集中到一起,作為一個(gè)功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng)軟件提供的信息自動完成顯示內(nèi)容的查找,變換和輸出驅(qū)動。這樣設(shè)計(jì)使得各功能模塊都不必考慮顯示問題,只要給出一個(gè)簡單的信息(如顯示格式編碼)甚至不用再提供額外信息,直接利用當(dāng)前狀態(tài)變量和軟件標(biāo)志就可以完成所需的顯示要求。如果編寫這樣一個(gè)集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這時(shí)各功能模塊在提出顯示申請時(shí),還需要將顯示內(nèi)容按需要的格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混亂。例如后臺程序需要調(diào)用顯示,將有關(guān)信息送入到現(xiàn)實(shí)緩沖區(qū)進(jìn)行顯示;中斷返回后
34、,后臺程序繼續(xù)送完后半部分顯示內(nèi)容,但前半部分內(nèi)容已經(jīng)變了,這樣就出現(xiàn)了顯示錯(cuò)誤。解決的辦法是,在申請顯示前,先檢查是否已經(jīng)有顯示申請,如果有,就不再申請,等待下次機(jī)會;如果沒有,則先申請標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。這時(shí)就不必?fù)?dān)心其他前臺模塊來打擾了,就可以得到一次完整的顯示機(jī)會。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示6上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動態(tài)顯示方法。并通
35、過查表法,將其在數(shù)碼管上顯示出來,其中P0口為字型碼輸入端,P2口低3位為字選段輸入端。在這里我們通過查表將字型碼送給7段數(shù)碼管顯示的數(shù)字,如圖3-4所示 。MOV A,R5 MOVC A,A+DPTR ;查字型碼 MOV P2,#01H ;送位選碼 MOV P0,A ;送字型碼ACALL DELAY ;調(diào)延時(shí),去閃爍圖3-4共陰極數(shù)碼管在七段數(shù)碼管顯示中可分為共陽極和共陰極兩種類型極。以共陰為例,要想a段亮,向a段送1就是,返之送0,共陽剛好相反。3.6 鍵盤掃描電路的設(shè)計(jì)鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍
36、中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。如圖3-5所示。圖3-5獨(dú)立鍵盤它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺” 現(xiàn)象。這里
37、采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測到有按鍵動靜后再延時(shí)一段時(shí)間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。3.6.1 鍵盤抖動的軟件處理按鍵的觸點(diǎn)在閉合和斷開時(shí)均會產(chǎn)生抖動,這是觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時(shí)的方法來避開抖動階段,這一延時(shí)過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時(shí)子程序便可
38、直接插入讀鍵過程中。如果讀鍵過程安排在定時(shí)中斷子程序中,就可省去專門的延時(shí)子程序,利用兩次定時(shí)中斷的時(shí)間間隔來完成抖動處理。3.7 發(fā)聲我們知道,聲音的頻譜范圍約在幾十到幾千赫茲7,若能利用程序來控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。3.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的R
39、ESET端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。有的編程人員用020000(LJMP 0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)
40、向0000H地址就完成了軟件復(fù)位,就是這類錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯(cuò)處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。這部分程序如下:POWER DATA 67H ;上電標(biāo)志存放單元 ERR: CLR EA ;關(guān)中斷 MOV DPTR,#ERR1 ;準(zhǔn)備返回地址PUSH DPLPUSH DPHRET
41、I ;清除高級中斷激活標(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)行,然后用兩個(gè)RETI指令代替兩個(gè)LJMP指令,從而清除了兩級中斷激活標(biāo)志。有相應(yīng)軟件陷阱捕捉來的程序可能沒有全部激活兩個(gè)標(biāo)志,這也無妨。3.9 本章小結(jié)本章詳細(xì)講述了以AT89C51為核心元件的搶答器的硬件電路具體設(shè)計(jì)過程,分析了具體電路。在設(shè)計(jì)過程中,實(shí)現(xiàn)搶答功能的是通過編寫程序的方法集成在AT89C51內(nèi)部。接著將程序下載到
42、硬件電路中,配合周邊的時(shí)鐘電路,復(fù)位電路等,制作出符合設(shè)計(jì)要求的搶答器。第四章 軟件設(shè)計(jì)4.1 主程序系統(tǒng)結(jié)構(gòu)圖系統(tǒng)初始化模塊按鍵模塊非法搶答模塊正確搶答模塊調(diào)整搶答時(shí)間調(diào)整回答時(shí)間模塊數(shù)碼顯示模塊圖4-1軟件系統(tǒng)結(jié)構(gòu)圖4.2軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量,計(jì)算,顯示,打印8,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)
43、組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(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)。相對來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長就比較難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺
44、程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。4.3 程序流程圖在本設(shè)計(jì)中包括了以下八個(gè)主要的程序:主程序;非法搶答序;搶答時(shí)間調(diào)整程序;回答時(shí)間調(diào)整程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序9。主流程圖如4-2所示。顯示FFF 開始鍵按下?加一鍵按下?減一鍵按下?回答時(shí)
45、間 調(diào)整搶答時(shí)間去抖動非法搶答處理顯示犯規(guī)正常搶答 顯示搶答號并倒計(jì)時(shí)Y YY 初始化初始化Y YY 顯示搶答號并倒計(jì)時(shí)正常搶答 顯示非法搶答處理去抖動調(diào)整搶答時(shí)間回答時(shí)間 減一鍵按下?加一鍵按下? 開始鍵按下?LED顯示圖4-2 程序設(shè)計(jì)流程圖4.4本章小結(jié)本章是搶答器的軟件設(shè)計(jì),實(shí)現(xiàn)搶答功能主要是通過編寫程序的方法集成在AT89C51內(nèi)部。將程序下載到硬件電路中,實(shí)現(xiàn)搶答功能。第五章 Proteus仿真系列組圖5.1系統(tǒng)仿真圖5.1.1復(fù)位圖圖5-1 復(fù)位顯示三個(gè)FFF5.1.2設(shè)置計(jì)時(shí)時(shí)間圖 5-2計(jì)時(shí)時(shí)間為17秒5.1.3非法搶答并顯示座號圖5-3 三號選手非法搶答5.1.4搶答成功并
46、顯示倒計(jì)時(shí)圖 5-4六號選手搶5.1.5三號選手搶答成功圖5-5 三號選手搶答5.2本章小結(jié)本章是搶答器的系統(tǒng)仿真部分,并對搶答器的各個(gè)流程做出了具體仿真結(jié)果。從仿真圖上可以進(jìn)一步得出結(jié)論:利用單片機(jī)設(shè)計(jì)的搶答器工作性能穩(wěn)定,延遲時(shí)間小,電路結(jié)構(gòu)簡單,是一個(gè)實(shí)用、創(chuàng)新性的電路設(shè)計(jì)。35總結(jié)本文研究與設(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í)間。計(jì)分接收的單片機(jī)部分利用匯編語言編寫。設(shè)計(jì)時(shí),首先通過在線編程,然后具體安裝
47、,仿真,完全實(shí)現(xiàn)了設(shè)計(jì)功能。本設(shè)計(jì)中,利用常規(guī)的單片機(jī)掃描識別的方法。通過硬件電路的具體應(yīng)用和系統(tǒng)的仿真研究得出,本設(shè)計(jì)不僅安裝簡單、成本低,更重要的是工作性能穩(wěn)定,是一個(gè)實(shí)用、創(chuàng)新型的工程設(shè)計(jì)。由于采用匯編語言設(shè)計(jì)電路,所以本設(shè)計(jì)在編程成功后,硬件電路基本上不需要調(diào)試就可正常使用。即使在設(shè)計(jì)完畢交給用戶使用后,對系統(tǒng)的功能改進(jìn)或升級也只是通過改寫程序來完成,極大地方便了用戶或設(shè)計(jì)者對電路更新。參考文獻(xiàn)1 朱宇光 單片機(jī)應(yīng)用新技術(shù) 電子工業(yè)出版社2 余發(fā)山 單片機(jī)原理及應(yīng)用技術(shù) 中國礦業(yè)大學(xué)出版社 20033 鄭有正 單片機(jī)原理及應(yīng)用 四川大學(xué)出版社4 楊剛、龍海燕等 現(xiàn)代電子技術(shù) 電子工業(yè)出
48、版社 20045 冀振燕 LJML系統(tǒng)分析設(shè)計(jì)與應(yīng)用案例 人民郵電出版社 20036 王文峰 數(shù)碼顯示六路搶答器的設(shè)計(jì) 井岡山師范學(xué)院學(xué)報(bào) 2000年05期 20-217 陳越等 ISD全系列單片語音錄放電路設(shè)計(jì)與應(yīng)用 電子工業(yè)8 楊曉輝、張彤、姜俊海、智能搶答器的設(shè)計(jì)與制作 長春大學(xué)學(xué)報(bào) 2000年06期 24-259 沈慶陽、郭庭吉 8051單片機(jī)實(shí)踐與應(yīng)用 清華大學(xué)出版社10 楊凌霄 微型計(jì)算機(jī)原理及應(yīng)用 中國礦業(yè)大學(xué)出版社 2004致 謝本課程設(shè)計(jì)是在我的指導(dǎo)老師XX老師的親切關(guān)懷和細(xì)心指導(dǎo)下完成的,在設(shè)計(jì)過程中,自始至終凝聚著導(dǎo)師的心血。在課題進(jìn)行當(dāng)中,還得到了其他老師,任教授等的細(xì)
49、心指導(dǎo)和諸多幫助。他們的無私幫助和耐心指導(dǎo)也是我得以完成本課題的關(guān)鍵。再此我向他們表示由衷的感謝和深切的問候。此間我還得到了同學(xué)等諸多指導(dǎo),再此表示感謝。我還要感謝我的一些同學(xué),他們在我最需要幫助的時(shí)候無私的伸出了援助之手,在此,對于他們無私的幫助我表示深深的感謝。可以說如果沒有他們的幫助我就不可能順利的按時(shí)完成畢業(yè)設(shè)計(jì)。真誠的感謝所有的幫助過我的老師們,同學(xué)們和朋友們。感謝對本設(shè)計(jì)進(jìn)行評審的老師們,感謝你們給我提出的寶貴意見和建議。附錄一源程序代碼OK EQU 20H;搶答開始標(biāo)志位 RING EQU 22H;響鈴標(biāo)志位 ORG 0000H AJMP MAIN ORG 0003H AJMP
50、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,#0F0H MOV TL0,#0FFH MOV TH1,#3CH MOV TL1,#0B0H;50ms為一次溢出中斷 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1 CLR OK CLR RING SETB TR1 SETB TR0;=查詢程序=START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY JB P1.0,NEXT ACALL DELAY JB P1.0,NEXT;
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)防感冒的有效方法與策略
- 高端酒店餐飲原料采購及配送協(xié)議
- 林業(yè)資源開發(fā)與利用合作協(xié)議
- 中小學(xué)生環(huán)保主題征文
- 蠟燭圖之謎:閱讀理解文本分析教案
- 介紹自己的專業(yè)-學(xué)前教育
- 房地產(chǎn)行業(yè)實(shí)務(wù)操作模擬題
- 礦山專用設(shè)備相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 安全、消防用金屬制品相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 點(diǎn)工勞務(wù)裝修合同
- 相反國課件-大班
- 【基于杜邦探析法的湯臣倍健財(cái)務(wù)報(bào)表探析案例(定量論文)11000字】
- 湖北省石首楚源“源網(wǎng)荷儲”一體化項(xiàng)目可研報(bào)告
- 湘美版小學(xué)二年級下冊美術(shù)全冊教案
- 買房送轎車活動方案
- 《軟件工程導(dǎo)論》期末復(fù)習(xí)考試題庫(帶答案)
- 小學(xué)英語名詞單數(shù)變復(fù)數(shù)的語法規(guī)則及練習(xí)題含答案
- 高中英語??嫉?40個(gè)固定搭配
- 2025屆新課標(biāo)全國卷高三第一次高考模擬考試數(shù)學(xué)試題試卷含解析
- DB33-T 1378-2024 羊肚菌大田設(shè)施栽培技術(shù)規(guī)程
- 國際貿(mào)易地理 全套課件
評論
0/150
提交評論