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

下載本文檔

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

文檔簡(jiǎn)介

目錄TOC\o"1-3"\h\u30455第一部分設(shè)計(jì)任務(wù)與調(diào)研 4118528設(shè)計(jì)任務(wù) 4138952.設(shè)計(jì)目標(biāo) 439923.調(diào)研 5323263.1單片機(jī)概述 5223473.2數(shù)字搶答器概述 524129第二部分設(shè)計(jì)說(shuō)明 6120417系統(tǒng)軟件設(shè)計(jì) 6293861.1系統(tǒng)原理圖 616451.2程序流程圖 6216205元件檢測(cè)與焊接 9279582.1檢測(cè)各元件 9299012.2對(duì)PCB板進(jìn)行排版及連線 1164672.3焊接的問(wèn)題及解決 11278102.4焊接的技巧和注意事項(xiàng) 1236383設(shè)計(jì)思路 1299183.1時(shí)鐘頻率電路的設(shè)計(jì) 12295343.2復(fù)位電路的設(shè)計(jì) 13247713.3顯示電路的設(shè)計(jì) 13159923.4鍵盤(pán)掃描電路的設(shè)計(jì) 1452783.5發(fā)聲電路的設(shè)計(jì) 15249713.6系統(tǒng)復(fù)位 16299754調(diào)試與問(wèn)題分析 16210374.1系統(tǒng)的調(diào)試 1681064.2具體調(diào)試 17176964.3問(wèn)題與分析 1813932第三部分設(shè)計(jì)成果 19第四部分23349結(jié)束語(yǔ) 2327074第五部分致謝 2521135第六部分參考文獻(xiàn) 26第一部分設(shè)計(jì)任務(wù)與調(diào)研1.設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)以51單片機(jī)為核心控制器的八路智能搶答器,要求該智能搶答器通過(guò)串行通信,將主機(jī)與8路從機(jī)連接,能實(shí)現(xiàn)有效搶答信號(hào)的識(shí)別顯示,犯規(guī)選手號(hào)碼識(shí)別顯示,不同時(shí)長(zhǎng)的搶答倒計(jì)時(shí),不同時(shí)長(zhǎng)的答題倒計(jì)時(shí),提示報(bào)警等功能。2.設(shè)計(jì)目標(biāo)(1)設(shè)計(jì)一個(gè)可供8人進(jìn)行的搶答器。(2)系統(tǒng)設(shè)置復(fù)位按鈕,按下后,重新開(kāi)始搶答。(3)搶答開(kāi)始時(shí)數(shù)碼管顯示序號(hào)0,選手搶答實(shí)行優(yōu)先顯示,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。搶答后顯示優(yōu)先搶答者序號(hào),同時(shí)發(fā)出音響,并且不出現(xiàn)其他搶答者的序號(hào)。(4)搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間有主持人設(shè)定,本搶答器的時(shí)間設(shè)定為60秒,當(dāng)主持人啟動(dòng)“開(kāi)始”開(kāi)關(guān)后,定時(shí)器開(kāi)始減計(jì)時(shí),同時(shí)蜂鳴器有短暫的聲響。(5)在設(shè)定的搶答時(shí)間內(nèi),選手可以搶答,這時(shí)定時(shí)器停止工作,顯示器上顯示選手的號(hào)碼和搶答時(shí)間,并保持到主持人按復(fù)位鍵。(6)當(dāng)設(shè)定的時(shí)間到而無(wú)人搶答時(shí),本次搶答無(wú)效,揚(yáng)聲器報(bào)警發(fā)出聲音,并禁止搶答。定時(shí)器上顯示00。3.調(diào)研3.1單片機(jī)概述隨著計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)已經(jīng)成為計(jì)算機(jī)技術(shù)中的一個(gè)獨(dú)特的分支,單片機(jī)的應(yīng)用領(lǐng)域也越來(lái)越廣泛,特別是在工業(yè)控制和儀表儀器智能化中扮演著舉足輕重的角色。這次我們選取的AT89C51芯片在我國(guó)非常流行,它的最大特點(diǎn)是內(nèi)部有可以多次重復(fù)編程的ROM,并且ROM可以直接用編程器來(lái)擦寫(xiě),使用起來(lái)比較方便。3.2數(shù)字搶答器概述隨著單片機(jī)技術(shù)的進(jìn)步,單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各個(gè)電子系統(tǒng)中已成一種趨勢(shì)。本設(shè)計(jì)就是基于單片機(jī)設(shè)計(jì)搶答系統(tǒng),通過(guò)串口通信動(dòng)態(tài)傳輸數(shù)據(jù),使搶答系統(tǒng)有了更多更完善的功能。單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機(jī)的應(yīng)用程序賦予了其新的“生命”,使其在傳統(tǒng)的搶答器面前具有電路簡(jiǎn)單、成本低、運(yùn)行可靠等特點(diǎn)。對(duì)于搶答器我們大家都知道那是用于選手做搶答題時(shí)用的,選手進(jìn)行搶答,搶到題的選手來(lái)回答問(wèn)題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識(shí)面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。第二部分設(shè)計(jì)說(shuō)明1.系統(tǒng)軟件設(shè)計(jì)1.1系統(tǒng)原理圖1.2程序流程圖在本設(shè)計(jì)中包括了以下八個(gè)主要的程序:主程序;非法搶答程序;搶答時(shí)間調(diào)整程序;回答時(shí)間調(diào)整程序;倒計(jì)時(shí)程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序。主流程圖如下圖所示:2.元件檢測(cè)與焊接2.1檢測(cè)各元件用萬(wàn)用表檢查、了解元件;(1)一般電阻電阻的阻值是可以根據(jù)電阻上的色環(huán)判斷:1)、四環(huán)電阻阻值等于前兩位對(duì)應(yīng)的數(shù)值乘上第三位對(duì)應(yīng)的倍率,第四位為誤差范圍;2)、五環(huán)電阻阻值等于前三位對(duì)應(yīng)的數(shù)值乘上第四位對(duì)應(yīng)的倍率,第五位為誤差范圍。EQ\o\ac(○,1)電阻R0為五環(huán)型色環(huán)顏色:棕黑黑棕棕阻值=100×102=1000Ω電阻R0誤差為±1%實(shí)測(cè)阻值為992Ω本實(shí)驗(yàn)R1用兩個(gè)R0的電阻并聯(lián)成;EQ\o\ac(○,2)電阻R2為四環(huán)型電阻R2色環(huán)顏色:綠棕紅金阻值=51×102=5100Ω=5.1kΩ誤差為±5%實(shí)測(cè)阻值為5.02kΩEQ\o\ac(○,3)光敏電阻A、在光照情況下,測(cè)量光敏電阻的阻值,即為光敏電阻的亮阻;B、在遮光情況下,測(cè)量光敏電阻的阻值,即為光敏電阻的暗阻;(2)發(fā)光二極管發(fā)光二極管有兩個(gè)接線柱,一個(gè)長(zhǎng)的一個(gè)短的,長(zhǎng)端為正極,短端為負(fù)極。可以利用萬(wàn)用表測(cè)量?jī)煞N接法時(shí)的電阻值,可知道當(dāng)正極接到長(zhǎng)端,負(fù)極接到短端的時(shí)候,發(fā)光二極管的阻值比較小,此即是二極管的單向?qū)ㄌ匦浴?勺冸娮杩勺冸娮栌腥齻€(gè)引腳,它的接法和滑動(dòng)變阻器的接法一樣,有三端接入式和兩端接入式,本實(shí)驗(yàn)采用兩端接入式比較簡(jiǎn)單。采用兩端接入時(shí),其中一端必須接在中間的那個(gè)引腳上,另外一個(gè)在剩余的兩個(gè)引腳中,可以任選一個(gè)(兩者的區(qū)別是,滑動(dòng)頭的轉(zhuǎn)動(dòng)方向不一樣)。選擇好引腳后,可以將其接在萬(wàn)用表上,測(cè)其阻值的大小,轉(zhuǎn)動(dòng)滑動(dòng)頭,看順時(shí)針轉(zhuǎn)動(dòng)時(shí)阻值是增加還是減小,這樣做對(duì)調(diào)試電路時(shí)有好處,可以知道自己旋轉(zhuǎn)的方向是增加電阻還是減小電阻。蜂鳴器本實(shí)驗(yàn)所用的蜂鳴器和平時(shí)看到的揚(yáng)聲器、耳機(jī)等發(fā)聲器件有微小的差別,它里邊多了一個(gè)振蕩器,輸入電流時(shí)振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲??梢試L試的將其正負(fù)極接上電源,可看到只有正負(fù)極接入正確時(shí),蜂鳴器才會(huì)發(fā)聲。也可根據(jù)蜂鳴器上的引線長(zhǎng)度按來(lái)判斷正負(fù)極(長(zhǎng)正短負(fù))。所以在實(shí)驗(yàn)室中要把蜂鳴器的正負(fù)極接正確。三極管三極管有兩種,一種是PNP管,一種是NPN管,本實(shí)驗(yàn)用的是PNP管。三極管有三個(gè)引腳,分別是基極(b),發(fā)射極(e),集電極(c)。本實(shí)驗(yàn)所用的三極管判斷極點(diǎn)的方法是,面對(duì)有型號(hào)標(biāo)記的一面,然后看著三個(gè)引腳,從左到右依次是,發(fā)射極(e),基極(b),集電極(c)。接線時(shí)三個(gè)極端不能接錯(cuò),否則三極管就沒(méi)有起到作用。圖3三極管符號(hào)、管腳排列集電極和基極之間形成集電結(jié),發(fā)射極和基極之間形成發(fā)射結(jié),三極管起放大作用的條件,發(fā)射結(jié)正向偏置,集電結(jié)反向偏置。正向偏置時(shí)必須達(dá)到正向偏置電壓,即為導(dǎo)通,否則,為截止?fàn)顟B(tài)。2.2對(duì)PCB板進(jìn)行排版及連線 本實(shí)驗(yàn)所用的面包板的內(nèi)部鏈接在破壞背面的絕緣膠帶的情況下,可以揭開(kāi)膠帶看其內(nèi)部線路的構(gòu)造,以防不知道內(nèi)部線路差錯(cuò)電路。當(dāng)然最好的辦法是:用測(cè)試電路在插孔上來(lái)回實(shí)驗(yàn),猜想驗(yàn)證其內(nèi)部構(gòu)造。1)、首先了解面包板在連線和焊接的注意事項(xiàng)。2)、了解實(shí)驗(yàn)原件及器材后,按照原理圖在面包板上連接電路;3)、焊接要注意,電子電路在焊接時(shí),應(yīng)遵循的規(guī)則。2.3焊接的問(wèn)題及解決一般來(lái)說(shuō),造成硬件問(wèn)題的首要問(wèn)題就是焊接了,也就是說(shuō)焊接的好與壞直接響產(chǎn)品的正常運(yùn)行。造成焊接質(zhì)量不高的常見(jiàn)原因是:①焊錫用量過(guò)多,形成焊點(diǎn)的錫堆積;焊錫過(guò)少,不足以包裹焊點(diǎn)。②冷焊。焊接時(shí)烙鐵溫度過(guò)低或加熱時(shí)間不足,焊錫未完全熔化、浸潤(rùn)、焊錫表面不光亮(不光滑),有細(xì)小裂紋(如同豆腐渣一樣!)。③夾松香焊接,焊錫與元器件或印刷板之間夾雜著一層松香,造成電連接不良。若夾雜加熱不足的松香,則焊點(diǎn)下有一層黃褐色松香膜;若加熱溫度太高,則焊點(diǎn)下有一層碳化松香的黑色膜。對(duì)于有加熱不足的松香膜的情況,可以用烙鐵進(jìn)行補(bǔ)焊。對(duì)于已形成黑膜的,則要"吃"凈焊錫,清潔被焊元器件或印刷板表面,重新進(jìn)行焊接才行。④焊錫連橋。指焊錫量過(guò)多,造成元器件的焊點(diǎn)之間短路。這在對(duì)超小元器件及細(xì)小印刷電路板進(jìn)行焊接時(shí)要尤為注意。⑤焊劑過(guò)量,焊點(diǎn)明圍松香殘?jiān)芏?。?dāng)少量松香殘留時(shí),可以用電烙鐵再輕輕加熱一下,讓松香揮發(fā)掉,也可以用蘸有無(wú)水酒精的棉球,擦去多余的松香或焊劑。⑥焊點(diǎn)表面的焊錫形成尖銳的突尖。這多是由于加熱溫度不足或焊劑過(guò)少,以及烙鐵離開(kāi)焊點(diǎn)時(shí)角度不當(dāng)浩成的內(nèi)。

最小系統(tǒng)的電路不工作,首先應(yīng)該確認(rèn)電源電壓是否正常。用電壓表測(cè)量接地引腳跟電源引腳之間的電壓,看是否符合電源電壓,常用的是5V左右。接下來(lái)就是檢測(cè)復(fù)位引腳的電壓是否正常,EA引腳的電壓要正常為5V左右。2.4焊接的技巧和注意事項(xiàng)1、焊錫之前應(yīng)該先插上電烙鐵的插頭,給電烙鐵加熱。

2、焊接時(shí),焊錫與電路板、電烙鐵與電路板的夾角最好成45度,這樣焊錫與電烙鐵夾角成90度。3、焊接時(shí),焊錫與電烙鐵接觸時(shí)間不要太長(zhǎng),以免焊錫過(guò)多或是造成漏錫;也不要過(guò)短,以免造成虛焊。4、元件的腿盡量要直,而且不要伸出太長(zhǎng),以1毫米為好,多余的可以剪掉。5、焊完時(shí),焊錫最好呈圓滑的圓錐狀,而且還要有金屬光澤。設(shè)計(jì)思路3.1時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱(chēng)為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz,則時(shí)鐘周期為1/123.2復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖所示:復(fù)位電路值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對(duì)單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過(guò)一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。3.3顯示電路的設(shè)計(jì)顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。顯示電路3.4鍵盤(pán)掃描電路的設(shè)計(jì)鍵盤(pán)是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤(pán)硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書(shū)籍中找到,配合各種不同的硬件電路,這些書(shū)籍中一般也提供了相應(yīng)的鍵盤(pán)掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場(chǎng)上來(lái)看,僅僅完成鍵盤(pán)掃描,讀取當(dāng)前時(shí)刻的鍵盤(pán)狀態(tài)是不夠的,還有不少問(wèn)題需要妥善解決,否則,人們?cè)诓僮麈I盤(pán)就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán)。獨(dú)立鍵盤(pán)它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過(guò)程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后再延時(shí)一段時(shí)間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無(wú)效。3.5發(fā)聲電路的設(shè)計(jì)我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單片機(jī)某個(gè)口線的高電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制高低電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。3.6系統(tǒng)復(fù)位使CPU進(jìn)入初始狀態(tài),從0000H地址開(kāi)始執(zhí)行程序的過(guò)程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來(lái)看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過(guò)CPU外部的硬件電路給CPU的RESET端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門(mén)狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專(zhuān)用寄存器的狀態(tài)均被初始化,且對(duì)片內(nèi)通用寄存器的內(nèi)容沒(méi)有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來(lái)模擬硬件復(fù)位功能,最后通過(guò)轉(zhuǎn)移指令使程序從0000H地址開(kāi)始執(zhí)行。對(duì)各專(zhuān)用寄存器的復(fù)位操作是容易的,也沒(méi)有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過(guò)程中完成。而對(duì)中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪](méi)有明確的位地址可供編程。有的編程人員用020000(LJMP0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H地址就完成了軟件復(fù)位,就是這類(lèi)錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門(mén)狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級(jí)中斷響應(yīng)。由于軟件看門(mén)是高級(jí)中斷,它將阻止說(shuō)要中斷響應(yīng),由此可見(jiàn)清除中斷激活標(biāo)志的重要性。4調(diào)試與問(wèn)題分析4.1系統(tǒng)的調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們?cè)O(shè)計(jì)好的硬件電路和軟件程序,只有經(jīng)過(guò)聯(lián)合調(diào)試,才能驗(yàn)證其正確性;軟硬件的配合情況以及是否達(dá)到設(shè)計(jì)任務(wù)的要求,也只有經(jīng)過(guò)調(diào)試,才能發(fā)現(xiàn)問(wèn)題并加以解決、完善,最終開(kāi)發(fā)成實(shí)用產(chǎn)品。

硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試,單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng)進(jìn)行,這里的調(diào)試只是將其制成印刷電路板后試驗(yàn)電路是否正確,并排除一些加工工藝性錯(cuò)誤(如錯(cuò)線、開(kāi)路、短路等)。這種調(diào)試可單獨(dú)模擬進(jìn)行,也可通過(guò)開(kāi)發(fā)裝置由軟件配合進(jìn)行,硬件聯(lián)機(jī)調(diào)試則必須在系統(tǒng)軟件的配合下進(jìn)行。

軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機(jī)調(diào)試兩個(gè)階段。程序的分塊調(diào)試一般在單片機(jī)開(kāi)發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開(kāi)發(fā)裝置上運(yùn)行;也可配合對(duì)應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過(guò)單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。這時(shí)該程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進(jìn)行調(diào)試。程序聯(lián)機(jī)調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個(gè)完整程序,在所研制的硬件電路上運(yùn)行。從而試驗(yàn)程序整體運(yùn)行的完整性、正確性和與硬件電路的配合情況。在聯(lián)調(diào)中可能會(huì)有某些支路上的程序、功能塊因受條件制約而得不到相應(yīng)的輸入?yún)?shù),這時(shí),調(diào)試人員應(yīng)創(chuàng)造條件進(jìn)行模擬調(diào)試。在聯(lián)調(diào)中如發(fā)現(xiàn)硬件問(wèn)題也應(yīng)及時(shí)修正,直到單片機(jī)系統(tǒng)的軟件、硬件全部調(diào)試成功為止。系統(tǒng)調(diào)試完成后,還要進(jìn)行一段時(shí)間的試運(yùn)行,從而檢驗(yàn)系統(tǒng)的穩(wěn)定性和抗干擾能力,驗(yàn)證系統(tǒng)功能是否達(dá)到設(shè)計(jì)要求,是否達(dá)到預(yù)期的效果。4.2具體調(diào)試1、具有清零裝置和搶答控制,可由主持人操縱,避免有人在主持人說(shuō)“開(kāi)始”前提前搶答違反規(guī)則。2、具有定時(shí)功能,在60秒內(nèi)無(wú)人搶答表示所有參賽選手或參賽隊(duì)對(duì)本題棄權(quán)。3、60秒時(shí)仍無(wú)人搶答,其報(bào)警電路工作,表示搶答時(shí)間耗盡并禁止搶答。4、顯示搶答時(shí)間,按一下減一秒,按一下"-1s"鍵,時(shí)間LED上會(huì)顯示改變后的時(shí)間,調(diào)整范圍為0s~60s。5、主持人按"搶答開(kāi)始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)60s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù),只有第一個(gè)按搶答的選手有效。6、如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按"停止"按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按"搶答開(kāi)始"進(jìn)入下次搶答計(jì)時(shí)。4.3問(wèn)題與分析我遇到的問(wèn)題:有時(shí)候在自己創(chuàng)建的元器件的管腳上無(wú)法實(shí)現(xiàn)連線。

分析回答:應(yīng)該是管腳的間距太小了。因?yàn)樵贗SIS中,每個(gè)元器件的管腳都要占據(jù)一塊區(qū)域(就像自己的保護(hù)區(qū)一樣,不容別人隨意侵犯),該區(qū)域會(huì)排斥外部的走線。解決問(wèn)題的方法是在走線的同時(shí)按住“CTRL”鍵,直到走線繞過(guò)狹窄的保護(hù)區(qū)。當(dāng)然最根本的辦法是重新編輯元器件,把其管腳間距調(diào)大一些。

主持人按鍵來(lái)控制總開(kāi)關(guān),主持人按下開(kāi)關(guān),選手開(kāi)始搶答,此時(shí)數(shù)碼管開(kāi)始從0-60計(jì)數(shù),并且選手們必須在規(guī)定的時(shí)間內(nèi)進(jìn)行搶答,若過(guò)了60秒還沒(méi)搶答那么搶答失效,選手們?nèi)粲幸粋€(gè)在規(guī)定的時(shí)間內(nèi)搶答成功則其余的選手不可以再搶答,即該選手搶答成功。第三部分設(shè)計(jì)成果總體原理圖程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitrst=P3^7;sbitspeaker=P3^6;//報(bào)警sbitstart=P3^4;ucharcount=0;//用于產(chǎn)生1秒的時(shí)間uchardsy_time=0x3c;//用于顯示搶答時(shí)間uchardsy_buffer[]={0,0,0};//顯示緩沖ucharcodeleddata[]=//共陰數(shù)碼管的段碼 {0x3F,//"0"0x06,//"1"0x5B,//"2"0x4F,//"3"0x66,//"4"0x6D,//"5"0x7D,//"6"0x07,//"7"0x7F,//"8"0x6F,//"9"};ucharcodestate[]=//搶答時(shí)的8種按鍵情況{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////延時(shí)//voidDelayMS(uintms){ uchart; while(ms--) for(t=0;t<120;t++);}////報(bào)警//voidspeak(void){ uchari=10; while(i--) { speaker=~speaker; DelayMS(2); } }////主程序//voidmain(){ //初始化 uchari,m=0x04; P0=0xff; P1=0x00; P2=0x00; P3=0xb7; TMOD=0x01;//選擇工作方式 TH0=0x3c;//定時(shí)器T0初始值的高八位 TL0=0xaf;//定時(shí)器T0初始值的低八位 IE=0x83;//開(kāi)總中斷,定時(shí)器中斷,外部中斷0 while(1) { if(rst==0)//系統(tǒng)復(fù)位 { dsy_buffer[0]=0; TR0=0; dsy_time=0x3c; } if(dsy_time==0x00)//在設(shè)定的時(shí)間到,而無(wú)人搶答時(shí)關(guān)閉定時(shí)器中斷 { TR0=0;//關(guān)閉定時(shí)器中斷 P1=0x00;//禁止搶答 } for(i=0;i<3;i++)//用數(shù)碼管顯示搶答序號(hào)和搶答時(shí)間 { P2=m; m=_cror_(m,1);//循環(huán)移位實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)顯示 dsy_buffer[2]=dsy_time%10;//搶答時(shí)間的個(gè)位 dsy_buffer[1]=dsy_time/10;//搶答時(shí)間的十位 P0=leddata[dsy_buffer[i]];//數(shù)碼管顯示搶答者的序號(hào)和搶答時(shí)間 DelayMS(5); } m=0x04;//實(shí)現(xiàn)下輪的循環(huán)顯示 for(i=0;i<8;i++) { if(P1==state[i])//判斷有按鍵按下 { DelayMS(10);//延時(shí)防止按鍵抖動(dòng)引起的誤操作 if(P1<=state[i])//再次判斷有按鍵按下 { dsy_buffer[0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論