

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 關(guān)于單片機(jī)的智能搶答器的設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 單片機(jī)實(shí)驗(yàn)裝置是電子技術(shù)常用的設(shè)備之一,廣泛的應(yīng)用于教學(xué)、科研等領(lǐng)域。設(shè)計(jì)一個(gè)實(shí)現(xiàn)搶答功能的電路,能夠顯示最先搶答到的號(hào)數(shù),并能實(shí)現(xiàn)倒計(jì)時(shí)和時(shí)間不夠時(shí)的報(bào)警功能。此搶答器電路設(shè)計(jì)原理簡(jiǎn)單、功耗低、穩(wěn)定性好、反應(yīng)速度快和安裝方便。本次設(shè)計(jì)的核心控制元件是
2、用AT89C52單片機(jī),用它來(lái)設(shè)計(jì)一個(gè)簡(jiǎn)易的智能搶答器, 方案的主要內(nèi)容是以AT89C52單片機(jī)作為主控核心,再用數(shù)碼管的發(fā)光點(diǎn)亮和和按鍵的控制,然后附加上中斷部分,最后用C語(yǔ)言的編程,就完成了一個(gè)簡(jiǎn)易的智能搶答器的設(shè)計(jì)。此搶答器所需的硬件只是一塊AT89C52芯片、數(shù)碼管和按鍵等,成本比較低,適用于許多場(chǎng)合。本設(shè)計(jì)的系統(tǒng)采用單片機(jī)作為整個(gè)控制核心。那么控制系統(tǒng)的四個(gè)模塊為:顯示模塊、存儲(chǔ)模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路
3、四個(gè)按鍵輸入搶答信號(hào);利用一個(gè)數(shù)碼管來(lái)完成顯示功能;用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。此設(shè)計(jì)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)大。當(dāng)選手坐在搶答器前,觀眾看著大屏幕顯示的題目和答案,利用競(jìng)賽軟件,運(yùn)用互動(dòng)式多媒體技術(shù),將競(jìng)賽題目制作成演示程序。通過(guò)選手面前的顯</p><p> 關(guān)鍵字:搶答器;AT89C52單片機(jī); 數(shù)碼管動(dòng)態(tài)顯示; 中斷系統(tǒng); 程序控制<
4、/p><p><b> Pick to </b></p><p> SCM experiment device is electronic technology is one of the equipment used, widely used in teaching, scientific research, etc. Design a realization of
5、 the responder can show circuit, the function of the first responder to name, and can realize the countdown and time when insufficient alarm function. This contest decoder circuit design principle is simple, low power co
6、nsumption, good stability and reaction speed and convenient installation. This design the core control elements are using AT89C52</p><p> Key word: contest manometers; AT89C52 single chip computer; Digital
7、tube dynamic display; Interrupt system; Program control </p><p><b> 目錄</b></p><p><b> 第一章 緒論</b></p><p> 1.1 單片機(jī)搶答器的背景</p><p> 1.2 單片機(jī)搶答器的作
8、用</p><p> 1.3 搶答器的應(yīng)用</p><p> 第二章 整體設(shè)計(jì)方案</p><p> 2.1 單片機(jī)的選擇</p><p> 2.2 單片機(jī)的基本結(jié)構(gòu) </p><p> 2.3 單片機(jī)的存儲(chǔ)器配置</p><p><b> 第三章 硬件設(shè)計(jì)</b&
9、gt;</p><p> 3.1 最小系統(tǒng)的設(shè)計(jì)</p><p> 3.2 數(shù)碼管顯示電路</p><p><b> 3.3按鍵控制電路</b></p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p> 4.1 搶答器系統(tǒng)軟件設(shè)計(jì)的流程圖</p&g
10、t;<p><b> 4.2 主程序</b></p><p><b> 4.3 中斷程序</b></p><p><b> 第五章 系統(tǒng)的仿真</b></p><p> 5.1 protenus軟件的介紹及使用</p><p> 5.2 搶答器prote
11、nus軟件的仿真</p><p><b> 結(jié)束語(yǔ)</b></p><p><b> 參考文獻(xiàn)</b></p><p><b> 致謝</b></p><p><b> 第一章 緒論</b></p><p> 1.1 單片
12、機(jī)搶答器的背景</p><p> 現(xiàn)在社會(huì)技術(shù)的飛躍式的發(fā)展,離不開(kāi)精密的技術(shù)知識(shí),目前已進(jìn)入的是電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱(chēng)PC機(jī)。它由主機(jī)、鍵盤(pán)、顯示器等組成。還有一類(lèi)計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱(chēng)微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置
13、中,起著有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱(chēng)前冠以形容詞——“智能型”,如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開(kāi)發(fā)者搞出來(lái)的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。</p
14、><p> 1.2 單片機(jī)搶答器的作用</p><p> 本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、存儲(chǔ)模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路四個(gè)按鍵輸入搶答信號(hào);利用一個(gè)數(shù)碼管來(lái)完成顯示功能;用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。在比賽中, 特別是做搶答題目的時(shí)候,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系
15、統(tǒng)來(lái)完成這個(gè)任務(wù)。如果在搶答中,靠視覺(jué)是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來(lái)設(shè)計(jì)搶答器,使以上問(wèn)題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用89c52單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該搶答器系統(tǒng)通過(guò)開(kāi)關(guān)電路四個(gè)按鍵輸入搶答信號(hào); 利用一個(gè)數(shù)碼管來(lái)完成顯示功能。工作時(shí),用按鍵通過(guò)開(kāi)
16、關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理, 輸出控制信號(hào),單片機(jī)控制的智能搶答器設(shè)計(jì)。</p><p> 1.3 搶答器的應(yīng)用</p><p> 隨著我國(guó)經(jīng)濟(jì)和文化事業(yè)的發(fā)展,在很多公開(kāi)競(jìng)爭(zhēng)場(chǎng)合要求有公正的競(jìng)爭(zhēng)裁決,諸如證券、股票交易及各種智力競(jìng)賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復(fù)雜,可靠性不高,功能也比較簡(jiǎn)單,特別是當(dāng)搶答路數(shù)很多時(shí),實(shí)現(xiàn)起來(lái)就更為困難。因此我
17、們?cè)O(shè)計(jì)了以單片機(jī)為核心的新型智能的搶答器,在保留了原始搶答器的基本功能的同時(shí)又增加一系列的實(shí)用功能并簡(jiǎn)化其電路結(jié)構(gòu)。搶答器又稱(chēng)為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競(jìng)賽、文藝活動(dòng)等場(chǎng)合。傳統(tǒng)普通搶答器主要存在以下缺陷:</p><p> ?。ㄒ唬⒃谝淮螕尨疬^(guò)程中,當(dāng)出現(xiàn)超前違規(guī)搶答時(shí),只能處理違規(guī)搶答信號(hào),而對(duì)沒(méi)有違規(guī)的有效搶答信號(hào)不能進(jìn)行處理,因而使該次搶答過(guò)程變?yōu)闊o(wú)效。</p><p&g
18、t; ?。ǘ?、當(dāng)有多個(gè)違規(guī)搶答時(shí),普通搶答器或采用優(yōu)先編碼電路選擇其中一個(gè),或利用搶答電路電子元件的“競(jìng)爭(zhēng)”選擇其中一個(gè)。對(duì)于后者由于搶答電路制作完畢后電子元件被固定。各路搶答信號(hào)的“競(jìng)爭(zhēng)”能力也被固定,因而本質(zhì)上也有優(yōu)先權(quán)。普通搶答器存在不公平性。</p><p> ?。ㄈ?dāng)有多個(gè)違規(guī)搶答時(shí),普通搶答器只能“抓住”其中一個(gè)而出現(xiàn)“漏洞”。</p><p> 2.1 單片機(jī)的選擇
19、 </p><p> 2.1.1 什么是單片機(jī)</p><p> 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。</p>&l
20、t;p> 單片機(jī)最早被用在工業(yè)控領(lǐng)域,所以它也被稱(chēng)為微控制(Microcontroler)。單片機(jī)是由芯片內(nèi)僅有CPU的專(zhuān)用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專(zhuān)用處理器的發(fā)展便分道揚(yáng)鑣。 </p><p> 單片機(jī)的發(fā)展歷史并
21、不長(zhǎng),它的產(chǎn)生和發(fā)展與計(jì)算機(jī)的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個(gè)階段。第一階段為4位單片機(jī)階段;第二階段為低中檔8位單片機(jī)階段;第三階段為高檔8位單片機(jī)階段;第四階段為8位單片機(jī)鞏固發(fā)展及16位單片機(jī),32位單片機(jī)推出階段。其中早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控
22、制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢(xún)r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專(zhuān)用處理器,而普通的型號(hào)
23、出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量</p><p> 單片機(jī)是靠程序的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大PCB板!但
24、是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫(xiě)的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性! </p><p> 如今單片機(jī)遍及到我們生活的各個(gè)領(lǐng)域,幾乎很沒(méi)有哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣
25、機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 </p><p> 2.1.2 單片機(jī)的應(yīng)用</p><p> 單片機(jī)的應(yīng)用打破了人們的傳統(tǒng)設(shè)計(jì)思想,原來(lái)很多模擬電路、脈沖數(shù)字電路和邏輯部件來(lái)實(shí)現(xiàn)的功能,現(xiàn)在均能使用單片機(jī),通過(guò)軟件來(lái)完成。單片
26、機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:</p><p><b> 1.智能化儀器儀表</b></p><p> 用單片機(jī)改造原有的測(cè)量、控制儀表,使儀器儀表數(shù)字化、智能化、多功能化和微型化,并使長(zhǎng)期以來(lái)測(cè)量?jī)x表中的誤差修正和線性化處理等難題迎刃而解。有單片機(jī)構(gòu)成的智能儀表,集測(cè)量、處理控制功
27、能于一身,從而賦予測(cè)量?jī)x表以嶄新的面貌,是儀器產(chǎn)品更新?lián)Q代的標(biāo)志。并且它具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類(lèi)型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。</p><p><b> 2.測(cè)控系統(tǒng)</b></p><p> 用單片機(jī)可以構(gòu)
28、成形式多樣的控制系統(tǒng)、自適應(yīng)控制系統(tǒng)和數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。</p><p><b> 3.家用電器</b></p><p> 由于單片機(jī)價(jià)格低廉、體積小、邏輯判斷和控制功能強(qiáng),且內(nèi)部具有定時(shí)計(jì)數(shù)器,所以廣泛應(yīng)用于家電設(shè)備。現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電
29、冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門(mén),無(wú)所不在。</p><p> 4.計(jì)算機(jī)網(wǎng)絡(luò)及通信技術(shù)</p><p> 高檔單片機(jī)集成有通信接口,為單片機(jī)在計(jì)算機(jī)網(wǎng)絡(luò)與通信設(shè)備的應(yīng)用提供了良好的條件。例如,用MCS-51系列單片機(jī)控制的串行自動(dòng)呼叫應(yīng)答系統(tǒng)、列車(chē)無(wú)線通信系統(tǒng)和無(wú)線遙控系統(tǒng)等。</p><p><b> 5.醫(yī)用設(shè)備
30、</b></p><p> 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。</p><p> 此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。</p><p> 2.1.3 如何選擇單片機(jī)</p><p> 美國(guó) ATMEL公司的89C
31、52單片機(jī),是增強(qiáng)型RISC內(nèi)載Flash的單片機(jī),芯片上的Flash存儲(chǔ)器附在用戶的產(chǎn)品中,可隨時(shí)編程,再編程,使用戶的產(chǎn)品設(shè)計(jì)容易,更新?lián)Q代方便。89C52單片機(jī)采用增強(qiáng)的RISC結(jié)構(gòu),使其具有高速處理能力,在一個(gè)時(shí)鐘周期內(nèi)可執(zhí)行復(fù)雜的指令,每MHz可實(shí)現(xiàn)1MIPS的處理能力。89C52單片機(jī)工作電壓為2.7~6.0V,可以實(shí)現(xiàn)耗電最優(yōu)化。89C52的單片機(jī)廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備,工業(yè)實(shí)時(shí)控制,儀器儀表,通訊設(shè)備,家用電器,宇航設(shè)
32、備等各個(gè)領(lǐng)域.</p><p> 由于單片機(jī)的種類(lèi)很多,在選擇單片機(jī)時(shí)要依據(jù)實(shí)際設(shè)計(jì)要求選擇合適的單片機(jī)。例如當(dāng)設(shè)計(jì)僅僅需要一個(gè)單片機(jī)定時(shí)器那么選擇89C1051或89C2051即可,而不選擇89C52,因?yàn)楹笳叩膬r(jià)格較高一些。但是若程序和數(shù)據(jù)區(qū)的要求較高,那么選擇的單片機(jī)還要滿足程序空間的要求。</p><p> 下面我們來(lái)比較89C51和89C52:</p><
33、p> 表2-1-1 51和52的比較</p><p> 在這個(gè)設(shè)計(jì)中,我選用現(xiàn)在較為流行的52系列單片機(jī),即選用ATMEL公司的STC89C52。</p><p> 2.2 AT89C52單片機(jī)的基本結(jié)構(gòu)</p><p> 2.2.1 AT89C52單片機(jī)的引腳分布及功能</p><p> ATC52引腳說(shuō)明:</p&
34、gt;<p> MCS-52系列單片機(jī)中的8032、8052及8752均采用40Pin封裝的雙列直接直插式封裝,雙列直插式封裝配置如圖所示,下圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:</p><p> 圖2-2-1 STC89C52的引腳圖</p><p
35、> 2.2 信號(hào)引腳介紹:</p><p><b> P0 口</b></p><p> P0 口是一組8 位漏極開(kāi)路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的</p><p> 方式驅(qū)動(dòng)8 個(gè)TTL邏輯門(mén)電路,對(duì)端口P0 寫(xiě)“1”時(shí),可作為高阻抗輸入端用。</p>&l
36、t;p> 在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。</p><p> 在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p><b> P1 口</b></p><p> P1 是一個(gè)帶內(nèi)部上拉電阻
37、的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯</p><p> 門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉</p><p> 電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。</p><p> 與AT89C51 不同之處是,P1.0 和P1.1
38、還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),</p><p><b> 參見(jiàn)表1。</b></p><p> Flash 編程和程序校驗(yàn)期間,P1 接收低8 位地址。</p><p> 表.P1.0和P1.1的第二功能</p><p><b> P2 口&l
39、t;/b></p><p> P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯</p><p> 門(mén)電路。對(duì)端口P2 寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。</p><p> 在訪
40、問(wèn)外部程序存儲(chǔ)器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX @RI 指令)時(shí),P2 口輸出P2 鎖存器的內(nèi)容。</p><p> Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。</p><p><b> P3 口</b></p>
41、<p> P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏</p><p> 輯門(mén)電路。對(duì)P3 口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。</p><p> P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能</p>
42、;<p> P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p><b> RST</b></p><p> RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8052通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆
43、棧指針寫(xiě)入07H,其它專(zhuān)用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。</p><p> 8052的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p&g
44、t;<b> ALE/PROG</b></p><p> 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE 脈沖。對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要
45、,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 禁止位無(wú)效。</p><p><b> PSEN</b></p><p> 程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52
46、由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。</p><p><b> EA/VPP</b></p><p> 外部訪問(wèn)允許。欲使CPU 僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)
47、部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash 存儲(chǔ)器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。</p><p><b> XTAL1</b></p><p> 振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p><
48、b> XTAL2</b></p><p> 振蕩器反相放大器的輸出端。</p><p> 2.3 單片機(jī)的存儲(chǔ)器配置</p><p><b> ?。╞)</b></p><p> 圖2-3-1 單片機(jī)的內(nèi)部存儲(chǔ)器配置</p><p> 從用戶的角度存儲(chǔ)器分3個(gè)邏輯地址
49、空間:</p><p> 1. 片內(nèi)外統(tǒng)一編址的64KB程序存儲(chǔ)器地址空間0000H~FFFFH即(a)圖;</p><p> 2. 256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間00H~FFH(包括低128B的內(nèi)部RAM地址00H~7FH和高128B的特殊功能寄存器地址空間)即(b)圖;</p><p> 64KB的外部數(shù)據(jù)存儲(chǔ)器或擴(kuò)展I/O接口地址空間0000H~FFF
50、FH如(c)圖。</p><p><b> 畫(huà)出RAM的組成</b></p><p> RAM共有256個(gè)單元,按功能分為兩部分低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。其中高128單元是供給專(zhuān)用寄存器使用,因這些寄存器的功能已作為專(zhuān)門(mén)規(guī)定故此稱(chēng)之為特殊功能寄存器SFR—11個(gè)SFR有位尋址作用,而且要說(shuō)明低128單元是單片機(jī)
51、的真正RAM存儲(chǔ)器。</p><p> 圖2-3-2 RAM的組成圖</p><p> 低128單元是單片機(jī)的真正RAM存儲(chǔ)器,按其用途劃分為三個(gè)區(qū)域:</p><p><b> ⒈通用寄存器區(qū) </b></p><p> 通用寄存器為CPU提供了就近數(shù)據(jù)存儲(chǔ)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用存
52、儲(chǔ)器還能提高程序編制的靈活性,因此在單片機(jī)的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡(jiǎn)化程序設(shè)計(jì),提高程序運(yùn)行速度。</p><p><b> ?、参粚ぶ穮^(qū)</b></p><p> 內(nèi)部RAM的20H~2FH單元,即可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱(chēng)之為位尋址區(qū)。</p><p><b>
53、; ?、彻ぷ骷拇鎱^(qū)</b></p><p><b> 用戶存儲(chǔ)數(shù)據(jù)的。</b></p><p><b> 第三章 硬件設(shè)計(jì)</b></p><p> 3.1 單片機(jī)的最小系統(tǒng)</p><p> 52單片機(jī)的最小系統(tǒng)電路圖: </p><p> 圖3-1-
54、1 單片機(jī)的最小系統(tǒng)圖</p><p><b> 說(shuō)明: </b></p><p> ?、?gòu)?fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來(lái)決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以
55、保證可靠的復(fù)位.一般教科書(shū)推薦C 取10u,R取8.2K.當(dāng)然也有其他取法的,原則就要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平;</p><p> ?、趶?fù)位輸入高電平有效,當(dāng)振蕩器工作是,RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使單片機(jī)復(fù)位。此電路除具有上電復(fù)位功能外,若要復(fù)位只需按“RST”鍵,此電源Vcc經(jīng)電阻分壓,在RST端產(chǎn)生一個(gè)復(fù)位高電平;</p><p> ?、劬?/p>
56、振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz(產(chǎn)生精確的方波便于12分頻,方便定時(shí)操作); </p><p> ④單片機(jī):一片AT89S51/52或其他51系列兼容單片機(jī); </p><p> 注意:對(duì)于31腳(EA/Vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開(kāi)始執(zhí)行;當(dāng)接低電平時(shí),
57、復(fù)位后直接從外部ROM的0000H開(kāi)始執(zhí)行; </p><p> ?、蓦娫床糠郑航?5伏特的電壓。</p><p> 3.2 數(shù)碼管顯示電路</p><p> LED顯示器,實(shí)現(xiàn)七段數(shù)碼管的顯示三位十六進(jìn)制數(shù)。來(lái)進(jìn)行倒計(jì)時(shí),即來(lái)限制搶答的時(shí)間。</p><p> 其中數(shù)碼管的顯示可以分為兩種:靜態(tài)顯示和動(dòng)態(tài)顯示。靜態(tài)顯示的段選位和位選位
58、均單獨(dú)連接,因此占用的I/O接口多,無(wú)法擴(kuò)展多個(gè)數(shù)碼管,在這種采用這種方式,必須要給LED恒定的電壓,要求電壓一直保持,所以一般在LED和單片機(jī)之間加鎖存器,這種顯示方式亮度高,編程較簡(jiǎn)單,結(jié)構(gòu)清晰,管理也較簡(jiǎn)單,占用的CPU時(shí)間少。② 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的
59、公共端COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二
60、極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度</p><p> 從電路上,按數(shù)碼管的接法不同又分為共陰和共陽(yáng)兩種。圖1-1 是共陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。其數(shù)碼管的外形如下圖所示:</p><p> 圖3-2 數(shù)碼管的共陰和共陽(yáng)極接法</p><p><b> 第四章 軟件設(shè)
61、計(jì)</b></p><p> 4.1 搶答器流程圖</p><p> 流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述。總體框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫(huà)出較詳細(xì)的程序流程圖,供后面編寫(xiě)具體程序和閱讀程序使用。</p><p> 流程圖是
62、由一些圖框和流程線組成的,其中圖框表示各種操作的類(lèi)型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱(chēng)選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識(shí)別,繪制流程圖的習(xí)慣做法是:</p><p> 方框表示:要執(zhí)行的處理(Process)</p><p> 平行四邊型表示:代表資料輸入(Input) </p><p> 不規(guī)
63、則圖形代表資料輸出(Output)或報(bào)表輸出(Print) </p><p> 菱形表示:決策或判斷(例如:If...Then...Else)</p><p> 圖4-1-1搶答器主程序流程圖</p><p> 圖4-1-2 搶答器定時(shí)器中斷流程圖</p><p> 圖4-1-3 外部中斷程序圖</p><p&g
64、t;<b> 4.2 主程序</b></p><p> 我們組所設(shè)計(jì)的搶答器的程序采用的是C程序設(shè)計(jì),C語(yǔ)言的顯著特點(diǎn)是用二進(jìn)制來(lái)編寫(xiě)程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。雖然C語(yǔ)言也是強(qiáng)類(lèi)型語(yǔ)言,
65、但它的語(yǔ)法比較靈活,允許程序編寫(xiě)者有較大的自由度。本次設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序,定時(shí)器中斷子程序,LED顯示程序以及按鍵控制子程序,程序設(shè)計(jì)如下:</p><p> #include<reg52.h></p><p> sbit k0=P1^0;</p><p> sbit k1=P1^1;</p><p> sbi
66、t k2=P1^2;</p><p> sbit k3=P1^3;</p><p> sbit d0=P1^4;</p><p> sbit d1=P1^5;</p><p> sbit d2=P1^6;</p><p> sbit d3=P1^7;</p><p> sbit B0
67、=P3^7;</p><p> sbit l0=P2^0;</p><p> sbit l1=P2^2;</p><p> sbit l2=P2^3;</p><p> sbit l3=P2^4;</p><p> sbit kz=P3^0;</p><p> unsigned ch
68、ar qiangdanum=0x3f;</p><p> unsigned char code table[]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> unsigned char ge=0,shi=0;</p><p> unsigned int num=0,time=0;&l
69、t;/p><p> void display(); /*顯示函數(shù)*/</p><p> void delay(unsigned int);</p><p><b> main()</b></p><p><b> {</b></p>
70、<p> TMOD=0X01; /*采用方式一,即十六位計(jì)數(shù)器*/</p><p> TH0=(65536-50000)/256; /*設(shè)置初始值*/</p><p> TL0=(65536-50000)%256;</p><p><b> I
71、T0=0;</b></p><p> EA=1;ET0=1; /*開(kāi)啟總中斷源*/</p><p> EX0=1; /*啟動(dòng)外部中斷0*/</p><p><b> {while(1)</b><
72、;/p><p> {display();</p><p><b> if(kz==0)</b></p><p> TR0=1; /*開(kāi)啟定時(shí)器0中斷*/</p><p> if(num==20)</p><p><b&g
73、t; { num=0;</b></p><p><b> time++;</b></p><p> if(time==60) /*60秒的計(jì)時(shí)*/</p><p><b> time=0;</b></p><p><b>
74、 } </b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void exter0() interrupt 0 /*外部中斷程序
75、*/</p><p> {EA=0;l0=0;</p><p> if(k0==0) /*開(kāi)關(guān)0按下*/</p><p> {d0=0;qiangdanum=1;B0=1; </p><p> }/* 1號(hào)選手搶答成功,數(shù)碼管顯示1,蜂鳴器響,第1個(gè)二極管亮*/</p><
76、p> if(k1==0) /*開(kāi)關(guān)1按下*/</p><p> {d1=0;qiangdanum=2;B0=1; </p><p> }/* 2號(hào)選手搶答成功,數(shù)碼管顯示2,蜂鳴器響,第2個(gè)二極管亮*/</p><p> if(k2==0) /*開(kāi)關(guān)2按下*/</p>
77、;<p> {d2=0;qiangdanum=3;B0=1; </p><p> }/* 3號(hào)選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個(gè)二極管亮*/</p><p> if(k3==0) /*開(kāi)關(guān)3按下*/</p><p> {d3=0;qiangdanum=4;B0=1;</p><p&g
78、t; }/* 4號(hào)選手搶答成功,數(shù)碼管顯示4,蜂鳴器響,第4個(gè)二極管亮*/</p><p><b> }</b></p><p> void time0() interrupt 1</p><p><b> {num++;</b></p><p> TH0=(65536-50000)/25
79、6;</p><p> TL0=(65536-50000)%256;</p><p> } /*1秒定時(shí)函數(shù)*/</p><p> void delay(unsigned int z)</p><p> {unsigned int x,y;</p>
80、;<p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p> } /*延遲函數(shù)*/</p><p> void display(void) </p&
81、gt;<p> {shi=time/10;</p><p> ge=time%10;</p><p><b> P2=0xef;</b></p><p> P0=table[ge];</p><p><b> delay(5);</b></p><p>
82、;<b> P2=0xf7;</b></p><p> P0=table[shi];</p><p><b> delay(5);</b></p><p><b> P2=0xFE;</b></p><p> P0=table[qiangdanum];</p&g
83、t;<p><b> delay(5);</b></p><p> } /*顯示函數(shù):來(lái)顯示0-60的計(jì)數(shù)*/</p><p><b> 4.3 中斷程序</b></p><p> 4.3.1 中斷的概念</p><p&g
84、t; 所謂中斷,是指CPU正在處理某件事的時(shí)候,外部發(fā)生了某一件事,請(qǐng)求CPU迅速去處理。CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件,處理完成以后,再回來(lái)繼續(xù)執(zhí)行被中斷的工作。</p><p> AT89C52有六中斷源:外部中斷0、外部中斷1、定時(shí)器中斷0、定時(shí)器中斷1、串行中斷、T2中斷源。</p><p> 4.3.2 中斷所用到的寄存器</p><p&
85、gt; 介紹定時(shí)器/計(jì)數(shù)器中所介紹的寄存器:</p><p> ?。?)、定時(shí)器/計(jì)數(shù)器控制寄存器TCON</p><p> TCON的作用是控制定時(shí)器的啟動(dòng)`停止,標(biāo)志定時(shí)器的溢出和中斷情況;</p><p> ?。?)、中斷允許控制寄存器IE</p><p> 對(duì)中斷源的開(kāi)放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,即可以按字
86、節(jié)尋址,也可以按位尋址。當(dāng)單片機(jī)復(fù)位時(shí),IE被清零。</p><p> ?。?)、串行控制寄存器SCON</p><p> 定時(shí)/計(jì)數(shù)器的控制方法:在啟動(dòng)定時(shí)/計(jì)數(shù)器工作之前CPU必須將一些命令(稱(chēng)為控制字)寫(xiě)入定時(shí)/計(jì)數(shù)器中,這個(gè)過(guò)程稱(chēng)為定時(shí)/計(jì)數(shù)的初始化。(定時(shí)/計(jì)數(shù)器的初始化通過(guò)定時(shí)/計(jì)數(shù)器的方式寄存器TMOD和控制寄存器TCON來(lái)完成。︱</p><p>
87、 ?、俣〞r(shí)/計(jì)數(shù)器方式寄存器TMOD</p><p> 定時(shí)器1 定時(shí)器0</p><p> 表4-3-2 選擇定時(shí)方式表</p><p> ?、谥袛喑绦虻木帉?xiě)的步驟:</p><p> (1)、根據(jù)要求設(shè)置IE(中斷允許寄存器)的對(duì)應(yīng)位EA(EA—總中斷允許位 EA=1開(kāi)放所
88、有的中斷;EA=0禁止所有的中斷),某個(gè)中斷源還有相應(yīng)的中斷允許位</p><p> ?、佟?dāng)=1時(shí):允許相應(yīng)中斷源的中斷;</p><p> ②、當(dāng)=0時(shí):禁止相應(yīng)中斷源的中斷;</p><p> ?。?)、INT0、INT1設(shè)定觸發(fā)方式IT0(外部中斷觸發(fā)方式控制位)當(dāng)為0時(shí):低電平觸發(fā);當(dāng)為1時(shí):下降沿觸發(fā);</p><p> ?。?
89、)、返回值是Void中斷函數(shù)名() interrupt()</p><p> 4.3.2 為什么采用中斷控制方式</p><p> CPU與外部設(shè)備的數(shù)據(jù)傳送方式:</p><p> ?。?)、無(wú)條件傳送方式</p><p> CPU總認(rèn)為外設(shè)處于準(zhǔn)備好的狀態(tài),外設(shè)比較簡(jiǎn)單</p><p> ?。?)、程序查詢(xún)傳
90、送方式</p><p> 外設(shè)有一個(gè)狀態(tài)(狀態(tài)存儲(chǔ)在寄存器內(nèi))</p><p> 缺點(diǎn):CPU工作效率低,CPU處于等待的狀態(tài),為解決此缺點(diǎn)便出現(xiàn)了第三種傳送方式</p><p> (3)、中斷傳送方式</p><p> 中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序,轉(zhuǎn)去執(zhí)行另一程序以處理發(fā)生的 事件,處理完畢后又自動(dòng)返回原來(lái)
91、的程序繼續(xù)運(yùn)行。</p><p> 優(yōu)點(diǎn):(1)、實(shí)現(xiàn)分時(shí)操作</p><p> CPU分為多個(gè)I/O設(shè)備服務(wù),提高計(jì)算機(jī)的利用率(提前安排好的函數(shù)而中斷不同);</p><p><b> ?。?)、實(shí)時(shí)響應(yīng)</b></p><p> CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);</p>
92、<p><b> (3)、可靠性高</b></p><p> CPU具有處理設(shè)備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)的可靠性提高。</p><p><b> 定時(shí)器的初始化</b></p><p> ?。?)確定工作方式-對(duì)TMOD賦值;</p><p> ?。?)設(shè)置初
93、始值-直接將初值寫(xiě)入THO,TLO;</p><p> ?。?)開(kāi)啟定時(shí)器的中斷-{ETO=1 EA=1};</p><p> (4) 啟動(dòng)定時(shí)器-將TR0或TRI置“1”。</p><p><b> 第五章 系統(tǒng)的仿真</b></p><p> 5.1 proteus軟件的介紹及使用</p>&
94、lt;p> 5.1.1 什么是Proteus軟件</p><p> Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來(lái)完成PCB的設(shè)計(jì),而ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51
95、系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤(pán)、LED、LCD等等。通過(guò)Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。</p><p> 5.1.2 怎樣操作Proteus仿真軟件</p><p> 在進(jìn)行下面的操作前,我先說(shuō)明一點(diǎn):我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你發(fā)現(xiàn)在鼠標(biāo)操作上會(huì)略有不同。這主要表現(xiàn)在6.9
96、以前的版本鼠標(biāo)左右鍵的作用與一般軟件剛好相反,而7.0以后已經(jīng)完全改過(guò)。首先我們把壓縮文件解壓到D盤(pán),然后找到ISIS Manage找到Find key 然后再安裝即可使用,雙擊打開(kāi)桌面是上的那個(gè)軟件即可使用。</p><p> 下面我們首先來(lái)熟悉一下Proteus的界面。Proteus是一個(gè)標(biāo)準(zhǔn)的Windows窗口程序,和大多數(shù)程序一樣,沒(méi)有太大區(qū)別,其啟動(dòng)界面如下圖所示:</p><p&
97、gt; 圖5-1-1 proteus 啟動(dòng)界面圖</p><p> 如圖中所示,區(qū)域①為菜單及工具欄,區(qū)域②為預(yù)覽區(qū),區(qū)域③為元器件瀏覽區(qū),區(qū)域④為編輯窗口,區(qū)域⑤為對(duì)象拾取區(qū),區(qū)域⑥為元器件調(diào)整工具欄,區(qū)域⑦為運(yùn)行工具條。</p><p> 下面我們就以建立一個(gè)和我們?cè)贙eil簡(jiǎn)介中所講的工程項(xiàng)目相配套的Proteus工程為例來(lái)詳細(xì)講述Proteus的操作方法以及注意事項(xiàng)。<
98、;/p><p> 首先點(diǎn)擊啟動(dòng)界面區(qū)域③中的“P”按鈕(Pick Devices,拾取元器件)來(lái)打開(kāi)“Pick Devices”(拾取元器件)對(duì)話框從元件庫(kù)中拾取所需的元器件。對(duì)話框如下圖所示:</p><p> ”(拾取元器件)對(duì)話框從元件庫(kù)中拾取所需的元器件。對(duì)話框如下圖所示:</p><p> 圖5-1-2 用proteus軟件查找元器件</p>
99、<p> 在對(duì)話框中的“Keywords”里面輸入我們要檢索的元器件的關(guān)鍵詞,比如我們要選擇項(xiàng)目中使用的AT89C51,就可以直接輸入。輸入以后我們能夠在中間的“Results”結(jié)果欄里面看到我們搜索的元器件的結(jié)果。在對(duì)話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及PCB參數(shù)。</p><p> 搜索到所需的元器件以后,我們可以雙擊元器件名來(lái)將相應(yīng)的元器件加入到我們的文檔中,那么
100、接著我們還可以用相同的方法來(lái)搜索并加入其他的元器件。當(dāng)我們已經(jīng)將所需的元器件全部加入到文檔中時(shí),我們可以點(diǎn)擊“OK”按鈕來(lái)完成元器件的添加。</p><p> 添加好元器件以后,下面我們所需要做的就是將元器件按照我們的需要連接成電路。首先在元器件瀏覽區(qū)中點(diǎn)擊我們需要添加到文檔中的元器件,這時(shí)我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過(guò)點(diǎn)擊元器件調(diào)整工具欄中的工具來(lái)任
101、意進(jìn)行調(diào)整,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,接下來(lái)是連線。事實(shí)上Proteus的自動(dòng)布線功能是如此的完美以至于我們?cè)谧霾季€時(shí)從來(lái)都不會(huì)覺(jué)得這是一項(xiàng)任務(wù),而通常像是在享受布線的樂(lè)趣。布線時(shí)我們只需要單擊選擇起點(diǎn),然后在需要轉(zhuǎn)彎的地方單擊一下,按照你所需走線的方向移動(dòng)鼠標(biāo)到線的終點(diǎn)單擊即可。本例我們布線的結(jié)果如下圖所示(仿真我們?cè)谏厦娴腒eil操作介紹中的簡(jiǎn)單例子)。</p
102、><p> 圖5-1-3 發(fā)光二極管發(fā)光原理圖</p><p> 因?yàn)樵摴こ淌趾?jiǎn)單,我們沒(méi)有必要加上復(fù)位電路,所以這點(diǎn)在圖中予以忽略,請(qǐng)大家注意。除此以外,你可能還發(fā)現(xiàn),單片機(jī)系統(tǒng)沒(méi)有晶振,這一點(diǎn)你需注意。事實(shí)上在Proteus中單片機(jī)的晶振可以省略,系統(tǒng)默認(rèn)為12MHz,而且很多時(shí)候,當(dāng)然也為了方便,我們只需要取默認(rèn)值就可以了。</p><p> Proteu
103、s中單片機(jī)芯片默認(rèn)已經(jīng)添加電源與地,所以我們可以省略。然后在添加電源與地以前,我們先來(lái)看一下上面第一個(gè)圖中區(qū)域⑤的對(duì)象拾取區(qū),在這里只說(shuō)明本文中可能會(huì)用得到的以及比較重要的工具。</p><p> l:(Selection Mode)。選擇模式,通常情況下我們都需要選中它,比如布局時(shí)和布線時(shí)。</p><p> l :(Component Mode)。組件模式,點(diǎn)擊該按鈕,能夠顯示出區(qū)
104、域③中的元器件,以便我們選擇。</p><p> l :(Wire Label Mode)。線路標(biāo)簽?zāi)J剑x中它并單擊文檔區(qū)電路連線能夠?yàn)檫B線添加標(biāo)簽。經(jīng)常與總線配合使用。</p><p> l :(Text Script Mode)。文本模式,選中它能夠?yàn)槲臋n添加文本。</p><p> l
105、0; :(Buses Mode)。總線模式,選中它能夠在電路中畫(huà)總線。關(guān)于總線畫(huà)法的詳細(xì)步驟與注意事項(xiàng)我們?cè)谙旅鏁?huì)進(jìn)行專(zhuān)門(mén)講解。</p><p> l :(Terminals Mode)。終端模式,選中它能夠?yàn)殡娐诽砑痈鞣N終端,比如輸入、輸出、電源、地等等。</p><p> l :(Virtual Instruments Mode)。虛擬儀器模式,選中它我們能
106、夠在區(qū)域③中看到很多虛擬儀器,比如示波器、電壓表、電流表等等。關(guān)于它們的用法我們會(huì)在后面的相應(yīng)章節(jié)中詳細(xì)講述。</p><p> 添加電源:首先點(diǎn)擊,選擇終端模式,然后在元器件瀏覽區(qū)中點(diǎn)擊POWER(電源)來(lái)選中電源,通過(guò)區(qū)域⑥中的元器件調(diào)整工具進(jìn)行適當(dāng)?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。</p><p> 連接好電路圖以后我們還需要做一些修改,由上5-1-3圖我們可以看出,圖
107、中的R1電阻值為10k,這個(gè)電阻作為限流電阻顯然太大,將使發(fā)光二極管D1亮度很低或者根本就不亮,影響我們的仿真結(jié)果。故要進(jìn)行修改,修改方法:首先我們雙擊電阻圖標(biāo),這時(shí)軟件將彈出“Edit Component”對(duì)話框(見(jiàn)下圖所示的對(duì)話框),對(duì)話框中的“Component Referer”是組件標(biāo)簽之意,可以隨便填寫(xiě),也可以取默認(rèn),但要注意在同一文檔中不能有兩個(gè)組件標(biāo)簽相同;“Resistance”就是電阻值了,我們可以在其后的框中根據(jù)需要
108、填入相應(yīng)的電阻值。填寫(xiě)時(shí)需注意其格式,如果直接填寫(xiě)數(shù)字,則單位默認(rèn)為Ω;如果在數(shù)字后面加上K或者k,則表示kΩ之意。這里我們填入220,表示220Ω。</p><p> 修改好各組件屬性以后就要將程序(HEX文件)載入單片機(jī)了。首先雙擊單片機(jī)圖標(biāo),系統(tǒng)同樣會(huì)彈出“Edit Component”對(duì)話框,如下圖。在這個(gè)對(duì)話框中我們點(diǎn)擊“Program files”框右側(cè)的,來(lái)打開(kāi)選擇程序代碼窗口,選中相應(yīng)的HEX文
109、件后返回,這時(shí),按鈕左側(cè)的框中就填入了相應(yīng)的HEX文件,我們點(diǎn)擊對(duì)話框的“OK”按鈕,回到文檔,程序文件就添加完畢了。</p><p> 圖5-1-4裝載程序</p><p> 裝載好程序,我們就可以進(jìn)行仿真了。首先來(lái)熟悉一下上面第一個(gè)圖中區(qū)域⑦的運(yùn)行工具條。因?yàn)楸容^簡(jiǎn)單,我們只作一下介紹。</p><p> 工具條從左到右依次是“Play”、“Step”、“
110、Pause”、“Stop”按鈕,即運(yùn)行、步進(jìn)、暫停、停止。下面我們點(diǎn)擊“Play”按鈕來(lái)仿真運(yùn)行,效果如下圖所示,可以看到系統(tǒng)按照我們的程序在運(yùn)行著,而且我們還能看到其高低電平的實(shí)時(shí)變化。如果我們已經(jīng)觀察到了結(jié)果就可以點(diǎn)擊“Stop”來(lái)停止運(yùn)行。</p><p> 5.2 搶答器protenus軟件的仿真</p><p> 繪制搶答器的軟件仿真圖步驟分一下四步:</p>
111、<p> ?。?)、查找所需要的元器件;</p><p> ?。?)、根據(jù)電路圖進(jìn)行連線;</p><p> ?。?)、l 是用來(lái)寫(xiě)線所對(duì)應(yīng)的坐標(biāo),即下圖所示的P1.1等坐標(biāo);</p><p> (4)、下載所寫(xiě)完的C程序即可以仿真。</p><p> 通過(guò)以上步驟,來(lái)實(shí)現(xiàn)搶答器設(shè)計(jì)的仿真實(shí)現(xiàn),
112、仿真如下圖所示:</p><p> 圖5-2-1 搶答器的proteus仿真圖</p><p><b> 結(jié) 束 語(yǔ)</b></p><p> 在一個(gè)月的畢業(yè)設(shè)計(jì)中,努力地查找資料,不太明白的在網(wǎng)上,圖書(shū)館里以及以前學(xué)過(guò)的課程里都能找到答案,努力后總會(huì)有收獲的,在這次畢業(yè)設(shè)計(jì)的過(guò)程中,使我又一次溫習(xí)的整個(gè)大學(xué)期間學(xué)習(xí)的專(zhuān)業(yè)知識(shí),更加深刻的
113、理解了我們學(xué)習(xí)的知識(shí)的實(shí)際應(yīng)用能力。這也讓我明白了,理論來(lái)源于實(shí)踐,實(shí)踐又有理論為指導(dǎo),理論的最終體現(xiàn)也是實(shí)踐的結(jié)果的使用,在這次對(duì)智能搶答器的設(shè)計(jì)上,讓我重新溫故了單片機(jī)的基礎(chǔ)知識(shí),重新拾起了單片機(jī)的所有知識(shí),還有在設(shè)計(jì)的最后我有使用了一種常用的仿真軟件proteus軟件,可以讓我們更加清晰地掌握由單片機(jī)設(shè)計(jì)出的產(chǎn)片在實(shí)際應(yīng)用中的效果。在這次對(duì)于單片機(jī)智能搶答器的簡(jiǎn)單的設(shè)計(jì)中,我知道自己的水平是有限的,希望老師和同學(xué)提出的寶貴的意見(jiàn)和
114、建議!</p><p> 經(jīng)過(guò)這次畢業(yè)設(shè)計(jì),我知道了課本知識(shí)的局限性,深刻體會(huì)到了理論與實(shí)際相結(jié)合的重要性,明白了如今一個(gè)技術(shù)飛躍發(fā)展的電子信息時(shí)代,真正掌握技術(shù)的重要性。</p><p> 本設(shè)計(jì)增強(qiáng)了我對(duì)電子方面的認(rèn)識(shí),同時(shí)也學(xué)會(huì)了分析、處理問(wèn)題的方法,提高了我的邏輯思維能力,希望自己真能到實(shí)際工作中體會(huì)一下,讓自己學(xué)到的知識(shí)得以運(yùn)用。</p><p>
115、從單片機(jī)技術(shù)的發(fā)展現(xiàn)狀和趨勢(shì)來(lái)看,現(xiàn)在的社會(huì)單片機(jī)又進(jìn)入了一個(gè)蓬勃發(fā)展的新高潮,它的發(fā)展范圍廣,技術(shù)更新快,應(yīng)用更普遍,影響力也更寬,所以我們就要更加努力的在電子方面不斷的武裝自己,使自己在這個(gè)社會(huì)上能夠站的住腳。面對(duì)當(dāng)今知識(shí)技術(shù)競(jìng)爭(zhēng)激烈的競(jìng)爭(zhēng)社會(huì),要想從事某方面的工作就必須具備此方面的真才實(shí)學(xué),才能在此方面有一個(gè)自己的立足之地,所以既然選擇的電子方面這條路,我就會(huì)對(duì)從事電子設(shè)計(jì)等方面擁有更強(qiáng)的熱心,希望通過(guò)自己的努力能讓我在此方面取得
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的智能搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)搶答器畢業(yè)設(shè)計(jì)---單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)
- 基于單片機(jī)的智能搶答器設(shè)計(jì)_畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文----基于單片機(jī)的智能搶答器
- 畢業(yè)設(shè)計(jì)----單片機(jī)智能搶答器的設(shè)計(jì)
- 基于單片機(jī)的8路智能搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)搶答器設(shè)計(jì)
- 基于單片機(jī)的搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的搶答器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)------單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)
- 基于單片機(jī)的八路智能搶答器的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的八路智能搶答器系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的八路智能搶答器系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-基于單片機(jī)的八路智能搶答器系統(tǒng)設(shè)計(jì)
- 基于51單片機(jī)的搶答器設(shè)計(jì)-畢業(yè)設(shè)計(jì)(論文)
- 單片機(jī)搶答器課程設(shè)計(jì) --搶答器
- 八路搶答器單片機(jī)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的8路智能搶答器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論