版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)摘 要 此次設(shè)計(jì)提出了用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答器, 本方案以AT89C51單片機(jī)作為主控核心,與MAX232、發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成硬件操作,再利用C語言編程,來控制搶答器的功能實(shí)現(xiàn)。本設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。其實(shí)在以往企業(yè)或?qū)W校等舉行自己搞的知識(shí)競(jìng)賽中,都是主持人讀題,觀眾選手得安靜仔細(xì)聽題目,有條件的花上萬元買個(gè)電子搶答器,算是給知識(shí)競(jìng)賽賽場(chǎng)添彩了。大多依靠主持人發(fā)揮水平,選手和觀眾渴望的類似電視臺(tái)的節(jié)目效果難以實(shí)現(xiàn)。與電視播放的那些競(jìng)賽場(chǎng)面對(duì)照選手坐在顯示器前答題,觀眾看著大屏幕顯示題目和答案,大
2、屏幕有搶答顯示計(jì)分排行等,絢麗的畫面有節(jié)奏的音樂差距很大,但這些都不是電視臺(tái)的專利,利用競(jìng)賽軟件,運(yùn)用互動(dòng)式多媒體技術(shù),將競(jìng)賽題目制作成演示程序。通過投影儀大屏幕或電視墻在現(xiàn)場(chǎng)播放,給觀眾強(qiáng)烈的視聽感受,凝聚競(jìng)賽現(xiàn)場(chǎng)氣氛。通過選手面前的顯示器,為參賽隊(duì)員提供最直接的看題效果,保證隊(duì)員對(duì)題目的正確理解。而我們?cè)O(shè)計(jì)的搶答器節(jié)省的不小的開支,還能直觀公正的看清哪位選手先搶答到題并有主持人來往下讀題目。它的功能實(shí)現(xiàn)是有主持人按鍵來控制總開關(guān),主持人按下開關(guān)那么選手開始搶答,此時(shí)數(shù)碼管開始060計(jì)數(shù),并且選手們必須在規(guī)定的時(shí)間內(nèi)進(jìn)行搶答,若過了60秒還沒搶答那么搶答失效,選手們?nèi)粲幸粋€(gè)在規(guī)定的時(shí)間內(nèi)搶答
3、成功則其余的選手不可以再搶答,在數(shù)碼管上會(huì)顯示哪位選手搶答到題目及其所用的時(shí)間。關(guān)鍵字:STC89C52單片機(jī)、動(dòng)態(tài)顯示、中斷目 錄第一章 緒論 11.1 單片機(jī)搶答器的背景 11.2 單片機(jī)搶答器的意義 11.3 搶答器的應(yīng)用 1第二章 整體設(shè)計(jì)方案 22.1 單片機(jī)的選擇 22.2 單片機(jī)的基本結(jié)構(gòu) 42.3 單片機(jī)的存儲(chǔ)器配置 6第三章 硬件設(shè)計(jì) 83.1 最小系統(tǒng)的設(shè)計(jì) 83.2 數(shù)碼管顯示電路 83.3按鍵控制電路 9第四章 軟件設(shè)計(jì) 114.1 搶答器系統(tǒng)軟件設(shè)計(jì)的流程圖 114.2 主程序 124.3 中斷程序 15第五章 系統(tǒng)的仿真185.1 protenus軟件的介紹及使用
4、185.2 搶答器protenus軟件的仿真 22第六章 調(diào)試功能說明236.1 系統(tǒng)的調(diào)試 236.2 軟件調(diào)試問題及解決 236.3 焊接的問題及解決 246.4 單片機(jī)的通信 25結(jié)論 27工作展望 28參考文獻(xiàn) 29致謝30單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)第一章 緒論1.1 單片機(jī)搶答器的背景二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過,這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)
5、單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。在知識(shí)競(jìng)賽中,特別是做搶答題時(shí),在搶答過程中,為了更確切的知道哪一組或哪一位選手先搶答到題,必須要有一個(gè)
6、系統(tǒng)來完成這個(gè)任務(wù)。若在搶答中,只靠人的視覺(或者是聽覺)是很難判斷出哪一組(或哪一個(gè)選手)先搶答到題的。利用單片機(jī)編程來設(shè)計(jì)搶答器,可以使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也能輕松的分辨出哪一組(或哪個(gè)選手)先搶答到題的。本文主要介紹了搶答器的工作原理及設(shè)計(jì),以及它的實(shí)際用途。1.2 單片機(jī)搶答器的意義本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、存儲(chǔ)模塊、語音模塊、搶答開關(guān)模塊。該系統(tǒng)通過開關(guān)電路四個(gè)按鍵輸入搶答信號(hào);利用一個(gè)數(shù)碼管來完成顯示功能;用按鍵來讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過程。在知識(shí)比賽中, 特別是做搶答題目的
7、時(shí)候, 在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設(shè)計(jì)一個(gè)系統(tǒng)來完成這個(gè)任務(wù)。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機(jī)系統(tǒng)來設(shè)計(jì)搶答器,使以上問題得以解決,即使兩組的搶答時(shí)間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機(jī)搶答器設(shè)計(jì)及工作原理,以及它的實(shí)際用途。系統(tǒng)工作原理本系統(tǒng)采用89c52單片機(jī)作為核心??刂葡到y(tǒng)的四個(gè)模塊分別為:存儲(chǔ)模塊、顯示模塊、語音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過開關(guān)電路四個(gè)按鍵輸入搶答信號(hào); 利用一個(gè)數(shù)碼管來完成顯示功能。工作時(shí),用按鍵通過開關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理, 輸出控制信號(hào),單片機(jī)控制的智能搶答器設(shè)計(jì)。1
8、.3 搶答器的應(yīng)用隨著我國(guó)經(jīng)濟(jì)和文化事業(yè)的發(fā)展,在很多公開競(jìng)爭(zhēng)場(chǎng)合要求有公正的競(jìng)爭(zhēng)裁決,諸如證券、股票交易及各種智力競(jìng)賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復(fù)雜,可靠性不高,功能也比較簡(jiǎn)單,特別是當(dāng)搶答路數(shù)很多時(shí),實(shí)現(xiàn)起來就更為困難。因此我們?cè)O(shè)計(jì)了以單片機(jī)為核心的新型智能的搶答器,在保留了原始搶答器的基本功能的同時(shí)又增加一系列的實(shí)用功能并簡(jiǎn)化其電路結(jié)構(gòu)。搶答器又稱為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競(jìng)賽、文藝活動(dòng)等場(chǎng)合。傳統(tǒng)普通搶答器主要存在以下缺陷:(一)、在一次搶答過程中,當(dāng)出現(xiàn)超前違規(guī)搶答時(shí),只能處理違規(guī)搶答信號(hào),而對(duì)沒有違規(guī)的有效搶答信號(hào)不能進(jìn)行處理,因而使該次搶
9、答過程變?yōu)闊o效。 (二)、當(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)。普通搶答器存在不公平性。 (三)、當(dāng)有多個(gè)違規(guī)搶答時(shí),普通搶答器只能“抓住”其中一個(gè)而出現(xiàn)“漏洞”。第二章 整體設(shè)計(jì)方案2.1 單片機(jī)的選擇 2.1.1 什么是單片機(jī)單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管它的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng)。單片機(jī)是將中央處理器,隨機(jī)存儲(chǔ)器
10、。只讀存儲(chǔ)器,定時(shí)器芯片和I/O接口電路集成于一個(gè)芯片上的微控制器。單片機(jī)也被稱為微控制器(Microcontroler),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單
11、片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系
12、統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。單片機(jī)是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過你編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性! 目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,
13、幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 2.1.2 單片機(jī)的應(yīng)用單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:1.在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗
14、低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。2.在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3.在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)
15、機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。4.在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng)電話,集群移動(dòng)通信,無線電對(duì)講機(jī)等。5.單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛
16、的用途。2.1.3 如何選擇單片機(jī) ATMEL公司的89C52單片機(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.76.0V,可以實(shí)現(xiàn)耗電最優(yōu)化。89C52的單片機(jī)廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備,工業(yè)實(shí)時(shí)控制,儀器儀表,通訊設(shè)備,家用電器,宇航設(shè)備等各個(gè)領(lǐng)域.由于單片機(jī)的種類很多,在選擇單片機(jī)時(shí)要依據(jù)實(shí)際設(shè)計(jì)要求選擇合適的單片機(jī)。例如
17、當(dāng)設(shè)計(jì)僅僅需要一個(gè)單片機(jī)定時(shí)器那么選擇89C1051或89C2051即可,而不選擇89C52,因?yàn)楹笳叩膬r(jià)格較高一些。當(dāng)然若程序和數(shù)據(jù)區(qū)的要求較高那么選擇的單片機(jī)還要滿足程序空間的要求。下面我們來比較89C51和89C52:數(shù)據(jù)存儲(chǔ)器程序存儲(chǔ)器定時(shí)器中斷51系列128B4KB2552系列256B8KB38表2-1-1 51和52的比較在本課題中,我們選用現(xiàn)在較為流行的52系列單片機(jī),即選用ATMEL公司的STC89C52。2.2 單片機(jī)的基本結(jié)構(gòu)2.2.1 單片機(jī)的引腳分布及功能MCS-52的引腳說明:MCS-52系列單片機(jī)中的8032、8052及8752均采用40Pin封裝的雙列直接DIP結(jié)
18、構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說明: 圖2-2-1 STC89C52的引腳圖Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8052通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài)
19、,8052的初始態(tài)。8052的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 圖2-2-2復(fù)位電路和晶振電路圖1、8位微處理器和控制器2、內(nèi)部含有4KB的程序ROM。3、2個(gè)16位的計(jì)數(shù)/定時(shí)器。4、內(nèi)部時(shí)鐘振蕩器5、全雙工方式的串行接口(UART)種尋址方式。6、最高時(shí)鐘振蕩頻率可達(dá)12MHZ,大部分指令執(zhí)行時(shí)間為1µs,乘、除指令為4µs。2.2 信號(hào)引腳介紹:1.輸入/輸出口線2.ALE地址鎖存控制信號(hào)3.在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把 口輸出
20、的底8位地址送入鎖存器鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。此外由于ALE是以十二分之一晶振頻率的固定頻率輸出的正脈沖,因此可作為外部時(shí)鐘或外部定時(shí)脈沖使用。4.外部程序存儲(chǔ)器讀選通信號(hào)5.在讀外部ROM時(shí) 有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作6.訪問程序存儲(chǔ)器控制信號(hào)7.當(dāng)信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;而當(dāng) 信號(hào)為高電平時(shí),則對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開始,并可延續(xù)至外部程序存儲(chǔ)8.RST 復(fù)位信號(hào) 當(dāng)輸入的復(fù)位信號(hào)延續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位操作。9.XTAL1和XTAL2外接晶體引線端當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí)
21、,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。10.VSS地線11.VCC+5V 電源2.3 單片機(jī)的存儲(chǔ)器配置 (b)圖2-3-1 單片機(jī)的內(nèi)部存儲(chǔ)器配置從用戶的角度存儲(chǔ)器分3個(gè)邏輯地址空間:1. 片內(nèi)外統(tǒng)一編址的64KB程序存儲(chǔ)器地址空間0000HFFFFH即(a)圖;2. 256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間00HFFH(包括低128B的內(nèi)部RAM地址00H7FH和高128B的特殊功能寄存器地址空間)即(b)圖;3. 64KB的外部數(shù)據(jù)存儲(chǔ)器或擴(kuò)展I/O接口地址空間0000HFFFFH如(c)圖。4. 畫出RAM的組成RAM共有256個(gè)單元,按功能分為兩部
22、分低128單元(單元地址00H7FH)和高128單元(單元地址80HFFH)。其中高128單元是供給專用寄存器使用,因這些寄存器的功能已作為專門規(guī)定故此稱之為特殊功能寄存器SFR11個(gè)SFR有位尋址作用,而且要說明低128單元是單片機(jī)的真正RAM存儲(chǔ)器。30H7FH通用RAM區(qū)20H2FH位尋址區(qū)(00H7FH)18H1FH工作寄存器3區(qū)(R7R0)10H17H工作寄存器2區(qū)(R7R0)08H0FH工作寄存器1區(qū)(R7R0)00H07H工作寄存器0區(qū) (R7R0)圖2-3-2 RAM的組成圖低128單元是單片機(jī)的真正RAM存儲(chǔ)器,按其用途劃分為三個(gè)區(qū)域:通用寄存器區(qū) 通用寄存器為CPU提供了就
23、近數(shù)據(jù)存儲(chǔ)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用存儲(chǔ)器還能提高程序編制的靈活性,因此在單片機(jī)的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡(jiǎn)化程序設(shè)計(jì),提高程序運(yùn)行速度。位尋址區(qū)內(nèi)部RAM的20H2FH單元,即可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱之為位尋址區(qū)。工作寄存區(qū) 用戶存儲(chǔ)數(shù)據(jù)的。第三章 硬件設(shè)計(jì)3.1 單片機(jī)的最小系統(tǒng)52單片機(jī)的最小系統(tǒng)電路圖: 圖3-1-1 單片機(jī)的最小系統(tǒng)圖說明: 復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平
24、持續(xù)的時(shí)間由電路的RC值來決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.一般教科書推薦C 取10u,R取8.2K.當(dāng)然也有其他取法的,原則就要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平;復(fù)位輸入高電平有效,當(dāng)振蕩器工作是,RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使單片機(jī)復(fù)位。此電路除具有上電復(fù)位功能外,若要復(fù)位只需按“RST”鍵,此電源Vcc經(jīng)電阻分壓,在RST端產(chǎn)生一個(gè)復(fù)位高電平;晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz(
25、產(chǎn)生精確的方波便于12分頻,方便定時(shí)操作); 單片機(jī):一片AT89S51/52或其他51系列兼容單片機(jī); 注意:對(duì)于31腳(EA/Vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行;當(dāng)接低電平時(shí),復(fù)位后直接從外部ROM的0000H開始執(zhí)行; 電源部分:接+5伏特的電壓。 3.2 數(shù)碼管顯示電路LED顯示器,實(shí)現(xiàn)七段數(shù)碼管的顯示三位十六進(jìn)制數(shù)。來進(jìn)行倒計(jì)時(shí),即來限制搶答的時(shí)間。其中數(shù)碼管的顯示可以分為兩種:靜態(tài)顯示和動(dòng)態(tài)顯示。靜態(tài)顯示的段選位和位選位均單獨(dú)連接,因此占用的I/O接口多,無法擴(kuò)展多個(gè)數(shù)碼管,在這種采用這種方式,必須要給LED恒定的電壓,要求電壓一直保持,所以一般
26、在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ù)碼管的公共端COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流
27、控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。從電路上,按數(shù)碼管的接法不同又分為共陰和共陽兩種。圖1-1 是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。其數(shù)碼管的外形如下圖所示: 圖3-2 數(shù)碼管的共陰和共陽極接法第四章 軟件設(shè)計(jì)4.1 搶答器流程圖流程圖是使用圖
28、形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對(duì)其進(jìn)行描述??傮w框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具體程序和閱讀程序使用。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識(shí)別,繪制流程圖的習(xí)慣做法是:方框表示:要執(zhí)行的處理(Process)平行四邊型表示:代表資料輸入(Input) 不規(guī)則圖形代表資料輸出(Output)或報(bào)表輸出(Pri
29、nt) 菱形表示:決策或判斷(例如:If.Then.Else) 初始化部分Kz= =0啟動(dòng)中斷,數(shù)碼管開始計(jì)時(shí)若有選手搶答中斷停止,數(shù)碼管顯示選手的標(biāo)號(hào)及所用的時(shí)間結(jié)束開始NYYN圖4-1-1搶答器主程序流程圖 定時(shí)器0中斷1秒時(shí)間到?中斷返回N秒加1數(shù)碼管顯示秒值Y圖4-1-2 搶答器定時(shí)器中斷流程圖外部中斷0中斷K0鍵按下K1鍵按下K3鍵按下K2鍵按下中斷返回與K0鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K1鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K3鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示與K2鍵對(duì)應(yīng)的發(fā)光二極管亮及數(shù)碼管顯示YYYYNNNN圖4-1-3 外部中斷程序圖4.2 主程序我們組所設(shè)計(jì)的搶答器的程
30、序采用的是C程序設(shè)計(jì),C語言的顯著特點(diǎn)是用二進(jìn)制來編寫程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。雖然C語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序,定時(shí)器中斷子程序,LED顯示程序以及按鍵控制子程序,程序設(shè)計(jì)如下: #include<reg52.h>sbit k0=P10;sbit k1=P11;sbit k2=P12;sbit k3=P
31、13;sbit d0=P14;sbit d1=P15;sbit d2=P16;sbit d3=P17;sbit B0=P37;sbit l0=P20;sbit l1=P22;sbit l2=P23;sbit l3=P24;sbit kz=P30;unsigned char qiangdanum=0x3f;unsigned char code table=0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display(); /*顯示函
32、數(shù)*/void delay(unsigned int);main()TMOD=0X01; /*采用方式一,即十六位計(jì)數(shù)器*/TH0=(65536-50000)/256; /*設(shè)置初始值*/TL0=(65536-50000)%256;IT0=0;EA=1;ET0=1; /*開啟總中斷源*/EX0=1; /*啟動(dòng)外部中斷0*/while(1)display(); if(kz=0) TR0=1; /*開啟定時(shí)器0中斷*/ if(num=20) num=0; time+; if(time=60) /*60秒的計(jì)時(shí)*/ time=0; void exter0() interrupt 0 /*外部中斷程序
33、*/EA=0;l0=0; if(k0=0) /*開關(guān)0按下*/d0=0;qiangdanum=1;B0=1; /* 1號(hào)選手搶答成功,數(shù)碼管顯示1,蜂鳴器響,第1個(gè)二極管亮*/if(k1=0) /*開關(guān)1按下*/ d1=0;qiangdanum=2;B0=1; /* 2號(hào)選手搶答成功,數(shù)碼管顯示2,蜂鳴器響,第2個(gè)二極管亮*/if(k2=0) /*開關(guān)2按下*/ d2=0;qiangdanum=3;B0=1; /* 3號(hào)選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個(gè)二極管亮*/if(k3=0) /*開關(guān)3按下*/ d3=0;qiangdanum=4;B0=1; /* 4號(hào)選手搶答成功,數(shù)碼管顯示
34、4,蜂鳴器響,第4個(gè)二極管亮*/void time0() interrupt 1num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256; /*1秒定時(shí)函數(shù)*/void delay(unsigned int z)unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); /*延遲函數(shù)*/void display(void) shi=time/10;ge=time%10;P2=0xef;P0=tablege;delay(5);P2=0xf7;P0=tableshi;delay(5);P2=0xFE;
35、P0=tableqiangdanum;delay(5); /*顯示函數(shù):來顯示0-60的計(jì)數(shù)*/4.3 中斷程序4.3.1 什么是中斷中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序的運(yùn)行,轉(zhuǎn)去執(zhí)行另一個(gè)程序,以處理發(fā)生的事件,處理完畢后又自動(dòng)返回原來的程序繼續(xù)運(yùn)行。有五種中斷源:外部中斷0、外部中斷1、定時(shí)器中斷0、定時(shí)器中斷1、串行中斷。它們的描述如下圖所示:中斷源符號(hào)名稱終端引起的原因中斷矢量地址INT0外部中斷0由P3.2低電平或下降沿信號(hào)0003HT0定時(shí)器中斷0定時(shí)/計(jì)數(shù)器0回零溢出P3.40013HINT1外部中斷1由P3.3低電平或下降沿信號(hào)000BHT1定時(shí)器中斷1定時(shí)/
36、計(jì)數(shù)器1回零溢出P3.5001BHTI/RI串行中斷串行口接收或發(fā)送完幀數(shù)據(jù)引起的中斷0023H表4-3-1 五種中斷源的表示4.3.2 中斷所用到的寄存器介紹定時(shí)器/計(jì)數(shù)器中所介紹的寄存器:(1)、定時(shí)器/計(jì)數(shù)器控制寄存器TCONTCON的作用是控制定時(shí)器的啟動(dòng)停止,標(biāo)志定時(shí)器的溢出和中斷情況;(2)、中斷允許控制寄存器IE對(duì)中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,即可以按字節(jié)尋址,也可以按位尋址。當(dāng)單片機(jī)復(fù)位時(shí),IE被清零。(3)、串行控制寄存器SCON定時(shí)/計(jì)數(shù)器的控制方法:在啟動(dòng)定時(shí)/計(jì)數(shù)器工作之前CPU必須將一些命令(稱為控制字)寫入定時(shí)/計(jì)數(shù)器中,這個(gè)過程稱為定
37、時(shí)/計(jì)數(shù)的初始化。(定時(shí)/計(jì)數(shù)器的初始化通過定時(shí)/計(jì)數(shù)器的方式寄存器TMOD和控制寄存器TCON來完成。定時(shí)/計(jì)數(shù)器方式寄存器TMODGATEC/TM1M0GATEC/TM1M0定時(shí)器1 定時(shí)器0M1M0工作方式功能說明00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2自動(dòng)再裝入8位計(jì)數(shù)器11方式3定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器;定時(shí)器1:停止計(jì)數(shù)表4-3-2 選擇定時(shí)方式表中斷程序的編寫的步驟:(1)、根據(jù)要求設(shè)置IE(中斷允許寄存器)的對(duì)應(yīng)位EA(EA總中斷允許位 EA=1開放所有的中斷;EA=0禁止所有的中斷),某個(gè)中斷源還有相應(yīng)的中斷允許位、當(dāng)=1時(shí):允許相應(yīng)中斷源的中斷;、當(dāng)=0時(shí)
38、:禁止相應(yīng)中斷源的中斷;(2)、INT0、INT1設(shè)定觸發(fā)方式IT0(外部中斷觸發(fā)方式控制位)當(dāng)為0時(shí):低電平觸發(fā);當(dāng)為1時(shí):下降沿觸發(fā);(3)、返回值是Void中斷函數(shù)名() interrupt()4.3.2 為什么采用中斷控制方式CPU與外部設(shè)備的數(shù)據(jù)傳送方式:(1)、無條件傳送方式CPU總認(rèn)為外設(shè)處于準(zhǔn)備好的狀態(tài),外設(shè)比較簡(jiǎn)單(2)、程序查詢傳送方式外設(shè)有一個(gè)狀態(tài)(狀態(tài)存儲(chǔ)在寄存器內(nèi))缺點(diǎn):CPU工作效率低,CPU處于等待的狀態(tài),為解決此缺點(diǎn)便出現(xiàn)了第三種傳送方式(3)、中斷傳送方式中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序,轉(zhuǎn)去執(zhí)行另一程序以處理發(fā)生的 事件,處理完畢后又自動(dòng)
39、返回原來的程序繼續(xù)運(yùn)行。優(yōu)點(diǎn):(1)、實(shí)現(xiàn)分時(shí)操作CPU分為多個(gè)I/O設(shè)備服務(wù),提高計(jì)算機(jī)的利用率(提前安排好的函數(shù)而中斷不同);(2)、實(shí)時(shí)響應(yīng)CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);(3)、可靠性高CPU具有處理設(shè)備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)的可靠性提高。定時(shí)器的初始化(1)確定工作方式-對(duì)TMOD賦值;(2)設(shè)置初始值-直接將初值寫入THO,TLO;(3)開啟定時(shí)器的中斷-ETO=1 EA=1;(4) 啟動(dòng)定時(shí)器-將TR0或TRI置“1”。第五章 系統(tǒng)的仿真5.1 proteus軟件的介紹及使用5.1.1 什么是Proteus軟件Proteus軟件是La
40、bcenter Electronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計(jì),而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。5.1.2 怎樣操作Proteus仿真軟件
41、60;在進(jìn)行下面的操作前,我先說明一點(diǎn):我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你發(fā)現(xiàn)在鼠標(biāo)操作上會(huì)略有不同。這主要表現(xiàn)在6.9以前的版本鼠標(biāo)左右鍵的作用與一般軟件剛好相反,而7.0以后已經(jīng)完全改過。首先我們把壓縮文件解壓到D盤,然后找到ISIS Manage找到Find key 然后再安裝即可使用,雙擊打開桌面是上的那個(gè)軟件即可使用。下面我們首先來熟悉一下Proteus的界面。Proteus是一個(gè)標(biāo)準(zhǔn)的Windows窗口程序,和大多數(shù)程序一樣,沒有太大區(qū)別,其啟動(dòng)界面如下圖所示:圖5-1-1 proteus 啟動(dòng)界面圖如圖中所示,區(qū)域?yàn)椴藛渭肮ぞ邫?,區(qū)域?yàn)轭A(yù)覽區(qū),
42、區(qū)域?yàn)樵骷g覽區(qū),區(qū)域?yàn)榫庉嫶翱?,區(qū)域?yàn)閷?duì)象拾取區(qū),區(qū)域?yàn)樵骷{(diào)整工具欄,區(qū)域?yàn)檫\(yùn)行工具條。下面我們就以建立一個(gè)和我們?cè)贙eil簡(jiǎn)介中所講的工程項(xiàng)目相配套的Proteus工程為例來詳細(xì)講述Proteus的操作方法以及注意事項(xiàng)。首先點(diǎn)擊啟動(dòng)界面區(qū)域中的“P”按鈕(Pick Devices,拾取元器件)來打開“Pick Devices”(拾取元器件)對(duì)話框從元件庫中拾取所需的元器件。對(duì)話框如下圖所示:圖5-1-2 用proteus軟件查找元器件在對(duì)話框中的“Keywords”里面輸入我們要檢索的元器件的關(guān)鍵詞,比如我們要選擇項(xiàng)目中使用的AT89C51,就可以直接輸入。輸入以后我們能夠在中間的“
43、Results”結(jié)果欄里面看到我們搜索的元器件的結(jié)果。在對(duì)話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及PCB參數(shù)。搜索到所需的元器件以后,我們可以雙擊元器件名來將相應(yīng)的元器件加入到我們的文檔中,那么接著我們還可以用相同的方法來搜索并加入其他的元器件。當(dāng)我們已經(jīng)將所需的元器件全部加入到文檔中時(shí),我們可以點(diǎn)擊“OK”按鈕來完成元器件的添加。添加好元器件以后,下面我們所需要做的就是將元器件按照我們的需要連接成電路。首先在元器件瀏覽區(qū)中點(diǎn)擊我們需要添加到文檔中的元器件,這時(shí)我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過點(diǎn)擊元器件調(diào)整工具欄中
44、的工具來任意進(jìn)行調(diào)整,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,接下來是連線。事實(shí)上Proteus的自動(dòng)布線功能是如此的完美以至于我們?cè)谧霾季€時(shí)從來都不會(huì)覺得這是一項(xiàng)任務(wù),而通常像是在享受布線的樂趣。布線時(shí)我們只需要單擊選擇起點(diǎn),然后在需要轉(zhuǎn)彎的地方單擊一下,按照你所需走線的方向移動(dòng)鼠標(biāo)到線的終點(diǎn)單擊即可。本例我們布線的結(jié)果如下圖所示(仿真我們?cè)谏厦娴腒eil操作介紹中的簡(jiǎn)單例子)。圖5-1-3 發(fā)光二極管發(fā)光原理圖因?yàn)樵摴こ淌趾?jiǎn)單,我們沒有必要加上復(fù)位電路,所以這點(diǎn)在圖中予以忽略,請(qǐng)大家注意。除此以外,你可能還發(fā)現(xiàn),單片機(jī)系統(tǒng)沒有晶振,這
45、一點(diǎn)你需注意。事實(shí)上在Proteus中單片機(jī)的晶振可以省略,系統(tǒng)默認(rèn)為12MHz,而且很多時(shí)候,當(dāng)然也為了方便,我們只需要取默認(rèn)值就可以了。Proteus中單片機(jī)芯片默認(rèn)已經(jīng)添加電源與地,所以我們可以省略。然后在添加電源與地以前,我們先來看一下上面第一個(gè)圖中區(qū)域的對(duì)象拾取區(qū),在這里只說明本文中可能會(huì)用得到的以及比較重要的工具。l:(Selection Mode)。選擇模式,通常情況下我們都需要選中它,比如布局時(shí)和布線時(shí)。l :(Component Mode)。組件模式,點(diǎn)擊該按鈕,能夠顯示出區(qū)域中的元器件,以便我們選擇。l :(Wire Label Mode
46、)。線路標(biāo)簽?zāi)J?,選中它并單擊文檔區(qū)電路連線能夠?yàn)檫B線添加標(biāo)簽。經(jīng)常與總線配合使用。l :(Text Script Mode)。文本模式,選中它能夠?yàn)槲臋n添加文本。l :(Buses Mode)。總線模式,選中它能夠在電路中畫總線。關(guān)于總線畫法的詳細(xì)步驟與注意事項(xiàng)我們?cè)谙旅鏁?huì)進(jìn)行專門講解。l :(Terminals Mode)。終端模式,選中它能夠?yàn)殡娐诽砑痈鞣N終端,比如輸入、輸出、電源、地等等。l :(Virtual Instruments Mode)。虛擬儀器模式,選中它我們能夠在區(qū)域中看到很多虛擬儀器,比如示波器、電壓表、電流表
47、等等。關(guān)于它們的用法我們會(huì)在后面的相應(yīng)章節(jié)中詳細(xì)講述。添加電源:首先點(diǎn)擊,選擇終端模式,然后在元器件瀏覽區(qū)中點(diǎn)擊POWER(電源)來選中電源,通過區(qū)域中的元器件調(diào)整工具進(jìn)行適當(dāng)?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。連接好電路圖以后我們還需要做一些修改,由上5-1-3圖我們可以看出,圖中的R1電阻值為10k,這個(gè)電阻作為限流電阻顯然太大,將使發(fā)光二極管D1亮度很低或者根本就不亮,影響我們的仿真結(jié)果。故要進(jìn)行修改,修改方法:首先我們雙擊電阻圖標(biāo),這時(shí)軟件將彈出“Edit Component”對(duì)話框(見下圖所示的對(duì)話框),對(duì)話框中的“Component Referer”是組件標(biāo)簽之意,可以隨便
48、填寫,也可以取默認(rèn),但要注意在同一文檔中不能有兩個(gè)組件標(biāo)簽相同;“Resistance”就是電阻值了,我們可以在其后的框中根據(jù)需要填入相應(yīng)的電阻值。填寫時(shí)需注意其格式,如果直接填寫數(shù)字,則單位默認(rèn)為;如果在數(shù)字后面加上K或者k,則表示k之意。這里我們填入220,表示220。修改好各組件屬性以后就要將程序(HEX文件)載入單片機(jī)了。首先雙擊單片機(jī)圖標(biāo),系統(tǒng)同樣會(huì)彈出“Edit Component”對(duì)話框,如下圖。在這個(gè)對(duì)話框中我們點(diǎn)擊“Program files”框右側(cè)的,來打開選擇程序代碼窗口,選中相應(yīng)的HEX文件后返回,這時(shí),按鈕左側(cè)的框中就填入了相應(yīng)的HEX文件,我們點(diǎn)擊對(duì)話框的“OK”按
49、鈕,回到文檔,程序文件就添加完畢了。圖5-1-4裝載程序裝載好程序,我們就可以進(jìn)行仿真了。首先來熟悉一下上面第一個(gè)圖中區(qū)域的運(yùn)行工具條。因?yàn)楸容^簡(jiǎn)單,我們只作一下介紹。工具條從左到右依次是“Play”、“Step”、“Pause”、“Stop”按鈕,即運(yùn)行、步進(jìn)、暫停、停止。下面我們點(diǎn)擊“Play”按鈕來仿真運(yùn)行,效果如下圖所示,可以看到系統(tǒng)按照我們的程序在運(yùn)行著,而且我們還能看到其高低電平的實(shí)時(shí)變化。如果我們已經(jīng)觀察到了結(jié)果就可以點(diǎn)擊“Stop”來停止運(yùn)行。5.2 搶答器protenus軟件的仿真繪制搶答器的軟件仿真圖步驟分一下四步:(1)、查找所需要的元器件;(2)、根據(jù)電路圖進(jìn)行連線;(
50、3)、l 是用來寫線所對(duì)應(yīng)的坐標(biāo),即下圖所示的P1.1等坐標(biāo);(4)、下載所寫完的C程序即可以仿真。通過以上步驟,來實(shí)現(xiàn)搶答器設(shè)計(jì)的仿真實(shí)現(xiàn),仿真如下圖所示:圖5-2-1 搶答器的proteus仿真圖第六章 調(diào)試功能說明6.1 系統(tǒng)的調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們?cè)O(shè)計(jì)好的硬件電路和軟件程序,只有經(jīng)過聯(lián)合調(diào)試,才能驗(yàn)證其正確性;軟硬件的配人情況以及是否達(dá)到設(shè)計(jì)任務(wù)的要求,也只有經(jīng)過調(diào)試,才能發(fā)現(xiàn)問題并加以解決、完善,最終開發(fā)成實(shí)用產(chǎn)品。硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試,單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng)進(jìn)行,這里的調(diào)試只是將其制成印
51、刷電路板后試驗(yàn)電路是否正確,并排除一些加工工藝性錯(cuò)誤(如錯(cuò)線、開路、短路等)。這種調(diào)試可單獨(dú)模擬進(jìn)行,也可通過開發(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ī)開發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運(yùn)行;也可配合對(duì)應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。這時(shí)該 程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進(jìn)行調(diào)
52、試。程序聯(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)硬件問題也應(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ù)期的效果。6.2 軟件調(diào)試問題及解決首先對(duì)所用軟件及使用方法介紹如下:1、Keil是德國(guó)開發(fā)的一個(gè)51單片機(jī)開發(fā)軟件平臺(tái),最開始只是一個(gè)支持C語言和匯編語言的編譯器軟件。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級(jí),使它已經(jīng)成為了一個(gè)重要的單片機(jī)開發(fā)平臺(tái),不過KEIL的界面并不是非常復(fù)雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺(tái)上編寫出來的??梢哉f它是一個(gè)比較重要的軟件,熟悉他的人很多很多,用戶群極為龐大,要遠(yuǎn)遠(yuǎn)超過偉福等廠家軟件用戶群,操作有不懂的地方只要找相關(guān)的書看看,到相關(guān)的單片機(jī)技術(shù)論壇問問,很快就可以掌握它的基本使用了。2、 總調(diào),即應(yīng)用軟件的鏈接調(diào)試,程序固化,軟、硬件結(jié)合的應(yīng)用系統(tǒng) 軟硬件聯(lián)合仿真系統(tǒng)由一個(gè)硬件執(zhí)行環(huán)境
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公室綠植布置租賃合同
- 交通樞紐租賃合同
- 鋁單板安裝合同超市室內(nèi)裝飾工程
- 苗木種植聯(lián)盟合同
- 招投標(biāo)環(huán)境保護(hù)措施與合同管理
- 銀行系統(tǒng)防雷施工合同
- 保健品總助崗位招聘合同
- 電力電纜敷設(shè)工程合同
- 銷售崗位聘用合同模板
- 企業(yè)間還款協(xié)議
- GB/T 30146-2023安全與韌性業(yè)務(wù)連續(xù)性管理體系要求
- 職業(yè)價(jià)值觀量表附帶評(píng)分標(biāo)準(zhǔn)
- 化學(xué)檢驗(yàn)員(技師)試題庫(含參考答案)
- 牽引管管道施工方案【實(shí)用文檔】doc
- 2022-2023學(xué)年四川省眉山市小學(xué)語文三年級(jí)上冊(cè)期末提升模擬題
- 五年級(jí)上冊(cè)數(shù)學(xué)試題-《組合圖形的面積》測(cè)試卷A北師大版 (含答案)
- GB/T 16553-2003珠寶玉石鑒定
- 中醫(yī)婦科常用湯頭歌訣
- 藝術(shù)人才培養(yǎng)資助項(xiàng)目申報(bào)表
- 第11章樓蓋資料課件
- 動(dòng)態(tài)心電圖報(bào)告解讀及臨床應(yīng)用醫(yī)學(xué)課件
評(píng)論
0/150
提交評(píng)論