2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p>  項(xiàng)目名稱 基于單片機(jī)的秒表設(shè)計(jì) </p><p>  專業(yè)班級(jí) </p><p>  學(xué)生姓名 </p&g

2、t;<p>  指導(dǎo)教師 … </p><p>  2012年11 月20日</p><p><b>  摘 要</b></p><p>  本課程設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用AT89C51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以

3、及外部中斷電路來設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)五位LED顯示,顯示時(shí)間為0~99.99秒,計(jì)時(shí)精度為0.01秒,能精確地進(jìn)行計(jì)時(shí),并可以隨時(shí)暫停和開始。軟件系統(tǒng)采用C語言編寫,包括顯示程序,定時(shí)中斷服務(wù),外部中斷服務(wù)程序,延時(shí)程序等,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來實(shí)現(xiàn),簡單且易于觀察,在仿真中就可以觀察到系統(tǒng)實(shí)際的工作狀態(tài)。</p><p>  關(guān)鍵詞:AT89C51單片機(jī) ;數(shù)字

4、秒表 ;數(shù)碼管</p><p><b>  Abstract</b></p><p>  This course is designed digital electronic stopwatch system uses the AT89C51 microcontroller devices, the use of timer / counter timing and

5、counting principle, combined with the display circuit LED digital tube as well as the external interrupt circuit designed timer. The hardware and software combine to enable the system to achieve five LED display, the dis

6、play time of 99.99 seconds, the timing accuracy of 0.01 seconds, the correct timing, and the right to suspend and start. Software system usi</p><p>  Keywords: AT89C51 Microcontroller; Digital stopwatch; Dig

7、ital tubes </p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  第1章 緒論1</b></p><p><b>

8、  1.1 概述1</b></p><p>  1.2 定時(shí)器術(shù)的研究現(xiàn)狀1</p><p>  1.2.1 定時(shí)器的應(yīng)用1</p><p>  1.2.2 定時(shí)器定時(shí)軟件2</p><p>  1.3 本文研究的意義2</p><p>  第2章 系統(tǒng)總體設(shè)計(jì)3</p>

9、<p>  2.1 總體方案的設(shè)計(jì)3</p><p>  2.2 系統(tǒng)總電路的設(shè)計(jì)3</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)5</p><p>  3.1 單片機(jī)的選擇5</p><p>  3.2 顯示電路的選擇與設(shè)計(jì)6</p><p>  3.3 復(fù)位電路模塊8</p&

10、gt;<p>  3.4 系統(tǒng)總體設(shè)計(jì)8</p><p>  第4章 系統(tǒng)的軟件設(shè)計(jì)10</p><p>  第5章 實(shí)物焊接、仿真與調(diào)試12</p><p>  5.1 軟件的仿真與調(diào)試12</p><p>  5.2 硬件的安裝與調(diào)試13</p><p>  第6章 結(jié)論14&

11、lt;/p><p><b>  致謝15</b></p><p><b>  參考文獻(xiàn)16</b></p><p><b>  附錄117</b></p><p><b>  源程序代碼17</b></p><p><b&

12、gt;  附錄220</b></p><p><b>  軟件仿真截圖20</b></p><p><b>  附錄321</b></p><p><b>  實(shí)物照片展示21</b></p><p><b>  第1章 緒論</b>

13、</p><p><b>  1.1 概述</b></p><p>  人類最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計(jì)時(shí)工具來改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的目的。</p><p>  1876年,英國外科醫(yī)生索加取得一項(xiàng)定時(shí)裝置的專利,用來控制煤氣街燈的開關(guān)。它利用機(jī)械鐘帶動(dòng)開關(guān)來控制煤氣閥門。起初

14、每周上一次發(fā)條,1918年使用電鐘計(jì)時(shí)后,就不用上發(fā)條了。定時(shí)器確實(shí)是一項(xiàng)了不起的發(fā)明,使相當(dāng)多需要人控制時(shí)間的工作變得簡單了許多。人們甚至將定時(shí)器用在了軍事方面,制成了定時(shí)炸彈,定時(shí)雷管?,F(xiàn)在的不少家用電器都安裝了定時(shí)器來控制開關(guān)或工作時(shí)間。</p><p>  秒表計(jì)時(shí)器是電器制造,工業(yè)自動(dòng)化控制、國防、實(shí)驗(yàn)室及科研單位理想的計(jì)時(shí)儀器,它廣泛應(yīng)用于各種繼電器、電磁開關(guān),控制器、延時(shí)器、定時(shí)器等的時(shí)間測試。&l

15、t;/p><p>  在現(xiàn)在的體育競技比賽中,隨著運(yùn)動(dòng)員的水平不斷提高,差距也在不斷縮小。有些運(yùn)動(dòng)對(duì)時(shí)間精度的要求也越來越高,有時(shí)比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來記錄成績。</p><p>  1.2 定時(shí)器術(shù)的研究現(xiàn)狀</p><p>  1.2.1 定時(shí)器的應(yīng)用</p><p>  1、 接通延時(shí)型定時(shí)器:接通延時(shí)

16、型定時(shí)器是各種PLC中最常見最基本的定時(shí)器,這種定時(shí)器在 SIEMENS的PLC中,稱為SD型定時(shí)器  </p><p>  2、 斷開延時(shí)型定時(shí)器:這種定時(shí)器是當(dāng)輸入條件00000為ON時(shí)無延時(shí)作用,只有在輸入條件00000為OFF時(shí)產(chǎn)生延時(shí)作用。在SIEMENS的PLC中,稱為SF型定時(shí)器。 </p><p>  保持型接通延時(shí)定時(shí)器:這種定時(shí)器是當(dāng)輸入條件00000為ON后,即產(chǎn)生鎖

17、存功能,即使輸入條件00000又變?yōu)镺FF,仍視輸入條件為ON,當(dāng)定時(shí)器的當(dāng)前值等于設(shè)定值時(shí),定時(shí)器動(dòng)作,這種定時(shí)器在SIEMENS的PLC中,稱為SS型定時(shí)器。</p><p>  4、脈沖型定時(shí)器:這種定時(shí)器是當(dāng)輸入條件00000為ON后,定時(shí)器即時(shí)動(dòng)作,但經(jīng)過定時(shí)器所設(shè)定的時(shí)間后,即使輸入條件00000仍為ON,定時(shí)器卻變?yōu)镺FF狀態(tài)。即這種定時(shí)器ON狀態(tài)的維持時(shí)間是由設(shè)定值決定的。如果00000為ON的時(shí)

18、續(xù)時(shí)間小于定時(shí)器的設(shè)定值,定時(shí)器的ON狀態(tài)維持時(shí)間為輸入條件00000為ON的持續(xù)時(shí)間。這種定時(shí)器在SIEMENS的PLC中,稱為SP型定時(shí)器。   </p><p>  5、擴(kuò)張型脈沖定時(shí)器:這種定時(shí)器與脈沖型定時(shí)器的區(qū)別是,只要輸入條件00000出現(xiàn)了ON狀態(tài),不管其持續(xù)時(shí)間多長,均可使定時(shí)器為ON的維持的時(shí)間與定時(shí)器的設(shè)定值一致。這種定時(shí)器在SIEMENS的PLC中,稱為SE型定時(shí)器。</p>

19、<p>  1.2.2 定時(shí)器定時(shí)軟件</p><p>  是一個(gè)多任務(wù)定時(shí)提醒的軟件,它全面支持WINDOWS 9X/ME/NT/2K/XP按時(shí)執(zhí)行程序、播放聲音、關(guān)機(jī)、待機(jī)、撥號(hào)、斷開連接、關(guān)閉顯示器等等操作。具有多種設(shè)定任務(wù)的方法。支持SKIN,可以隨意更換界面。    </p><p>  工業(yè)用定時(shí)器是指輸入信號(hào)進(jìn)入后,按預(yù)先設(shè)定的時(shí)間發(fā)送輸出信號(hào)的控制設(shè)備。定時(shí)

20、器的開始方法 動(dòng)作模式有2種開始方法。   </p><p>  例:ON延遲動(dòng)作,信號(hào)ON延遲動(dòng)作:預(yù)先在定時(shí)器電源部施加電壓的狀態(tài)下輸入進(jìn)入輸入部開始計(jì)時(shí)動(dòng)作。電源ON延遲動(dòng)作:定時(shí)器的電源部上施加電壓的話定時(shí)器開始動(dòng)作。</p><p>  1.3 本文研究的意義</p><p>  目前,定時(shí)器確實(shí)是一項(xiàng)了不起的發(fā)明,使相當(dāng)多需要人控制時(shí)間的工作變得簡單了

21、許多。人們甚至將定時(shí)器用在了軍事方面,制成了定時(shí)炸彈,定時(shí)雷管?,F(xiàn)在的不少家用電器都安裝了定時(shí)器來控制開關(guān)或工作時(shí)間。所以,定時(shí)器的研究對(duì)我們現(xiàn)在以及將來的生活具有十分重要的現(xiàn)實(shí)意義。</p><p>  本課程設(shè)計(jì)是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實(shí)踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計(jì),要求學(xué)生更多的完成軟硬件結(jié)合的動(dòng)手實(shí)踐方案,解決目前學(xué)生課程實(shí)際過程中普遍存在的缺乏動(dòng)手能力的現(xiàn)象。其目的和任務(wù)是訓(xùn)練學(xué)生

22、綜合運(yùn)用已學(xué)習(xí)的課程“單片機(jī)原理及應(yīng)用”、“數(shù)字電子技術(shù)”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測。</p><p>  本設(shè)計(jì)利用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.3口作列掃描輸出,P1.0、P1.1、P1.2、P1.3、P1.4分別接五個(gè)按鈕

23、開關(guān),分別實(shí)現(xiàn)開始/暫停、清零和可增加的拓展功能。顯示部分由四位共陰極數(shù)碼管組成。</p><p>  初始狀態(tài)下計(jì)時(shí)器顯示00.00,當(dāng)按下開始鍵時(shí),外部中斷INT0向AT89C51發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務(wù)程序,即開啟定時(shí)器T0。計(jì)時(shí)采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為1ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一

24、,依次類推,直到99.99秒重新復(fù)位。</p><p>  本論文主要內(nèi)容包括三部分:第一部分介紹硬件部分設(shè)計(jì)思路及方案;第二部分介紹了軟件部分的設(shè)計(jì)思路和設(shè)計(jì);最后一部分則是整個(gè)系統(tǒng)的安裝與調(diào)試過程。</p><p>  第2章 系統(tǒng)總體設(shè)計(jì)</p><p>  2.1 總體方案的設(shè)計(jì)</p><p>  數(shù)字電子秒表具有顯示直觀、讀取

25、方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標(biāo)。</p><p>  設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,計(jì)時(shí)與顯示電路和回零、啟動(dòng)和停表電路等。主控制器采用單片機(jī)AT89C51,顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。利用定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),

26、P2.0-P2.3口作列掃描輸出,P1.0、P1.1、P1.2、P1.3、P1.4分別接五個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始/暫停、清零和可增加的拓展功能。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照?qǐng)D1.1進(jìn)行設(shè)計(jì)。</p><p>  圖2-1 數(shù)字秒表硬件電路基本原理圖</p><p>  根據(jù)要求知道秒表設(shè)計(jì)主要實(shí)現(xiàn)的功能是計(jì)時(shí)和

27、顯示。計(jì)時(shí)部分采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為1ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一,依次類推,直到99.99秒重新復(fù)位。 </p><p>  再看按鍵的處理,通常對(duì)于按鍵的處理有中斷和掃描兩種方法。本設(shè)計(jì)的這五個(gè)鍵則是采用掃描的方法來識(shí)別。復(fù)位鍵的功能在于數(shù)值復(fù)位,而開始和停止鍵則是用于對(duì)時(shí)間的鎖定,因此可以對(duì)復(fù)位、暫

28、停/開始按鍵采取掃描的方式。</p><p>  2.2 系統(tǒng)總電路的設(shè)計(jì)</p><p>  系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,時(shí)鐘電路,按鍵電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖附錄B所示。</p><p>  AT89C51單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工

29、作。</p><p>  AT89C51單片機(jī)提供了XTAL1和XTAL2兩個(gè)專用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。</p><p>  復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個(gè)專用的硬件復(fù)位接口,并設(shè)置為高電平有效。</p><p>  顯示電路由

30、四位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有八位段控制端和四位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,單片機(jī)的P0口沒有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動(dòng)能力。四位位控制則由低位到高位分別接到P2.0~P2.3口,當(dāng)P2.0~P2.4端口任意一個(gè)端口為高電平時(shí),對(duì)應(yīng)的數(shù)碼管導(dǎo)通顯示。</p><p>  通過以

31、上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)基本完成,剩下的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的全部功能。</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)</p><p>  3.1 單片機(jī)的選擇</p><p>  本課題在選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn),并根據(jù)自己的實(shí)際情況,選擇了ATMEL公司的A

32、T89C51型單片機(jī)。</p><p>  圖3-1 AT89C51單片機(jī)引腳圖</p><p>  AT89C51單片機(jī)采用40引腳的雙列直插封裝方式。圖2-2為引腳排列圖,40條引腳說明如下:</p><p>  主電源引腳Vss和Vcc</p><p><b>  1. Vss接地</b></p>&

33、lt;p>  2. Vcc接+5伏電源</p><p>  外接晶振引腳XTAL1和XTAL2</p><p>  1. XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。 </p><p>  2. XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。<

34、;/p><p>  控制或與其它電源復(fù)用引腳RST/VPD,ALE/,和/Vpp</p><p>  1. RST/VPD 當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。</p><p>  2. ALE/正常操作時(shí)為ALE功能(允許地址鎖

35、存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳接收編程脈沖(功能)</p><p>  3. 外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令(或數(shù)據(jù))期間,在每個(gè)機(jī)器周期內(nèi)兩次有效。同樣可以驅(qū)動(dòng)八LSTTL輸入。</p><p

36、>  4. /Vpp、/Vpp為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)/Vpp為高電平時(shí),訪問內(nèi)部程序存儲(chǔ)器,當(dāng)/Vpp為低電平時(shí),則訪問外部程序存儲(chǔ)器。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。</p><p>  輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7</p><

37、p>  1. P0口(P0.0 - P0.7)是一個(gè)8位漏極開路型雙向I/O口,在訪問外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。</p><p>  2. P1口(P1.0 - P1.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p><p>  3. P2口(P2.0 - P2

38、.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲(chǔ)器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p><p>  4. P3口(P3.0 - P3.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p><p>  3.2 顯示電路的選擇與設(shè)計(jì)</p><p>  對(duì)于數(shù)

39、字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。本設(shè)計(jì)的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。</p><p>  數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用四位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜。所以采用動(dòng)態(tài)顯示。 </p><p>  動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)

40、8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的感覺。</p><p>  圖3

41、-2 顯示電路基本原理圖</p><p>  數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種</p><p>  共陽極數(shù)碼管的8個(gè)發(fā)光二極管的陽極(二極管正端)連接在一起,如圖1.4(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定

42、的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。</p><p>  共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,如圖(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確

43、定相應(yīng)的限流電阻。</p><p>  圖3-3 (a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結(jié)構(gòu)圖 (c)共陰極內(nèi)部結(jié)構(gòu)圖</p><p>  本設(shè)計(jì)采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為高電平,那么其對(duì)應(yīng)的二極管就會(huì)發(fā)光,使數(shù)碼顯示管顯示0~9的編碼見表1.1。</p><p>  表3-1 共

44、陰極數(shù)碼顯示管字型代碼</p><p>  3.3 復(fù)位電路模塊</p><p>  為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí)

45、,復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作。</p><p>  圖3-4 復(fù)位模塊電路圖</p><p>  3.4 系統(tǒng)總體設(shè)計(jì)</p><p>  本設(shè)計(jì)利用AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.3口作列掃描輸出,P1.0、P1.1、P1.2、P1.3、P

46、1.4分別接五個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始/暫停、清零和可增加的拓展功能。顯示部分由四位共陰極數(shù)碼管組成。系統(tǒng)總體圖如下:</p><p>  圖3-5 系統(tǒng)總體設(shè)計(jì)電路圖</p><p>  第4章 系統(tǒng)的軟件設(shè)計(jì)</p><p>  在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一個(gè)多功能的復(fù)雜的程序劃分為若干個(gè)簡單的、功能單一的程序模塊,有利于

47、程序的設(shè)計(jì)和調(diào)試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。</p><p>  圖4-1 主程序流程圖</p><p>  方案中采用了定時(shí)中斷T0。CPU在響應(yīng)中斷時(shí),先處理高級(jí)中斷,在處理低級(jí)中斷,若有多個(gè)同級(jí)中斷時(shí),則按自然優(yōu)先順序處理。例如當(dāng)CPU正在處理一個(gè)中斷申請(qǐng)時(shí),有出現(xiàn)了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這是,CPU就暫停終止對(duì)當(dāng)前優(yōu)先級(jí)較

48、低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)比它高的中斷請(qǐng)求,并為其服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來較低級(jí)的中斷服務(wù)程序。而當(dāng)CPU為級(jí)別高的終端服務(wù)程序服務(wù)時(shí),如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí)CPU是不會(huì)響應(yīng)的。</p><p>  AT89C51單片機(jī)的自然優(yōu)先級(jí)順序排列如下:</p><p>  中斷源 最高</p

49、><p><b>  外部中斷0</b></p><p>  定時(shí)/計(jì)數(shù)器0溢出中斷</p><p><b>  外部中斷1</b></p><p>  定時(shí)/計(jì)數(shù)器1溢出中斷</p><p>  串行口中斷 最低

50、</p><p>  第5章 實(shí)物焊接、仿真與調(diào)試</p><p>  5.1 軟件的仿真與調(diào)試</p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件,它可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的主要特點(diǎn)總結(jié)后有以下四點(diǎn):①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合的功能。②支持目前主流單片機(jī)系統(tǒng)

51、的仿真。③提供了軟件調(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。④具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時(shí)間。</p><p>  Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面。它包括標(biāo)題欄、主菜單、狀態(tài)欄、標(biāo)準(zhǔn)工具欄

52、、繪圖工具欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口等十幾個(gè)工具,方便了使用者的使用。</p><p>  首先打開已經(jīng)畫好的proteus DSN文件,雙擊圖中的AT89C51芯片,就彈出一個(gè)窗口,在Program File項(xiàng)中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89C51芯片就已經(jīng)讀取了本設(shè)計(jì)中的HEX文件。單擊“三

53、角形按鈕”進(jìn)行仿真。通過對(duì)仿真結(jié)果的觀察來對(duì)程序進(jìn)行修改,最終使程序到達(dá)設(shè)計(jì)要求。</p><p>  圖5-1 proteus仿真圖</p><p>  5.2 硬件的安裝與調(diào)試</p><p>  按照之前設(shè)計(jì)好的數(shù)字電子秒表原理圖,詳細(xì)計(jì)算系統(tǒng)中各個(gè)元件的參數(shù),選擇相應(yīng)器件,焊接實(shí)際電路板。由于考慮到萬能板大小的問題及元件之間連線的方便,在焊接元器件前必須考

54、慮元件的布局然后進(jìn)行實(shí)際操作。</p><p>  制作好的電路板可以用萬用表(200歐姆檔)的紅、黑表筆測試電路板的每條走線,當(dāng)其電阻非常小時(shí),證明走線沒有斷開,當(dāng)其電阻很大時(shí),證明該條走線斷了,應(yīng)該重新走線,使電路板在電氣上得到正確地連接。選用萬用表的20K歐姆檔,檢測電路中是否存在短路。因?yàn)橄到y(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。</p><p>&

55、lt;b>  1.晶振電路的測試</b></p><p>  在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時(shí)鐘穩(wěn)定正常。實(shí)際中,因?yàn)楦鞣N原因?qū)е孪到y(tǒng)時(shí)鐘不正常而出現(xiàn)系統(tǒng)無法正常運(yùn)行的情況時(shí)有,因此系統(tǒng)時(shí)鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬用表的直流電壓檔(20V),分別測量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過程中,測得電壓XTAL1引腳應(yīng)為2.05V,XTAT2應(yīng)

56、為2.15V。</p><p><b>  2.復(fù)位電路的測試</b></p><p>  復(fù)位不正常也會(huì)導(dǎo)致系統(tǒng)不能工作。如果復(fù)位引腳始終為高電平,系統(tǒng)將始終處于復(fù)位狀態(tài);如果始終為低電平,不能產(chǎn)生復(fù)位所需的高電平信號(hào)脈沖,則系統(tǒng)也可能無法正常工作。單片機(jī)正常工作時(shí),RST復(fù)位引腳應(yīng)為0V,按下復(fù)位按鍵時(shí),復(fù)位引腳為高電平5V左右。</p><p

57、><b>  3.顯示電路的測試</b></p><p>  顯示電路是數(shù)字電子秒表正常運(yùn)行最直觀的觀察窗口,我們可以通過觀察顯示電路的顯示結(jié)果觀察系統(tǒng)能否正常運(yùn)行。當(dāng)顯示電路按照電路圖焊接好后,用萬用表的測二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當(dāng)數(shù)碼管的段能正常顯示,說明各點(diǎn)焊接正常。</p><p><b>  第6

58、章 結(jié)論</b></p><p>  本設(shè)計(jì)的數(shù)字電子秒表是由AT89C51單片機(jī)、共陰數(shù)碼顯示管、控制按鍵等器件構(gòu)成的,設(shè)有四位計(jì)時(shí)顯示,開始、暫停、復(fù)位按鍵以及一個(gè)系統(tǒng)整機(jī)復(fù)位按鈕。計(jì)時(shí)精度能到達(dá)10ms,設(shè)計(jì)精簡,使用簡單易懂。系統(tǒng)設(shè)計(jì)合理,線路簡單、功能先進(jìn),性能穩(wěn)定,程序精簡,并給出了詳細(xì)的電路設(shè)計(jì)方法。本系統(tǒng)是以單片機(jī)為核心,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)

59、用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。</p><p>  通過本次設(shè)計(jì),復(fù)習(xí)鞏固我們以前所學(xué)習(xí)的數(shù)字、模擬電子技術(shù)、單片機(jī)原理及應(yīng)用等課程知識(shí),加深對(duì)各門課程及相互關(guān)系的理解,并成功使用了Proteus、Keil和兩款電子軟件,使理論知識(shí)系統(tǒng)化、實(shí)用化,系統(tǒng)地掌握微機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,培養(yǎng)較強(qiáng)的編程能力、開發(fā)能力。</p><p>  同時(shí),在設(shè)計(jì)的過程中,我也發(fā)現(xiàn)了本系統(tǒng)的許多不足和可

60、以改進(jìn)的地方。但因時(shí)間緊迫等原因沒能改進(jìn)。本設(shè)計(jì)的數(shù)字電子秒表缺少對(duì)多次計(jì)時(shí)時(shí)間進(jìn)行記錄的功能。應(yīng)給在單片機(jī)的內(nèi)部存儲(chǔ)區(qū)多設(shè)置一些存儲(chǔ)空間,用來存儲(chǔ)多次計(jì)時(shí)時(shí)間。并在程序中編入對(duì)多次計(jì)時(shí)時(shí)間的調(diào)用顯示。雖然存在不足,但本設(shè)計(jì)的數(shù)字電子秒表仍具有它的實(shí)用性。</p><p>  做了將近兩周的課程設(shè)計(jì),讓我感受頗深,有很多知識(shí)是書本上學(xué)不到的知識(shí),這些都是需要親自動(dòng)手實(shí)踐的。</p><p>

61、;  通過10多天的努力,在向老師的請(qǐng)教和同學(xué)的幫助下我終于完成了單片機(jī)的課程設(shè)計(jì)。我覺得作為一名通信專業(yè)的學(xué)生,單片機(jī)的課程設(shè)計(jì)是十分有意義的。重要的是如何把自己平時(shí)所學(xué)的東西應(yīng)用到實(shí)際中。雖然自己對(duì)于這門課懂的并不多,很多基礎(chǔ)的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這一個(gè)多禮拜的努力,在同學(xué)的幫助和講解下,漸漸對(duì)這門課逐漸產(chǎn)生了些許的興趣,自己開始主動(dòng)學(xué)習(xí)并逐步從基礎(chǔ)慢慢開始弄懂它。我認(rèn)為這個(gè)收

62、獲應(yīng)該說是相當(dāng)大的。</p><p>  我覺得課程設(shè)計(jì)反映的是一個(gè)從理論到實(shí)際應(yīng)用的過程,但是更遠(yuǎn)一點(diǎn)可以聯(lián)系到以后畢業(yè)之后從學(xué)校轉(zhuǎn)到踏上社會(huì)的一個(gè)過程。向別人詢問、請(qǐng)教、配合﹑相處,以及自身的動(dòng)腦和努力,都是以后工作中需要的。</p><p><b>  致謝</b></p><p>  感謝我的導(dǎo)師朱恒軍老師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一

63、直是我工作、學(xué)習(xí)中的榜樣;他循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。</p><p>  感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報(bào),你們永遠(yuǎn)健康快樂是我最大的心愿。</p><p>  感謝我的室友們,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽。三年了,仿佛就在昨天。三年里,我們沒有紅過臉,沒有吵過嘴,沒有發(fā)生上大學(xué)前所擔(dān)心的任何不開心的事情。

64、</p><p>  在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張毅剛,彭喜元,彭宇.單片機(jī)原理及其應(yīng)用.2010 , 05 :(101-113).</p>

65、<p>  [2] 譚浩強(qiáng).C語言程序設(shè)計(jì)(第二版)[M],北京:清華大學(xué)出版社,1991.</p><p>  [3] 黃智偉.凌陽單片機(jī)課程設(shè)計(jì)指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2006.11.</p><p>  [4] 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)[M],北京:北京航空航天大學(xué)出版社,2001.7.</p><p>  [5] 趙曙

66、光,郭萬有,楊頌華.可編程邏輯器件原理開發(fā)與應(yīng)用[M],西安:西安電子科技大學(xué), 2000.</p><p>  [6] 候伯亨.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M], 西安:西安電子科技大學(xué)出版社, 1999.</p><p>  [7] 康華光. 模擬電子技術(shù)基礎(chǔ)(第四版)[M], 武漢:華中理工大學(xué)出版社,1999.</p><p><b>

67、  附錄1</b></p><p><b>  源程序代碼</b></p><p>  #include <reg51.h></p><p>  #define uchar unsigned char</p><p>  sbit P20=P2^0; // 數(shù)碼管位定義</p>

68、<p>  sbit P21=P2^1;</p><p>  sbit P22=P2^2;</p><p>  sbit P23=P2^3;</p><p>  sbit P27=P0^7; //控制小數(shù)點(diǎn)</p><p>  sbit KS=P1^0; //開始</p><p>  sbit KR=

69、P1^1; //復(fù)位</p><p>  uchar time,xs,ge,shi,bai,qian;</p><p>  uchar code tab[ ]={</p><p>  0x3F, /*0*/</p><p>  0x06, /*1*/</p><p>  0x5B,

70、 /*2*/</p><p>  0x4F, /*3*/</p><p>  0x66, /*4*/</p><p>  0x6D, /*5*/</p><p>  0x7D, /*6*/</p><p>  0x07, / *7*/</p><p&

71、gt;  0x7F, /*8*/</p><p>  0x6F, /*9*/</p><p>  }; // 數(shù)碼管顯示字符0-9</p><p>  void delay_ms(unsigned int ms) //1ms延時(shí)函數(shù)</p><p><b>  {</b><

72、/p><p><b>  uchar a;</b></p><p>  while(ms--)</p><p>  for(a=123;a>0;a--);</p><p><b>  }</b></p><p>  void display(); </p>&

73、lt;p>  void T0intinit( ) //定時(shí)器T0初始化</p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-10000)/256; //10ms定時(shí)</p><p>  TL0=(65536-10000)%25

74、6;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  }</b></p><p>  void main() //主程序</p><p>&

75、lt;b>  { </b></p><p>  T0intinit( ); //調(diào)用T0初始化函數(shù)</p><p>  while(1) //進(jìn)入循環(huán)</p><p><b>  { </b></p><p>  display( );

76、 //顯示</p><p>  while(!KS) //判斷是否有開始/暫停鍵按下</p><p><b>  { </b></p><p>  display( );</p><p><b>  if(KS)</b></p><p&

77、gt;<b>  TR0=!TR0;</b></p><p><b>  }</b></p><p>  while(!KR) //判斷是否有清零鍵按下</p><p><b>  {</b></p><p>  display( );</p>

78、<p>  if(KR) //全部歸零</p><p><b>  TR0=0;</b></p><p><b>  qian=0;</b></p><p><b>  bai=0;</b></p><p><b>  shi=0;<

79、;/b></p><p><b>  ge=0;</b></p><p><b>  }</b></p><p>  if(bai==10) //進(jìn)位</p><p><b>  {</b></p><p><b>  ba

80、i=0;</b></p><p><b>  qian++;</b></p><p><b>  }</b></p><p>  if(qian==10)</p><p><b>  {</b></p><p><b>  qian

81、=0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void di

82、splay( ) // 顯示函數(shù)</p><p><b>  {</b></p><p>  P23=0; //數(shù)碼管動(dòng)態(tài)顯示</p><p>  P0=tab[ge];</p><p>  delay_ms(1);</p><p><b>  P23=1;</b&g

83、t;</p><p><b>  P22=0;</b></p><p>  P0=tab[shi];</p><p>  delay_ms(1);</p><p><b>  P22=1;</b></p><p><b>  P21=0;</b><

84、/p><p>  P0=tab[bai]|0x80;</p><p>  delay_ms(1);</p><p><b>  P21=1;</b></p><p><b>  P20=0;</b></p><p>  P0=tab[qian];</p><p

85、>  delay_ms(1);</p><p><b>  P20=1;</b></p><p><b>  }</b></p><p>  void T0int( ) interrupt 1 //定時(shí)器T0中斷 方式1</p><p><b>  {</b&g

86、t;</p><p>  TH0=(65536-10000)/256; //重裝10ms定時(shí)常數(shù)</p><p>  TL0=(65536-10000)%256;</p><p><b>  ge++;</b></p><p>  if(ge==10)</p><p><b>

87、  {</b></p><p><b>  ge=0;</b></p><p><b>  shi++;</b></p><p><b>  }</b></p><p>  if(shi==10)</p><p><b>  {&l

88、t;/b></p><p><b>  shi=0;</b></p><p><b>  bai++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論