帶有LCD顯示的定時鬧鐘_第1頁
帶有LCD顯示的定時鬧鐘_第2頁
帶有LCD顯示的定時鬧鐘_第3頁
帶有LCD顯示的定時鬧鐘_第4頁
帶有LCD顯示的定時鬧鐘_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西安建筑科技大學(xué)課程設(shè)計(論文) 設(shè)計總說明 單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。而51單片機是各單片機中最為典型和最有代表性的一種。本設(shè)計以AT89C51芯片為核心,輔以必要的外圍電路,設(shè)計了一個結(jié)構(gòu)簡單,功能齊全的電子時鐘,它5V直流電源供電。在硬件方面,除了CPU外,使用6個7段LCD顯示器來進行顯示,LCD采用的是動態(tài)掃描顯示,使用74LS245芯片進行驅(qū)動。通過LCD能夠較為準確地顯示時、分、秒,利用四個簡單的按鍵實現(xiàn)對時間的調(diào)整。軟件方面采用匯編語言編程,整個電子鐘系統(tǒng)能完成時間的顯示、調(diào)時、校時和定時的功能。選用單片機

2、最小系統(tǒng)應(yīng)用程序,添加比較程序、時間調(diào)整程序及蜂鳴程序,通過時間比較程序觸發(fā)蜂鳴,實現(xiàn)鬧鐘功能,完成設(shè)計所需求的軟件環(huán)境。介紹并使用Keil單片機模擬調(diào)試軟件,測試程序的可行性并用Proteus進行仿真。關(guān)鍵詞:單片機,LCD,定時器,鬧鐘目錄1設(shè)計要求與實現(xiàn)思路- 1 -1.1設(shè)計要求- 1 -1.2實現(xiàn)思路- 1 -2電子時鐘- 2 -2.1電子時鐘簡介- 2 -2.2電子時鐘的基本特點- 2 -3單片機- 3 -3.1程序存儲器- 3 -3.2 MCS-51內(nèi)部數(shù)據(jù)存儲器- 3 -4控制系統(tǒng)的硬件設(shè)計- 4 -4.1器件的選擇及功能原理- 4 -4.1.1單片機型號的選擇- 4 -4.1

3、.2液晶顯示器的選擇- 4 -4.1.3按鍵的選擇- 4 -4.1.4電源的選擇- 5 -4.1.5計時部分的選擇- 5 -4.2總體設(shè)計思想及原理- 6 -4.2.1時鐘電路的設(shè)計- 6 -4.2.2鍵盤電路設(shè)計- 7 -4.2.3鬧鈴功能的實現(xiàn)- 8 -4.2.4中斷服務(wù)的設(shè)計- 9 -4.2.5顯示器驅(qū)動電路- 9 -4.3整個電路原理圖- 10 -5控制系統(tǒng)的軟件設(shè)計- 12 -5.1程序設(shè)計- 12 -5.2程序流程圖- 12 -5.3仿真圖- 13 -5.4仿真結(jié)果分析- 14 -設(shè)計總結(jié)- 16 -參考文獻- 17 -程序源代碼- 18 -1設(shè)計要求與實現(xiàn)思路1.1設(shè)計要求1)能

4、顯示時時分分秒秒。2)能夠設(shè)定定時時間、修改定時時間。3)定時時間到能發(fā)出報警聲或者啟動繼電器,從而控制電器的啟停。1.2實現(xiàn)思路電子鐘設(shè)計與制作既可以采用數(shù)字電路來實現(xiàn),也可以采用單片機來完成。方案一:采用數(shù)字電路來實現(xiàn),所設(shè)計的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能主要依賴于數(shù)字電路的各功能模塊的組合來實現(xiàn),焊接的過程比較復(fù)雜,成本也非常高。方案二:采用單片機來實現(xiàn),由于其功能的實現(xiàn)主要通過軟件編程來完成,不僅降低了硬件電路的復(fù)雜性,而且成本也降低不少。 最終方案:采用單片機的方式來實現(xiàn)定時鬧鐘。電子鬧鐘的系統(tǒng)框圖如下所示:復(fù)位、時鐘等電路按鈕電路6位數(shù)碼管顯示電路鬧鈴聲指示電路電

5、源系統(tǒng)圖1-1 電子鬧鐘的系統(tǒng)框圖電子鬧鐘的主電路指的是圖1-1中虛線框內(nèi)部分,主要涉及到CPU電路和按鍵按鈕電路。主機的設(shè)計具體地說有:1)系統(tǒng)時鐘電路設(shè)計;2)系統(tǒng)復(fù)位電路設(shè)計;3)按鍵與按鈕電路設(shè)計;4)鬧鈴聲指示電路設(shè)計。2電子時鐘 2.1電子時鐘簡介時鐘是將小時、分鐘、秒鐘顯示于人的肉眼的計時裝置。而單片機模塊中最常見的正是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。由于時鐘的實用性和在人們生活中的重要性,所以嘗試設(shè)計以單片機為核心的數(shù)字時鐘是很有意義的。鐘表原先的報時功

6、能已經(jīng)原不能滿足人們?nèi)找嬖鲩L的要求,現(xiàn)代的電子時鐘多帶有類似自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等功能,本設(shè)計中LCD電子時鐘采用LCD顯示時間,直觀實用,而且可以方便的校調(diào)。2.2電子時鐘的基本特點LCD電子定時鬧鐘是以單片機為基礎(chǔ)的數(shù)字電路實現(xiàn)對時、分、秒的數(shù)字顯示的數(shù)字計時裝置,它的計時周期24小時,另外應(yīng)有校時功能和一些顯示日期、鬧鐘等附加功能。一個基本的數(shù)字鐘電路主要由計數(shù)器、校時電路、報時電路、振蕩器和顯示電路組成。目前電子鐘廣泛用于各種私人和公眾場合,成為我們生活、工作和學(xué)習(xí)中不可缺少的好幫手。3單片機3.1程

7、序存儲器MCS-51單片機的程序存儲器用于存放應(yīng)用程序和表格之類的固定常數(shù)??蓴U充的程序存儲器空間最大為64K字節(jié)。程序存儲器的使用應(yīng)注意以下兩點:(1)整個程序存儲器空間可以分為片內(nèi)和片外兩部分,CPU訪問片內(nèi)和片外程序存儲器,可由引腳所接的電平來確定。EA=1,即引腳接高電平時,程序?qū)钠瑑?nèi)程序存儲器開始執(zhí)行;當(dāng)PC值超出片內(nèi)ROM的容量時,會自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行程序;EA=0,即引腳接低電平時,單片機只執(zhí)行片外程序存儲器中的程序。(2)各中斷服務(wù)程序的入口地址MCS-51單片機復(fù)位后,程序存儲器PC的內(nèi)容為0000H,故系統(tǒng)從0000H單元開始取指令,執(zhí)行程序。64K程序存儲器

8、中有5個單元具有特殊用途,如下:0003H:外部中斷0入口地址。000BH:定時器0中斷入口地址。0013H:外部中斷1入口地址。001BH:定時器1中斷入口地址。0023H:串行口中斷入口地址。在系統(tǒng)中斷相應(yīng)之后,將自動轉(zhuǎn)各中斷入口地址處執(zhí)行序,而中斷服務(wù)程序一般無法存放于幾個單元之內(nèi),因此在中斷入口地址處往往存放一條無條件轉(zhuǎn)移指令進行跳轉(zhuǎn),以便執(zhí)行中斷服務(wù)程序。3.2 MCS-51內(nèi)部數(shù)據(jù)存儲器MCS-51單片機的片內(nèi)數(shù)據(jù)存儲器單元共有128個,字節(jié)地址為00H-7FH。 地址為00H-1FH的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為R7-R0。地址為20H-2FH

9、的16個單元可進行共128位的位尋址。地址為30H -7FH的單元為用戶RAM區(qū),只能進行字節(jié)尋址。4控制系統(tǒng)的硬件設(shè)計4.1器件的選擇及功能原理4.1.1單片機型號的選擇由于傳統(tǒng)的8031單片機內(nèi)部沒有存儲器,需要另擴展外部程序存儲器,系統(tǒng)構(gòu)成較為復(fù)雜. 在眾多的51系列單片機中,要算 ATMEL 公司的AT89C51更實用,它是低功耗、高性能的CMOS型8位單片機。AT89C51采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時間只需2到4個時鐘周期。AT89C51集成了許多系統(tǒng)級的功能,這樣可大大減少元件的數(shù)目和電路板面積并降低系統(tǒng)的成本。另外,AT89C51是一種高效微控制器,而且它與MCS-51兼

10、容,且具有4K字節(jié)可編程序存儲器和1000次擦寫循環(huán),數(shù)據(jù)保留時間為10年,是最好的選擇。AT89C51單片機內(nèi)部主要有以下部件:8031CPU、振蕩電路、總線控制部件、中斷控制部件、片內(nèi)Flash存儲器、并行I/O接口、定時器和串行I/O接口。4.1.2液晶顯示器的選擇 為減少連接線路的復(fù)雜性,在此選用八位一體的共陰數(shù)碼管,八位一體液晶顯示器在內(nèi)部已將段碼相連,位選線則相互獨立,可以很方便地外接為動態(tài)顯示電路。其外部結(jié)構(gòu)如下圖4-1: 圖4-1 LCD液晶顯示器4.1.3按鍵的選擇方案一:4×4矩陣式鍵盤。如果選擇此方案,那么在修改時鐘或設(shè)置鬧鈴時間時就可以直接從鍵盤輸入,方便、快

11、捷,但程序較為復(fù)雜。 方案二:獨立式按鍵。如果設(shè)置過多按鍵,將會占用較多I/O口,而且會給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時間或設(shè)置鬧鈴時間時就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序簡單。 由于并不需要經(jīng)常修改時間和設(shè)置鬧鈴時間,而且方案二的程序簡單,按鍵少、成本低,因此,選擇方案二。AT89C5的引腳如下圖4-2:圖4-2 AT89C51引腳4.1.4電源的選擇如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本系統(tǒng)的體積較大,即使使用電池供電也不能隨身攜帶,因此,用電

12、池供電不大合適,所以用5V外部穩(wěn)壓電源來供電。4.1.5計時部分的選擇如果使用時鐘芯片,系統(tǒng)就不怕掉電且時間精確。但這種芯片比較貴,況且,設(shè)計本系統(tǒng)主要是為了學(xué)習(xí)單片機程序的編寫和調(diào)試以及設(shè)計硬件電路的一些方法,因此采用軟件的方法來計時而沒有采用價格較高的時鐘芯片。4.2總體設(shè)計思想及原理設(shè)計的總思路如圖4-3:圖4-3 設(shè)計的總流程圖4.2.1時鐘電路的設(shè)計AT89C51系列的單片機的時鐘方式分為內(nèi)部方式和外部方式。內(nèi)部方式就是在單片機的XTAL1和XTAL2的兩引腳外接晶振,就夠成了自激振蕩器在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。外部時鐘方式是把外部已經(jīng)有的時鐘信號引入到單片機內(nèi)部。時鐘電路在計算

13、機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準定時時鐘,即定時時間。本LCD電子鬧鐘設(shè)計是采用內(nèi)部時鐘方式,用一個12MHz晶振和兩個30Pf瓷片電容組成,為單片機提供標(biāo)準時鐘,其中兩個瓷片電容起微調(diào)作用。其電路圖見圖4-4。 圖4-4 時鐘電路單片機之所以采用高性能的振蕩電路,因為:1)單片機電子鐘的計時脈沖基準是由外部晶振的頻率經(jīng)過12分頻后提供,采用內(nèi)部的定時/計數(shù)器來實現(xiàn)計時功能。所以,外接晶振頻率精確度直接

14、影響電子鐘計時的準確性。 2)片機電子鐘利用內(nèi)部定時/計數(shù)器溢出產(chǎn)生中斷(12M晶振一般為50ms)再乘以相應(yīng)的倍率來實現(xiàn)秒、分、時的轉(zhuǎn)換。大家都知道從定時/計數(shù)器產(chǎn)生中斷請求到響應(yīng)中斷需要3-8個機器周期,定時中斷子程序中的數(shù)據(jù)入棧和重裝定時/計數(shù)器的初值還需要占用數(shù)個機器周期,還有從中斷入口轉(zhuǎn)到中斷子程序也要占用一定的機器周期。4.2.2鍵盤電路設(shè)計鍵盤采用4個獨立按鍵配以4個上拉電阻實現(xiàn)對時鐘和鬧鐘的設(shè)定及修改。 圖4-5 獨立按鍵 圖4-6 鍵盤輸入電路4.2.3鬧鈴功能的實現(xiàn)鬧鈴功能的實現(xiàn)涉及到兩個方面:鬧鈴時間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時間設(shè)定模塊的設(shè)計可參照時間設(shè)定模塊,

15、這里著重闡述鬧鈴判別與處理模塊的設(shè)計問題。鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別何時要進行鬧鈴。當(dāng)時十位、時個位、分十位、分個位中任一位發(fā)生改變(進位)時,就必須進行鬧鈴判別。譯碼顯示電路將“時”、“分”、“秒”計數(shù)器的輸出送到七段顯示譯碼驅(qū)動器譯碼驅(qū)動,通過六個七段LCD顯示器顯示出來。鬧鈴電路根據(jù)計時系統(tǒng)的輸出狀態(tài)產(chǎn)生脈沖信號,然后加上一個高頻或低頻信號送到放大電路驅(qū)動蜂鳴器發(fā)聲實現(xiàn)報時。校時電路是直接加一個脈沖信號到時計數(shù)器或者分計數(shù)器或者秒計數(shù)器來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整。時十位、個位或分十位、個位改變了設(shè)置鬧鈴標(biāo)志是否設(shè)置了鬧鈴清除鬧鈴標(biāo)志判當(dāng)前時間是設(shè)定時間中斷返回中

16、斷返回鬧鈴判別處理N 圖4-7 鬧鐘判別流程圖考慮到實用性,在該電子鐘的設(shè)計中修改定時或調(diào)整時間時采用了閃爍,而且以定時20組鬧鐘。在編程上,首先進行了初始化定義了程序的入口地址以及中斷的入口地址,在主程序的開始定義了一組固定單元用來存儲計數(shù)的秒,分,時以及定時時間的序號等。在顯示程序段中主要進行了閃爍的處理,采用定時器中斷置標(biāo)志位,再與位選相互結(jié)合的方法來控制調(diào)時或定時中的閃爍。時, 圖4-8 鬧鐘的實現(xiàn)流程圖分,秒顯示則是用了軟件譯碼(查表)的方式,再用了一段固定的程序段進行進制轉(zhuǎn)化。初始化之后,用中斷方式對其計數(shù),計數(shù)的同時采用了定時器比較的方法,比較當(dāng)前計數(shù)時間與定時時間是否相等,若相

17、等則將鬧鈴標(biāo)志位置數(shù)。由于定義了定時鬧鐘組,在這里采用中斷組次,每中斷一次比較一組鬧鐘,避免了一次比較中斷時間過長,影響下次中斷時間。顯示之后查詢鬧鈴標(biāo)志位是否與前面所置數(shù)相等,若相等則響鈴。為了避免響鈴影響顯示,采用了每顯示幾屏以后在顯示程序中出現(xiàn)脈沖,驅(qū)動喇叭,不會影響顯示。之后用查詢方式對按鍵進行判斷,若有鍵按下,則進行軟件延時消抖,避免了抖動引起的干擾,執(zhí)行相應(yīng)的定時,選時或調(diào)時程序段。對當(dāng)前時間或定時時間修改后又返回到最初的顯示程序段,如此循環(huán)下去。4.2.4中斷服務(wù)的設(shè)計數(shù)字電子鐘設(shè)計中主要使用定時器T0中斷ET0,利用ET0中斷進行計時時間的自增,從而實現(xiàn)計時功能。AT89C51

18、有兩個通用定時/計數(shù)器。兩者均可配置為定時器或事件計數(shù)器。另外增加了定時器T0/T1,溢出時T0/T1腳自動翻轉(zhuǎn)的功能選項。用作“定時器”功能時,每經(jīng)過一個機器周期,寄存器值加1。用作“計數(shù)器”功能時,寄存器在對應(yīng)的外部輸入管腳T0/T1上每發(fā)生一次1到0的跳變時加1。使用該功能時,外部輸入每個機器周期被采樣一次。 設(shè)計中采用了中斷方式1作為定時中斷,其定時計數(shù)初值的設(shè)置可由以下公式計算得到,中斷服務(wù)流程圖如下圖4-9。 圖4-9 中斷處理流程圖 4.2.5顯示器驅(qū)動電路由于通過數(shù)碼管公共及的電流較大且避免過多地使用分立元件,采用了一片74LS245來驅(qū)動段碼,用P0口作位碼驅(qū)動。74LS24

19、5是我們常用的芯片,用來驅(qū)動LCD或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅(qū)動器。 由于P2口始終輸出地址的高8位,接口時74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。因此,可以用來作為驅(qū)動裝置。圖4-10 74LS245引腳圖4.3整個電路原理圖圖4-11 總電路圖定時鬧鐘以單片機AT89C51為核心來完成,使用12MHZ晶振與單片機

20、AT89C51相連接,通過軟件編程的方法實現(xiàn)了以24小時為一個周期同時顯示小時、分鐘和秒的要求,并在計時過程中具有報時功能,當(dāng)時間到達整點進行蜂鳴報時。在硬件電路中采用P0口作為6位LCD顯示器的驅(qū)動接口,這是由于P0口輸出驅(qū)動電路工作處于開漏狀態(tài),它的驅(qū)動能力強,故只需外接上拉電阻便可以把LCD顯示器點亮。因為共陰的LCD顯示器它的驅(qū)動電流是分開的,在單片機進行動態(tài)掃描的時候不會影響彼此的電流,故該電路中的LCD顯示器采用共陰極的顯示器。6位LCD顯示器的位選線分別由相應(yīng)的P2.0P2.5控制,相應(yīng)的段選線由8位的I/O口控制,即P0口。該電子鐘設(shè)有四個按鍵: S1、S2、S3和S4鍵(由上

21、至下依次為S1、S2、S3、S4),他們分別與單片機的P1.1、P1.2、P1.3和P1.4口相連接。S1、S2、S3和S4鍵Proteus仿真圖如下:圖4-12 安裝控制圖5控制系統(tǒng)的軟件設(shè)計 5.1程序設(shè)計 考慮到實用性,在該電子鐘的設(shè)計中修改定時或調(diào)整時間時采用了閃爍。在編程上,首先進行了初始化定義了程序的入口地址以及中斷的入口地址,在主程序的開始定義了一個固定單元用來存儲計數(shù)的秒、分、時。在顯示程序段中主要進行了閃爍的處理,采用定時器中斷置標(biāo)志位,再與位選相互結(jié)合的方法來控制調(diào)時或定時中的閃爍。時、分、秒的顯示則是用了軟件譯碼(查表)的方式,再用了一段固定的程序段進行進制轉(zhuǎn)化。初始化之

22、后,用中斷方式對其計數(shù),計數(shù)的同時采用了定時器比較的方法,比較當(dāng)前計數(shù)時間與定時時間是否相等,若相等則將鬧鈴標(biāo)志位置數(shù)。為了避免響鈴影響顯示,采用了每顯示幾屏以后在顯示程序中出現(xiàn)脈 圖5-1 設(shè)計主線沖,驅(qū)動喇叭,不會影響顯示。之后用查詢方式對按鍵進行判斷,若有鍵按下,則進行軟件延時消抖,避免了抖動引起的干擾,執(zhí)行相應(yīng)的定時,選時或調(diào)時程序段。對當(dāng)前時間或定時時間修改后又返回到最初的顯示程序段,如此循環(huán)下去。 5.2程序流程圖 圖5-2 主函數(shù)流程圖5.3仿真圖Proteus仿真圖如下:1)按S2鍵開始對響鈴時間設(shè)置:圖5-3 開始設(shè)置響鈴時間2)按鍵3對分設(shè)置,安鍵1對秒設(shè)置:圖5-4 定時

23、時間為6:073)按S4鍵回到鬧鐘運行模式 圖5-5 返回正常運行5.4仿真結(jié)果分析該電子鐘有三個按鍵: K1、 K2、K3和K4鍵。按K1鍵進行校時,可以分別對時及分進行單獨校時,使其校正到標(biāo)準時間,操作位就閃爍;按K2鍵是對閃爍位進行加一或返回的操作;按K3鍵調(diào)整定時時間和定時組數(shù),調(diào)整位就閃爍,該電子鐘最多可定時20組鬧鐘。經(jīng)測試該電子鐘在一天的累計誤差約為0. 1秒;K4用于返回正常計時功能。該電子鐘的誤差主要由晶振自身的誤差所造成,晶振的誤差約為0.00010.000001。在軟件的編程過程中所產(chǎn)生的誤差比較小,在重裝初值的過程中大概需要約8個機器周期,但在程序開始對定時器賦初值時,

24、多加了8個機器周期,減小了這方面的誤差。另外在中斷的過程中,只會在第一次計時中產(chǎn)生時間的偏移,而它所產(chǎn)生累計誤差很小,可以忽略。結(jié)構(gòu)化軟件程序的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課設(shè),采用keil集成調(diào)試軟件來調(diào)試程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用proteus 7professional軟件,此軟件功能強大且操作較為簡單,可以很容易的實現(xiàn)各種系統(tǒng)的仿真。首先打開proteus7professional軟

25、件,在元件庫中找到要選用的所有元件,然后進行原理圖的繪制;繪制好后再選擇keil已經(jīng)編譯好的*.hex文件,選擇運行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課設(shè)的要求再修改程序,再運行查,直到滿足要求。 設(shè)計總結(jié)通過這次一個禮拜的課程設(shè)計,使我對所學(xué)的知識進行了系統(tǒng)的復(fù)習(xí)與鞏固,在以前的學(xué)習(xí)中不夠清晰的概念得到了更好地理解。這段時間的學(xué)習(xí),使我了解到了理論和實際之間的差別,第一次真正接觸到了實際中的問題,并通過和老師,同學(xué)交流,加強了自身的分析問題,解決問題的能力。同時,我也發(fā)現(xiàn)了自己在某寫方面的不足,這是我以后要加以改進的方面。課程設(shè)計過程也使我了解了自己能力的不足,不過通過資料收集和文獻查詢等方法

26、,找出了設(shè)計過程中的一些問題以及解決問題的方法,從而比較順利的完成了這個設(shè)計任務(wù)。這次自己所做的設(shè)計取得了一些寶貴的經(jīng)驗,提高了自己的動手能力,為將來的學(xué)習(xí)和工作很有好處??傊?,理論必須和實際結(jié)合才有威力,知識必須通過應(yīng)用才能實現(xiàn)其價值!所學(xué)的東西最終是要面向社會,是在以后的工作能夠更好的應(yīng)用,此時的知識積累是為以后的工作做好堅實的基礎(chǔ)。這個設(shè)計總體上不算完美,但是在這個課程設(shè)計的經(jīng)歷的好處是不可估量的。參考文獻1張毅剛,MCS-51單片機應(yīng)用設(shè)計M,哈爾賓:哈爾賓工業(yè)大學(xué)出版社,1997 2王幸之、鐘愛琴、王雷、王閃,AT89系列單片機原理與接口技術(shù)M,北京:北京航空航天大學(xué)出版社,2004

27、3ATMEL.8-bit Microcontroller with 32K Bytes Flash AT89C51RC.20004莫健.基于89系列單片機的電子鬧鐘的設(shè)計,南京工程學(xué)院自動化學(xué)院,2010程序源代碼 ORG 0000H ;開辟代碼首地址 LJMP MAIN ORG 000BH ;定時器/計數(shù)器T0溢出中斷服務(wù)子程序入口地址 LJMP TIME ORG 0100H MAIN:MOV SP,#50H ;設(shè)置堆棧指針首地址 MOV 20H,#00H ;十六進制轉(zhuǎn)化時分秒 MOV 21H,#00H MOV 22H,#00H MOV 23H,#01H ;鬧鈴設(shè)置時分位 MOV 24H,#

28、01H MOV 25H,#00H ;定義一個標(biāo)志位 MOV 30H,#00H ;時分秒十進制轉(zhuǎn)化 MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H ;鬧鈴十進制轉(zhuǎn)化 MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;選用16位計數(shù)器 T0,方式1 MOV TH0,#03CH ;賦初值 MOV TL0,#0B0H MOV IE,#10000111B ;開中斷T0,EA=1 SETB TR0 ;T0啟動計數(shù) MOV R2,#14H ;計

29、數(shù)器 MOV P2,#0FFH LOOP:LCALL TIMEPRO ;調(diào)用現(xiàn)在時間與鬧鈴時間比較程序 LCALL DISPLAY1 ;調(diào)用現(xiàn)在時間顯示子程序 JB K1,M1 ;判斷按鍵是否按下 LCALL XIAOZHEN1 ;調(diào)用消抖程序 MOV C,25H.0 JC A1 A1:CLR 25H.0 LCALL SETTIME ;調(diào)用設(shè)置現(xiàn)在時間子程序 LJMP LOOP M1:JB K2,M2 LCALL XIAOZHEN2 MOV C,25H.0 JC A2 A2:CLR 25H.0 LCALL SETATIME ;調(diào)用鬧鐘設(shè)置程序 LJMP LOOP M2:JB K4,M3 A3:

30、LCALL XIAOZHEN3 MOV C,25H.0 JC A4 A4:CLR 25H.0 M3:LJMP LOOPSETTIME: L0:LCALL DISPLAY1 ;鬧鐘設(shè)置子程序 JB K2,L1 LCALL XIAOZHEN4 MOV C,25H.0 JC A5 A5:CLR 25H.0 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB K3,L2 LCALL XIAOZHEN5 MOV C,25H.0 JC A6 A6:CLR 25H.0 INC 21H

31、MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB K4,L0 LCALL XIAOZHEN3 MOV C,25H.0 JC AX AX:CLR 25H.0 RETSETATIME:LCALL DISPLAY2 ;調(diào)用鬧鐘設(shè)置,鬧鈴響時的顯示程序 N0:LCALL DISPLAY2 JB

32、 K3,N1 LCALL XIAOZHEN6 MOV C,25H.0 JC A7 A7:CLR 25H.0 INC 24H MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB K1,N2 LCALL XIAOZHEN7 MOV C,25H.0 JC A8 A8:CLR 25H.0 INC 23H MOV A,23H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MO

33、V 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB K4,N0 LCALL XIAOZHEN3 MOV C,25H.0 JC A9 A9:CLR 25H.0 RETTIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 MOV C,25H.0 JC XX XX:LCALL TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ LCALL DISPLAY2

34、CLR 25H.0 JB K4, X1 RET BZ:CLR P3.7 MOV R7,#250 T2:MOV R6,#124 T3:DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 JB K4,XY LCALL XIAOZHEN3 MOV C,25H.0 JC XY1 XY:RET XY1:LJMP LOOPXIAOZHEN1:LCALL DISPLAY1 ;鬧鐘的設(shè)定值與現(xiàn)行時間的對比及響應(yīng) JB K1,XIAOZHEN1 MOV C,K1 JC XIAOZHEN1 LCALL DELAY MOV C,K1 JC XIAOZHEN1 STOP1:MOV C,K1 JNC STO

35、P1 LCALL DELAY MOV C,K1 JNC STOP1 SETB 25H.0 RET XIAOZHEN2:LCALL DISPLAY2 JB K2,XIAOZHEN2 MOV C,K2 JC XIAOZHEN2 LCALL DELAY MOV C,K2 JC XIAOZHEN2 STOP2:MOV C,K2 JNC STOP2 LCALL DELAY MOV C,K2 JNC STOP2 SETB 25H.0 RET XIAOZHEN3:LCALL DISPLAY1 JB K4,XIAOZHEN3 MOV C,K4 JC XIAOZHEN3 LCALL DELAY MOV C,K4

36、 JC XIAOZHEN3 STOP3:MOV C,K4 JNC STOP3 LCALL DELAY MOV C,K4 JNC STOP3 SETB 25H.0 RET XIAOZHEN4:LCALL DISPLAY1 JB K2,XIAOZHEN4 MOV C,K2 JC XIAOZHEN4 LCALL DELAY MOV C,K2 JC XIAOZHEN4 STOP4:MOV C,K2 JNC STOP4 LCALL DELAY MOV C,K2 JNC STOP4 SETB 25H.0 RET XIAOZHEN5:LCALL DISPLAY1 JB K3,XIAOZHEN5 MOV C,

37、K3 JC XIAOZHEN5 LCALL DELAY MOV C,K3 JC XIAOZHEN5 STOP5:MOV C,K3 JNC STOP5 LCALL DELAY MOV C,K3 JNC STOP5 SETB 25H.0 RET XIAOZHEN6:LCALL DISPLAY2 JB K3,XIAOZHEN6 MOV C,K3 JC XIAOZHEN6 LCALL DELAY MOV C,K3 JC XIAOZHEN6 STOP6:MOV C,K3 JNC STOP6 LCALL DELAY MOV C,K3 JNC STOP6 SETB 25H.0 RET XIAOZHEN7:LCALL DISPLAY2 JB K1,XIAOZHEN7 MOV C,K1 JC XIAOZHEN7 LCALL DELAY MOV C,K1 JC XIAOZHEN7 STOP

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論