可調(diào)數(shù)字鐘的畢業(yè)設(shè)計(jì)_第1頁
可調(diào)數(shù)字鐘的畢業(yè)設(shè)計(jì)_第2頁
可調(diào)數(shù)字鐘的畢業(yè)設(shè)計(jì)_第3頁
可調(diào)數(shù)字鐘的畢業(yè)設(shè)計(jì)_第4頁
可調(diào)數(shù)字鐘的畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要現(xiàn)代生活的人們越來越重視起了時(shí)間觀念,可以說時(shí)間和金錢劃上了等號。這為數(shù)字鐘的存在創(chuàng)造了平臺。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。數(shù)字鐘其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,因此得到了廣泛的使用。在這次設(shè)計(jì)中,我們采用led數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示,用12mhz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。該設(shè)計(jì)中,電路具有顯示時(shí)間的基本功能,還可以實(shí)現(xiàn)對時(shí)間的調(diào)整。并采用單片機(jī)編程的方式使其使用方便、精度高。另外還通過protues軟件對設(shè)

2、計(jì)的數(shù)字鐘進(jìn)行了有效的仿真,使得設(shè)計(jì)的電子產(chǎn)品更具有實(shí)用性關(guān)鍵字:數(shù)字鐘; 數(shù)碼管; 單片機(jī); protues軟件abstract there is a growing emphasis on modern life from the time the concept of time and money can be said to mark the equal sign.this digital clock presence to create a platform.digital clock is a digital circuit on the when, minute, second

3、digital display of the timing device.digital clock precision, stability, far more than the old mechanical clock.digital clock its small, low cost, travel time and high precision, easy to use, multi-function, ease of integration and loved by the majority of consumers, it has been widely used. in this

4、 design, we use led digital display hours, minutes, seconds, 24-hour time mode, according to digital control theory to dynamic display to display, using 12mhz crystal oscillation pulse, the timer count.the design, the circuit has the basic function of display time, can be achieved for the time adjus

5、tment.microcontroller programming approach and adopt it easy to use, high accuracy.software is also designed by protues digital clock for an effective simulation, making the design more practical electronic products.keywords: digital clock, digital control, microcontroller, protues software 目 錄摘 要1a

6、bstract2目 錄31 緒論41.1 數(shù)字電子鐘的背景41.2 數(shù)字電子鐘的意義42 整體設(shè)計(jì)方案52.1 單片機(jī)基礎(chǔ)52.1.1 單片機(jī)簡介52.1.2 單片機(jī)的結(jié)構(gòu)72.2 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖93 數(shù)字鐘的硬件設(shè)計(jì)103.1 單片機(jī)電路103.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì)103.2 晶振電路133.3 復(fù)位電路143.4 實(shí)時(shí)時(shí)鐘電路153.5 鍵盤控制電路163.6 液晶顯示電路174 數(shù)字鐘的軟件設(shè)計(jì)194.1 系統(tǒng)軟件設(shè)計(jì)流程圖194.2 數(shù)字鐘的源程序代碼224.3 數(shù)字鐘的原理圖245 系統(tǒng)仿真25 5.1 protues軟件的介紹255.2 電路功能仿真255.3 系統(tǒng)的調(diào)試及運(yùn)行

7、265.3.1 調(diào)試步驟265.3.2 運(yùn)行結(jié)果265.4 調(diào)試過程中出現(xiàn)的問題286 總結(jié)29 參考文獻(xiàn).301 緒論1.1 數(shù)字電子鐘的背景 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個(gè)領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。時(shí)間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦是重要事情,一時(shí)的耽誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著cmos化、

8、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命1。單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長的使用壽命,因此得到了廣泛的使用。1.2 數(shù)字電子鐘的意義數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于

9、個(gè)人家庭、車站、 碼頭辦公室等公共場所, 給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動報(bào)警、按時(shí)自動打鈴、時(shí)間程序自動控制、定時(shí)廣播、自動起閉路燈、定時(shí)開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。2 整體設(shè)計(jì)方案2.1 單片機(jī)基礎(chǔ)2.1.1 單片機(jī)簡介 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單

10、片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲容量、強(qiáng)i/o功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個(gè)方面:1、多功能; 單片機(jī)中盡可能地把所需要的存儲器和i/o口都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如a/d、pwm、pca(可編程計(jì)數(shù)器陣列)、wdt(監(jiān)視定時(shí)器-看家狗)、高速

11、i/o口及計(jì)數(shù)器的捕獲/比較邏輯等。 有的單片機(jī)針對某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了usb控制器、smart card接口、mp3解碼器、can或者i*i*c總線控制器等,led、lcd或vfd顯示驅(qū)動器也開始集成在8位單片機(jī)中2。2、高效率和高性能; 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用risc、流水線和dsp的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)rom(flash)和ram的容量都突破了以往的數(shù)量

12、和限制。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級語言(如c語言)來開發(fā)單片機(jī)的程序。使用高級語言可以降低開發(fā)難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗;單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性。由于cmos等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2v或0.9v),功耗已經(jīng)降低到ua級。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時(shí)間。4、低價(jià)格; 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。下面大致介紹一下單片機(jī)的主要

13、應(yīng)用領(lǐng)域和特點(diǎn):(1)家用電器領(lǐng)域; 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動化領(lǐng)域; 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤、磁盤驅(qū)動、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。(3)商業(yè)應(yīng)用領(lǐng)域; 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量儀器、收款機(jī)、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁

14、干擾等,可靠性更高。(4)工業(yè)自動化; 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。(5)智能儀表與集成智能傳感器; 目前在各種電氣測量儀表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測量系統(tǒng),使得測量系統(tǒng)具有存儲、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號,可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口【1】。2.1.2 單片機(jī)的結(jié)構(gòu) 目前,我國生產(chǎn)很多型號的單片機(jī),根據(jù)以上單片機(jī)的特征,在此,我們采用型號為at89c51的單片機(jī)。at89c51是一種帶4k字

15、節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。其相關(guān)參數(shù)介紹如下:1主要特性:與mcs-51 兼容 4k字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0hz-24hz 三級

16、程序存儲器鎖定128*8位內(nèi)部ram 32可編程i/o線兩個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 2管腳說明:vcc:電源。 gnd:接地。p0口:p0口為一個(gè)8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程 序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后

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

18、ash編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。圖2.1 at89c51單片機(jī) p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)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(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器

19、寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器 時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作

20、用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/psen信號將不出現(xiàn)。ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí), /ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)【2】。2.2 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖根據(jù)系統(tǒng)設(shè)計(jì)的要求和設(shè)計(jì)思路,確定該系統(tǒng)的系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖。如圖2.1

21、所示。硬件電路主要由mcu微處理控制器單元、ds1302時(shí)鐘電路、儲存器、復(fù)位電路、晶振電路、lcd1602液晶顯示模塊構(gòu)成。圖2.2 系統(tǒng)結(jié)構(gòu)圖設(shè)計(jì)3 數(shù)字鐘的硬件設(shè)計(jì)從上面的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖來看,一個(gè)完整的數(shù)字鐘的由中央處理器(單片機(jī))及其外圍電路組成。其外圍電路包括晶振電路、復(fù)位電路、時(shí)鐘電路、鍵盤控制電路、電源供電電路及液晶顯示電路等電路。下面來分別介紹各部分的硬件部分。3.1 單片機(jī)電路3.1.1單片機(jī)最小系統(tǒng)設(shè)計(jì) 下面通過單片機(jī)的最小系統(tǒng)來說明單片機(jī)的運(yùn)作情況以及其外圍所必須的電路,以便為數(shù)字鐘設(shè)計(jì)的單片機(jī)打下基礎(chǔ)。其最小系統(tǒng)結(jié)構(gòu)圖如下: 圖3-1 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖由上面的最小

22、系統(tǒng)圖很容易看出: 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/ea=1組成,下面介紹一下每個(gè)組成部分。1、電源引腳;vcc40電源端gnd20接地端工作電壓為5v,另有at89lv51工作電壓則是2.7-6v, 引腳功能一樣。 2、外接晶體引腳; 圖3-2 晶振連接的內(nèi)部、外部方式圖xtal1是片內(nèi)振蕩器的反相放大器輸入端,xtal2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號應(yīng)直接加到xtal1,而xtal2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12mhz,時(shí)鐘頻率就為6mhz。晶振的頻率可以在1mhz-24mhz內(nèi)選擇。電容取30pf左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即

23、利用芯片內(nèi)部的振蕩電路。at89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容c1和c2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12mhz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22f。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。

24、3、復(fù)位rst9;在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后p0p3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器sfr全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為rom的00h處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳rst通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的s5p2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6mhz時(shí),c取22f,

25、rs約為200,rk約為1k。復(fù)位操作不會對內(nèi)部ram有所影響【3】。4、輸入輸出引腳(上面已有所提到,這里再強(qiáng)調(diào)下);(1)p0端口p0.0-p0.7p0是一個(gè)8位漏極開路型雙向i/o端口,端口置1(對端口寫1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動8個(gè)ttl。對內(nèi)部flash程序存儲器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時(shí),p0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2)p1端口p1.0p1.7p1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時(shí)可驅(qū)動4個(gè)ttl。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電

26、平,作輸入用。對內(nèi)部flash程序存儲器編程時(shí),接收低8位地址信息。(3)p2端口p2.0p2.7p2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時(shí)可驅(qū)動4個(gè)ttl。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時(shí),接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時(shí),p2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時(shí)其引腳上的內(nèi)容在此期間不會改變。(4)p3端口p3.0p3.7p2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時(shí)可驅(qū)動4個(gè)ttl。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用【5】。3.2 晶振電路每個(gè)單片機(jī)系統(tǒng)

27、里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立在這個(gè)基礎(chǔ)上的,晶振的提供的時(shí)鐘頻率越高,那單片機(jī)的運(yùn)行速度也就越快。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對精度可達(dá)百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(vco)。 晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法

28、保持同步【3】。 晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同子系統(tǒng)需要不同頻率的時(shí)鐘信號,可以用與同一個(gè)晶振相連的不同鎖相環(huán)來提供。在本設(shè)計(jì)中,at89c51單片機(jī)在工作時(shí)需要外部提供時(shí)鐘信號,因此,本設(shè)計(jì)選擇在其18腳19腳之間接上12mhz的晶振,為單片機(jī)提供1s的機(jī)器振蕩周期。其電路連接圖如圖所示。在圖中,電容器c3.c4起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在2050pf。 圖3-3 晶振電路圖3.3 復(fù)位電路復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號,以防電源開關(guān)或電

29、源插頭分-合過程中引起的抖動而影響復(fù)位。常見的復(fù)位電路有下面幾種【3】:圖3-4 常見復(fù)位電路圖在該數(shù)字鐘的設(shè)計(jì)中,at89c51單片機(jī)中的振蕩器運(yùn)行時(shí),引腳上保持到少2個(gè)機(jī)器周期的高電平輸入信號,復(fù)位過程即可完成。根據(jù)此原理,本設(shè)計(jì)采用上電復(fù)位和按鍵復(fù)位嵌套在系統(tǒng)中,增強(qiáng)了系統(tǒng)的實(shí)用性。3.4實(shí)時(shí)時(shí)鐘電路本設(shè)計(jì)使用的實(shí)時(shí)時(shí)鐘電路芯片是美國dallas公司生產(chǎn)的一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路芯片ds1302,其引腳如圖3-5所示。vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1302由vcc1或vcc2兩者中的較大 者供電;當(dāng)vcc2大于v

30、cc10.2v時(shí),vcc2給ds1302供電;當(dāng)vcc2小于vcc1時(shí),ds1302由 vcc1供電。x1和x2是振蕩源,外接32.768khz晶振。 是復(fù)位/片選線,通過把輸 入驅(qū)動置高電平 來啟動所有的數(shù)據(jù)傳送。 圖3-5 引腳圖 輸入有兩種功能。首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)為高電平 時(shí),所有的數(shù)據(jù)傳送被初始化,允許對ds1302進(jìn)行操作。如果在傳送過程中置為低電平,則會終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí)在vcc2.5v之前,必須保持低電平。只有在sclk為低電平時(shí),才能將置為高電平。i/o為串行數(shù)據(jù)輸

31、入輸出端(雙向),sclk始終是輸入端。本設(shè)計(jì)入端。本設(shè)計(jì)連接圖如圖3.15所示,其中c1和c2起微調(diào)晶振的作用【4】。3.5鍵盤控制電路該設(shè)計(jì)需要校對時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按時(shí)按鈕來調(diào)節(jié)小時(shí)的時(shí)間,按分按鈕來調(diào)節(jié)分針的時(shí)間,按 秒按鈕來調(diào)節(jié)秒的時(shí)間。下圖是按鍵硬件連接圖。圖3-6 按鍵控制電路的硬件連接圖當(dāng)用手按下一個(gè)鍵時(shí),如圖3-7所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個(gè)鍵時(shí),也回會出現(xiàn)類似的情況。這就是抖動。抖動的持續(xù)時(shí)間隨鍵盤材料和操作員而異,不過通常總是不大于10ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易地

32、解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,再讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩(wěn)定圖3-7 按鍵抖動信號波形3.6 液晶顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管led顯示器、液晶lcd顯示器、crt顯示器等。led顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。圖3-8 led顯示器的符號圖發(fā)光二極管(led)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式led顯示器件(半導(dǎo)體顯示器)。分段式顯示器(led數(shù)碼管)由7條線段圍成8字型,每一段包含一個(gè)發(fā)光

33、二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。led數(shù)碼管有共陽、共陰之分。圖3-9是共陽式、共陰式led數(shù)碼管的原理圖和符號。圖3-9 共陽式、共陰式led數(shù)碼管的原理圖和數(shù)碼管的符號圖顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另需兩個(gè)數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。led顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方

34、式和動態(tài)顯示方式兩種。對于多位led顯示器,通常都是采用動態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示【4】。圖3-10 數(shù)碼管的硬件連接示意圖4 數(shù)字鐘的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:1、根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;2、培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;3、建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取

35、合適的參數(shù);4、繪制程序流程圖;5、合理分配系統(tǒng)資源;6、為程序加入注釋,提高可讀性,實(shí)施軟件工程;7、注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。4.1 系統(tǒng)軟件設(shè)計(jì)流程圖這次的數(shù)字電子鐘設(shè)計(jì)用到流程圖如下所示。這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示【6】。開始啟動定時(shí)器按鍵檢測時(shí)間顯示主程序是先開始,然后啟動定時(shí)器,定時(shí)器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時(shí)間。圖4-1 主程序流程圖 按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果

36、沒有按下,就把時(shí)間顯nynyny時(shí)加1顯示時(shí)間結(jié)束開始秒按鍵按下?秒加1分按鍵按下?分加1時(shí)按鍵按下?示出來圖4-2 按鍵處理流程圖 定時(shí)器中斷時(shí)是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒到,就顯示時(shí)間。n24小時(shí)到?分單元清零,時(shí)單元加1nnnyy時(shí)單元清零時(shí)間顯示中斷返回開始一秒時(shí)間到?60秒時(shí)間到?60分鐘到?秒單元加1秒單元清零,分單元加1yy 圖4-3 定時(shí)器中斷流程圖時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再

37、就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。時(shí)十位計(jì)算顯示結(jié)束開始秒個(gè)位計(jì)算顯示秒十位計(jì)算顯示分個(gè)位計(jì)算顯示分十位計(jì)算顯示時(shí)個(gè)位計(jì)算顯示 圖4-4 時(shí)間顯示流程圖4.2 數(shù)字鐘的源程序代碼#include unsigned char code dispcode=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00; unsigned char dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; unsigned char d

38、ispbuf8=0,0,16,0,0,16,2,1; /初始化使顯示時(shí)間的位全為12:00:00,其他都不點(diǎn)亮;當(dāng)將dispbitcode2 和dispbitcode3對應(yīng)的16改為x(1015中的一個(gè)),并將其指向dispcode16即0x00改為dispcodex即0x40。時(shí)分秒的間隔就為“”。unsigned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j;

39、 void main(void) tmod=0x02; th0=0x06; tl0=0x06; tr0=1; et0=1; ea=1; hour=12; while(1) if(p0_0=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_0=0) second+; if(second=60) second=0; dispbuf0=second%10; dispbuf1=second/10; while(p0_0=0); if(p0_1=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_1=0) minite+; if(mini

40、te=60) minite=0; dispbuf3=minite%10; dispbuf4=minite/10; while(p0_1=0); if(p0_2=0) for(i=5;i0;i-) for(j=248;j0;j-); if(p0_2=0) hour+; if(hour=24) hour=0; dispbuf6=hour%10; dispbuf7=hour/10; while(p0_2=0); void t0(void) interrupt 1 using 0 mstcnt+; if(mstcnt=8) mstcnt=0; p3=0xff; /關(guān)閉所有顯示 p1=dispcoded

41、ispbufdispbitcnt; p3=dispbitcodedispbitcnt; dispbitcnt+; if(dispbitcnt=8) dispbitcnt=0; tcnt+; if(tcnt=4000) tcnt=0; second+; if(second=60) second=0; minite+; if(minite=60) minite=0; hour+; if(hour=24) hour=0; dispbuf0=second%10; dispbuf1=second/10; dispbuf3=minite%10; dispbuf4=minite/10; dispbuf6=h

42、our%10; dispbuf7=hour/10; 4.3 數(shù)字鐘的原理圖用protues軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如圖4-5所示。圖4-5 數(shù)字鐘的電路原理圖5 系統(tǒng)仿真5.1 protues軟件的介紹proteus isis是英國labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器

43、,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大。5.2 電路功能仿真在protues繪制好原

44、理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,可以在protues的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。 課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于protues提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺。5.3 系統(tǒng)的調(diào)試及運(yùn)行5.3.1 調(diào)試步驟(1)打開protues軟件,按上面的設(shè)計(jì)圖選取元件并連線完成上面所示的數(shù)字鐘電路原理圖。(2)通過菜單“sourceadd/remove source files”,新建源程序文件:cyuyan.asm。(3)通過菜單“sourcecyuyan.asm”,打開protues軟件提供的文本編輯器srcedit,在其中編輯數(shù)字鐘的源程序,程序編輯好后,單擊保存按鈕存入文件cyuyan.asm中。(4)通過菜單“sourcebuild all”編譯源程序,生成目標(biāo)代碼文件cyuyan.hex。如編譯失敗,對

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論