基于單片機(jī)的時(shí)鐘設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的時(shí)鐘設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的時(shí)鐘設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的時(shí)鐘設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的時(shí)鐘設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、文理學(xué)院學(xué)生畢業(yè)論文 題 目: 基于單片機(jī)的時(shí)鐘設(shè)計(jì)- 28 - / 31摘要:本文設(shè)計(jì)的是基于單片機(jī)的時(shí)鐘設(shè)計(jì)。該設(shè)計(jì)主要利用單片機(jī)來(lái)實(shí)現(xiàn)其功能,在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù),并采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置,具有顯示時(shí)間的基本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整,時(shí)鐘走時(shí)精度高,使用方便,功能多,便于集成化,在介紹本單片機(jī)的發(fā)展情況基礎(chǔ)上,說(shuō)明了本設(shè)計(jì)實(shí)現(xiàn)的功能,以與實(shí)驗(yàn)板硬件情況,并對(duì)各功能電路進(jìn)行了分析。主要工作放在軟件編程上,用實(shí)驗(yàn)板實(shí)現(xiàn)時(shí)間、日期

2、、定時(shí)與它們的設(shè)定功能,詳細(xì)對(duì)軟件編程流程以與調(diào)試進(jìn)行了說(shuō)明,并對(duì)計(jì)時(shí)誤差進(jìn)行了分析與校正,提出了定時(shí)音與顯示相沖突問(wèn)題與解決方案。實(shí)驗(yàn)證明效果良好,可以投入使用。因此,設(shè)計(jì)開(kāi)發(fā)時(shí)鐘具有良好的應(yīng)用前景。關(guān)鍵詞:?jiǎn)纹瑱C(jī);時(shí)鐘;定時(shí)器;數(shù)碼管Abstract: This design is the clock design based on mcu. The design mainly uses single chip to achieve its function, in this design, we use LED digital display hours,minutes, seconds

3、, to 24 hour time, according to the principle of dynamic display of digital tube to display, use the 12MHz crystal oscillation pulse, the timer count,and a digital circuit implementation of the when, sub, seconds the figures show that the timing device, can display the basic function of time, also c

4、an realize the adjustment of the time, the clock of high precision, convenient use,multiple functions, easy integration, based on introducing the developmentsituation of the microcontroller, the design and implementation of the function, as well as the experimental board hardware conditions, and the

5、 function of eachcircuit are analyzed. The main work in the software programming, using experimental board to realize the time, date, time and setting of their functions,the software programming and debugging process in detail are described, and the timing error analysis and correction, the timing a

6、nd tone and display conflictproblems and solutions. The experiment proved that the effect is good, can be put into use. Therefore, the design and development of the clock has a good application prospect.Keywords: single chip microcomputer; clock; timer; digital tube目錄0 引言- 2 -1 設(shè)計(jì)任務(wù)分析- 2 -1.1電子時(shí)鐘的背景

7、- 2 -1.2 設(shè)計(jì)意義- 3 -1.3 時(shí)鐘的應(yīng)用- 3 -2 單片機(jī)的選擇.- 3 -3 系統(tǒng)功能與操作- 5 -3.1 系統(tǒng)功能的確定- 5 -3.1.1 基本功能- 5 -3.1.2 擴(kuò)展功能- 5 -3.2 系統(tǒng)操作說(shuō)明- 6 -4 系統(tǒng)硬件設(shè)計(jì)- 6 -4.1 芯片的選擇- 6 -4.2 實(shí)驗(yàn)板電路原理圖- 7 -4.3 功能電路分析- 8 -4.3.1 時(shí)鐘電路- 8 -4.3.2 復(fù)位電路- 8 -4.3.3 鍵盤(pán)電路- 9 -4.3.4 數(shù)碼顯示電路- 9 -4.3.5 蜂鳴器電路- 10 -5 系統(tǒng)軟件設(shè)計(jì)- 10 -5.1 數(shù)據(jù)單元分配- 11 -5.1.1 數(shù)據(jù)存儲(chǔ)單

8、元分配- 11 -5.1.2 標(biāo)志位單元分配- 11 -5.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法- 11 -5.3 實(shí)現(xiàn)時(shí)鐘程序設(shè)計(jì)步驟- 11 -5.3.1 主程序模塊設(shè)計(jì)- 12 -5.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)- 12 -5.3.3 顯示子程序模塊的實(shí)現(xiàn)- 13 -5.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)- 13 -5.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)- 13 -5.4 程序說(shuō)明- 13 -5.4.1 定時(shí)器初值計(jì)算- 13 -5.4.2 程序初始化- 13 -5.4.3 誤差分析與校正- 13 -5.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定- 13 -5.4.5 實(shí)現(xiàn)連續(xù)加1- 14 -5.4.6 定時(shí)音與顯示

9、相沖突問(wèn)題與解決方案- 14 -6 設(shè)計(jì)程序- 14 -7 系統(tǒng)調(diào)試與功能說(shuō)明- 25 -7.1 硬盤(pán)調(diào)試- 25 -7.2 系統(tǒng)性能測(cè)試與功能說(shuō)明- 26 -7.3 系統(tǒng)時(shí)鐘誤差分析- 26 -7.4 軟件調(diào)試問(wèn)題與解決- 26 -結(jié)束語(yǔ)- 27 -致- 27 -參考文獻(xiàn)- 27 -0 引言在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過(guò)程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性?xún)r(jià)比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來(lái)越廣泛。大則可以構(gòu)成復(fù)雜的工業(yè)過(guò)程控制系統(tǒng),完成復(fù)雜的控制功

10、能;小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大、體積小、質(zhì)量輕、靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)成各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來(lái)很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的圍,為家庭數(shù)字化提供了可能。 根據(jù)這種實(shí)際情況,本文設(shè)計(jì)了一個(gè)單片機(jī)多功能時(shí)鐘系統(tǒng),它有基本的時(shí)間功能,還有定時(shí)功能,既可作為鬧鈴,也可擴(kuò)展為定時(shí)對(duì)家電等電氣產(chǎn)品的自動(dòng)控制,可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制;可增加溫度傳感器,進(jìn)行實(shí)時(shí)溫度顯示,進(jìn)一步擴(kuò)展為

11、利用不同的溫度某些電氣產(chǎn)品進(jìn)行自動(dòng)控制;也可增加濕度傳感器,進(jìn)行實(shí)時(shí)濕度顯示,以便對(duì)濕度進(jìn)行控制,方便人們的生活。1 設(shè)計(jì)任務(wù)分析1.1電子時(shí)鐘的背景20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。 時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS

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

13、期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性?xún)r(jià)比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來(lái)越廣泛。大則可以構(gòu)成復(fù)雜的工業(yè)過(guò)程控制系統(tǒng),完成復(fù)雜的控制功能;小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大、體積小、質(zhì)量輕、靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)成各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來(lái)很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的圍,為家庭數(shù)字化提供了可能。根據(jù)這種實(shí)際情況,

14、設(shè)計(jì)了一個(gè)單片機(jī)多功能時(shí)鐘系統(tǒng),它有基本的時(shí)間功能,還有定時(shí)功能,既可作為鬧鈴,也可擴(kuò)展為定時(shí)對(duì)家電等電氣產(chǎn)品的自動(dòng)控制,可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制;可增加溫度傳感器,進(jìn)行實(shí)時(shí)溫度顯示,進(jìn)一步擴(kuò)展為利用不同的溫度某些電氣產(chǎn)品進(jìn)行自動(dòng)控制;也可增加濕度傳感器,進(jìn)行實(shí)時(shí)濕度顯示,以便對(duì)濕度進(jìn)行控制,方便人們的生活。1.3 時(shí)鐘的應(yīng)用 時(shí)鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭以與車(chē)站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便

15、等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)與自動(dòng)控制等各個(gè)領(lǐng)域。2 單片機(jī)的選擇 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),特別適用于控制領(lǐng)域,故又稱(chēng)為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖c外部設(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲(chǔ)容量、強(qiáng)I/O功能與較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎以下幾個(gè)方面:1、多功能單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O口

16、都集成在一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計(jì)數(shù)器陣列)、WDT(監(jiān)視定時(shí)器-看家狗)、高速I(mǎi)/O口與計(jì)數(shù)器的捕獲/比較邏輯等。有的單片機(jī)針對(duì)某一個(gè)應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51核為核心,集成了USB控制器、SMART CARD接口、MP3解碼器、CAN或者I*I*C總線控制器等,LED、LCD或VFD顯示驅(qū)動(dòng)器也開(kāi)始集成在8位單片機(jī)中。2、高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開(kāi)始使用RISC、流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單

17、片機(jī)運(yùn)行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片ROM(FLASH)和RAM的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開(kāi)始使用高級(jí)語(yǔ)言(如C語(yǔ)言)來(lái)開(kāi)發(fā)單片機(jī)的程序。使用高級(jí)語(yǔ)言可以降低開(kāi)發(fā) 難度,縮短開(kāi)發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十分重要。由于CMOS等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級(jí)。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長(zhǎng)的時(shí)間。4、低價(jià)格單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來(lái)的直接好處就是

18、成本的降低。目前世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn)。(1)家用電器領(lǐng)域用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動(dòng)化領(lǐng)域單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤(pán)、磁盤(pán)驅(qū)動(dòng)、打印機(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ī)x器、收款機(jī)、條形碼閱讀器、安全監(jiān)測(cè)系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮

19、系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專(zhuān)用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(4)工業(yè)自動(dòng)化在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計(jì)算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。(5)智能儀表與集成智能傳感器目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來(lái)代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢(xún)與聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。(6)現(xiàn)代交通與航空航天領(lǐng)域通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)

20、控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以與運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。3 系統(tǒng)功能與操作3.1 系統(tǒng)功能的確定3.1.1 基本功能系統(tǒng)具有時(shí)間、日期、三路定時(shí)功能,并可以對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定,有定時(shí)提示音。要求計(jì)時(shí)精度盡量提高。顯示格式為:時(shí)間:“時(shí)”(第1、2位)、“分”(第3、4位)、“秒”(第5、6位);日期:“年”(第1、2位,如2007年顯示為07)、“月”(第3、4位)、“日” (第5、6位);定時(shí):“時(shí)”(第1、2位)、“分”(第3、4位)、“狀態(tài)標(biāo)志”(第5、6位)。鍵盤(pán)與數(shù)碼管排列如圖2-1所示。3

21、.1.2 擴(kuò)展功能該系統(tǒng)可以增加溫度傳感器,實(shí)現(xiàn)溫度測(cè)量,以實(shí)時(shí)顯示溫度,用1、2位數(shù)碼管顯示;還可以增加濕度傳感器,實(shí)現(xiàn)濕度測(cè)量,以實(shí)時(shí)顯示濕度,用5、6位數(shù)碼管顯示。多路定時(shí)器功能也可擴(kuò)展為對(duì)多種家電等電氣產(chǎn)品的自動(dòng)控制,比如電飯煲等;也可利用溫度對(duì)某些電氣產(chǎn)品進(jìn)行自動(dòng)控制,比如空調(diào)等;還可利用濕度傳感器對(duì)濕度進(jìn)行調(diào)節(jié)。如圖3-1所示。圖3-1 系統(tǒng)功能圖3.2 系統(tǒng)操作說(shuō)明(1)按K1鍵顯示日期,3秒后自動(dòng)返回時(shí)間顯示,3秒按K2鍵進(jìn)入日期設(shè)置,此時(shí)年位閃爍,按K1鍵進(jìn)行年位加1或連續(xù)加1調(diào)整。按K2鍵依次切換到月位、日位,分別按K1鍵進(jìn)行月位、日位調(diào)整,日位設(shè)置好后,再按K2鍵保存日期

22、設(shè)定值,并返回顯示時(shí)間。(2)按K2鍵大于1秒進(jìn)入時(shí)間設(shè)置,此時(shí)小時(shí)位閃爍,秒位自動(dòng)清零,按K1鍵進(jìn)行小時(shí)調(diào)整,按K2鍵切換到分鐘位,按K1鍵進(jìn)行分鐘調(diào)整,分位設(shè)置好后,再按K2鍵保存時(shí)間設(shè)定值,并返回顯示時(shí)間,按所設(shè)定的時(shí)間值進(jìn)行計(jì)時(shí)。(3)連續(xù)按K3鍵顯示3路定時(shí)與其開(kāi)關(guān)狀態(tài),當(dāng)顯示某一路定時(shí)時(shí),3秒后自動(dòng)返回時(shí)間顯示,3秒按K2鍵進(jìn)入定時(shí)設(shè)置,設(shè)置同日期(5、6位顯示00為當(dāng)路定時(shí)關(guān),顯示01為當(dāng)路定時(shí)開(kāi))。當(dāng)路定時(shí)設(shè)置完后按K2鍵保存定時(shí)設(shè)定值并返回時(shí)間顯示。(4)按K4鍵顯示實(shí)時(shí)溫度和濕度,5秒后自動(dòng)返回時(shí)間顯示。4 系統(tǒng)硬件設(shè)計(jì)4.1 芯片的選擇本設(shè)計(jì)選用AT89S52芯片,它是一

23、種低功耗、高性能CMOS 8位微控制器,具有8K(0000H1FFFH)在線系統(tǒng)可編程Flash存儲(chǔ)器。片上Flash允許程序存儲(chǔ)器在線編程,也適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8K(0000H1FFFH)Flash,256字節(jié)(00HFFH)數(shù)據(jù)存儲(chǔ)器(RAM),64K(0000HFFFFH)程序存儲(chǔ)器(ROM),32位I/O口線,看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口晶振與時(shí)鐘電路。其中,數(shù)據(jù)存儲(chǔ)器

24、(RAM)用于存放各種運(yùn)算的中間結(jié)果,作緩存和數(shù)據(jù)暫存,以與設(shè)置特征標(biāo)志等。AT89S52的片數(shù)據(jù)存儲(chǔ)器用位尋址方式,最大尋址圍為256字節(jié)(00HFFH)。按使用情況不同可分成低128字節(jié)(00H7FH)和高128字節(jié)(80HFFH)。其中低128字節(jié)為真正的RAM存儲(chǔ)器,高128字節(jié)為特殊功能寄存器(SFR)區(qū),如累加器ACC、程序狀態(tài)字PSW、數(shù)據(jù)指針DPTR、程序計(jì)數(shù)器PC等。整個(gè)片RAM區(qū)分布如圖4-1所示。圖4-1 片RAM區(qū)4.2 實(shí)驗(yàn)板電路原理圖實(shí)驗(yàn)板電路結(jié)構(gòu)框圖如圖4-2所示,原理電路圖如圖4-3所示。圖4-2 實(shí)驗(yàn)板結(jié)構(gòu)框圖圖4-3 實(shí)驗(yàn)板原理圖4.3 功能電路分析4.3.

25、1 時(shí)鐘電路實(shí)驗(yàn)板的時(shí)鐘振蕩源電路如圖4-4所示。其中JT 為11.0592MHz 的晶振,改變兩電容CB的值即可對(duì)此晶振頻率進(jìn)行調(diào)節(jié)。該電路提供單片機(jī)工作所需的振蕩頻率,計(jì)算定時(shí)器初值即需此晶振頻率,在通信時(shí)也需知道晶振頻率,以對(duì)波特率進(jìn)行計(jì)算。圖 4-4 時(shí)鐘電路4.3.2 復(fù)位電路如圖4-5所示為實(shí)驗(yàn)板的復(fù)位電路,當(dāng)RESET 信號(hào)為低電平時(shí),實(shí)驗(yàn)板為工作狀態(tài),當(dāng)RESET信號(hào)為高電平時(shí),實(shí)驗(yàn)板為復(fù)位或下載程序狀態(tài)。由于AT89S52具有ISP 的功能,即可以通過(guò)并口線直接將程序下載到單片機(jī),因此, AT89S52 具有兩種狀態(tài),下載程序狀態(tài)和運(yùn)行狀態(tài)。該復(fù)位電路能實(shí)現(xiàn)上電自動(dòng)復(fù)位,也能

26、手動(dòng)復(fù)位,一般復(fù)位時(shí)RESET應(yīng)保持20毫秒以上高電平,此復(fù)位時(shí)間由接地電容控制。圖 4-5 復(fù)位電路4.3.3 鍵盤(pán)電路如圖4-6所示為陣列按鍵電路,各設(shè)置與轉(zhuǎn)換信號(hào)由此電路輸入,實(shí)驗(yàn)板提供了16個(gè)按鍵,由P1口經(jīng)SN74F244(驅(qū)動(dòng)芯片)輸出擴(kuò)展成44的陣列按鍵,P1.0P1.3為行線,P1.4P1.7為列線。SN74F244有一片選信號(hào)線,當(dāng)此口線為低電平時(shí),A1A4與Y1Y4接通,反之,A1A4與Y1Y4斷開(kāi)。此鍵盤(pán)用掃描工作方式,若有鍵按下,則相應(yīng)位端口被拉低為低電平,由于本系統(tǒng)只用了4個(gè)按鍵,所以只需對(duì)4個(gè)按鍵進(jìn)行掃描。掃描時(shí),先置P3.3口為高電平,向P1口送0EFH(MOV

27、P1,#0EFH),再置P3.3口為低電平,讀P1口(MOV A,P1),最后判斷P1口低4位哪位是低電平,若某位為低電平,則相應(yīng)按鍵被按下,如P1.0為低電平(ACC.0=0),則K1鍵被按下。圖 4-6 陣列按鍵4.3.4 數(shù)碼顯示電路如圖4-7所示為數(shù)碼顯示電路,實(shí)驗(yàn)板使用了6個(gè)共陽(yáng)數(shù)碼管,P0口為段碼信號(hào)線,B1B6為位控線,是P1口經(jīng)SN74F573(反向驅(qū)動(dòng)芯片,即輸入為高電平,則輸出為低電平,反之則輸出為高電平,該芯片也有一片選信號(hào)C,當(dāng)此信號(hào)為高電平時(shí)有效)反向得到,再由B1B6控制晶體管Q1Q6,以達(dá)到控制每位數(shù)碼管的目的。系統(tǒng)采用動(dòng)態(tài)顯示,先向P0口送第一位數(shù)碼管需要顯示的

28、段碼值,再給P1口送0FEH,延時(shí)1毫秒使第一位數(shù)碼管顯示,又向P0口送第二位數(shù)碼管需要顯示的段碼值,P1口送0FDH,延時(shí)1毫秒,使第二位數(shù)碼管顯示。依次遞推,直到最后一位數(shù)碼管,然后再循環(huán)。改變延時(shí)時(shí)長(zhǎng)可以調(diào)節(jié)數(shù)碼管顯示的亮度,由于單片機(jī)執(zhí)行速度很快(微秒級(jí)),所以看上去數(shù)碼管一直亮著。圖 4-7 數(shù)碼顯示電路4.3.5 蜂鳴器電路其硬件原理圖如圖4-8所示。此電路用于定時(shí)時(shí)發(fā)出提示音。SPEAKER與P3.2口相連,當(dāng)SPEAKER輸出高電平時(shí)蜂鳴器不響,而SPEAKER輸出低電平時(shí)蜂鳴器發(fā)出響聲。只需控制SPEAKER輸出高低電平的時(shí)間和變化頻率,就可以讓蜂鳴器發(fā)出不同的聲音。此電路用

29、于產(chǎn)生定時(shí)器提示音。圖 4-8 蜂鳴器電路5 系統(tǒng)軟件設(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è)方面的問(wèn)題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開(kāi)發(fā)清晰、簡(jiǎn)潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過(guò)仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋?zhuān)岣呖勺x性,實(shí)施軟件工程;

30、(7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。5.1 數(shù)據(jù)單元分配5.1.1 數(shù)據(jù)存儲(chǔ)單元分配數(shù)據(jù)存儲(chǔ)單元分配如下表所示:項(xiàng)目秒分時(shí)日月年存儲(chǔ)單元30H31H32H33H34H35H項(xiàng)目定時(shí)1:開(kāi)關(guān)定時(shí)1:分定時(shí)1:時(shí)定時(shí)2:開(kāi)關(guān)定時(shí)2:分定時(shí)2:時(shí)存儲(chǔ)單元36H37H38H39H3AH3BH項(xiàng)目定時(shí)3:開(kāi)關(guān)定時(shí)3:分定時(shí)3:時(shí)存顯示首地址堆棧起始單元存儲(chǔ)單元3CH3DH3EH3FH50H5.1.2 標(biāo)志位單元分配 標(biāo)志位單元(20H)分配如下表所示:位單元項(xiàng)目位單元項(xiàng)目01H1、2位數(shù)碼管閃爍標(biāo)志位08H定時(shí)1顯示標(biāo)志位02H09H定時(shí)2顯示標(biāo)志位03H3、4位數(shù)碼管閃爍標(biāo)志位0AH定時(shí)3顯

31、示標(biāo)志位04H0BH定時(shí)1響鈴標(biāo)志位05H5、6位數(shù)碼管顯示標(biāo)志位0CH定時(shí)2響鈴標(biāo)志位06H0DH定時(shí)3響鈴標(biāo)志位07H日期顯示標(biāo)志位0EH總響鈴標(biāo)志位5.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法時(shí)鐘的最小計(jì)時(shí)單位是秒,使用定時(shí)器的方式1,最大的定時(shí)時(shí)間也只能達(dá)到131毫秒。可把定時(shí)器的定時(shí)時(shí)間定為50毫秒,這樣,計(jì)數(shù)溢出20次即可得到時(shí)鐘的最小計(jì)時(shí)單位秒。計(jì)數(shù)20次可以用軟件實(shí)現(xiàn),對(duì)定時(shí)器溢出次數(shù)進(jìn)行計(jì)數(shù),計(jì)滿20次即為1秒。從秒到分,從分到時(shí),以與日、月、年都是通過(guò)軟件累加并進(jìn)行比較的方法實(shí)現(xiàn)的。5.3 實(shí)現(xiàn)時(shí)鐘程序設(shè)計(jì)步驟系統(tǒng)采用模塊化結(jié)構(gòu),主程序只需調(diào)用各個(gè)子程序模塊即可實(shí)現(xiàn)相應(yīng)功能。其模塊結(jié)構(gòu)圖

32、如圖5-1所示。 圖5-1 程序各模塊方框圖5.3.1 主程序模塊設(shè)計(jì)整個(gè)程序進(jìn)行模塊化設(shè)計(jì),主程序只需調(diào)用相應(yīng)的程序即可。主程序流程如圖5-2所示。 圖5-2 主程序流程圖5.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)當(dāng)T0中斷時(shí),執(zhí)行本程序,因T0設(shè)為50毫秒中斷,故中斷20次為1秒。中斷程序分別有20次計(jì)數(shù)(1秒),60次計(jì)數(shù)(1分),60次計(jì)數(shù)(1小時(shí)),24次計(jì)數(shù)(1天),28、29、30、31次計(jì)數(shù)(1個(gè)月),12次計(jì)數(shù)(1年)。當(dāng)前位到設(shè)定數(shù)值時(shí)寫(xiě)0或1,下一位加1。由于本世紀(jì)是21世紀(jì),年位前兩位是4的倍數(shù),故判斷閏年時(shí)只需對(duì)年的后兩位進(jìn)行計(jì)算,能被4整除為閏年,否則為平年,年位只進(jìn)行加1,

33、大于99時(shí)又重新開(kāi)始。計(jì)時(shí)中斷流程圖如圖5-3所示。圖5-3 計(jì)時(shí)子程序流程圖 圖5-4 顯示子程序流程圖5.3.3 顯示子程序模塊的實(shí)現(xiàn)顯示原理在前面已給予了說(shuō)明,流程圖如圖5-4所示。5.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)當(dāng)設(shè)定時(shí)間時(shí),斷開(kāi)T0中斷,秒單元清0,進(jìn)入時(shí)、分單元設(shè)定。設(shè)定好后重裝T0初值,開(kāi)T0中斷。流程圖如圖5-5所示。 圖5-5 時(shí)鐘設(shè)定子程流程圖5.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)日期、定時(shí)的設(shè)定同時(shí)鐘設(shè)定。定時(shí)設(shè)定時(shí),把時(shí)鐘的秒位換成定時(shí)標(biāo)志位,“00”為當(dāng)路定時(shí)關(guān),“01”為當(dāng)路定時(shí)開(kāi),流程圖與時(shí)鐘設(shè)定程序相似。5.4 程序說(shuō)明5.4.1 定時(shí)器初值計(jì)算因定時(shí)器

34、工作于方式1,需要50ms的中斷,所以計(jì)數(shù)初值:=216 - tfosc12=65536 - 5010-311.059210612=19456表示成十六進(jìn)制為=4C00H,故(TH0)=4CH,(TL0)=00H。5.4.2 程序初始化程序初始化時(shí),清相應(yīng)存單元(20H4FH共48個(gè)單元),送時(shí)間(00時(shí)00分00秒)、日期(07年10月01日)初值,送定時(shí)器T0、T1初值,TH0= TH1=4CH,TL0= TL1=00H,特殊寄存器(SP=50H、TMOD=11H)值等。5.4.3 誤差分析與校正當(dāng)T0中斷時(shí),需重裝定時(shí)初值,且要加上從斷開(kāi)T0中斷到允許T0中斷共有13個(gè)周期,以減小誤差,

35、故理論重裝定時(shí)初值為(TH0)=4CH,(TL0)=13H。但該外接晶振電路的晶振頻率可調(diào),可能出現(xiàn)誤差,所以實(shí)際不是這個(gè)值。經(jīng)調(diào)試,當(dāng)定時(shí)初值為(TH0)=4CH,(TL0)=06H時(shí),24小時(shí)約慢2秒,所以每當(dāng)計(jì)時(shí)24小時(shí)之后,給秒單元(30H)送02H,使秒累加時(shí)從2加起,24小時(shí)就少加2秒,即可使時(shí)間得到校正。5.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定閃動(dòng)可選用段碼送00H實(shí)現(xiàn),也可禁止當(dāng)前位顯示,選通位送0實(shí)現(xiàn)。本設(shè)計(jì)選用后者實(shí)現(xiàn)閃動(dòng),用定時(shí)器T1進(jìn)行控制。5.4.5 實(shí)現(xiàn)連續(xù)加1先判斷鍵是否松開(kāi),若松開(kāi),則只執(zhí)行一次加1程序段,進(jìn)行單次加1;若未松開(kāi)則連續(xù)執(zhí)行加1程序段,實(shí)現(xiàn)連續(xù)加1。每執(zhí)行一次加1

36、程序段就調(diào)用顯示子程序進(jìn)行延時(shí),以對(duì)調(diào)節(jié)速度進(jìn)行控制。本系統(tǒng)以5Hz的速度連續(xù)加1,這樣能快速對(duì)時(shí)間、日期、定時(shí)進(jìn)行設(shè)定。5.4.6 定時(shí)音與顯示相沖突問(wèn)題與解決方案由于蜂鳴器響時(shí)P3.2口的電平呈高頻變化,頻率1K2K,其間隙時(shí)間為0.51毫秒,小于6 毫秒,因顯示時(shí)每個(gè)數(shù)碼管顯示1毫秒,至少需要6毫秒,故蜂鳴器響時(shí)無(wú)法進(jìn)行顯示。為解決此問(wèn)題,可增加鎖存器,采用靜態(tài)顯示;也可增加一語(yǔ)音芯片,既可解決此問(wèn)題,也可把定時(shí)音換成音樂(lè)或語(yǔ)音提示,或增加其它功能,使系統(tǒng)功能更強(qiáng)。6 設(shè)計(jì)程序 ORG 0000H LJMP START ORG 000BH LJMP INTT0 ORG 001BH LJM

37、P INTT1 ;主程序;ORG 0020H START: MOV R0,#20H ;清20H-4FH共48個(gè)單元 MOV R7,#30H ;20H,21H標(biāo)志用 CLEARA: MOV R0,#00H INC R0 DJNZ R7,CLEARA CLR P2.2 CLR P2.1 CLR P2.0 MOV SP,#50H MOV 33H,#01H MOV 34H,#0AH MOV 35H,#07H MOV TMOD,#11H ;設(shè)T0、T1為16位定時(shí)器 MOV TL0,#00H ;50MS定時(shí)初值(T0計(jì)時(shí)用) MOV TH0,#4CH MOV TL1,#00H MOV TH1,#4CH

38、SETB EA SETB ET0 SETB TR0 MOV R4,#14H START1: LCALL DISPLAY LCALL KEY ACC.3,$+6 DATE1: LCALL DATE ACC.2,$+6 TIMEA: LCALL TIME ACC.1,$+6 SETTIME1: LCALL SETTIME ACC.0,$+6 JNB 0EH,$+6 ;定時(shí)顯示判斷 LCALL RING1 SJMP START1;計(jì)時(shí)程序; INTT0: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A,#06H ;TL=#06H,TH=#4CH ADD A,TL0 ;

39、低8位初值修正 MOV TL0,A ;重裝初值(低8位修正值) MOV A,#4CH ADDC A,TH0 ;高8位初值修正 MOV TH0,A ;重裝初值(高8位修正值) SETB TR0 DJNZ R4, $+5 ;1s未到中斷退出 LJMP $+6 LJMP OUTT0 MOV R4,#14H INC 30H MOV A,30H CJNE A,#3CH,$+6 LJMP $+6 LJMP OUTT0 MOV 30H,#00H INC 31H LCALL TIME1 ;調(diào)定時(shí)比較程序 MOV A,31H CJNE A,#3CH,$+5 SJMP $+5 LJMP OUTT0 MOV 31H

40、,#00H INC 32H MOV A,32H CJNE A,#18H,$+6 LJMP $+6 LJMP OUTT0 MOV 32H,#00H INC 33H MOV30H,#02H;時(shí)間修正 MOV A,34H CJNE A,#02H,$+6 LJMP MON2 CJNE A,#04H,$+6 LJMP DAY30 CJNE A,#06H,$+6 LJMP DAY30 CJNE A,#09H,$+6 LJMP DAY30 CJNE A,#0BH,$+6 LJMP DAY30 MOV A,33H CJNE A,#20H,$+6 LJMP LOOP1 LJMP OUTT0 DAY30: MOV

41、 A,33H CJNE A,#1FH,$+6 LJMP LOOP1 LJMP OUTT0 MON2: MOV A,35H MOV B,#04H DIV AB MOV A,B JZ DAY29 MOV A,33H CJNE A,#1DH,$+6 LJMP LOOP1 LJMP OUTT0 DAY29: MOV A,33H CJNE A,#1EH,$+6 LJMP LOOP1 LJMP OUTT0 LOOP1: MOV 33H,#01H INC 34H MOV A,34H CJNE A,#0DH,$+6 LJMP $+6 LJMP OUTT0 MOV 34H,#01H INC 35H MOV A,35H CJNE A,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論