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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  倒 計(jì) 時(shí) 器</p><p><b>  設(shè)計(jì)要求:</b></p><p>  由單片機(jī)接收小鍵盤陣列設(shè)定倒計(jì)時(shí)時(shí)間,倒計(jì)時(shí)的范圍最大為60分鐘,由LED 顯示模塊顯示剩余時(shí)間,顯示格式為 XX(分):XX(秒).X,精確到0.1s的整數(shù)倍。倒計(jì)時(shí)到,由蜂鳴器發(fā)出報(bào)警。繪制系統(tǒng)硬件接線圖,并進(jìn)行系統(tǒng)仿真和實(shí)驗(yàn)。畫出程序流程圖并編寫程序

2、實(shí)現(xiàn)系統(tǒng)功能。</p><p><b>  設(shè)計(jì)的作用目的:</b></p><p>  此次設(shè)計(jì)是我們更進(jìn)一步了解基本電路的設(shè)計(jì)流程,提高自己的設(shè)計(jì)理念,豐富自己的理論知識(shí),鞏固所學(xué)知識(shí),使自己的動(dòng)手動(dòng)腦能力有更進(jìn)一步提高,為自己今后的學(xué)習(xí)和工作打好基礎(chǔ),為自己的專業(yè)技能打好基礎(chǔ)。通過解決實(shí)際問題,鞏固和加深“單片機(jī)原理與應(yīng)用”課程中所學(xué)的理論知識(shí)和實(shí)驗(yàn)?zāi)芰?,基本?/p>

3、握單片機(jī)應(yīng)用電路的一般設(shè)計(jì)方法,提高電子電路的設(shè)計(jì)和實(shí)驗(yàn)?zāi)芰Γ由顚?duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。本次設(shè)計(jì)注重對(duì)單片機(jī)工作原理以及鍵盤控制及顯示原理的理解,以便今后自己在單片機(jī)領(lǐng)域的學(xué)習(xí)和開發(fā)打下基礎(chǔ),提高自己的動(dòng)手能力和設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的理論知識(shí),做到理論和實(shí)踐相結(jié)合。本次設(shè)計(jì)的重要意義還在于對(duì)單片機(jī)的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進(jìn)一步的了解,同時(shí)還對(duì)單片機(jī)的接口技術(shù),中斷

4、技術(shù),存儲(chǔ)方式和控制方式作更深層次的了解。</p><p><b>  具體設(shè)計(jì):</b></p><p><b>  問題分析:</b></p><p>  在電子技術(shù)飛速發(fā)展的今天,電子產(chǎn)品的人性化和智能化已經(jīng)非常成熟,其發(fā)展前景仍然不可估量。如今的人們需求的是一種能給自己帶來方便的電子產(chǎn)品,當(dāng)然最好是人性化和智能化的

5、,如何能做到智能化呢?單片機(jī)的引入就是一個(gè)很好的例子。單片機(jī)又稱單片微型計(jì)算機(jī),也稱為微控制器,是微型計(jì)算機(jī)的一個(gè)重要分支,單片機(jī)是20世紀(jì)70年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是集CPU,RAM,ROM,I/O接口和中斷系統(tǒng)于同一硅片上的器件。單片機(jī)的誕生標(biāo)志著計(jì)算機(jī)正式形成了通過計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)兩個(gè)分支。目前單片機(jī)已滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。單片機(jī)已在廣闊的計(jì)算機(jī)應(yīng)用領(lǐng)域中表

6、現(xiàn)得淋漓盡致電器因此,單片機(jī)已成為電子類工作者必須掌握的專業(yè)技術(shù)之一。單片機(jī)就是一個(gè)微型中央處理器,通過編程即能完成很多智能化的工作 ,因此它的出現(xiàn)給電子技術(shù)智能化和微型化起到了很大的推動(dòng)作用。</p><p>  本設(shè)計(jì)將采用89C51單片機(jī),89C51單片機(jī)是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory

7、)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)自帶5個(gè)中斷,兩個(gè)16位定時(shí)器32個(gè)I/O口,可擦除只讀存儲(chǔ)器可以反復(fù)擦除多次,功能相當(dāng)強(qiáng)大。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的89C51是一種高效微控制器。89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><

8、;p>  面對(duì)如此功能強(qiáng)大的單片機(jī),結(jié)合本次設(shè)計(jì)要求,應(yīng)該要用到單片機(jī)的內(nèi)部時(shí)鐘電路以及外圍的顯示接口電路和報(bào)警電路。</p><p>  對(duì)與時(shí)鐘,它有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,

9、主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法。</p><p>  在顯示方面,有著多種選擇,但是8段LED數(shù)碼管足以滿足此次設(shè)計(jì)的要求了。LED數(shù)碼顯示器是一種有LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個(gè)LED發(fā)光二極管,其中7個(gè)用于顯示字符,一個(gè)用于顯示小數(shù)點(diǎn),故通常稱之為8段發(fā)光二極管數(shù)碼器。</p><p> 

10、 其內(nèi)部結(jié)構(gòu)如下圖(a)所示:</p><p>  LED數(shù)碼顯示器有如下兩種連接方法:</p><p>  共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。 </p><p>  共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極通過電阻與輸入端相連。&

11、lt;/p><p>  蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。在單片機(jī)應(yīng)用的設(shè)計(jì)上,很多方案都會(huì)用到蜂鳴器,大部分都是使用蜂鳴器來做提示或報(bào)警,比如按鍵按下、開始工作、工作結(jié)束或是故障等等。由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O 口無法直接驅(qū)動(dòng),所以要利用放大電路來驅(qū)動(dòng),一般使用三極管

12、來放大電流。本設(shè)計(jì)采用p3.0口和三極管組成的電路來驅(qū)動(dòng)蜂鳴器。</p><p><b>  總體設(shè)計(jì)思想:</b></p><p>  本設(shè)計(jì)是基于AT89C51單片機(jī)的鍵盤控制及顯示電路設(shè)計(jì),從系統(tǒng)的設(shè)計(jì)功能上看,系統(tǒng)可分為兩大部分,即鍵盤輸入控制部分和顯示部分,對(duì)于每一個(gè)部分都有不同的設(shè)計(jì)方案,起初我對(duì)鍵盤和顯示每個(gè)都擬訂了下面兩種方案:</p>

13、<p><b>  鍵盤部分:</b></p><p>  第一種方案:采用掃描鍵盤,可以用普通按鍵構(gòu)成4×4矩陣鍵盤,直接接到AT89C51單片機(jī)的P1口,高四位作為行,低四位作為列,通過軟件完成鍵盤的掃描和定位。這種方式相對(duì)下面的獨(dú)立式鍵盤節(jié)省了很多的I/O口。</p><p>  第二種方案:鍵盤控制采用獨(dú)立式按鍵,每個(gè)按鍵的一端均接地,另一

14、端直接和P1口相連,在按鍵和P1口之間通過10K電阻與+5V電源相連。鍵盤通過檢測(cè)輸入線的電平狀態(tài)就可以很容易地判斷哪個(gè)鍵被按下了,這種方法操作速度高而且軟件結(jié)構(gòu)很簡(jiǎn)單,比較適合按鍵較少或操作速度較高的場(chǎng)合,這種獨(dú)立式接口的應(yīng)用很普遍。</p><p><b>  顯示部分:</b></p><p>  第一種方案:顯示部分采用靜態(tài)顯示方法,所謂靜態(tài)顯示,就是每一個(gè)顯

15、示器都要占用一個(gè)獨(dú)立的具有鎖存功能的接口用于存儲(chǔ)字形碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,從而輸送至各數(shù)碼管顯示。被顯示的數(shù)據(jù)只要輸出一次,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜

16、性。</p><p>  第二種方案:顯示部分采用動(dòng)態(tài)顯示。數(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ì)位選

17、通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。動(dòng)態(tài)顯示是利用人眼視覺暫留特性來實(shí)現(xiàn)顯示的。事實(shí)上,顯示器上任何時(shí)刻只有一個(gè)數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時(shí)間間隔短、節(jié)奏快,人的眼睛反應(yīng)不過來,因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時(shí)的時(shí)間在1ms左右,不能太長(zhǎng),也不能太短。本設(shè)計(jì)可

18、采用P0口直接驅(qū)動(dòng)七段數(shù)碼管顯示。此方案成本低,而且單片機(jī)的I/O口占用較少,可以節(jié)約單片機(jī)接口資源,而且功耗更低。</p><p>  由于本設(shè)計(jì)要求按鍵較少,且本次設(shè)計(jì)只是對(duì)所學(xué)知識(shí)的一次實(shí)踐,設(shè)計(jì)要求簡(jiǎn)單,容易實(shí)現(xiàn),成本低廉。比較以上各種設(shè)計(jì)方案,采用獨(dú)立式鍵盤和動(dòng)態(tài)顯示兩種方案配合,成本低,占用單片機(jī)資源少,且容易實(shí)現(xiàn),這樣的設(shè)計(jì)比較適合本次設(shè)計(jì),故最終決定選用這樣的一種搭配設(shè)計(jì)方案。對(duì)于蜂鳴器,將采用p

19、3.0口和三極管組成的外圍電路驅(qū)動(dòng),根據(jù)定時(shí)時(shí)間報(bào)警。</p><p><b>  3.具體實(shí)現(xiàn)方法:</b></p><p>  根據(jù)設(shè)計(jì)任務(wù)與要求,可初步將系統(tǒng)分為五大功能模塊:主電路、按鍵電路、顯示電路、報(bào)警電路。進(jìn)一步細(xì)說,主電路選用AT89C51作為中央處理器,系統(tǒng)采用12MHZ的晶振;按鍵??刂齐娐酚伤膫€(gè)按鍵(復(fù)位鍵、啟動(dòng)/暫停鍵、設(shè)置鍵、+1調(diào)時(shí)鍵)組成

20、,鍵盤采用軟件掃描的方式設(shè)計(jì),低電平有效;顯示電路由六位七段共陰極數(shù)碼管和一個(gè)9位200歐姆上拉電阻組成,顯示內(nèi)容有倒計(jì)時(shí)器的0.1秒位以及分秒的個(gè)、十位,數(shù)碼管通過P0口直接輸出數(shù)據(jù);報(bào)警電路主要由蜂鳴器組成,通過電路與P3.0口相連。當(dāng)P3.0口輸出高電平時(shí),蜂鳴器響。</p><p>  對(duì)于本次單片機(jī)課程設(shè)計(jì),根據(jù)設(shè)計(jì)要求可以將功能分成如下4部分:</p><p>  由于單片機(jī)內(nèi)

21、部振蕩方式電路簡(jiǎn)單,時(shí)鐘信號(hào)比較穩(wěn)定,是獨(dú)立的單片機(jī)應(yīng)用系統(tǒng)的首選,故本設(shè)計(jì)采用內(nèi)部振蕩方式,采用12MHZ的晶振。</p><p><b>  圖(1)晶振電路圖</b></p><p>  本設(shè)計(jì)電路采用定時(shí)器T0產(chǎn)生定時(shí)中斷,由于本設(shè)計(jì)需要0.1s的基本時(shí)間,故選擇其工作在定時(shí)方式1下。這時(shí)定時(shí)器T0是一個(gè)16位的計(jì)時(shí)器,由它產(chǎn)生50ms的基本定時(shí)中斷,兩次中斷

22、后將得到0.1s的時(shí)間。</p><p>  鍵盤電路有獨(dú)立式鍵盤和矩陣式兩種。獨(dú)立式鍵盤占用I/O口線較多,適用于按鍵較少的情況。矩陣式鍵盤占用的I/O口相對(duì)較少,適用于按鍵很多的情況。</p><p><b>  圖(2)鍵盤電路圖</b></p><p>  報(bào)警電路將采用p3.0口驅(qū)動(dòng),當(dāng)數(shù)碼管顯示00.00.0時(shí)p3.0口輸出高電平,

23、驅(qū)動(dòng)蜂鳴器達(dá)到報(bào)警的目的,只有當(dāng)復(fù)位鍵按下后,蜂鳴器才會(huì)停止報(bào)警。</p><p>  圖(3)蜂鳴器報(bào)警電路圖</p><p>  對(duì)于顯示電路,本設(shè)計(jì)采用6位8段共陰極LED數(shù)碼管顯示。上電顯示最大倒計(jì)時(shí)時(shí)間60.00.00-。其中“-”位為系統(tǒng)狀態(tài)標(biāo)志位,當(dāng)顯示“-”時(shí),表示系統(tǒng)處于等待狀態(tài),按下開始鍵后將開始計(jì)數(shù),開始計(jì)數(shù)后此數(shù)碼管將關(guān)閉顯示,以達(dá)到省電的目的 ,當(dāng)顯示“E”時(shí),表

24、示系統(tǒng)正處于調(diào)時(shí)狀態(tài),此時(shí)只用兩個(gè)調(diào)時(shí)鍵有用,按下開始鍵或復(fù)位鍵將沒有用。</p><p><b>  圖(4)顯示電路圖</b></p><p>  系統(tǒng)的原理框圖如下圖:</p><p>  圖(5)系統(tǒng)原理框圖</p><p><b>  圖(6)硬件連線圖</b></p>&l

25、t;p>  硬件連接說明:本系統(tǒng)以AT89C51單片機(jī)為核心。單片機(jī)采用內(nèi)部振蕩的方式。通過200歐姆電阻與一個(gè)6位8段LED數(shù)碼顯示管相連。從P0口輸出LED數(shù)碼管的字形碼,從P2口輸出LED數(shù)碼管的位選碼,高電平有效。4個(gè)功能按鍵和P1口相連,中間通過10K的電阻與+5V電源相連,按鍵另一端接地,P1口低電平時(shí)表示按鍵被按下。報(bào)警電路則與P3.0口相連,當(dāng)P3.0口輸出高電平時(shí),蜂鳴器響。</p><p&g

26、t;  在程序設(shè)計(jì)方面:將鍵盤掃描程序置于主程序中,采用掃描方式檢測(cè)鍵盤的按鍵情況,主程序流程圖見圖(7)。顯示部分做成一個(gè)子程序,方便調(diào)用。各個(gè)調(diào)時(shí)子程序由設(shè)置鍵引倒進(jìn)入,調(diào)時(shí)子程序流程圖見圖(8)。計(jì)時(shí)方面,利用定時(shí)器T0產(chǎn)生的0.5ms基準(zhǔn)時(shí)間形成0.1s的最小倒計(jì)時(shí)時(shí)間單位并產(chǎn)生“-1”動(dòng)作,T0中斷子程序流程圖見圖(9)。</p><p>  四、Proteus調(diào)試過程及現(xiàn)象:</p>&

27、lt;p>  上電后LED數(shù)碼管顯示最大倒計(jì)時(shí)值60.00.0-,程序處于等待狀態(tài)。</p><p>  圖(10)上電或者復(fù)位鍵被按下時(shí)</p><p>  此時(shí),主程序不斷調(diào)用顯示子程序以及掃描鍵盤按鍵情況,當(dāng)檢測(cè)到有鍵按下后,轉(zhuǎn)到相應(yīng)的程序執(zhí)行。</p><p>  開始/暫停鍵按下后程序開始減1計(jì)數(shù)直到0,同時(shí)狀態(tài)顯示管熄滅,計(jì)數(shù)值到0后報(bào)警器響。若中

28、途遇到開始/暫停鍵按下則,暫停倒計(jì)時(shí)。若中途遇到復(fù)位鍵按下則將倒計(jì)時(shí)器的倒計(jì)時(shí)值設(shè)置為最大值,并處于等待狀態(tài)。</p><p>  圖(11)計(jì)數(shù)值到0時(shí)</p><p>  圖(12)開始/暫停鍵按下后</p><p>  復(fù)位鍵按下后,程序復(fù)位,系統(tǒng)處于等待狀態(tài),狀態(tài)顯示管顯示“-”。 </p><p>  當(dāng)設(shè)置鍵被按下后,程序進(jìn)入調(diào)時(shí)

29、設(shè)置狀態(tài),同時(shí)狀態(tài)顯示管顯示“E”。設(shè)置狀態(tài)的初始值位00.00.0E,按下+1調(diào)整鍵,可以將當(dāng)前的計(jì)數(shù)單位值加1,再次按下設(shè)置鍵后,即進(jìn)入了下個(gè)計(jì)數(shù)單位的調(diào)時(shí)狀態(tài),當(dāng)按下5次設(shè)置鍵后將退出調(diào)時(shí)狀態(tài),若分鐘十位被設(shè)置為6并再次按下設(shè)置鍵后程序直接退出調(diào)時(shí)狀態(tài)。設(shè)置狀態(tài)時(shí)開始/暫停鍵和復(fù)位鍵無效,等退出調(diào)時(shí)狀態(tài)后,設(shè)置狀態(tài)時(shí)開始/暫停鍵和復(fù)位鍵恢復(fù)功能。</p><p>  圖(13)調(diào)時(shí)狀態(tài)時(shí)</p>

30、<p>  五、調(diào)試問題及解決方法:</p><p>  開始在主程序的循環(huán)中沒有添加調(diào)用顯示子程序的語句,導(dǎo)致在沒有按鍵按下的情況下LED數(shù)碼管沒有顯示。當(dāng)在主程序循環(huán)檢測(cè)按鍵的過程中添加了調(diào)用顯示子程序的語句后就解決了這一問題。由于鍵盤需要消抖延時(shí)和等待按鍵釋放,所以相似的情況又出現(xiàn)了——按下按鍵后有一段時(shí)間LED數(shù)碼管斷續(xù)顯示或者按下按鍵后不釋放按鍵時(shí)LED數(shù)碼管沒有顯示。仔細(xì)分析后發(fā)現(xiàn),問題

31、出現(xiàn)的原因還是一樣的,由于本設(shè)計(jì)的LED數(shù)碼管采用了動(dòng)態(tài)顯示,故需要不斷調(diào)用顯示子程序,否則會(huì)導(dǎo)致LED數(shù)碼管沒有顯示。所以最終做了以下改進(jìn):1.按鍵的消抖延時(shí)選擇調(diào)用兩次顯示子程序(每次顯示子程序大約用時(shí)5ms,兩次即為10ms左右)來取代原來的10ms軟件延時(shí)。2.在等待按鍵釋放時(shí),使用循環(huán)調(diào)用顯示子程序來替代原來的循環(huán)等待。經(jīng)過上述兩點(diǎn)的改進(jìn)后,LED數(shù)碼管無顯示或者斷續(xù)顯示的問題就得到了徹底的解決。</p><

32、;p>  六、設(shè)計(jì)的優(yōu)缺點(diǎn)分析:</p><p>  本設(shè)計(jì)是一個(gè)采用了由內(nèi)部振蕩的時(shí)鐘方式、程控掃描方式的獨(dú)立式鍵盤、動(dòng)態(tài)顯示LED數(shù)碼管和蜂鳴器式報(bào)警器組成的系統(tǒng)。因此該系統(tǒng)使用的電子器件少、外圍電路簡(jiǎn)單,定時(shí)精準(zhǔn),使用的I/O少,系統(tǒng)消耗的功耗小,剩余的I/O口多便于擴(kuò)展其他功能。但是另一方面,本系統(tǒng)由于使用了程控式的鍵盤和動(dòng)態(tài)顯示的LED數(shù)碼管,所以對(duì)CPU的使用率相對(duì)較高。</p>

33、<p><b>  七、心得體會(huì):</b></p><p>  初次看到本次的課程設(shè)計(jì)的題目時(shí),感覺設(shè)計(jì)的難度不大,但是由于是第一次運(yùn)用單片機(jī)設(shè)計(jì),在設(shè)計(jì)過程中又遇到了種種困難,又感覺到要完成此次設(shè)計(jì)還需要花費(fèi)很大的時(shí)間和精力。但是經(jīng)過本組同學(xué)的共同努力,運(yùn)用科學(xué)的分析方法,最終順利完成了本次單片機(jī)課程設(shè)計(jì)。</p><p>  經(jīng)過兩個(gè)星期的實(shí)習(xí),過程曲折

34、可謂一語難盡。在此期間我也失落過,也曾一度熱情高漲。從開始時(shí)滿富盛激情到最后汗水背后的復(fù)雜心情,點(diǎn)點(diǎn)滴滴無不令我回味無長(zhǎng)。</p><p>  生活也是這樣,汗水預(yù)示著結(jié)果也見證著收獲。勞動(dòng)是人類生存生活永恒不變的話題。通過實(shí)習(xí),我才真正領(lǐng)略到“艱苦奮斗”這一詞的真正含義,我才意識(shí)到老一輩設(shè)計(jì)員為我們的社會(huì)付出。我想說,設(shè)計(jì)確實(shí)有些辛苦,但苦中也有樂,在如今物欲很流的世界,很少有機(jī)會(huì)能與大自然親密接觸,但我們可以

35、,而且設(shè)計(jì)也是一個(gè)團(tuán)隊(duì)的任務(wù),一起的工作可以讓我們有說有笑,相互幫助,配合默契,多少人間歡樂在這里灑下,大學(xué)里一年的相處還趕不上這十來天的實(shí)習(xí),我感覺我和同學(xué)們之間的距離更加近了;我想說,設(shè)計(jì)確實(shí)很累,但當(dāng)我們的設(shè)計(jì)出現(xiàn)成果時(shí),心中也不免產(chǎn)生興奮,正所謂“三百六十行,行行出狀元”我認(rèn)為無論干什么,只要人生活的有意義就可以。</p><p>  同時(shí)我認(rèn)為我們的工作是一個(gè)團(tuán)隊(duì)的工作,團(tuán)隊(duì)需要個(gè)人,個(gè)人也離不開團(tuán)隊(duì),

36、必須發(fā)揚(yáng)團(tuán)結(jié)協(xié)作的精神。某個(gè)人的離群都可能導(dǎo)致導(dǎo)致整項(xiàng)工作的失敗。實(shí)習(xí)中只有一個(gè)人知道原理是遠(yuǎn)遠(yuǎn)不夠的,必須讓每個(gè)人都知道,否則一個(gè)人的錯(cuò)誤,就有可能導(dǎo)致整個(gè)工作失敗。團(tuán)結(jié)協(xié)作是我們實(shí)習(xí)成功的一項(xiàng)非常重要的保證。而這次實(shí)習(xí)也正好鍛煉我們這一點(diǎn),這也是非常寶貴的。</p><p>  另外,課堂上也有部分知識(shí)不太清楚,于是我又不得不邊學(xué)邊用,時(shí)刻鞏固所學(xué)知識(shí),這也是我作本次課程設(shè)計(jì)的第二大收獲。整個(gè)設(shè)計(jì)我基本上還滿

37、意,由于水平有限,難免會(huì)有錯(cuò)誤,還望老師批評(píng)指正。</p><p><b>  八、參考文獻(xiàn):</b></p><p>  [1] 曾屹.單片機(jī)原理與應(yīng)用.湖南:中南大學(xué)出版社,2009</p><p>  [2] 丁元杰.單片微機(jī)原理及應(yīng)用.3版.北京:機(jī)械工業(yè)出版社,2006</p><p>  [3] 嚴(yán)天峰.單片

38、機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試.北京:北京航空航天大學(xué)出版社,2005</p><p>  [4] 楊振江.流行單片實(shí)用子程序及應(yīng)用實(shí)例.西安:電子科技大學(xué)出版社,2002</p><p><b>  附:實(shí)驗(yàn)源程序</b></p><p>  ;倒計(jì)時(shí)器設(shè)計(jì)源程序</p><p><b>  ORG 0000H&l

39、t;/b></p><p><b>  AJMP MAIN</b></p><p>  ORG 000BH ;T0中斷程序入口地址</p><p><b>  AJMP T0ZD</b></p><p>  ORG 00100H</p><p>  M

40、AIN:CLR TR0 ;主程序開始</p><p>  CLR P3.0 ;關(guān)閉蜂鳴器</p><p>  SETB 20H.1 ;使顯示管狀態(tài)標(biāo)志位有效</p><p>  CLR 20H.0 ;開始/暫停標(biāo)志位,使程序處于等待開始|暫停鍵按下</p><p> 

41、 MOV 40H,#00H ;0.1S位查表碼</p><p>  MOV 41H,#00H ;秒鐘個(gè)位位查表碼</p><p>  MOV 42H,#00H ;秒鐘十位位查表碼</p><p>  MOV 43H,#00H ;分鐘個(gè)位位查表碼</p><p>  MOV 44H,#06H

42、 ;分鐘十位位查表碼</p><p>  MOV 45H,#00H ;狀態(tài)顯示管查表碼</p><p>  MOV 46H,#02H ;定時(shí)器定時(shí)次數(shù)</p><p>  SETB EA ;開總中斷</p><p>  SETB ET0 ;開定時(shí)器T0中斷</p&g

43、t;<p>  MOV TMOD,#01H ;定時(shí)器工作方式0</p><p>  MOV TL0,#0B0H ;定時(shí)初值,采用50MS定時(shí)</p><p>  MOV TH0,#3CH</p><p>  JPJC:LCALL XSCX ;顯示倒計(jì)時(shí)初值60.00.0(XSCX),進(jìn)入鍵盤檢測(cè)程序</p>

44、;<p>  MOV P1,#0FFH ;判斷復(fù)位鍵是否按下</p><p>  JB P1.0,JC12</p><p>  LCALL XDYS ;調(diào)用消抖延時(shí)程序(XDYS)</p><p>  JB P1.0,JC12</p><p>  PP10:JNB P1.0,DP10 ;等待

45、按鍵按下</p><p>  AJMP MAIN ;復(fù)位鍵按下后轉(zhuǎn)到主程序(MAIN)重新開始</p><p>  JC12:MOV P1,#0FFH ;判斷設(shè)置鍵是否按下</p><p>  JB P1.2,JC11</p><p>  LCALL XDYS</p><p>  JB P

46、1.2,JC11</p><p>  PP12:JNB P1.2,DP12 ;調(diào)整設(shè)置鍵按下后轉(zhuǎn)到調(diào)時(shí)子程序(TSCX)</p><p>  ACALL TSCX</p><p>  JC11:MOV P1,#0FFH ;判斷開始/暫停鍵是否按下</p><p>  JB P1.1,JPJC</p><

47、;p>  LCALL XDYS</p><p>  JB P1.1,JPJC</p><p>  PP11:JNB P1.1,DP11</p><p>  CPL 20H.0 ;將標(biāo)志位取反</p><p>  JB 20H.0,KSJS ;開始/暫停標(biāo)志為1則開始計(jì)數(shù)(KSJS)</p>&l

48、t;p><b>  CLR TR0</b></p><p>  SETB 20H.1</p><p>  AJMP JPJC ;繼續(xù)檢測(cè)鍵盤按鍵情況(JPJC)</p><p>  DP10:LCALL XSCX ;等待按鍵按下時(shí),調(diào)用顯示程序,防止顯示管沒顯示</p><p>&

49、lt;b>  AJMP PP10</b></p><p>  DP11:LCALL XSCX</p><p><b>  AJMP PP11</b></p><p>  DP12:LCALL XSCX</p><p><b>  AJMP PP12</b></p>&

50、lt;p>  KSJS:CLR 20H.1 ;清除狀態(tài)顯示管</p><p><b>  SETB P2.5</b></p><p>  JB P3.0,JPJC ;若蜂鳴器響,則不啟動(dòng)計(jì)時(shí)器</p><p>  SETB TR0 ;啟動(dòng)計(jì)時(shí)器TO (KSJS)</p><p

51、><b>  AJMP JPJC</b></p><p>  ; 顯示子程序</p><p>  XSCX:MOV DPTR,#TAB ;顯示子程序(XSCX)</p><p><b>  MOV A,40H</b></p><p>  MOVC A,@A+DPTR</p

52、><p>  MOV P2, #0FFH ;關(guān)閉顯示.</p><p>  MOV P0, A ;輸出0.1S位的顯示段碼.</p><p>  CLR P2.0 ;P2.0=0</p><p>  ACALL XSYS</p><p>  MOV DPTR,#TAB1

53、 ;</p><p><b>  MOV A,41H</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2, #0FFH ;關(guān)閉顯示.</p><p>  MOV P0, A ;輸出秒鐘個(gè)位的顯示碼.</p><p>  CL

54、R P2.1 ;P2.1=0</p><p>  ACALL XSYS</p><p>  MOV DPTR,#TAB</p><p><b>  MOV A,42H</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2, #0FFH

55、 ;關(guān)閉顯示.</p><p>  MOV P0, A ;輸出秒鐘十位位的顯示段碼.</p><p>  CLR P2.2 ;P2.2=0</p><p>  ACALL XSYS</p><p>  MOV DPTR,#TAB1</p><p><b>  

56、MOV A,43H</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2, #0FFH ;關(guān)閉顯示.</p><p>  MOV P0, A ;輸出分鐘個(gè)位的顯示段碼.</p><p>  CLR P2.3 ;P2.3=0</p>

57、;<p>  ACALL XSYS</p><p>  MOV DPTR,#TAB</p><p><b>  MOV A,44H</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2, #0FFH ;關(guān)閉顯示.</p><p>  

58、MOV P0, A ;輸出分鐘十位的顯示段碼.</p><p>  CLR P2.4 ;P2.4=0</p><p>  ACALL XSYS</p><p>  JNB 20H.1,ZBTC ;20H.1為1則顯示計(jì)時(shí)器狀態(tài)</p><p>  MOV DPTR,#TAB2</p&g

59、t;<p><b>  MOV A,45H</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV P2, #0FFH ;關(guān)閉顯示.</p><p>  MOV P0, A ;輸出段碼.</p><p>  CLR P2.5

60、 ;P2.5=0</p><p>  ACALL XSYS</p><p><b>  ZBTC:RET</b></p><p>  ; 調(diào)時(shí)子程序</p><p>  TSCX:CLR TR0 ;調(diào)時(shí)子程序(TSCX)</p><p>  CLR 20H.0

61、 ;使時(shí)間調(diào)整時(shí)處于暫停狀態(tài)</p><p>  MOV 40H,#00H</p><p>  MOV 41H,#00H</p><p>  MOV 42H,#00H</p><p>  MOV 43H,#00H</p><p>  MOV 44H,#00H</p><p>  SE

62、TB 20H.1 ;使?fàn)顟B(tài)顯示管的位選碼有效</p><p>  MOV 45H,#01H ;將狀態(tài)顯示碼更改為E(調(diào)時(shí)狀態(tài))</p><p>  MOV R0,#44H</p><p>  JCTZ:ACALL XSCX ;先調(diào)用顯示程序,掃描時(shí)間調(diào)整鍵</p><p>  MOV P1,

63、#0FFH</p><p>  JB P1.3,NEXT ;+1鍵盤沒有按下</p><p>  ACALL XDYS ;鍵盤按下,消抖延時(shí)</p><p>  JB P1.3,NEXT</p><p>  DEN0:JNB P1.3,DEN1 ;等待按鍵釋放</p><p>

64、;  AJMP JYCX ;+1鍵按下后,跳轉(zhuǎn)到+1程序</p><p>  NEXT:MOV P1,#0FFH</p><p>  JB P1.2,JCTZ</p><p>  ACALL XDYS ;鍵盤按下,消抖延時(shí)</p><p>  JB P1.2,JCTZ</p><p&g

65、t;  DEN2:JNB P1.2,DEN3 ;等待按鍵釋放</p><p><b>  MOV A,44H</b></p><p>  CJNE A,#06H,DEC4 ;設(shè)置鍵再次按下,將調(diào)整指針指向下一位</p><p><b>  AJMP TCTS</b></p><p&g

66、t;  DEC4:DEC R0</p><p>  CJNE R0,#3FH,JCTZ ;若R0為3FH則退出調(diào)時(shí)程序</p><p>  AJMP TCTS ;若@R0不為#06H,但R0為#3FH,則跳出調(diào)時(shí)程序</p><p>  JYCX:CJNE R0,#44H,XIA1 ;加1調(diào)時(shí)部分</p><

67、;p>  CJNE @R0,#06H,INCR ;調(diào)整分鐘十位</p><p><b>  AJMP SET0</b></p><p>  XIA1:CJNE R0,#43H,XIA2</p><p>  AJMP TZ09 ;調(diào)整分鐘個(gè)位</p><p>  XIA2:CJNE R0

68、,#42H,XIA3</p><p>  CJNE @R0,#05H,INCR ;調(diào)整秒鐘十位</p><p><b>  AJMP SET0</b></p><p>  XIA3:CJNE R0,#41H,XIA4</p><p>  AJMP TZ09 ;調(diào)整秒鐘個(gè)位</p>

69、<p>  XIA4:CJNE R0,#40H,TCTS</p><p>  TZ09:CJNE @R0,#09H,INCR ;調(diào)整0.1秒位</p><p>  SET0:MOV @R0,#00H</p><p><b>  AJMP JCTZ</b></p><p>  INCR:INC @R

70、0</p><p><b>  AJMP JCTZ</b></p><p>  DEN1:ACALL XSCX</p><p><b>  AJMP DEN0</b></p><p>  DEN3:ACALL XSCX</p><p><b>  AJMP DEN2

71、</b></p><p>  TCTS:MOV TH0,#3CH ;退出調(diào)時(shí)程序</p><p>  MOV TL0,#0B0H</p><p>  MOV 45H,#00H ;將狀態(tài)顯示碼更改為D(等待狀態(tài))</p><p><b>  RET</b></p

72、><p>  ; T0中斷子程序</p><p>  T0ZD:CLR EA ;T0中斷子程序,關(guān)中斷 (T0ZD)</p><p><b>  CLR ET0</b></p><p><b>  CLR TR0</b></p><p>  

73、DJNZ 46H,TCZD</p><p>  MOV 46H,#02H ;當(dāng)定時(shí)兩次后重新給計(jì)時(shí)次數(shù)賦值為2</p><p>  MOV R0,#40H ;減1計(jì)數(shù),R0為40H</p><p>  CJNE @R0,#01H,R040</p><p>  INC R0

74、 ;R0為41H</p><p>  CJNE @R0,#00H,DEC1</p><p>  INC R0 ;R0為42H</p><p>  CJNE @R0,#00H,DEC1</p><p>  INC R0 ;R0為43H</p><p>  

75、CJNE @R0,#00H,DEC1</p><p>  INC R0 ;R0為44H</p><p>  CJNE @R0,#00H,DEC1</p><p><b>  AJMP JYFH</b></p><p>  R040:CJNE @R0,#00H,DEC1 ;R0為40

76、H</p><p>  INC R0 ;R0為41H</p><p>  CJNE @R0,#00H,R041</p><p>  INC R0 ;R0為42H</p><p>  CJNE @R0,#00H,R042</p><p>  INC R0

77、 ;R0為43H</p><p>  CJNE @R0,#00H,R043</p><p>  INC R0 ;R0為44H</p><p>  CJNE @R0,#00H,R044</p><p><b>  AJMP ZJFH</b></p>

78、<p>  R041:MOV 40H,#09H</p><p><b>  DEC 41H</b></p><p><b>  AJMP TCZD</b></p><p>  R042:MOV 40H,#09H</p><p>  MOV 41H,#09H</p><p

79、><b>  DEC 42H</b></p><p><b>  AJMP TCZD</b></p><p>  R043:MOV 40H,#09H</p><p>  MOV 41H,#09H</p><p>  MOV 42H,#05H</p><p><b&

80、gt;  DEC 43H</b></p><p><b>  AJMP TCZD</b></p><p>  R044:MOV 40H,#09H</p><p>  MOV 41H,#09H</p><p>  MOV 42H,#05H</p><p>  MOV 43H,#09H&l

81、t;/p><p><b>  DEC 44H</b></p><p><b>  AJMP TCZD</b></p><p>  DEC1:DEC 40H</p><p>  TCZD:MOV TH0,#3CH ;退出中斷子程序</p><p>  MOV

82、TL0,#0B0H</p><p><b>  SETB EA</b></p><p><b>  SETB ET0</b></p><p><b>  SETB TR0</b></p><p><b>  AJMP ZZFH</b></p>

83、<p>  JYFH:DEC 40H</p><p>  ZJFH:SETB P3.0 ;啟動(dòng)蜂鳴器</p><p><b>  ZZFH:RETI</b></p><p>  XDYS:ACALL XSCX ;消抖延時(shí)程序,延時(shí)10ms(2*5ms)</p><p>  ACAL

84、L XSCX ;采用調(diào)用顯示子程序延時(shí)以改善LED顯示效果</p><p><b>  RET</b></p><p>  XSYS:MOV 55H,#20 ;顯示延時(shí)程序,延時(shí)1ms</p><p>  DEL2:MOV 56H,#25</p><p>  DEL1:DJNZ 56H,DEL1</p&g

85、t;<p>  DJNZ 55H,DEL2</p><p><b>  RET</b></p><p>  TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p>  TAB1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH

溫馨提示

  • 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)論