機電一體化畢業(yè)設(shè)計(論文)基于AT89C51單片機的數(shù)字時鐘設(shè)計_第1頁
機電一體化畢業(yè)設(shè)計(論文)基于AT89C51單片機的數(shù)字時鐘設(shè)計_第2頁
機電一體化畢業(yè)設(shè)計(論文)基于AT89C51單片機的數(shù)字時鐘設(shè)計_第3頁
機電一體化畢業(yè)設(shè)計(論文)基于AT89C51單片機的數(shù)字時鐘設(shè)計_第4頁
機電一體化畢業(yè)設(shè)計(論文)基于AT89C51單片機的數(shù)字時鐘設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于at89c51的數(shù)字時鐘設(shè)計 緒論畢業(yè)設(shè)計(論文)基于at89c51的數(shù)字時鐘設(shè)計班 級: 機電711班 專 業(yè): 機電一體化 所 在 系: 機電工程系 指導(dǎo)老師: 完成時間 2009 年12月 1日至 2009 年 12月 30日摘 要本設(shè)計采用at89c51單片機為核心器件。具有電子鐘顯示,時間調(diào)整,鬧鈴定時,以及彩燈控制等功能。此數(shù)字鐘是一個將“時”、“分”、“秒”顯示于人的視覺器官的計時裝置。根據(jù)60秒為一分、60分為1小時的計數(shù)周期,構(gòu)成秒、分、時的計數(shù),實現(xiàn)計時的功能。而且能顯示清晰、直觀的數(shù)字符號。針對數(shù)字鐘會產(chǎn)生誤差的現(xiàn)象,就設(shè)計有校準(zhǔn)事件的功能。關(guān)鍵字:電子鐘;萬年歷;電

2、子時鐘鬧鈴 abstract this design uses at89c51 monolithic integrated circuit for the core component. has the electron clock to demonstrate, time adjustment, alarum fixed time, as well as functions and so on colored lantern control. this digital clock will be one “when”, “the minute”, “the second” will demo

3、nstrate yu ren the visual organs timing unit. according to 60 seconds is one point, 60 divides into 1 hour count cycle, the constitution second, divides, the time counting, realizes the time function. moreover candemonstrate clearly, the direct-viewing numeric character. can have errors phenomenon i

4、n view of the digital clock, the design has the calibration eventskey words: electronic bell; calendar; electronic alarm clock目錄1 第一章緒論5第一章 緒 論 31.1 設(shè)計背景 31.2 設(shè)計來源 31.3 at89c51在本設(shè)計中的應(yīng)用 4第二章 系統(tǒng)概述 52.1比較論證 52.2主要功能 52.3 at89c51簡介 62.3.1主要特性: 62.3.2管腳說明: 6第三章 系統(tǒng)硬件設(shè)計 93.1 系統(tǒng)簡介 93.2 單片機最小系統(tǒng)電路設(shè)計 93.3 電源電路

5、設(shè)計 113.4led數(shù)碼管電路設(shè)計 123.5 按鍵電路設(shè)計 123.6 彩燈電路設(shè)計 13第四章 系統(tǒng)軟件設(shè)計 154.1 程序設(shè)計流程圖 154.2 中斷子程序流程圖 164.3 按鍵子程序流程圖 174.4 彩燈子程序流程圖 18第五章 系統(tǒng)的仿真測試 195.1模擬仿真軟件測試 195.2性能指標(biāo)數(shù)據(jù)結(jié)論 205.2.1時間顯示 205.2.2時間調(diào)整 21結(jié) 束 語 22參考文獻 23附 錄 24附錄1: 24附錄2: 241第一章 緒 論1.1 設(shè)計背景單片機是20世紀(jì)70年代中期發(fā)展起來的一種大規(guī)模集成電路器件。它在一塊硅芯片內(nèi)集成了各種計算機功能部件,構(gòu)成一種單片式的微型計算

6、機。20世紀(jì)80年代以來,隨著國際上單片機迅速發(fā)展,其應(yīng)用不斷深入,新技術(shù)層出不窮。也因為其體積小,功能強,成本地,尤其是隨著cmos工藝的發(fā)展,耗電也大大低于其它相似的電子產(chǎn)品,被廣泛應(yīng)用于智能產(chǎn)品和工業(yè)控制之中。其中最著名的生產(chǎn)商就是intel公司,其開發(fā)的51系列單片機是目前市場上最典型和最有代表性的一種,也是國內(nèi)市場用的最多的單片機。1在其之后,世界上許多著名的半導(dǎo)體廠商相繼生產(chǎn)和這個系列兼容的單片機,這就使得其產(chǎn)品型號不斷地增加,品種不斷豐富,功能不斷增強。在國內(nèi)外單片機應(yīng)用中占有非常重要的地位。at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh pro

7、grammable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1.2 設(shè)計來源現(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品

8、、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。單片機在多功能數(shù)字鐘中的應(yīng)用已是非常普遍的,人們對數(shù)字鐘的功能及

9、工作順序都非常熟悉。但是卻很少知道它的內(nèi)部結(jié)構(gòu)以及工作原理。2由單片機作為數(shù)字鐘的核心控制器,可以通過它的時鐘信號進行計時實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行定時、校時功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。1.3 at89c51在本設(shè)計中的應(yīng)用 at89c2051單片機控制的數(shù)字鐘的硬件結(jié)構(gòu)與軟件設(shè)計,給出了匯編語言源程序。此數(shù)字鐘是一個將“時”、“分”、“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為24時00分00秒,另外應(yīng)有校時功能。電路由時鐘脈沖發(fā)生器、時鐘計數(shù)器、譯碼驅(qū)動電路和數(shù)字顯示電路以及時間調(diào)整電

10、路組成。用晶體振蕩器產(chǎn)生時間標(biāo)準(zhǔn)信號,這里采用石英晶體振蕩器。根據(jù)60秒為1分、60分為1小時、24小時為1天的計數(shù)周期,分別組成兩個60進制(秒、分)、一個24進制(時)的計數(shù)器。構(gòu)成秒、分、時的計數(shù),實現(xiàn)計時的功能。顯示器件選用led七段數(shù)碼管。在譯碼顯示電路輸出的驅(qū)動下,顯示出清晰、直觀的數(shù)字符號。針對數(shù)字鐘會產(chǎn)生走時誤差的現(xiàn)象,在電路中就設(shè)計有有校準(zhǔn)時間功能的電路。3第二章系統(tǒng)概述2.1比較論證本設(shè)計電子鐘,其功能以單片機控制時鐘顯示,并且能調(diào)整時間參數(shù),有定時時間鬧鐘提示,能夠彩燈控制發(fā)光二極管的各種花樣,通過模擬仿真以及電路調(diào)試與測試,可采用以上兩種不同的系統(tǒng)方案。4方案一:采用數(shù)

11、字電路中的加法器和減法器,555集成電路作為時鐘脈沖信號,cd4017作為彩燈控制芯片,用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用數(shù)字電路設(shè)計電子鐘,從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。設(shè)計數(shù)字電子鐘是為了了解數(shù)字電子鐘的原理,而且通過數(shù)字電子鐘的制作進一步的了解各種在制作中用到的中小規(guī)模集成電路的作用及實用方法。且由于數(shù)字電路包括組合邏輯電路和時序電路。通過它可以進一步學(xué)習(xí)與掌握各種組合邏輯電路與時序電路的原理與使用方法。數(shù)字電子鐘有下幾部分組成:石英晶體振蕩器、分頻器

12、、秒脈沖發(fā)生器、校正電路、60進制的秒、分計時器和24進制計時計數(shù)器以及秒、分、時的譯碼顯示部分等。方案二:采用單片機程序設(shè)計,該系統(tǒng)單片機最小系統(tǒng),也是日常生活中常見的萬年歷一個小模塊化,功能雖然沒有那么多,但是可以在顯示,按鍵,鬧鐘,彩燈的基礎(chǔ)上擴展年月日以及l(fā)cd的顯示,和繼電器弱電對強電的控制,我們采用的是當(dāng)前最流行的at89系列單片機,單片機的集成度很高,他將微型計算機的主要部件都集成在一塊芯片上,具有下列特點:1 . 體積小、重量輕、價格便宜、耗電少。1 . 根據(jù)工程環(huán)境要求設(shè)計,且許多功能部件集成在芯片內(nèi)部,其信號通道受外界影響小,故可靠性高,抗干擾性能優(yōu)于采用一般的cpu 。1

13、 . 控制功能強,運行速度快。其結(jié)構(gòu)組成與指令系統(tǒng)都著重滿足工控要求,又極豐富的條件分支指令,有很強的位處理功能和i/o口邏輯作功能。1 . 片內(nèi)存儲器的容量不可能很大;引腳也嫌少,i/o引腳常不夠用,且兼第二功能,第三功能但存儲器和i/o口都易于擴展。52.2主要功能 用單片及制作數(shù)字鐘是單片機的一個典型應(yīng)用。通過設(shè)計制作一個多功能數(shù)字鐘,我們可以充分了解單片機的工作原理,學(xué)會如何用單片機實現(xiàn)數(shù)據(jù)的處理,設(shè)備的控制等。制作一個數(shù)字中雖然簡單,但它涉及到的內(nèi)容卻很廣泛,在本設(shè)計中,我們用到了鍵盤控制,需要加接鍵盤;用到了定時中斷功能和電平觸發(fā)外部中斷功能;6用到了顯示模塊,顯示時間;另外還涉及

14、單個口的作。另外單片機工作還需要軟件支持,所以程序的編寫,調(diào)試也是制作數(shù)字鐘的一個重要的方面出于實驗室條件和經(jīng)濟條件的影響,作者沒有在數(shù)字鐘上加上過多的功能,不過也實現(xiàn)了數(shù)字時鐘的基本功能,如計時功能、整點報時功能,鬧鈴功能,調(diào)時功能和秒表功能等,由于它功能強,資源容易大,價格便宜,穩(wěn)定性好,因此本設(shè)計采用些方案。2.3 at89c51簡介2.3.1主要特性:與mcs-51 兼容 4k字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0hz-24hz三級程序存儲器鎖定128*8位內(nèi)部ram32可編程i/o線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑

15、置和掉電模式片內(nèi)振蕩器和時鐘電路2.3.2管腳說明:vcc:供電電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。7在flash

16、編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出

17、4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持r

18、st腳兩個機器周期的高電平時間。ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 /psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每

19、個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。 /ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。第三章 系統(tǒng)硬件設(shè)計3.1 系統(tǒng)簡介本系統(tǒng)硬件結(jié)構(gòu)由電源電路提供5v電源,單片機控制,按鍵輸入,數(shù)碼管時鐘顯示,彩燈控制,鬧鐘提示等部分組

20、成。該系統(tǒng)由按鍵輸入、單片機控制模塊、顯示電路模塊、流水燈控制電路、鬧鐘定時電路等構(gòu)成。根據(jù)各模塊電路實現(xiàn)的功能及所達到的要求,通過電路分析總出幾種不同的方案。8通過鍵盤輸入到達單片機,然后單片機運行和處理輸入的指令,從而實現(xiàn)時間調(diào)整,數(shù)碼管顯示以及彩燈顯示。數(shù)碼管顯示事為了更好的更直觀的看到運行結(jié)果,以便進行更改,彩燈顯示只是為了增加客觀性,給人一種快樂的心情來進行試驗。l e d顯 示鍵盤 輸 入時間 調(diào) 整單 片機彩燈 控 制圖 3.1 模塊方框圖3.2 單片機最小系統(tǒng)電路設(shè)計 p0口作為數(shù)碼管數(shù)據(jù)傳送端口,目的是把輸入的數(shù)據(jù)顯示出來,能夠更直觀的看到效果,p2.0一p2.3是數(shù)碼管的位

21、選端及段選端,并且通過p2.4一p3.7來進行時間時分調(diào)整,小數(shù)字作為秒鐘閃爍60s,p3.3是鬧鐘提示信號輸出,p3.4一p3.5是24c08時鐘芯片,p1口作為彩燈控制輸出端。at89c51外接晶振電路,給單片機工作提供了工作頻率,圖3.2 at89c51的最小系統(tǒng)電路3.3 電阻給電容充電,電容的電壓緩慢上升直到vcc,沒到vcc時復(fù)位腳近似低電平,于是單片機復(fù)位。當(dāng)按鍵松開后接近vcc時復(fù)位腳近高電平,于是芯片停止復(fù)位,復(fù)位完成,為了防止程序跑飛死循環(huán)。 圖3.3單片機復(fù)位電路3.4 先從max232芯片中兩路發(fā)送接收中任選一路作為接口。要注意其tx發(fā)送、rx接收的引腳要對應(yīng)。如使t1

22、in接單片機 的發(fā)送端txd,則pc機的rs-232的接收端rxd一定要對應(yīng)接t1out引腳。同時,r1out接單片機的rxd引腳,pc機的 rs-232的發(fā)送端txd對應(yīng)接r1in引腳。,由于兩邊遵守的高低電平法則不一樣,所以要用串行口連接起來,只要被連接上,雙方就達成了一個共同的協(xié)議,從而使兩邊的電平實現(xiàn)了轉(zhuǎn)換,從而使工作能夠更好的進行下去。3.4 isp程序串行口3.3 電源電路設(shè)計12v或9v交流輸出接4個二極管組成的整流橋,其構(gòu)成原則就是保證在變壓器副邊電壓的整個周期內(nèi),負載上的電壓和電流方向時始終不變。若達到這一不低,就要在輸入電壓的正,負半周期內(nèi)正確的引導(dǎo)流向負載的電流,使其方向

23、不變,整流橋正負輸出接1000uf濾波電容,然后正極接7805的1腳,負極接7805的2腳,7805的3腳是正5v輸出,在輸出端接一100uf以內(nèi)的電容,并接發(fā)光二極管即可構(gòu)成穩(wěn)壓電路。值的注意是:因7805輸入電壓較高,輸入輸出壓差有點大,造成7805工作負擔(dān)稍大,本身發(fā)熱量大故應(yīng)加一散熱片,另外1000uf濾波電容耐壓值較低,應(yīng)選用35v以上為好。如果你對穩(wěn)壓要求比較高,可以在4個二極管旁各并聯(lián)一個103電容以消除諧波干擾。往右就是一個濾波電路,濾波電路的主要功能就是使經(jīng)濾波后的輸出電壓不僅變得平滑,而且平均值也得到提高,為下面的電路提供一個相對穩(wěn)定的電壓輸入。9再往右就是穩(wěn)壓電路,對任何

24、穩(wěn)壓電路都應(yīng)該從兩個方面考察其穩(wěn)壓特征,一是設(shè)電網(wǎng)電壓波動,研究其輸出電壓是否穩(wěn)定;二是設(shè)負載變化,研究其輸出電壓是否穩(wěn)定。圖3.5單片機電源電路3.4led數(shù)碼管電路設(shè)計數(shù)碼管動態(tài)顯示接口單片機p0口作為數(shù)據(jù)端口,將傳送數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的顯示數(shù)字,另外為每個數(shù)碼管的公共極com增加位選通控制電路,位選通端口接p2.0一p2.1,com可以分為共陰和共陽的公共端,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通

25、的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。3.5 按鍵電路設(shè)計單按鍵硬件跟矩陣鍵類似,如圖所示電路中接單片機p2.4一p2.7進行時鐘的調(diào)整,上接有限流電阻,防抖動產(chǎn)生干擾。我們知道調(diào)整時間一定有加有減。而這個電路就給大家提供出來了。p2.7默認的狀態(tài)是加,如果按一次,

26、就會切換到減得狀態(tài)。p2.6是提供秒調(diào)整的接口,p2.5是提供分調(diào)整的接口,p2.4是提供時調(diào)整的接口。總而言之,按鍵電路實現(xiàn)了選位和段位的功能。使大家方便快捷的調(diào)整準(zhǔn)確的時間。按鍵的開關(guān)通過一定得電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的i/o端口形成一個負脈沖。閉合和釋放過程都要經(jīng)過一定得過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),成為抖動。抖動持續(xù)時間的長短于開關(guān)的機械特征有關(guān),一般在5-10ms之間。10為了避免cpu多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動。本文采用的是獨立式按鍵,直接用i/o口線,每個按鍵的工作狀態(tài)不會產(chǎn)生相互影響。圖3.6 led電路p2

27、.4表示數(shù)字“-”鍵,按一下則對應(yīng)的數(shù)字減1。 p2.5表示數(shù)字“=”鍵,俺一下則對應(yīng)的數(shù)字加1。 p2.6表示校準(zhǔn)鍵,按鍵選擇要調(diào)整的時十位、時個位、分十位或分個位。 p2.7表示返回鍵,按鍵可返回上一位的時間校準(zhǔn)及時間顯示。113.6 彩燈電路設(shè)計單片機彩燈控制電路相對比較簡單,針對發(fā)光二極管共陰和共陽,單片機p口輸出相應(yīng)的低電平或高電平。在單片機程序設(shè)計中,要求8個發(fā)光二極管能夠?qū)崿F(xiàn)左右閃,中間至兩邊,兩邊至中間,交叉閃,高4位低4位,全亮全滅這樣一些效果,從中我們采用了順序結(jié)構(gòu)和查表方式來完成。圖3.7按鍵掃描電路 圖2.5彩燈控制電路第四章 系統(tǒng)軟件設(shè)計4.1 程序設(shè)計流程圖 圖4.

28、1程序設(shè)計流程圖流程圖詳解:如果有按鍵,加1秒,然后看是否加到60次,如果沒有繼續(xù)返回到加1秒的循環(huán),如果已經(jīng)按了60次就加1分。然后返回到加1秒的循環(huán)。當(dāng)加分加到60的時候就要選擇是否時加1,如果分加到60了,時就要加1,如果還沒到60,返回到加分的循環(huán)。當(dāng)時加到24的時候就要選擇是否清零,如果時加到24了,到達清零狀態(tài),如果還沒有到24,返回到加時的循環(huán)。4.2 中斷子程序流程圖 圖4.2中斷程序設(shè)計流程圖 流程圖詳解:如果有按鍵,加1秒,然后看是否加到60次,如果沒有繼續(xù)返回到加1秒的循環(huán),如果已經(jīng)按了60次就加1分。然后返回到加1秒的循環(huán)。當(dāng)加分加到60的時候就要選擇是否時加1,如果分

29、加到60了,時就要加1,如果還沒到60,返回到加分的循環(huán)。當(dāng)時加到24的時候就要選擇是否進行中斷返回,如果時加到24了,返回中斷,如果還沒有到24,返回到加時的循環(huán)。4.3 按鍵子程序流程圖 圖4.3按鍵輸入流程圖 流程圖詳解:按1鍵,如果是的話,進入防抖動延時,如果不是返回按鍵輸入。按2鍵,如果是的話,進入防抖動延時,如果不是返回按鍵輸入。按3鍵,如果是的話,進入防抖動延時,如果不是返回按鍵輸入。按4鍵,如果是的話,進入防抖動延時,如果不是的話返回按鍵輸入。4.4 彩燈子程序流程圖圖4.4彩燈控制流程圖流程圖詳解:彩燈先左右閃動,然后由中間向兩邊閃動,過后從兩邊向中間閃動,然后高低4位閃動,

30、最后全閃動緊接著熄滅。第五章系統(tǒng)的仿真測試5.1模擬仿真軟件測試編譯器采用keil仿真器系統(tǒng),該編譯器keil c51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,能夠支持匯編語與c高級語言。另外重要的一點,只要看一下編譯后生成的十六進制hex或匯編代碼,就能體會到keil 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。圖5.1.1 keil c51編程軟件雙擊桌面上stc-isp進入本開發(fā)環(huán)境。在作品開始時要先根據(jù)需要設(shè)置好仿真器類型、仿真頭類型以及cpu類型,并注意是否“使用keil軟件模擬器”,若使用硬件仿真,請注意去掉

31、“使用keil軟件模擬器”前的選擇。在文件窗口下可進行包括新建、打開、保存等文件操作。在編譯文件窗口下可將源文件編譯成目標(biāo)文件。在窗口窗口下可以觀察各種窗口信息,其中最常用到的是cpu窗口和數(shù)據(jù)窗口。在cpu窗口下可以通過cpu窗口看到編譯正確的機器碼及反匯編程序,可以更清楚地了解程序執(zhí)行過程。cpu窗口中還有sfr窗口和位窗口,了解程序執(zhí)行過程中寄存器內(nèi)容的變化。在數(shù)據(jù)窗口下有data內(nèi)部數(shù)據(jù)窗口;code程序數(shù)據(jù)窗口;xdata外部數(shù)據(jù)窗口;pdta外部數(shù)據(jù)窗口。圖5.1.2 stc-isp程序下載5.2性能指標(biāo)數(shù)據(jù)結(jié)論5.2.1 時間顯示電子鐘上電后,8個數(shù)碼管顯示初始狀態(tài)即最左邊的二個

32、數(shù)碼管顯示小時.中間二個數(shù)碼管顯示分鐘.后面兩個數(shù)碼管顯示秒鐘,只需按一下復(fù)位鍵即可使其顯示出00初始化狀態(tài),電子鐘顯示00時00分00秒并開始運行。 圖5.2.1仿真初始化運行5.2.2時間調(diào)整若要進行時間調(diào)整,則需再次按下1鍵,進入小時調(diào)整狀態(tài),然后分別按下2鍵調(diào)時,分鐘進行調(diào)整,按下其它兩鍵可使電子鐘的時,分,分別減一。調(diào)整好時間后,按下1.2.3.4鍵就可以回到調(diào)整好的時間為基礎(chǔ)的自動計時狀態(tài)。無論是在自動計時,還是在調(diào)整校正時,都可按下復(fù)位鍵使系統(tǒng)回到顯示00.00的初始狀態(tài)。其中1.3鍵顯示范圍為0-23,0為24點;2,4鍵顯示范圍為0-59,0 為60分。圖5.2.2運行結(jié) 束

33、 語本論文用了一個月的時間,系統(tǒng)設(shè)計以單片機at89系列為核心的控制模塊,充分利用了所學(xué)知識,單片機最小系統(tǒng),led數(shù)碼管顯示模塊電路,以及聲光信號的控制,加深了自已的動手實踐能力。通過keil與proteous的仿真,最終通過了實踐操作與調(diào)試完成了。在系統(tǒng)設(shè)計過程中,力求創(chuàng)新,使電路簡單明了,程序設(shè)計靈活。由于時間有限,還存在一些不足之處,在功能上的擴展還沒實現(xiàn),如時間存儲與內(nèi)部或外部rom,為了達到更精確的要求,用到了時鐘芯片,傳感器檢測等方面知識。在做畢業(yè)設(shè)計的過程中遇到了這樣或那樣的問題,但通過老師和同學(xué)的幫助總的來說還算順利。通過查詢有關(guān)方面的書籍和網(wǎng)頁,增強了自已分析處理電路設(shè)計過

34、程中的問題的能力。在畢業(yè)設(shè)計的這段時間我復(fù)習(xí)了很多知識,對以前的數(shù)字電路又有了一定的新認識,在以后的學(xué)習(xí)生活過程中,我會更加的努力學(xué)習(xí)專業(yè)技能以及積極向上的生活態(tài)度。在此我要感謝我的指導(dǎo)老師,老師給了我相對自由的空間,鍛煉了我獨立思考的能力樹立了對自己工作能力的信心,當(dāng)我需要幫助時老師會耐心的幫我講解,使我的畢業(yè)設(shè)計能夠順利完成。再次感謝在此次畢業(yè)設(shè)計中給我很多幫助的指導(dǎo)老師和同學(xué)。 參考文獻1胡輝,單片機應(yīng)用系統(tǒng)設(shè)計與訓(xùn)練,中國水利水電出版社,2004.9 155-163 2曹巧媛,單片機原理及應(yīng)用,北京:電子工業(yè)出版社,1997.7 364-3703趙秀珍,單永磊,單片微型計算機原理及其應(yīng)

35、用,北京:中國水利水電出版社,2001.8 546-5524張毅剛,修林成,胡振江,mcs-51單片機應(yīng)用設(shè)計,哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.8 256-2355張洪潤,蘭清華,單片機應(yīng)用技術(shù)教程,北京:清華大學(xué)出版社,1997.11 375-3866李華,mcs-51系列單片機實用接口技術(shù),北京:北京航空航天大學(xué)出版社,1993.8 146-1537atmel. microcontroller data book. 2002.6 200-208 8intel. microcontroller handbook. 1988.5 310-3159李珍. 單片機原理與控制技術(shù). 北京:清

36、華大學(xué)出版社,2002.810皮紅梅,李英順. 單片機開發(fā)中的定時方法. 沈陽:石油化工高等??茖W(xué)校學(xué)報,2002.11 1-211房小翠,王金鳳. 單片微型計算機與機電接口技術(shù). 北京:國防工業(yè)出版社,2002.2 268-270附 錄附錄1:附錄2:m_set bit p2.4 h_set bit p2.5 m_de bit p2.6 h_de bit p2.7 second equ 30h minute equ 31h hour equ 32h tcnt equ 33h ss equ 34h temp equ 35h flag equ 37h temp_1 equ 38h secbit

37、equ 08h minbit equ 09h hourbit equ 0ah asecbit equ 0bh tdata equ 36h ahour equ 40h amin equ 41h asec equ 42h f1 bit psw.1 org 00h sjmp main org 0bh ljmp int_t0 main:mov sp, #60h mov psw,#00 mov p0, #0ffh mov r5, #13h mov r0, #30h clr a start:mov r0, a inc r0 djnz r5, start clr f1 mov dptr, #table mo

38、v second, #55 mov minute, #00 mov hour, #12 mov ss, #00 mov tmod, #01h mov th0, #(65536-50000)/256 mov tl0, #0b0h mov ie, #82h setb tr0 begin: lcall rtest lcall display lcall a1 lcall loop jnb f1, begin lcall alarm ajmp begin rtest:lcall display clr secbit clr minbit clr hourbit mov b,#ahour mov tda

39、ta,#00h setb asecbit ret a1: lcall display; lcall loop jnb m_set, s1 jnb h_set, s2 jnb h_de, s3 jnb m_de, s4 ljmp a1 s1:lcall delay ;分加 jb m_set,a1 inc minute mov a, minute cjne a, #60, j0 mov minute, #0 ljmp k1 s2:lcall delay ;時加 jb h_set, a1 k1:inc hour mov a, hour cjne a, #24, j1 mov hour, #0 ljm

40、p a1 s3:lcall delay ;時減 jb h_de, a1 dec hour mov a, hour cjne a, #0, j2 mov hour, #24 ljmp a1 s4:lcall delay ;分減 jb m_de, a1 k2:dec minute mov a, minute cjne a, #0, j3 dec hour mov minute, #60 ljmp a1 j0:jb m_set,aa ;按鍵松開? lcall display sjmp j0 j1:jb h_set,aa lcall display sjmp j1 j2:jb h_de ,aa lca

41、ll display sjmp j2 j3:jb m_de,aa lcall display sjmp j3 aa:ljmp beginalarm:mov a,asec ;鬧鐘判別程序 cjne a,second,dont mov a,amin cjne a,minute,dont mov a,ahour cjne a,hour,dont clr p3.3 clr f1 dont:ret loop : mov r1,#08h; loop0: mov a,#01h; loop1: mov p1, a; rl a; lcall delay; ;lcall delay djnz r1,loop1;

42、mov p1,#00h; lcall delay; ;call delay; mov r1,#08h; mov a,#07fh; loop2 :rr a; mov p1,a; lcall delay ;lcall delay djnz r1,loop2; mov p1,#00h; lcall delay; ;lcall delay; mov p1, #01h lcall delay mov p1, #00h lcall delay ;lcall delay mov p1, #0ffh lcall delay; ;lcall delay; mov r1,#6;loop3 : mov p1,#0f

43、h; lcall delay; ;lcall delay; mov p1,#0f0h; lcall delay; ;lcall delay; djnz r1,loop3; mov r1,#06 loop4 :mov p1,#0e7h; lcall delay; mov p1,#0dbh; ;lcall delay; lcall display; mov p1,#0bdh; lcall delay; mov p1,#7eh; lcall delay; ;lcall delay; mov p1,#0bdh; lcall delay; mov p1,#0dbh; lcall delay; mov p1,#07eh; djnz r1,loop4; mov r1,#6; loop5:mov p1,#55h; lcall delay; ;lcall delay; mov p1,

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論