基于51單片機的數(shù)字秒表設(shè)計_第1頁
基于51單片機的數(shù)字秒表設(shè)計_第2頁
基于51單片機的數(shù)字秒表設(shè)計_第3頁
基于51單片機的數(shù)字秒表設(shè)計_第4頁
基于51單片機的數(shù)字秒表設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機系統(tǒng)課 程 設(shè) 計成績評定表設(shè)計課題 : 數(shù)字秒表 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級 : 自動1204 學(xué)生姓名 : 學(xué) 號 : 指導(dǎo)教師 : 王黎 設(shè)計地點 : 31-630 設(shè)計時間 : 2013-12-292013-1-9 指導(dǎo)教師意見:成績: 簽名: 年 月 日單片機系統(tǒng)課 程 設(shè) 計課程設(shè)計名稱: 數(shù)字秒表 專 業(yè) 班 級 : 自動1204 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 王黎 課程設(shè)計地點: 31-630 課程設(shè)計時間: 2013-12-292013-1-9 單片機系統(tǒng) 課程設(shè)計任務(wù)書學(xué)生姓名專業(yè)班級自動1204學(xué)號題 目數(shù)字秒表設(shè)計課題性質(zhì)工程設(shè)計課

2、題來源自擬指導(dǎo)教師王黎主要內(nèi)容(參數(shù))設(shè)計一個基于單片機的數(shù)字秒表,具體要求如下。1、最大計數(shù)值為:99分59.99秒。2、系統(tǒng)采用2個按鍵控制輸入,其中一個按鍵用作系統(tǒng)清0,另一個按鍵用作秒表的啟動/停止。3、系統(tǒng)采用6個共陰LED數(shù)碼管實現(xiàn)計時顯示。任務(wù)要求(進度)第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細論述。第5-6天:軟件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計正

3、確,篇幅合理。主要參考資料1 張迎新單片微型計算機原理、應(yīng)用及接口技術(shù)(第2版)M北京:國防工業(yè)出版社,20042偉福LAB6000系列單片機仿真實驗系統(tǒng)使用說明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006審查意見系(教研室)主任簽字: 年 月 日 目 錄1緒論32系統(tǒng)概述42.1數(shù)字式秒表的設(shè)計意義42.2設(shè)計要求與分析43 硬件電路設(shè)計53.1基準脈沖的獲取53.2鍵盤及控制電路103.3計數(shù)、譯碼及顯示電路124 數(shù)字秒表系統(tǒng)軟件設(shè)計144.1 主程序軟件設(shè)計144.2 中斷服務(wù)程序設(shè)計145調(diào)試與仿真165.1軟件調(diào)試與燒寫165.2 硬件仿真176. 結(jié) 論18

4、參考文獻:19附錄20附錄一 系統(tǒng)原理圖20附錄二 源程序代碼211緒論21世紀,單片機的發(fā)展非常的迅速。單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。它是一種集計數(shù)和多種接口于一體的微控制器,被廣泛應(yīng)用在智能產(chǎn)品和工業(yè)自動化上,而51單片機是個單片機中最為典型和最有代表性的一種。51單片機是對所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為應(yīng)用最廣泛的8位單片機之一,其代表型號是Atmel的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多公司都有51系列

5、的兼容機型推出,今后很長的一段時間內(nèi)將占有大量市場。本次的設(shè)計任務(wù)是一個數(shù)字秒表,而秒表與普通的鐘表不同,它的目的是對從某一時刻到另一時刻的時間間隔進行計時。秒表的數(shù)字化常給人們的生活帶來極大的方便,它廣泛應(yīng)用于社會的各個領(lǐng)域。通過對數(shù)字式秒表的設(shè)計,我們可以清楚的了解到它的工作原理,進而也了解了數(shù)字鐘表的工作原理。 在翻閱相關(guān)資料后,我們把秒表的設(shè)計分成了三大部分:基準脈沖產(chǎn)生部分;控制部分和計數(shù)、譯碼、顯示部分。本設(shè)計的數(shù)字電子秒表系統(tǒng)采用STC89C51單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及獨立鍵盤來設(shè)計秒表,將軟、硬件有機地結(jié)合起來。 基

6、準脈沖產(chǎn)生部分由石英振蕩器和由計數(shù)器組成的分頻器構(gòu)成。在石英振蕩器中,石英晶體的固有頻率是1M Hz,即振蕩器的輸出為1M Hz的矩形脈沖。而分頻器將1M Hz分頻為100 Hz的基準脈沖。控制部分可由基本RS觸發(fā)器和相應(yīng)的開關(guān)組成。計數(shù)、譯碼、顯示部分中,將使用同步四位二進制加法計數(shù)器74LS161 來計數(shù)。74LS48是BCD-7段譯碼器/驅(qū)動器,專用于驅(qū)動LED七段共陰極顯示數(shù)碼管。關(guān)鍵字:基準脈沖 計數(shù) 譯碼 數(shù)字顯示2系統(tǒng)概述2.1數(shù)字式秒表的設(shè)計意義秒表的數(shù)字化常給人們的生活帶來極大的方便,它廣泛應(yīng)用于社會的各個領(lǐng)域。通過對數(shù)字式秒表的設(shè)計,我們可以清楚的了解到它的工作原理,進而也

7、了解了數(shù)字鐘表的工作原理。在秒表的設(shè)計中,我們對數(shù)字電子技術(shù)基礎(chǔ)中所學(xué)到的知識有了更深刻的認識。比如:555多諧振蕩器的應(yīng)用、計數(shù)器、譯碼及顯示器的應(yīng)用??傊?,數(shù)字秒表的設(shè)計讓我們體會了學(xué)以致用的樂趣。2.2設(shè)計要求與分析設(shè)計要求如下:l 秒表的最大計時值為99分59.99秒;l 6位數(shù)碼管顯示,分辨率為0.01秒l 具有清零、啟動計時、暫停及繼續(xù)計數(shù)等控制功能;l 控制操作鍵不超過二個。首先,秒表的分辨率為0.01秒,故要獲得頻率為100 Hz的基準毫秒脈沖;其次,分、毫秒計數(shù)器為100進制計數(shù)器,秒計數(shù)器為60進制計數(shù)器;最后,用一個控制鍵實現(xiàn)秒表的啟動/暫停/繼續(xù)計數(shù)功能,用另一個控制健

8、實現(xiàn)秒表的清零功能。分別實現(xiàn)以上模塊功能,即可設(shè)計出符合要求的數(shù)字秒表。設(shè)計方案論證:即為數(shù)字式秒表,那么必須有數(shù)字顯示。按設(shè)計要求,須用數(shù)碼管來做顯示器。題目要求最大記數(shù)值為99分59.99秒,那則需要六個數(shù)碼管。要求計數(shù)分辨率為0.01秒,那么我們需要相應(yīng)頻率的信號發(fā)生器。選擇信號發(fā)生器時,有兩種方案:一種是用晶體震蕩器,另一種方案是采用集成電路555定時器與電阻和電容組成的多諧振蕩器。秒表核心部分使用六個74161計數(shù)器采用串聯(lián)方式構(gòu)成,這種連接方式簡單,使用元器件數(shù)量少。因為對秒表的精度要求高,故CP脈沖是由石英振蕩器產(chǎn)生的,而沒有用555構(gòu)成的多諧振蕩器??傮w設(shè)計方案框圖及分析: 通

9、過以上的分析,查閱相關(guān)資料后,得數(shù)字式秒表的原理方框圖如圖1所示。圖1數(shù)字秒表的原理方框圖本電路由啟動、清零復(fù)位電路、多諧振蕩電路、分頻計數(shù)電路、譯碼顯示電路等組成,整體上是按照基準脈沖產(chǎn)生部分,控制部分和計數(shù)、譯碼、顯示部分這三大部分來設(shè)計的。3 硬件電路設(shè)計硬件電路由啟動、清零復(fù)位電路、多諧振蕩電路、分頻計數(shù)電路、譯碼顯示電路等組成,整體上是按照基準脈沖產(chǎn)生控制部分和計數(shù)、譯碼、顯示部分這三大部分來設(shè)計的3.1基準脈沖的獲取1.方案一:由555構(gòu)成多諧振蕩器555 定時器是一種模擬和數(shù)字功能相結(jié)合的中規(guī)模集成器件,它的電源電壓范圍寬,可在 4.5V16V 工作,輸出驅(qū)動電流大約為 200m

10、A,因而它的輸出可與 TTL、CMOS 或者模擬電路電平兼容。 555 定時器成本低,性能可靠,只需要外接幾個電阻、電容,就可以實現(xiàn)多諧振蕩器、單穩(wěn)態(tài)觸發(fā)器及施密特觸發(fā)器等脈沖產(chǎn)生與變換電路。它也常作為定時器廣泛應(yīng)用于儀器儀表、家用電器、電子測量及自動控制等方面。555 定時器的內(nèi)部電路框圖和外引腳排列R如圖1.2 所示。它內(nèi)部包括兩個電壓比較器,三個等值串聯(lián)電阻,一個 RS 觸發(fā)器,一個放電管 T 及功率輸出級。它提供兩個基準電壓VCC /3 和 2VCC /3。555 定時器的功能主要由兩個比較器決定。兩個比較器的輸出電壓控制 RS 觸發(fā)器和放電管的狀態(tài)。在電源與地之間加上電壓,當 5 腳

11、懸空時,則電壓比較器 C1 的同相輸入端的電壓為 2VCC /3,C2 的反相輸入端的電壓為VCC /3。若觸發(fā)輸入端 TR 的電壓小于VCC /3,則比較器 C2 的輸出為 0,可使 RS 觸發(fā)器置 1,使輸出端 OUT=1。如果閾值輸入端 TH 的電壓大于 2VCC/3,同時 TR 端的電壓大于VCC /3,則 C1 的輸出為 0,C2 的輸出為 1,可將 RS 觸發(fā)器置 0,使輸出為 0 電平。由555定時器構(gòu)成的多諧振蕩器如圖1.3(a)所示,圖1.3(b)為其工作波形。圖2 555構(gòu)成的多諧振蕩器其工作原理如下:接通電源后,VCC經(jīng)R1、 R2給電容C充電。由于電容上電壓不能突變,電

12、源剛接通時CVCC3,所以555內(nèi)部比較器A1輸出高電平,A2輸出低電平,即RD=1,SD=0,基本RS觸發(fā)器置1,輸出端Q為高電平。此時Q=O,使內(nèi)部放電管截止。 當C上升到大于Vcc3時,RD=1,SD=1,基本RS觸發(fā)器狀態(tài)不變,即輸出端Q仍為高電平,當VC上升到略大于2VCC3時,RD =0,SD=1,基本RS觸發(fā)器置0,輸出端Q為低電平。這時Q=1,使內(nèi)部放電管飽合導(dǎo)通。于是電容C經(jīng)R2和內(nèi)部放電管放電,c按指數(shù)規(guī)律減小。當C下降略小于Vcc3時,內(nèi)部比較器A1輸出高電平,A2輸出低電平,基本RS觸發(fā)器置1,輸出高電平。這時,Q=0,內(nèi)部放電管截止。于是C結(jié)束放電并重新開始充電。如此

13、循環(huán)不止,輸出端就得到一系列矩形脈沖,如圖1.3(b)所示。由圖可見,C將在Vcc3和2VCC3之間變化,因而可求得電容C上的充電時間和放電時間充電時間 放電時間 矩形波的振蕩周期因此改變、和電容C的值,便可改變矩形波的周期和頻率。當矩形波的頻率f=100 Hz時,振蕩周期T=0.01s。當取C=0.1F,R1=40千歐,若使T=0.01s,那么,R251千歐。取一固定電阻47千歐與一5千歐的電位器相串聯(lián)代替電阻R2。在調(diào)試電路時,調(diào)節(jié)電位器RP,使輸出脈沖周期為0.01s,即可獲得所需的基準脈沖。2.方案二:由石英晶體構(gòu)成的多諧振蕩器在對頻率的穩(wěn)定性要求較高的電路中,應(yīng)采用頻率穩(wěn)定性很高的石

14、英晶體振蕩器,圖3給出了兩種常見的石英晶體振蕩電路。圖3 石英晶體振蕩電路石英晶體振蕩電路的諧振頻率由石英晶體的固有頻率決定,故圖 1.4中的兩電路輸出的波形的振蕩頻率均為1M Kz,電路中其它元器件對輸出波形頻率的影響極為有限。只是石英晶體振蕩器產(chǎn)生的頻率很高,要得到基準毫秒脈沖,還需要用分頻電路。振蕩器輸出1M Kz信號,為了得到100 Hz的振蕩脈沖,可以進行10 000分之一的分頻。3.兩種方案的比較與選擇首先,555多諧振蕩器的振蕩頻率不可能是某一精確值,即它的振蕩頻率不可能達到100 Hz;其次,因為555多諧振蕩器的振蕩,故頻率還受電阻R1、R2和電容C的影響,當它們中的任一值變

15、動時,振蕩頻率就受到影響;最后,上述555振蕩電路中的振蕩頻率是由門電路輸入電壓上升到轉(zhuǎn)換電平所需要時間來決定的,由于受電源電壓、溫度變化以及某些干擾因素的影響,門電路的轉(zhuǎn)換時間不可能十分精確和穩(wěn)定,可見,上述振蕩電路的振蕩頻率極不穩(wěn)定。而石英晶體振蕩器則可以克服以上缺點。石英晶體多諧振蕩器是一種產(chǎn)生高穩(wěn)定度的脈沖振蕩器,它有極高的頻率穩(wěn)定性,而且品質(zhì)因數(shù)又高,因此它有極好的選頻特性。當外加電壓頻率等于石英晶體的固有頻率f0時,它的阻抗最小,頻率為f0的電壓信號最容易通過,并在電路中形成正反饋而使電路振蕩。石英晶體多諧振蕩器的振蕩頻率只取決于石英晶體的固有頻率f0,而與外接的R、C元件無關(guān)。此

16、外,石英晶體振蕩器的電路結(jié)構(gòu)簡單、頻率易調(diào)整。但是,石英晶體振蕩器產(chǎn)生的振蕩脈沖的頻率過高,為了的到基準脈沖,還需要外加分頻電路,555多諧振蕩器則不需如此。在電子秒表的設(shè)計中,選擇了方案二。盡管方案二需要使用分頻電路,增加了電路中使用的元件數(shù),但秒表的計時一定要可靠、精準,與555多諧振蕩器相比,石英晶體振蕩器在振蕩頻率的穩(wěn)定性上剛好符合設(shè)計需要。4.分頻電路的設(shè)計由于要求得到的基準脈沖的頻率是100 Hz,而石英晶體振蕩器產(chǎn)生的頻率過大,需要進行分頻。分頻電路有多種選擇方案,可以使用專用的分頻器,也可通過觸發(fā)器進行分頻,還可以用計數(shù)器分頻,本次設(shè)計中用10進制計數(shù)器74HC160對1M K

17、z進行分頻,因為是取10 000分之一,所以使用了4個計數(shù)器,盡管用74HC160較多,有點浪費,但其在電路中的連接方式較為簡單。 74HC160是同步十進制加法計數(shù)器,它有異步清零、同步置數(shù)等功能。圖4為它的邏輯符號圖。圖4 74HC160的邏輯方框圖74HC160的狀態(tài)轉(zhuǎn)換表和時序波形圖分別如表1.1和圖5所示表1 74HC160的狀態(tài)轉(zhuǎn)換表圖5 74HC160的時序波形圖通過對表1和圖5的分析,可以看出,從CP端輸入十個矩形脈沖,而從74HC160的進位輸出端知輸出一個矩形脈沖,可見,當把前一個74160的進位輸出端作為下一個74160的脈沖輸入端,即可達到十分頻的目的。由于晶體振蕩器的

18、輸出為1M Kz的脈沖信號,為了得到100 Hz的振蕩脈沖,要進行10 000分之一的分頻,故需要四個74160來對振蕩輸出脈沖進行分頻。基準脈沖的產(chǎn)生電路如圖6所示。圖6 基準脈沖的產(chǎn)生電路3.2鍵盤及控制電路1.啟動和暫??刂崎_關(guān)啟動和暫??刂崎_關(guān)是由基本RS觸發(fā)器構(gòu)成的?;綬S觸發(fā)器是由兩個與非門交叉耦合而成的,是TTL觸發(fā)器的最基本組成部分,其邏輯圖如圖7所示,它能夠存儲1位二進制信息,但存在 R+S =1的約束條件。圖7 RS觸發(fā)器邏輯電路和邏輯符號基本RS觸發(fā)器的用途之一是作無抖動開關(guān)。例如觸發(fā)器是具有記憶功能的二進制信息存儲器件,是時序邏輯電路的基本器件之一。在圖1.9(a)所

19、示的電路中通過希望在開關(guān)S閉合時,A點電壓的變化是從+5V到0V的清楚躍遷,但是由于機械開關(guān)的接觸抖動,往往在幾十毫秒內(nèi)電壓會出現(xiàn)多次抖動,相當于連續(xù)出現(xiàn)了幾個脈沖信號。顯然,用這樣的開關(guān)產(chǎn)生的信號直接作為電路的驅(qū)動信號可能導(dǎo)致電路產(chǎn)生錯誤動作,這在有些情況下是不允許的。為了消除開關(guān)的接觸抖動,可在機械開關(guān)與驅(qū)動電路間接入一個基本RS觸發(fā)器,把帶RS觸發(fā)器的無抖動的開關(guān)稱為邏輯開關(guān)。在秒表的設(shè)計電路圖中,啟動和暫停控制開關(guān)電路如下圖8所示。圖8 控制電路由圖知,當開關(guān)J1和開關(guān)J2都打開時,基本RS觸發(fā)器的兩輸入端都是1,觸發(fā)器輸出保持原狀態(tài)不變。當開關(guān)J1閉合是,Q輸出1,基準脈沖可以輸入到

20、計數(shù)單元,秒表起動計時;當開關(guān)J2閉合是,Q輸出0,基準脈沖無法輸入到計數(shù)單元,秒表暫停計時。若要繼續(xù)計時,合上開關(guān)J1即可。2.清零開關(guān)的設(shè)計清零功能的實現(xiàn)相對而言比較簡單。把計數(shù)單元的所有74LS161的清零控制端Rd連接在一起,通過一個開關(guān)接地,需要清零時,閉合開關(guān)就行。圖9 復(fù)位電路3.3計數(shù)、譯碼及顯示電路1.計數(shù)器的設(shè)計秒表中的計數(shù)器是由74LS161構(gòu)成的。74LS161是集成同步二進制計數(shù)器,該計數(shù)器具有同步預(yù)置、異步清零、計數(shù)和保持四種功能,且有進位信號輸出端,可串接計數(shù)使用。它的引腳圖見圖9。圖9 74LS161引腳圖60進制計數(shù)器也是用乘數(shù)法構(gòu)成的,它是由一個十進制計數(shù)器

21、和一個六進制計數(shù)器級聯(lián)而成。如圖10圖10 60進制計數(shù)器2.譯碼顯示電路本設(shè)計中選用的74LS48是BCD碼七段譯碼器兼驅(qū)動器,輸出端(YaYg)為高電平有效,可驅(qū)動共陰極LED顯示器,其外引線排列圖如圖11所示。圖11 74LS48 外引線排列圖顯示器采用七段發(fā)光二極管顯示器,它可直接顯示出譯碼器輸出的十進制數(shù)。七段發(fā)光顯示器有共陽和共陰兩種接法。與74LS48譯碼器配套的顯示器為共陰型。七段顯示器的7段數(shù)碼管結(jié)構(gòu)如圖11所示圖11 7段數(shù)碼 管結(jié)構(gòu)圖4 數(shù)字秒表系統(tǒng)軟件設(shè)計本系統(tǒng)系統(tǒng)軟件設(shè)計主要包括數(shù)碼顯示和復(fù)位鍵,開始鍵,停止鍵。本章節(jié)系統(tǒng)的介紹了數(shù)字秒表的主程序和中斷程序的設(shè)計流程。

22、4.1 主程序軟件設(shè)計4.2 中斷服務(wù)程序設(shè)計中斷是指計算機在執(zhí)行程序的過程中,當出現(xiàn)異常情況或特殊請求時,計算機停止現(xiàn)行程序的運行,轉(zhuǎn)向?qū)@些異常情況或特殊請求的處理,處理結(jié)束后再返回現(xiàn)行程序的間斷處,繼續(xù)執(zhí)行原程序。 中斷是單片機實時地處理內(nèi)部或外部事件的一種內(nèi)部機制。當某種內(nèi)部或外部事件發(fā)生時,單片機的中斷系統(tǒng)將迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進行中斷事件的處理,中斷處理完畢后,又返回被中斷的程序處,繼續(xù)執(zhí)行下去。中斷源中斷標志中斷服務(wù)程序入口優(yōu)先級順序外部中斷0IE00003H0 定時/計數(shù)器TF0000BH 1外部中斷1IE10013H2定時/計數(shù)器1TF1001BH3串行口EI

23、或TI0023H4PDJW現(xiàn)場保護計數(shù)器重加載循環(huán)次數(shù)減1是否滿8次毫秒值加1是否滿60毫秒緩沖清零秒值加1是否60S秒顯緩沖清零分顯示加1是否滿60分顯示清零現(xiàn)場恢復(fù)YNNNNYYY5調(diào)試與仿真5.1軟件調(diào)試與燒寫Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你

24、使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)

25、境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。圖12為在編輯程序時所用的軟件KILE.通過此程序?qū)浖M行編輯,編譯,調(diào)試。圖12 燒寫過程5.2 硬件仿真Proteus軟件是

26、英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、

27、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。比如:原理布圖;PCB自動或人工布線;SPICE電路仿真;互動的電路仿真 ;用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。6. 結(jié) 論單片機可以應(yīng)用于各個領(lǐng)域,而單片機本身也是融合了各個領(lǐng)域的知識。我們可以通過

28、單片機去實現(xiàn)很多的電子產(chǎn)品,因為它的應(yīng)用領(lǐng)域非常的廣泛,所以發(fā)展很迅速。本次設(shè)計,先通過KEIL軟件對軟件進行編輯、調(diào)試、編譯,通過此次長達數(shù)天的編輯,對單片機C語言編寫應(yīng)用的更加熟練;然后通過STC-ISP軟件學(xué)習如果在單片機種下載程序代碼;通過proteus軟件,對數(shù)字秒表的硬件進行仿真。本次設(shè)計時以單片機為中心進行設(shè)計,但是僅僅有單片機的知識還不夠,同時還需要具有硬件的知識和軟件的知識,并將它們有機的結(jié)合起來。首先要通過硬件知識去設(shè)計整個電路,然后通過C語言去寫數(shù)字秒表的C語言設(shè)計。同時,由于STC89C52單片機的ROM只有8KB,所以還要注意內(nèi)存的應(yīng)用;還要注意如何設(shè)計硬件和軟件,去

29、增加運行速度和計數(shù)精度。本次設(shè)計的數(shù)字秒表結(jié)構(gòu)簡單,但是對以后來說卻是很好的經(jīng)歷。參考文獻:1閻石.數(shù)字電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2006年5月第5版2胡健,劉玉賓,朱煥立等.單片機原理及接口技術(shù)M.北京:機械工業(yè)出版社,2009年7月第一版3郭天祥.51單片機C語言教程M.北京:電子工業(yè)出版社,2009年12月第一版4譚浩強.C程序設(shè)計M.北京:清華大學(xué)出版社,2005年7月第三版.附錄附錄一 系統(tǒng)原理圖 附錄二 源程序代碼ORG 0000H START: LJMP MAIN ORG 000BH LJMP PDJW;*;系統(tǒng)監(jiān)控程序區(qū) ORG 0030HMAIN: MOV PSW

30、, #00H MOV SP, #7FH ;確立堆棧區(qū) MOV R0, #20H ;RAM區(qū)首地址 MOV R7, #96 ;RAM區(qū)單元個數(shù) MOVTMOD,#01H SETB EA SETBET0ML: MOV R0, #00H INC R0 DJNZ R7, MLTSF: MOV DPTR, #DISBH ;系統(tǒng)初始化后提示符“P.”字符代碼表首地址 MOV R5, #08H MOV R0, #78HDISPTSF:CLR A MOVC A, A+DPTR MOV R0, A INC R0 INC DPTR DJNZ R5, DISPTSFKEY0:LCALLDISP LCALL KEYJ

31、B 20H.0, K1JB 20H.1, K2JB 20H.2, K3LJMP KEY0KEY00: LCALL KEY LCALL DISPJB 20H.2, K3LJMP KEY00 K1: JB 22H.1, KEY0;如果此時為暫停狀態(tài),本次按鍵K1無效CPL 22H.0 JB 22H.0, K01 ;高電平則計時 CLR TR0 ;低電平則停止 LCALL DISPLJMP KEY00K01: MOV 7AH, #12H ;從零開始計時 MOV 7DH, #12H MOV 7FH, #10H MOV 78H, #00H MOV 79H, #00H MOV 7BH, #00H MOV

32、7CH, #00H MOV 7EH, #00H MOV 7FH, #00H LCALL DISP MOV TH0, #0D8H MOV TL0, #0F0H SETB TR0;啟動定時器 LJMP KEY0K2: JB 22H.0, K21 ;判斷秒表是否啟動,如不是啟動狀態(tài)則此次按鍵無效 LJMP KEY0K21: CPL22H.1 JB 22H.1, K22 SETB TR0 ;繼續(xù)計時LJMP KEY0K22: CLR TR0 ;暫停秒表 LCALL DISPLJMP KEY0 K3:JB22H.0, KEY0 ;只有當停止是,清零鍵才有效MOV R0, #79H ;秒表清零 LCALL

33、 CLR00MOV R0, #7CH LCALL CLR00MOV R0, #7FH LCALL CLR00 LJMP KEY0PDJW: PUSH PSW PUSH ACCMOV TMOD, #01H ;定時器以工作方式1工作SETB RS1 ;設(shè)定組號為2組CLR RS0MOVTH0,#0D8HMOVTL0,#0F0HMOV R0, #79HLCALL ADD01CJNE R2, #99, RETT ;判斷1秒到?jīng)]MOV R0, #7CH LCALL ADD01CJNE R2, #60, RETT ;判斷60毫秒到?jīng)]LCALL CLR00MOV R0, #7FHLCALL ADD01CJNE R2, #60H, RETT ;判斷60分到?jīng)]LCALL CLR00RETT: POP ACC POP PSWRETI;*;常數(shù)表格區(qū);系統(tǒng)初始化后提示符“P.”字符代碼表;DISBH: DB 10H,10H,10H,10H,10H,10H,10H,11H ;提示符“P.”字符序號;顯示字符段選碼表(共陽極代碼)TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8 DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F

溫馨提示

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

評論

0/150

提交評論