畢業(yè)設(shè)計(jì)---多路智力競(jìng)賽搶答器設(shè)計(jì)(含外文翻譯)_第1頁(yè)
已閱讀1頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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>  畢 業(yè) 設(shè) 計(jì) 任 務(wù) 書</p><p>  設(shè)計(jì)題目:多路智力競(jìng)賽搶答器設(shè)計(jì)(軟件部分)</p><p>  專 業(yè): </p><p>  班級(jí)學(xué)號(hào): </p><p>  姓 名:

2、 </p><p>  指導(dǎo)教師: </p><p>  設(shè)計(jì)期限: 年 月 日開(kāi)始</p><p><b>  年 月日結(jié)束</b></p><p>  院 系: </p><p><b>  年 月 日</b></p>

3、;<p><b>  畢業(yè)設(shè)計(jì)的目的</b></p><p>  通過(guò)本次畢業(yè)設(shè)計(jì),鍛煉學(xué)生綜合運(yùn)用所學(xué)知識(shí)進(jìn)行實(shí)踐的能力,提高學(xué)生自學(xué)知識(shí)、掌握技術(shù)的能力,提高學(xué)生實(shí)際動(dòng)手能力,熟悉硬件電路設(shè)計(jì)的系統(tǒng)流程,掌握8路多功能搶答器的原理與實(shí)現(xiàn)方法。</p><p><b>  主要設(shè)計(jì)內(nèi)容</b></p><p&g

4、t;  本系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開(kāi)始和顯示、復(fù)位鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問(wèn)題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為30s,回答問(wèn)題時(shí)間為30s。通過(guò)加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開(kāi)始有效,主持人按鍵開(kāi)始后,選手開(kāi)始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào),并且發(fā)生提示。主持人可按鍵結(jié)束,新一輪搶答開(kāi)始。</p><p

5、><b>  重點(diǎn)研究問(wèn)題</b></p><p>  1、如何實(shí)現(xiàn)對(duì)搶答器的時(shí)間和得分控制;</p><p>  2、搶答器功能的完備。 </p><p><b>  其他要求</b></p><p>  1焊接時(shí)注意

6、不要出現(xiàn)不良焊接,以免造成短路。</p><p>  2盡量做到簡(jiǎn)化電路板,使其美觀。</p><p><b>  設(shè)計(jì)成果要求</b></p><p>  1、設(shè)計(jì)出8路多功能搶答器,使其能夠正常顯示時(shí)間以及搶答號(hào)碼。</p><p>  2、根據(jù)電路圖焊接電路硬件并調(diào)試。</p><p>  

7、3、撰寫8路多功能搶答器設(shè)計(jì)的報(bào)告。</p><p><b>  其它</b></p><p>  1、收集資料,設(shè)計(jì)整個(gè)系統(tǒng)硬件原理框圖和軟件流程圖。</p><p>  2、硬件各個(gè)模塊功能分析。</p><p>  3、硬件子單元模塊設(shè)計(jì)。

8、 </p><p>  4、總體測(cè)試、調(diào)試等。 </p><p>  5、整理文檔及外文翻譯資料、編寫畢業(yè)設(shè)計(jì)說(shuō)明書。</p><p>  華北水利水電學(xué)院本科生畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告</p><p>  2011 年 3 月 21 日 &l

9、t;/p><p><b>  摘 要</b></p><p>  搶答器作為一種工具,已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合。但搶答器的使用頻率較低,且有的要么制作復(fù)雜,要么可靠性低。作為一個(gè)單位,如果專門購(gòu)一臺(tái)搶答器雖然在經(jīng)濟(jì)上可以承受,但每年使用的次數(shù)極少,往往因長(zhǎng)期存放使(電子器件的)搶答器損壞,再購(gòu)置的麻煩和及時(shí)性就會(huì)影響活動(dòng)的開(kāi)展,因此設(shè)計(jì)了本搶答器。<

10、/p><p>  本設(shè)計(jì)是以八路搶答為基本理念。考慮到依需設(shè)定限時(shí)回答的功能,利用STC89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間。用開(kāi)關(guān)做鍵盤輸出,蜂鳴器發(fā)生提示。同時(shí)系統(tǒng)能夠?qū)崿F(xiàn):在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效;搶答限定時(shí)間和回答問(wèn)題的時(shí)間可以自己設(shè)定;可以顯

11、示是哪位選手有效搶答和無(wú)效搶答;搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,滿時(shí)后系統(tǒng)計(jì)時(shí)自動(dòng)復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法;增加搶答器計(jì)分功能,回答正確可以給予加分并且可以顯示選手的得分情況。</p><p>  關(guān)鍵詞: 搶答器;STC89C51;多路</p><p><b>  ABSTRACT</b></p><p>

12、  Responder as a tool has been widely used in various occasions intelligence and knowledge competitions.But Responder frequency of use is low, and some production is complex low reliability.As a unit, if the Responder s

13、pecifically purchased a economically affordable though, but use few number of times each year, often due to long-term storage (electronic devices) Responder damage, then the trouble and time of the acquisition will affec

14、t theactivities carried out, so the design of this Responder.</p><p>  system automatically reset the time and the master force reduction; key lock, in the effective state, the button is not illegal; increa

15、se Responder scoring function, </p><p>  to give extra points for correct answers andplayers can show the scores.</p><p>  Key words: Responder; STC89C51; Multiple</p><p><b>

16、;  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  第一章 緒論1</b></p><p>  1.1課題研究的相關(guān)背景1</p><p>  1.2選題

17、的目的和意義1</p><p>  1.3課題研究的內(nèi)容1</p><p>  1.4國(guó)內(nèi)外研究現(xiàn)狀2</p><p>  1.5搶答器目前存在的主要問(wèn)題2</p><p>  第二章 搶答器的系統(tǒng)概括3</p><p>  2.1系統(tǒng)的主要功能3</p><p>  2.2系

18、統(tǒng)需求分析4</p><p>  2.3搶答器的工作流程4</p><p>  2.4搶答器的工作過(guò)程5</p><p>  2.5搶答器的優(yōu)點(diǎn)及組成6</p><p>  第三章 軟件設(shè)計(jì)7</p><p>  3.1主程序系統(tǒng)結(jié)構(gòu)7</p><p>  3.2軟件任務(wù)分析7&l

19、t;/p><p>  3.3單片機(jī)的C程序設(shè)計(jì)簡(jiǎn)介8</p><p>  3.4主程序設(shè)計(jì)9</p><p>  3.4.1定時(shí)器初始化函數(shù):10</p><p>  3.4.2 倒計(jì)時(shí)函數(shù):10</p><p>  3.4.3 數(shù)碼管顯示函數(shù):11</p><p>  3.4.4采集選

20、手并顯示號(hào)碼:12</p><p>  3.4.5設(shè)定時(shí)間并顯示:13</p><p>  3.4.6選手搶答成功并回答正確予以加分并且顯示得分:15</p><p>  3.5本章小結(jié)16</p><p>  第四章 Proteus仿真系列組圖17</p><p><b>  4.1復(fù)位圖17&

21、lt;/b></p><p>  4.2設(shè)置計(jì)時(shí)時(shí)間17</p><p>  4.3搶答成功并顯示倒計(jì)時(shí)18</p><p>  4.4答題正確并顯示其得分18</p><p>  4.5本章小結(jié)18</p><p>  第五章總結(jié)與展望19</p><p><b>

22、  5.1總結(jié)19</b></p><p><b>  5.2展望20</b></p><p>  參 考 文 獻(xiàn)21</p><p><b>  致 謝22</b></p><p>  附錄一 總體電路圖23</p><p>  附錄二 實(shí)物圖24&

23、lt;/p><p>  附錄三 軟件代碼25</p><p>  附錄四 外文及翻譯43</p><p><b>  英文資料43</b></p><p><b>  中文翻譯48</b></p><p><b>  第一章 緒論</b></p

24、><p><b>  課題研究的相關(guān)背景</b></p><p>  搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競(jìng)賽、搶答場(chǎng)合中,它能迅速、客觀地分辨出最先獲得發(fā)言權(quán)的選手。早期的搶答器只由幾個(gè)三極管、可控硅、發(fā)光管等組成,能通過(guò)發(fā)光管的指示辯認(rèn)出選手號(hào)碼?,F(xiàn)在大多數(shù)搶答器均使用單片機(jī)(如MCS-51型)和數(shù)字集成電路,并增加了許多新功能,如選手號(hào)碼顯示、搶按前或搶按后的計(jì)時(shí)

25、、選手得分顯示等功能。</p><p>  本課題利用STC89C51單片機(jī)及外圍接口實(shí)現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),同時(shí)使數(shù)碼管能夠正確地顯示時(shí)間和選手號(hào)碼。用開(kāi)關(guān)做鍵盤輸出,揚(yáng)聲器發(fā)生提示。系統(tǒng)達(dá)到要求:在搶答中,只有開(kāi)始后搶答才有效,如果在開(kāi)始搶答前搶答為無(wú)效;搶答限定時(shí)間和回答問(wèn)題的時(shí)間可以自己設(shè)定;可以顯示是哪位選手有效搶

26、答和無(wú)效搶答;搶答時(shí)間和回答問(wèn)題時(shí)間倒記時(shí)顯示,時(shí)間完后系統(tǒng)自動(dòng)復(fù)位;按鍵鎖定,在有效狀態(tài)下,按鍵無(wú)效非法;增加搶答器計(jì)分功能,并且可以顯示選手的得分情況。</p><p><b>  選題的目的和意義</b></p><p>  通過(guò)這次設(shè)計(jì),掌握51單片機(jī)的原理,了解簡(jiǎn)單多功能搶答器組成原理,初步掌握多功能搶答器的調(diào)整及測(cè)試方法,提高動(dòng)手能力和排除故障的能力。同時(shí)

27、通過(guò)本課題設(shè)計(jì)與裝配、調(diào)試,提高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立單片機(jī)理論和實(shí)踐的結(jié)合,了解多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。初步掌握多功能搶答器的調(diào)整及測(cè)試方法。提高動(dòng)手能力和排除故障的能力。</p><p><b>  課題研究的內(nèi)容</b></p><p>  本系統(tǒng)采用模塊化設(shè)計(jì)智能搶答器,在搶答比

28、賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。主持人有開(kāi)始和顯示、復(fù)位鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問(wèn)題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為30s,回答問(wèn)題時(shí)間為30s。通過(guò)加鍵和減鍵修改上述時(shí)間,改完后結(jié)束鍵確定。新時(shí)間開(kāi)始有效,主持人按鍵開(kāi)始后,選手開(kāi)始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào),并且發(fā)生提示。主持人可按鍵結(jié)束,新一輪搶答開(kāi)始。</p><p>  通過(guò)研究并在設(shè)計(jì)驗(yàn)證后發(fā)現(xiàn),采用單片

29、機(jī)技術(shù)設(shè)計(jì)的搶答器與目前常用的搶答器相比,首先,電路連接簡(jiǎn)單,因?yàn)榇蠖鄶?shù)功能單元都通過(guò)程序設(shè)計(jì)在單片機(jī)內(nèi)部,第二,工作性能可靠,抗干擾能力優(yōu)于目前搶答器。所以本研究是一個(gè)實(shí)用的工程設(shè)計(jì),具有創(chuàng)新性。</p><p><b>  國(guó)內(nèi)外研究現(xiàn)狀</b></p><p>  搶答器作為一種電子產(chǎn)品,早已廣泛應(yīng)用于各種智力和知識(shí)競(jìng)賽場(chǎng)合,但目前所使用的搶答器有的電路較復(fù)雜不

30、便于制作,可靠性低,實(shí)現(xiàn)起來(lái)很困難;有的則用一些專用的集成塊,而專用集成塊的購(gòu)買又很困難。為適應(yīng)高校等多代表隊(duì)單位活動(dòng)的需要而設(shè)計(jì)一個(gè)多功能搶答器,這種搶答器具有電路簡(jiǎn)單,元件普通,易于購(gòu)買等優(yōu)點(diǎn),很好地解決了制作者制作困難和難于購(gòu)買的問(wèn)題。在國(guó)內(nèi)外已經(jīng)開(kāi)始了普遍的應(yīng)用。</p><p>  搶答器目前存在的主要問(wèn)題</p><p>  目前多數(shù)搶答器存在3個(gè)不足之處:第一,現(xiàn)場(chǎng)線路連接復(fù)

31、雜。因?yàn)槊總€(gè)選手位于搶答現(xiàn)場(chǎng)的不同位置,每個(gè)選手與控制臺(tái)之間要有長(zhǎng)長(zhǎng)的連接線。選手越多,連接線就越多、越亂,這些連接線不僅影響了現(xiàn)場(chǎng)的美觀,而且降低了搶答器的可靠性,增加了安裝的難度,甚至影響了現(xiàn)場(chǎng)人員的走動(dòng)。第二,電路復(fù)雜。因?yàn)閱纹瑱C(jī)只完成號(hào)碼處理、計(jì)時(shí)、數(shù)據(jù)運(yùn)算等功能,其它功能如選手號(hào)碼的識(shí)別、譯碼、計(jì)分顯示等仍只能通過(guò)數(shù)字集成電路完成。采用單片機(jī)掃描技術(shù)識(shí)別選手搶按號(hào)碼時(shí),電路的延遲時(shí)間較大。第三,選手搶按成功,但出現(xiàn)沒(méi)有搶答被記

32、錄的問(wèn)題。</p><p>  第二章 搶答器的系統(tǒng)概括</p><p>  2.1系統(tǒng)的主要功能 </p><p>  本系統(tǒng)是借用單片機(jī)采用模塊化設(shè)計(jì)的八路多功能搶答器,包括8路搶答按紐、計(jì)時(shí)顯示、提示功能等(根據(jù)需要可另設(shè)或多設(shè)相關(guān)功能)、開(kāi)始與結(jié)束控制按鈕、時(shí)限設(shè)定、各種相關(guān)顯示調(diào)控功

33、能等(根據(jù)需要也可另設(shè)或多設(shè)相關(guān)功能)。</p><p>  參賽者系統(tǒng),除享有搶答按紐的權(quán)利功能外,還有人性化的提示功能和時(shí)間提示功能,也可設(shè)定由主控控制在參賽者終端表現(xiàn)的趣味性功能等;主控系統(tǒng)的控制按鈕做開(kāi)始與結(jié)束控制,能夠控制倒計(jì)時(shí)的時(shí)間,可以根據(jù)參賽者回答問(wèn)題的正確與否給與是否加分的操作,能夠按鍵顯示參賽者的得分情況。 </p><p>  系統(tǒng)的主要功能模塊方框圖如圖2-1所示。

34、</p><p>  圖2-1 系統(tǒng)主要功能模塊</p><p>  本系統(tǒng)采用模塊化設(shè)計(jì)的八路搶答器,在搶答比賽中廣泛應(yīng)用,各組分別有一個(gè)搶答按鈕。一共有8個(gè)按鍵輸入,分別對(duì)應(yīng)8路選手的搶答按鍵。</p><p>  主持人有開(kāi)始和顯示鍵。在后臺(tái)主持人可以修改,搶答時(shí)間和選手回答問(wèn)題的時(shí)間設(shè)置,原始狀態(tài)下?lián)尨饡r(shí)間為30s,回答問(wèn)題時(shí)間為30s。通過(guò)加鍵和減鍵修改上

35、述時(shí)間。新時(shí)間開(kāi)始有效,主持人按鍵開(kāi)始后,選手開(kāi)始搶答為有效,數(shù)碼顯示屏顯示搶答時(shí)間倒計(jì)時(shí)和選手號(hào),并且發(fā)出聲音提示。參賽者搶答后,主持人可根據(jù)其回答的是否正確來(lái)給與其是否加分,并能夠通過(guò)顯示按鈕將其顯示出來(lái)。</p><p>  單片機(jī)是整個(gè)搶答器的核心,內(nèi)部電路設(shè)計(jì)用C語(yǔ)言編寫。它完成了時(shí)間參數(shù)的設(shè)定,搶按號(hào)碼的譯碼,保存;顯示;輸出,搶按及答題倒計(jì)時(shí)功能等。</p><p><

36、b>  2.2系統(tǒng)需求分析</b></p><p>  1,可實(shí)現(xiàn)8路選手的搶答</p><p>  2,答題時(shí)間可由主持人自由設(shè)置</p><p>  3,答題時(shí)主持人可同時(shí)設(shè)置下一題的答題時(shí)間</p><p>  4,搶答信號(hào)由主持人發(fā)出,計(jì)時(shí)期間蜂鳴器發(fā)出聲響</p><p>  5,倒計(jì)時(shí)期間

37、有 10秒和 5秒兩種提示報(bào)警聲音</p><p>  6,各選手一旦搶答成功,可以手動(dòng)給其計(jì)分,并可選擇顯示</p><p>  7,答題一旦開(kāi)始,主持人能強(qiáng)制轉(zhuǎn)到計(jì)時(shí)界面。</p><p>  2.3搶答器的工作流程</p><p>  搶答器的基本工作原理:在搶答競(jìng)賽或呼叫時(shí),有多個(gè)信號(hào)同時(shí)或不同時(shí)送入主電路中,搶答器內(nèi)部的寄存器工作,

38、并識(shí)別、記錄第一個(gè)號(hào)碼,同時(shí)內(nèi)部的定時(shí)器開(kāi)始工作,記錄有關(guān)時(shí)間并產(chǎn)生超時(shí)信號(hào)。在整個(gè)搶答器工作過(guò)程中,顯示電路、聲音電路等還要根據(jù)現(xiàn)場(chǎng)的實(shí)際情況向外電路輸出相應(yīng)信號(hào)。搶答器的工作流程分為:系統(tǒng)復(fù)位、時(shí)間設(shè)定,計(jì)分設(shè)置等幾部分,如圖2-2所示,下面分別予以介紹。</p><p>  圖2-2 搶答器工作流程</p><p>  2.4搶答器的工作過(guò)程</p><p>

39、  1、如果想調(diào)節(jié)搶答時(shí)間或答題時(shí)間,按“加一”鍵或“減一”鍵進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)會(huì)顯示現(xiàn)在設(shè)定的搶答時(shí)間或回答時(shí)間值,如想加十秒按一下"加"鍵,如果想減十秒按一下“減”鍵,時(shí)間LED上會(huì)顯示改變后的時(shí)間。</p><p>  2、主持人按"搶答開(kāi)始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)30s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù)并立刻進(jìn)入回答倒計(jì)時(shí)(預(yù)設(shè)

40、30s回答時(shí)間),不進(jìn)行搶答查詢,所以只有第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到會(huì)每秒響一下提示音。</p><p>  3、如倒計(jì)時(shí)期間,參賽者按下其當(dāng)前按鈕,顯示器將會(huì)顯示其對(duì)應(yīng)號(hào)碼,并進(jìn)入其回答倒計(jì)時(shí)時(shí)間。</p><p>  參賽者回答完畢后,主持人可根據(jù)其回答的是否正確來(lái)給與是否予以是否加分。 </p><p>  總而言之,本課題利用STC89C51單片機(jī)及

41、外圍接口實(shí)現(xiàn)的搶答系統(tǒng)設(shè)計(jì)了搶答器,該搶答器增加了新功能、提高了系統(tǒng)的可靠性、簡(jiǎn)化了電路結(jié)構(gòu)、節(jié)約了成本,是一個(gè)實(shí)用的工程設(shè)計(jì)。</p><p>  2.5搶答器的優(yōu)點(diǎn)及組成</p><p>  在知識(shí)比賽中,特別是做搶答題目的時(shí)候,在搶答過(guò)程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來(lái)完成這個(gè)任務(wù)。如果在搶答中,靠視覺(jué)是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來(lái)設(shè)計(jì)搶答器,使以

42、上問(wèn)題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用STC89C51單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、聲音模塊、搶答開(kāi)關(guān)模塊。該搶答器系統(tǒng)通過(guò)八個(gè)按鍵輸入搶答信號(hào);利用存儲(chǔ)程序來(lái)完成軟件的設(shè)計(jì);利用2個(gè)4位七段共陰數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),

43、控制8位七段共陰數(shù)碼管和喇叭工作。在數(shù)碼管上顯示哪一組先答題,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。</p><p><b>  第三章 軟件設(shè)計(jì)</b></p><p>  3.1主程序系統(tǒng)結(jié)構(gòu)</p><p>  主程序主要包括以下幾個(gè)模塊:系統(tǒng)初始化模塊,按鍵模塊,顯示模塊。其中按鍵模塊又包括調(diào)整時(shí)間模塊,正確搶答模塊,回答計(jì)分模塊。</p>

44、<p>  初始化模塊就是將系統(tǒng)的所有數(shù)據(jù)先初始化,然后等待掃描或者中斷;按鍵模塊就是通過(guò)系統(tǒng)的鍵盤掃描來(lái)判斷具體是哪個(gè)模塊得到了運(yùn)行;而顯示模塊就是根據(jù)不同的情況分別顯示出來(lái)。系統(tǒng)結(jié)構(gòu)圖如下: </p><p>  圖3-1軟件系統(tǒng)結(jié)構(gòu)圖</p><p><b>  3.2軟件任務(wù)分析</b></p><p>  軟件任務(wù)

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

46、功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問(wèn)題也一并規(guī)劃好。</p><p>  各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問(wèn)題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。</p><p>  軟件任務(wù)分析的另一個(gè)內(nèi)容

47、是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。&

48、lt;/p><p>  3.3單片機(jī)的C程序設(shè)計(jì)簡(jiǎn)介</p><p>  C語(yǔ)言語(yǔ)法簡(jiǎn)潔,緊湊;使用方便,靈活;具有豐富的運(yùn)算符和數(shù)據(jù)結(jié)構(gòu);并且能夠通過(guò)函數(shù)實(shí)現(xiàn)程序的模塊化。它既具有高級(jí)語(yǔ)言的一切功能,也具有低級(jí)語(yǔ)言的一些功能。因此它既可以用來(lái)編寫系統(tǒng)軟件,也可以用來(lái)編寫應(yīng)用程序。它是當(dāng)前國(guó)際上廣泛流行的一種計(jì)算機(jī)高級(jí)語(yǔ)言。</p><p>  單片機(jī)的軟件設(shè)計(jì)也可通過(guò)

49、C來(lái)實(shí)現(xiàn),但需注意以下幾點(diǎn):</p><p>  1.頭文件必須的特殊包含“regx51.h”,此頭文件定義了所有8051功能寄存器及中斷。若不包含此頭文件,則程序編譯時(shí)出錯(cuò),編譯器不識(shí)別這些特殊功能寄存器名。</p><p>  2.為了和硬件相聯(lián)系,常定義些特殊位,可訪問(wèn)位尋址對(duì)象。例:</p><p>  sbit itemer7=P1^6。</p>

50、;<p><b>  3.4主程序設(shè)計(jì)</b></p><p>  在本設(shè)計(jì)中包括了以下主要的程序:主程序,定時(shí)器初始化程序,數(shù)碼管顯示程序,采集選手程序,搶答時(shí)間調(diào)整程序,回答時(shí)間調(diào)整程序,倒計(jì)時(shí)程序,回答正確給與加分程序,發(fā)聲程序。主流程圖如3-2所示:</p><p>  圖3-2 程序設(shè)計(jì)流程圖</p><p>  如圖所

51、示,當(dāng)系統(tǒng)初始化完成之后,數(shù)碼管會(huì)顯示出其初始化的情況,當(dāng)“開(kāi)始”鍵按下之后,系統(tǒng)將會(huì)對(duì)8個(gè)搶答按鈕進(jìn)行掃描,如果有選手搶答成功的話,數(shù)碼管將會(huì)顯示其對(duì)應(yīng)號(hào)碼,并且開(kāi)始回答倒計(jì)時(shí),當(dāng)選手回答完畢后,主持人可根據(jù)選手的答題情況,判斷是否按下“加分”鍵來(lái)給予加分。在開(kāi)始前,主持人可以通過(guò)“加1”和“減1”鍵來(lái)調(diào)整選手的搶答和回答時(shí)間,并且可以通過(guò)“顯示”鍵來(lái)直接顯示出調(diào)整的時(shí)間以及各個(gè)選手的得分情況。</p><p>

52、;  以下是各個(gè)程序的設(shè)計(jì):</p><p>  3.4.1定時(shí)器初始化函數(shù):</p><p>  void timer_init()</p><p><b>  {</b></p><p>  TMOD=0x11;//T0,T1分別工作在定時(shí)器方式1</p><p>  TH0=TH0NUM;&

53、lt;/p><p>  TL0=TL0NUM;</p><p>  TH1=TH1NUM;</p><p>  TL1=TL1NUM;</p><p>  TR0=1; //開(kāi)定時(shí)</p><p><b>  TR1=1;</b></p><p>  ET0=1; //開(kāi)定時(shí)中

54、斷</p><p><b>  ET1=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  void timer1() interrupt 3 </p><p><b>  

55、{</b></p><p>  TH1=TH1NUM;</p><p>  TL1=TL1NUM;</p><p><b>  i++; </b></p><p>  buzzer=OFF;</p><p><b>  }</b></p><

56、;p><b>  //計(jì)時(shí)器0中斷</b></p><p>  void temer0() interrupt 1 </p><p><b>  {</b></p><p>  TH0=TH0NUM;</p><p>  TL0=TL0NUM;</p><p>  t+

57、+; //掃描頻率到,選取相應(yīng)數(shù)碼管點(diǎn)亮</p><p>  if(t==6) //共掃描六個(gè)數(shù)碼管</p><p><b>  t=0; </b></p><p>  reg_sign();</p><p><b>  }</b></p><p>  此

58、程序主要說(shuō)明開(kāi)定時(shí)器1中斷為計(jì)時(shí)功能,開(kāi)定時(shí)器0中斷為掃描功能</p><p>  3.4.2 倒計(jì)時(shí)函數(shù):</p><p>  void display()</p><p><b>  {</b></p><p>  if(i==20)//計(jì)時(shí)到1s</p><p><b>  {&

59、lt;/b></p><p><b>  i=0;</b></p><p>  buzzer=ON;</p><p>  sum4[0]--;</p><p>  if(sum4[0]==-1)//計(jì)時(shí)到10s</p><p><b>  {</b></p>

60、;<p>  sum4[0]=9;</p><p>  sum4[1]--;</p><p>  if(sum4[1]==-1)//最大時(shí)間為99s</p><p>  sum4[1]=9;</p><p><b>  }</b></p><p><b>  }<

61、/b></p><p><b>  }</b></p><p>  通過(guò)計(jì)算可以得知,定時(shí)器1每50ms發(fā)生一次中斷,所以當(dāng)定時(shí)器發(fā)生20次中斷的時(shí)候,正好經(jīng)過(guò)1秒,以此來(lái)完成對(duì)1秒的倒計(jì)時(shí)。此程序主要完成對(duì)選手搶答及回答倒計(jì)時(shí)的功能。</p><p>  3.4.3 數(shù)碼管顯示函數(shù):</p><p>  顯示程序

62、采用動(dòng)態(tài)掃描。在顯示程序中,用到的數(shù)碼管總共只有6位,可通過(guò)鎖存器的鎖存功能來(lái)完成對(duì)數(shù)碼管位的控制。連續(xù)的動(dòng)態(tài)掃描,輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人感覺(jué)是一組穩(wěn)定的數(shù)據(jù)顯示。程序循環(huán)檢測(cè)是否有信號(hào),執(zhí)行相應(yīng)處理,最后通過(guò)顯示程序顯示相應(yīng)的數(shù)值和符號(hào)。下圖為數(shù)碼管顯示流程圖:</p><p>  圖3-3數(shù)碼管顯示流程圖</p><p><

63、;b>  其部分代碼如下:</b></p><p>  void reg_sign()</p><p><b>  {</b></p><p><b>  xuan_e=0;</b></p><p>  P0=xuan[t];</p><p>  xuan_

64、e=1; //允許送數(shù)</p><p>  xuan_e=0; //禁止送數(shù)</p><p><b>  reg_e=0;</b></p><p>  if(reg_i==0) //if嵌套來(lái)實(shí)現(xiàn)各個(gè)顯示功能</p><p><b>  led(m);</b></p><p

65、>  else if(reg_i==1) </p><p>  show_time();</p><p><b>  else </b></p><p>  play_num(reg_i);</p><p><b>  reg_e=1;</b></p><p><

66、b>  reg_e=0;</b></p><p><b>  }</b></p><p>  3.4.4采集選手并顯示號(hào)碼:</p><p>  系統(tǒng)一直對(duì)選手按鍵進(jìn)行掃描,當(dāng)選手的搶答鍵按下之后,系統(tǒng)將會(huì)在數(shù)碼管上顯示其對(duì)應(yīng)號(hào)碼,此時(shí),如果有其他選手按鍵,將會(huì)認(rèn)為搶答無(wú)效。其流程圖如下:</p><p&

67、gt;  圖3-4 顯示搶答選手號(hào)碼流程圖</p><p>  其部分代碼如下:</p><p>  void led(uchar itemer)//格式:-0- 00</p><p><b>  {</b></p><p>  extern uchar t;</p><p>  if(t=

68、=3 || t==5) </p><p><b>  {</b></p><p>  P0=0x10; //這兩位顯示“-”</p><p><b>  }</b></p><p>  else if(t==2) //該位黑屏 </p&

69、gt;<p><b>  P0=0x00;</b></p><p>  else if(t==4) //該位顯示選手號(hào)碼</p><p>  P0=reg[itemer];</p><p><b>  else </b></p><p>  P0=reg[s

70、um4[t]];//前兩位為時(shí)間顯示</p><p><b>  }</b></p><p>  3.4.5設(shè)定時(shí)間并顯示:</p><p>  系統(tǒng)初始化完成之后,主持人可根據(jù)實(shí)際需要來(lái)調(diào)整搶回答時(shí)間,“加1”按鈕按下,時(shí)間加10秒,“減1”按鈕按下,時(shí)間減10秒,并且可以在數(shù)碼管顯示出來(lái)。流程圖如下:</p><p>

71、;  圖3-5 設(shè)定時(shí)間并顯示流程圖</p><p><b>  其部分代碼如下:</b></p><p>  void set_time() //時(shí)間設(shè)置按鍵功能和顯示按鈕功能</p><p><b>  {</b></p><p>  extern char time;</p>

72、<p>  extern uchar reg_i;</p><p>  if(time_up==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(time_up==0) //加一按鈕</p>&

73、lt;p><b>  {</b></p><p><b>  time++;</b></p><p>  if(time==10)</p><p><b>  time=0;</b></p><p>  sum4[3]=time; //設(shè)定時(shí)間與定時(shí)時(shí)間一致</p&

74、gt;<p><b>  }</b></p><p>  while(!time_up);</p><p><b>  }</b></p><p>  if(time_down==0) //減一按鈕</p><p><b>  {</b></p>

75、<p><b>  delay();</b></p><p>  if(time_down==0)</p><p><b>  {</b></p><p><b>  time--;</b></p><p>  if(time==-1)</p><

76、;p><b>  time=9;</b></p><p>  sum4[3]=time; //設(shè)定時(shí)間和定時(shí)時(shí)間一致</p><p><b>  }</b></p><p>  while(!time_down);</p><p><b>  }</b></p>

77、;<p>  3.4.6選手搶答成功并回答正確予以加分并且顯示得分:</p><p>  當(dāng)選手搶答成功后,開(kāi)始回答,此時(shí)會(huì)有倒計(jì)時(shí),回答完畢后,主持人可根據(jù)其是否回答正確,通過(guò)“加分”鍵來(lái)給予加分。其流程圖如下:</p><p>  圖3-6 選手得分的流程圖</p><p><b>  其部分代碼如下:</b></p&g

78、t;<p>  void play_num(uchar wwt) //此函數(shù)為調(diào)用時(shí)顯示各位選手的得分格式:0--000</p><p><b>  {</b></p><p>  extern uchar t;</p><p>  switch(wwt)</p><p><b>  {<

79、/b></p><p><b>  case 2:</b></p><p><b>  {</b></p><p>  if(t==2) //此位顯示0</p><p>  P0=reg[0];</p><p>  else if(t==3 || t==4)

80、//此兩位顯示" - "</p><p><b>  P0=0x10;</b></p><p>  else if(t==0)</p><p>  P0=reg[code_num[0]];//最右邊是選手的得分,個(gè)位</p><p>  else if(t==1)</p><p&g

81、t;  P0=reg[code_num[8]];//得分十位(最大積分99分)</p><p><b>  else </b></p><p>  P0=reg[1];//選手號(hào)碼顯示在最左邊</p><p><b>  } break;</b></p><p><b>  case

82、 3:</b></p><p><b>  {</b></p><p><b>  if(t==2)</b></p><p>  P0=reg[0];</p><p>  else if(t==3 || t==4)</p><p><b>  P0=0x

83、10;</b></p><p>  else if(t==0)</p><p>  P0=reg[code_num[1]];</p><p>  else if(t==1)</p><p>  P0=reg[code_num[9]];</p><p><b>  else </b>&l

84、t;/p><p>  P0=reg[2];</p><p><b>  } break;</b></p><p><b>  ......</b></p><p><b>  3.5本章小結(jié)</b></p><p>  本章是搶答器的軟件設(shè)計(jì),實(shí)現(xiàn)搶答功能主

85、要是通過(guò)編寫程序的方法集成在STC89C51內(nèi)部。將程序下載到硬件電路中,實(shí)現(xiàn)搶答功能。</p><p>  第四章 Proteus仿真系列組圖</p><p><b>  4.1復(fù)位圖</b></p><p><b>  圖4-1 復(fù)位顯示</b></p><p>  該圖顯示當(dāng)單片機(jī)復(fù)位后,在8

86、位七段數(shù)碼管上顯示的初始狀態(tài)。</p><p><b>  4.2設(shè)置計(jì)時(shí)時(shí)間</b></p><p>  圖4-2 計(jì)時(shí)時(shí)間為30秒</p><p>  圖4-3 計(jì)時(shí)時(shí)間為20秒</p><p>  通過(guò)加一和減一按鈕來(lái)設(shè)定搶答的時(shí)間。</p><p>  4.3搶答成功并顯示倒計(jì)時(shí)</

87、p><p>  圖4-4 四號(hào)選手搶答</p><p>  圖中顯示的是若4號(hào)選手搶答成功的時(shí)候,8位數(shù)碼管的第一顯示是“4”號(hào)選手搶答成功,最后兩位顯示選手答題倒計(jì)時(shí)時(shí)間還有19秒。</p><p>  4.4答題正確并顯示其得分</p><p>  圖4-5 四號(hào)選手的得分</p><p><b>  4.5

88、本章小結(jié)</b></p><p>  本章是搶答器的系統(tǒng)仿真部分,并對(duì)搶答器的各個(gè)流程做出了具體仿真結(jié)果。從仿真圖上可以進(jìn)一步得出結(jié)論:利用單片機(jī)設(shè)計(jì)的搶答器工作性能穩(wěn)定,延遲時(shí)間小,電路結(jié)構(gòu)簡(jiǎn)單,是一個(gè)實(shí)用、創(chuàng)新性的電路設(shè)計(jì)。</p><p><b>  總結(jié)與展望</b></p><p><b>  5.1總結(jié)<

89、/b></p><p>  本文研究與設(shè)計(jì)的八路多功能搶答器采用了通用的電子元器件,利用STC89C51單片機(jī)及外圍接口實(shí)現(xiàn)搶答系統(tǒng),利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,將軟、硬件有機(jī)地結(jié)合起來(lái)。理論聯(lián)系實(shí)踐,體現(xiàn)出大學(xué)生動(dòng)手能力。通過(guò)查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說(shuō)是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的傳統(tǒng)的學(xué)習(xí)模式下,我們

90、可能會(huì)記住很多的書本知識(shí),但是通過(guò)畢業(yè)論文,我們學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問(wèn)題。把握重點(diǎn)、攻克難關(guān),學(xué)到用到、活學(xué)活用。在設(shè)計(jì)過(guò)程中由于時(shí)間倉(cāng)促有很多地方難免存在不足之處,硬件設(shè)計(jì)已經(jīng)完成,在軟件設(shè)計(jì)中有些功能還尚未開(kāi)發(fā)出來(lái)。但在以后的工作中,我們會(huì)嚴(yán)格要求自己,追求完美。</p><p>  整個(gè)設(shè)計(jì)通過(guò)了軟件和硬件上的調(diào)試、仿真。我想這對(duì)于自己以后的學(xué)習(xí)和工

91、作都會(huì)有很大的幫助的。在這次設(shè)計(jì)中遇到了很多實(shí)際性的問(wèn)題,在實(shí)際設(shè)計(jì)中才發(fā)現(xiàn),書本上理論性的東西與在實(shí)際運(yùn)用中的還是有一定的出入的,所以有些問(wèn)題不但要深入地理解,而且要不斷地更正以前的錯(cuò)誤思維。對(duì)于單片機(jī)設(shè)計(jì),其硬件電路是比較簡(jiǎn)單的,主要是解決程序設(shè)計(jì)中的問(wèn)題。而程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了你解決問(wèn)題的邏輯思維和創(chuàng)新能力。它才是一個(gè)設(shè)計(jì)的靈魂所在。因此在整個(gè)設(shè)計(jì)過(guò)程中大部分時(shí)間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎

92、樣銜接各個(gè)子程序才是關(guān)鍵的問(wèn)題所在,這需要對(duì)單片機(jī)的結(jié)構(gòu)很熟悉。因此可以說(shuō)單片機(jī)的設(shè)計(jì)是軟件和硬件的結(jié)合,二者是密不可分的。</p><p>  但是,通過(guò)這次設(shè)計(jì)我也發(fā)現(xiàn)自己的很多不足之處。在設(shè)計(jì)過(guò)程中我發(fā)現(xiàn)自己考慮問(wèn)題很不全面,自己的專業(yè)知識(shí)掌握的很不牢固,所掌握的計(jì)算機(jī)應(yīng)用軟件還不夠多,我希望自己的這些不足之處能在今后的工作和學(xué)習(xí)中得到改善。而且,通過(guò)這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,學(xué)會(huì)了堅(jiān)持和努力,這將為

93、以后的學(xué)習(xí)做出了最好的榜樣!</p><p><b>  5.2展望</b></p><p>  回頭再看看該設(shè)計(jì),還可以將設(shè)計(jì)的擴(kuò)展功能增強(qiáng):1、可以設(shè)計(jì)聲控裝置,在主持人說(shuō)開(kāi)始時(shí),系統(tǒng)自動(dòng)完成清零并開(kāi)始計(jì)時(shí)的功能。2、將搶答按鍵用無(wú)線實(shí)現(xiàn),如紅外線,使搶答者可以遠(yuǎn)距離進(jìn)行搶答,并簡(jiǎn)化按鍵模塊的線路布置。3.設(shè)計(jì)一直沒(méi)有解決的問(wèn)題,就是如果兩個(gè)選手同時(shí)搶答予以什么處

94、理。如果提供相應(yīng)的器材及時(shí)間上的寬限,一定可以完成上述擴(kuò)展功能,進(jìn)一步完善作品。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 程相波,衛(wèi)安軍.基于MCS-51單片機(jī)的八路搶答器設(shè)計(jì)方法研究[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,(2).</p><p>  [2]林凌,李剛,丁茹,李小霞.新型單片機(jī)接口器

95、件與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005年.</p><p>  [3]李增生.對(duì)《搶答器》的改進(jìn)[J].電子制作,2000,(12).</p><p>  [4]馬軻瀛.八路數(shù)字搶答器系統(tǒng)[J].華商,2007,(23).</p><p>  [5]高偉.AT89單片機(jī)原理及應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2008年.</p><

96、;p>  [6]蔡朝陽(yáng).單片機(jī)控制實(shí)習(xí)與專題制作[M].北京:北京航空航天大學(xué)出版社,2006年. </p><p>  [7]楊凌霄.微型計(jì)算機(jī)原理及應(yīng)用[M].江蘇:中國(guó)礦業(yè)大學(xué)出版社,2004年.</p><p>  [8]丁建偉.搶答器電路設(shè)計(jì)[J].蘭州工業(yè)高等??茖W(xué)校學(xué)報(bào),2008,(04).</p><p>  [9] 胡學(xué)海.單片機(jī)原理及應(yīng)用系

97、統(tǒng)設(shè)計(jì)[M].北京:北京電子工業(yè)出版社,2005年.</p><p>  [10] 單片機(jī)與嵌入式系統(tǒng). 北京航空航天大學(xué),2008</p><p>  [11] 馬巖 單片機(jī)的c語(yǔ)言應(yīng)用程序設(shè)計(jì) 北京航空航天出版社, 2002</p><p>  [12] 邊春元 c51單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用 機(jī)械工業(yè)出版社, 2008</p><p>

98、  [13] 蘇小紅 c語(yǔ)言大學(xué)實(shí)用教程 電子工業(yè)出版社, 2004</p><p>  [14] 范文斌 數(shù)字電子技術(shù)基礎(chǔ) 清華大學(xué)出版社, 2007</p><p><b>  致 謝</b></p><p>  本畢業(yè)設(shè)計(jì)是在xx老師精心指導(dǎo)和大力支持下完成的。</p><p>  辛老師以其嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度、高

99、度的敬業(yè)精神、兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)和大膽創(chuàng)新的進(jìn)取精神對(duì)我產(chǎn)生重要影響。她淵博的知識(shí)、開(kāi)闊的視野和敏銳的思維給了我深深的啟迪。</p><p>  面對(duì)如此復(fù)雜的電路設(shè)計(jì),真的十分迷茫,設(shè)計(jì)時(shí)間安排以及參考書目也不知從何下手,此時(shí)經(jīng)驗(yàn)豐富的xx老師對(duì)我的課程設(shè)計(jì)的開(kāi)展起到了非常重要的引導(dǎo)作用,同時(shí),設(shè)計(jì)中遇到的難題也在與xx老師的指導(dǎo)與討論中得以一一解決。在此次畢業(yè)設(shè)計(jì)過(guò)程中我學(xué)到了許多關(guān)于電路設(shè)計(jì)、單片

100、機(jī)及其開(kāi)發(fā)方面的知識(shí),實(shí)踐技能有了一定的提高。 另外,我還要特別感謝同班同學(xué)對(duì)我論文寫作的指導(dǎo),他們?yōu)槲彝瓿蛇@篇論文提供了巨大的幫助,使我得以順利完成此次畢業(yè)設(shè)計(jì)。同時(shí)對(duì)大學(xué)兩年我所有的任課老師,在此我也表示衷心的感謝,是他們讓我具有了扎實(shí)的基礎(chǔ)知識(shí),學(xué)會(huì)了走向工作崗位的專業(yè)技能。</p><p>  最后,再次對(duì)關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝。</p><p><

101、b>  附錄一 總體電路圖</b></p><p><b>  附錄二 實(shí)物圖</b></p><p><b>  附錄三 軟件代碼</b></p><p><b>  頭文件:</b></p><p>  #ifndef __includes_h__&l

102、t;/p><p>  #define __includes_h__</p><p>  #include "regx51.h"</p><p>  #define reg_e P2_6 </p><p>  #define xuan_e P2_7 </p><p>  #defin

103、e OFF 1 //蜂鳴器關(guān)</p><p>  #define ON 0 //蜂鳴器開(kāi)</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define TH1NUM 0X4b /

104、/計(jì)時(shí)時(shí)間設(shè)置,根據(jù)不同大小的晶振</p><p>  #define TL1NUM 0Xfe</p><p>  #define TH0NUM 0Xf0 //掃描頻率控制</p><p>  #define TL0NUM 0X00</p><p>  sbit itemer1=P1^0; </p><p>

105、;  sbit itemer2=P1^1;</p><p>  sbit itemer3=P1^2;</p><p>  sbit itemer4=P1^3;</p><p>  sbit itemer5=P1^4;</p><p>  sbit itemer6=P1^5;</p><p>  sbit itemer7

106、=P1^6;</p><p>  sbit itemer8=P1^7;</p><p>  sbit buzzer=P2^3;//蜂鳴器</p><p>  sbit start=P3^6;//主持人啟動(dòng)按鈕</p><p>  sbit time_up=P3^5; //時(shí)間加 1</p><p>  

107、sbit time_down=P3^7; //時(shí)間減 1</p><p>  sbit disreg=P3^4; //屏幕顯示</p><p>  sbit panduan=P3^3;</p><p><b>  bit f=0;</b></p><p>  void led(uchar);</p&g

108、t;<p>  uchar key();</p><p>  void reg_sign();</p><p>  void set_time();</p><p>  void show_time();</p><p>  void play_num();</p><p>  void num_code

109、();</p><p>  uchar reg[]={0xed,0x81,0xf4,0xb5,0x99,</p><p>  0x3d,0x7d,0x85,0xfd,0xbd,</p><p><b>  0x10};</b></p><p>  char sum4[]={0,0,0,0,0,0};//6位數(shù)碼管顯示&l

110、t;/p><p>  uchar xuan[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//段掃描,(結(jié)合硬件電路得出)</p><p>  uchar code_num[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //選手積分?jǐn)?shù)組,長(zhǎng)度16時(shí)每位選手最大可積99分</p><p><b>  #endi

111、f</b></p><p><b>  頭文件:</b></p><p>  #ifndef __qiangdq_h__</p><p>  #define __qiangdq_h__</p><p>  #include "includes.h"</p><p

112、><b>  uchar k;</b></p><p>  uchar flag=0;</p><p>  void delay()</p><p><b>  {</b></p><p>  uchar i,j;</p><p>  for(i=0;i<=45;

113、i++)</p><p>  for(j=0;j<=225;j++);</p><p><b>  }</b></p><p>  /*************************************</p><p>  取鍵盤序號(hào)函數(shù),采集第一個(gè)按下鍵的選手</p><p>  *

114、************************************/</p><p>  uchar key() //此函數(shù)為搶答器的關(guān)鍵部分,調(diào)用是要特別注意多次調(diào)用的后果</p><p><b>  {</b></p><p>  if(itemer1==0)</p><p><b>  {&l

115、t;/b></p><p><b>  delay();</b></p><p>  if(itemer1==0)//按鍵去抖動(dòng)</p><p><b>  k=1;</b></p><p><b>  }</b></p><p>  if(ite

116、mer2==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(itemer2==0)//按鍵去抖動(dòng)</p><p><b>  k=2;</b></p><p><b>

117、;  }</b></p><p>  if(itemer3==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(itemer3==0)//按鍵去抖動(dòng)</p><p><b>  

118、k=3;</b></p><p><b>  }</b></p><p>  if (itemer4==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(itemer

119、4==0)//按鍵去抖動(dòng)</p><p><b>  k=4;</b></p><p><b>  }</b></p><p>  if(itemer5==0)</p><p><b>  {</b></p><p><b>  delay()

120、;</b></p><p>  if(itemer5==0)//按鍵去抖動(dòng)</p><p><b>  k=5;</b></p><p><b>  }</b></p><p>  if(itemer6==0)</p><p><b>  {</b

121、></p><p><b>  delay();</b></p><p>  if(itemer6==0)//按鍵去抖動(dòng)</p><p><b>  k=6;</b></p><p><b>  }</b></p><p>  if(itemer7

122、==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(itemer7==0)//按鍵去抖動(dòng)</p><p><b>  k=7;</b></p><p><b>  }

123、</b></p><p>  if(itemer8==0)</p><p><b>  {</b></p><p><b>  delay();</b></p><p>  if(itemer8==0)//按鍵去抖動(dòng)</p><p><b>  k=8;

124、</b></p><p><b>  }</b></p><p>  if(flag==0 && k!=0)</p><p><b>  {</b></p><p><b>  flag=1;</b></p><p><

125、;b>  P3_0=0;</b></p><p><b>  f=1;</b></p><p>  return (k);</p><p><b>  }</b></p><p><b>  else </b></p><p><

126、b>  return 0;</b></p><p><b>  }</b></p><p>  /*************************************</p><p>  選手按下鍵后顯示其對(duì)應(yīng)號(hào)碼</p><p>  -----------------</p>&l

127、t;p>  --0- 00-</p><p>  -----------------</p><p>  *************************************/</p><p>  void led(uchar itemer)//格式:-0- 00</p><p><b>  {</b>

128、</p><p>  extern uchar t;</p><p>  if(t==3 || t==5) </p><p><b>  {</b></p><p><b>  P0=0x10;</b></p><p><b>  }</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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論