畢業(yè)論文(設(shè)計)_全日歷LED數(shù)字顯示屏的設(shè)計說明_第1頁
畢業(yè)論文(設(shè)計)_全日歷LED數(shù)字顯示屏的設(shè)計說明_第2頁
畢業(yè)論文(設(shè)計)_全日歷LED數(shù)字顯示屏的設(shè)計說明_第3頁
畢業(yè)論文(設(shè)計)_全日歷LED數(shù)字顯示屏的設(shè)計說明_第4頁
畢業(yè)論文(設(shè)計)_全日歷LED數(shù)字顯示屏的設(shè)計說明_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . PAGE33 / NUMPAGES35 . 全日歷LED數(shù)字顯示屏的設(shè)計摘要:20世紀末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快?,F(xiàn)代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴格和準確的人或事來說,時間的不準確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時間簡單明了而且讀數(shù)快、時間準確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘

2、是采用數(shù)字電路實現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計時裝置。數(shù)字鐘的精度、穩(wěn)定度遠遠超過老式機械鐘。在這次設(shè)計中,我們采用LED數(shù)碼管顯示時、分、秒,以24小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時器計數(shù)。在此次設(shè)計中,電路具有顯示時間的其本功能,還可以實現(xiàn)對時間的調(diào)整。數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。關(guān)鍵字:數(shù)字電子鐘 單片機目 錄TOC o 1-3 h u HYPERLINK l _Toc3205356691 前言 PAGEREF _Toc320535669 h 1HYP

3、ERLINK l _Toc3205356701.1數(shù)字電子鐘的背景 PAGEREF _Toc320535670 h 1HYPERLINK l _Toc3205356711.2數(shù)字電子鐘的意義 PAGEREF _Toc320535671 h 1HYPERLINK l _Toc3205356721.3數(shù)字電子鐘的應(yīng)用 PAGEREF _Toc320535672 h 2HYPERLINK l _Toc3205356732 整體設(shè)計方案 PAGEREF _Toc320535673 h 3HYPERLINK l _Toc3205356742.1 單片機的選擇 PAGEREF _Toc320535674

4、h 3HYPERLINK l _Toc3205356752.2 單片機的基本結(jié)構(gòu) PAGEREF _Toc320535675 h 5HYPERLINK l _Toc3205356763 數(shù)字鐘的硬件設(shè)計 PAGEREF _Toc320535676 h 10HYPERLINK l _Toc3205356773.1 最小系統(tǒng)設(shè)計 PAGEREF _Toc320535677 h 10HYPERLINK l _Toc3205356783.2 LED顯示電路 PAGEREF _Toc320535678 h 12HYPERLINK l _Toc3205356793.3 鍵盤控制電路 PAGEREF _To

5、c320535679 h 15HYPERLINK l _Toc3205356804 數(shù)字鐘的軟件設(shè)計 PAGEREF _Toc320535680 h 16HYPERLINK l _Toc3205356814.1 系統(tǒng)軟件設(shè)計流程圖 PAGEREF _Toc320535681 h 16HYPERLINK l _Toc3205356824.2 數(shù)字鐘的原理圖 PAGEREF _Toc320535682 h 20HYPERLINK l _Toc3205356834.3 中斷子程序 PAGEREF _Toc320535683 h 21HYPERLINK l _Toc3205356844.4延時程序 P

6、AGEREF _Toc320535684 h 21HYPERLINK l _Toc3205356854.5主程序和定時器中斷子程序 PAGEREF _Toc320535685 h 21HYPERLINK l _Toc3205356864.6 LED顯示子程序 PAGEREF _Toc320535686 h 22HYPERLINK l _Toc3205356874.7 按鍵控制子程序 PAGEREF _Toc320535687 h 24HYPERLINK l _Toc3205356885 系統(tǒng)仿真 PAGEREF _Toc320535688 h 27HYPERLINK l _Toc3205356

7、895.1 PROTUES軟件介紹 PAGEREF _Toc320535689 h 27HYPERLINK l _Toc3205356905.2 電子鐘系統(tǒng)PROTUES仿真 PAGEREF _Toc320535690 h 27HYPERLINK l _Toc3205356916 調(diào)試與功能說明 PAGEREF _Toc320535691 h 28HYPERLINK l _Toc3205356926.1 系統(tǒng)性能測試與功能說明 PAGEREF _Toc320535692 h 28HYPERLINK l _Toc3205356936.2 系統(tǒng)時鐘誤差分析 PAGEREF _Toc32053569

8、3 h 28HYPERLINK l _Toc3205356946.3 軟件調(diào)試問題與解決 PAGEREF _Toc320535694 h 28HYPERLINK l _Toc320535695結(jié)論 PAGEREF _Toc320535695 h 30HYPERLINK l _Toc320535696參考文獻(References): PAGEREF _Toc320535696 h 31HYPERLINK l _Toc320535697附錄 PAGEREF _Toc320535697 h 32HYPERLINK l _Toc320535698致 PAGEREF _Toc320535698 h 3

9、31 前言1.1數(shù)字電子鐘的背景20世紀末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢。單片機應(yīng)用的重要意

10、義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。1.2數(shù)字電子鐘的意義數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的

11、廣泛應(yīng)用,使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘與擴大其應(yīng)用,有著非?,F(xiàn)實的意義。1.3數(shù)字電子鐘的應(yīng)用數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個人家庭以與車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方

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

13、的存儲器和I/O口都集成在一塊芯片上,使得單片機可以實現(xiàn)更多的功能。比如A/D、PWM、PCA(可編程計數(shù)器陣列)、WDT(監(jiān)視定時器看家狗)、高速I/O口與計數(shù)器的捕獲/比較邏輯等。有的單片機針對某一個應(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ū)動器也開始集成在8位單片機中。2、高效率和高性能為了提高執(zhí)行速度和執(zhí)行效率,單片機開始使用RISC、流水線和DSP的設(shè)計技術(shù),使單片機的性能有了明顯的提高,表現(xiàn)為:單片機的時鐘頻率得到提

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

15、來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機性能的同時,十分注意降低其產(chǎn)品的價格。下面大致介紹一下單片機的主要應(yīng)用領(lǐng)域和特點。(1)家用電器領(lǐng)域用單片機控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機、空調(diào)、冰箱、微波爐、和電視機等)功能更完善,更加智能化和易于使用。(2)辦公自動化領(lǐng)域單片機作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計算機的鍵盤、磁盤驅(qū)動、打印機、復(fù)印機、機和 機等。(3)商業(yè)應(yīng)用領(lǐng)域商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計量儀器、收款機、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)

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

17、合顯示系統(tǒng)、動力監(jiān)控系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)以與運行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實時性的要求往往比商用系統(tǒng)還要高,因此采用單片機系統(tǒng)更加重要。目前,我國生產(chǎn)很多型號的單片機,在此,我們采用型號為STC89C52的單片機。因為: HYPERLINK :/ zymcu /datasheet/atmel/at89c51.pdf t _blank STC89C52是一個低電壓,高性能CMOS 8位單片機,片含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-5

18、2指令系統(tǒng),片置通用8位中央處理器和Flash存儲單元,置功能強大的微型計算機的AT89C52提供了高性價比的解決方案。STC89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,STC89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。2.2 單片機的基本結(jié)構(gòu)MCS-52單片機部結(jié)構(gòu) 8052單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接

19、口和中斷系統(tǒng)等幾大單元與數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8052部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖2-1 單片機8052的部結(jié)構(gòu)程序存儲器(ROM):

20、805 2共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8052有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8052置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8052置最高頻率達12MH

21、z的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-52系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-52系列單片機的部結(jié)構(gòu)示意圖。圖2-2 MCS-52系列單片機的部結(jié)構(gòu)MCS-52的引腳說明:MCS-52系列單片機中的8031、8051與8751均采用40Pin封裝的雙列直接DIP結(jié)

22、構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機中的8031、8051與8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:圖2-3 單片機的引腳圖in9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8052通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高

23、電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機部RAM的數(shù)據(jù)不丟失圖2-4 上電自動和手動復(fù)位電路圖圖2-5 部和外部時鐘方式圖 Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低

24、位字節(jié)。而訪問部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的外部選通線,8051和8751單片機,置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀

25、取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對部無程序存儲器的8031,EA端必須接地。3 數(shù)字鐘的硬件設(shè)計3.1 最小系統(tǒng)設(shè)計 單片機的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個組成部分。1.電源引腳 Vcc電源端GND接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 2.外接晶體引腳圖3-1 晶振連接的部、外部方式圖XTAL119XTAL218XTAL1是片振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。部方式時,時鐘發(fā)生器對

26、振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計是采用的部方式,即利用芯片部的振蕩電路。AT89單片機部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以與電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可

27、能的選擇瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位RST9 在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片復(fù)位電路是復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5

28、P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是按鈕復(fù)位電路。4.輸入輸出引腳 (1) P0端口P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅(qū)動8個TTL。對部Flash程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間部的上拉電阻起作用。 (2) P1端口P1.0P1.7 P1是一個帶有部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,部上拉電阻將端口拉

29、到高電平,作輸入用。對部Flash程序存儲器編程時,接收低8位地址信息。 (3) P2端口P2.0P2.7 P2是一個帶有部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,部上拉電阻將端口拉到高電平,作輸入用。對部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的容在此期間不會改變。 (4) P3端口P3.0P3.7 P2是一個帶有部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,部上拉電阻將端口拉到高電平,作輸入用。對部Flash程序存儲器編程時,

30、接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0( INT0)P3.3外部中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RD表3-1P3端口引腳兼用功能表3.2 LED顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運行狀態(tài)和工作數(shù)據(jù),按照材料與產(chǎn)品工藝,單片機應(yīng)用系統(tǒng)中常用的顯示器有:發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。LED顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。圖3-2 L

31、ED顯示器的符號圖 發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式LED數(shù)碼管的原理圖和符號.圖3-3 共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號圖顯示電路顯示模塊需要實時顯示當(dāng)前的時間,即時、分、秒,因此需要6個數(shù)碼管,另需兩個數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時間,硬件連接如下圖

32、所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第四個和第五個數(shù)碼管,秒的十位和個位分別顯示在第七個和第八個數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯示器,通常都是采用動態(tài)掃描的方法進行顯示,其硬件連接方式如下圖所示。圖3-4 數(shù)碼管的硬件連接示意圖數(shù)碼管使用條件:a、段與小數(shù)點上加限流電阻b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點:根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動態(tài):平均電流 4-5mA 峰值電流 100mA數(shù)碼管使用注意事項說明:()數(shù)碼管表面

33、不要用手觸摸,不要用手去弄引角;()焊接溫度:度;焊接時間:()表面有保護膜的產(chǎn)品,可以在使用前撕下來。3.3 鍵盤控制電路該設(shè)計需要校對時間,所以用三個按鍵來實現(xiàn)。按hour來調(diào)節(jié)小時的時間,按 minute來調(diào)節(jié)分針的時間,按 sceond來調(diào)節(jié)秒的時間。下圖是按鍵硬件連接圖。圖3-5 按鍵控制電路的硬件連接圖當(dāng)用手按下一個鍵時,如圖3-6所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個鍵時,也回會出現(xiàn)類似的情況。這就是抖動。抖動的持續(xù)時間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易

34、地解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩(wěn)定圖3-6 按鍵抖動信號波形4 數(shù)字鐘的軟件設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設(shè)計和監(jiān)控軟件的設(shè)計。單片機的軟件設(shè)計通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計、實行模塊化、子程序化。既便于調(diào)試、,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);

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

36、1顯示時間結(jié)束開始sceond按鍵按下?sceond加1minute按鍵按下?minute加1hour按鍵按下?圖4-2 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY圖4-3 定時器中斷流程圖時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再

37、就是時個位計算顯示,最后是時十位顯示。時十位計算顯示結(jié)束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示圖4-4 時間顯示流程圖4.2 數(shù)字鐘的原理圖用PROTUES軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。圖4-5 數(shù)字鐘的原理圖 在此有必要介紹一下數(shù)字電子鐘的工作原理。工作原理: 數(shù)字電子鐘是一個將“時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數(shù)字鐘電路主要由顯示器“時”,“分”,“秒”和單片機,還有校時電路組成。8個數(shù)碼管的段選接到單片機的P0口,位選接到單片機的

38、P2口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標準秒信號送入“秒單元”,“秒單元”采用60進制計數(shù)器,每累計60秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧币膊捎?0進制計數(shù)器,每累計60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”?!皶r單元”采用24進制計時器,可實現(xiàn)對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整,校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整,按一下second,秒單元就加1 ,按一下minute,分就加1,按一下hour,時就加1。

39、4.3中斷子程序timer0 (void) interrupt 1 using 1 u+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 4.4延時程序void delay() unsigned int time,p; for(time=30;time0;time-) for(p=0;p10;p+); 4.5主程序和定時器中斷子程序#includechar mod=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;char sceond,minute,hour,i,k,l,j,x

40、,y;int u;sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;void main() TMOD=0 x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; do kongzhi(); xianshi(); while(1);在這里,我們有必要介紹一下單片機的中斷系統(tǒng),以利于我們的學(xué)習(xí)。中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機CPU的效率,也可以對突發(fā)事件處理。所謂中斷就是當(dāng)CPU正在執(zhí)行程序A時,發(fā)生了另一個急需處理的事件B,這是CPU暫停當(dāng)前執(zhí)行的

41、程序A,立即轉(zhuǎn)去執(zhí)行處理事件B的程序,處理完事件B后,再返回到程序A繼續(xù)執(zhí)行,這個過程被叫做中斷。關(guān)于中斷的概念有下列幾個名詞:(1)程序A稱為主程序,(2)處理事件B的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點,(4)引起中斷的原因即事件B稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個如下的比喻。領(lǐng)導(dǎo)(CPU)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問題打來請示(中斷源),領(lǐng)導(dǎo)停下正在進行的工作,通過給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。中斷是一個過程,當(dāng)中央處理器CPU在處理某

42、件事情時,外部又發(fā)生了另一緊急事件,請求CPU暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源。單片機一般允許有多個中斷源,當(dāng)幾個中斷源同時向CPU請求中斷時,就存在CPU優(yōu)先響應(yīng)哪一個中斷請求源的問題(優(yōu)先級問題),一般根據(jù)中斷源的輕重緩急排隊,優(yōu)先處理最緊急事件的中斷請求,于是便規(guī)定每一個中斷源都有一個中斷優(yōu)先級別,并且CPU總是響應(yīng)級別最高的中斷請求。當(dāng)CPU正在處理一個中斷源請求的時候,又發(fā)生了另一個優(yōu)先級比它高的中斷源請求,如果CPU能夠暫時中止對原來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級更高的中斷

43、源請求,待處理完以后,再繼續(xù)執(zhí)行原來的低級中斷處理程序,這樣的過程稱為中斷嵌套。4.6LED顯示子程序void xianshi() if(u=20) u=0; sceond+; while(sceond=60) sceond=0; minute+; if(minute=60) minute=0; hour+ ; if(hour=24) hour=0; x=hour%10; y=hour/10; l=minute%10; j=minute/10; i=sceond%10; k=sceond/10; P2=0 x7f; P0=modi; delay(); P2=0 xbf; P0=modk; de

44、lay(); P2=0 xdf; P0=0 x40; delay(); P2=0 xef; P0=modl; delay(); P2=0 xf7; P0=modj; delay(); P2=0 xfb; P0=0 x40; delay(); P2=0 xfd; P0=modx; delay(); P2=0 xfe; P0=mody; delay();4.7按鍵控制子程序void kongzhi() if(P1_0=0) TR0=0; while(P1_0=0); while(1) if(P1_1=0) sceond+; if(sceond=60) sceond=0; while(P1_1=0)

45、; if(P1_2=0) sceond-; if(sceond0) sceond=0; while(P1_2=0); i=sceond%10; k=sceond/10; P2=0 x7f; P0=modi; delay(); P2=0 xbf; P0=modk; delay(); if(P1_0=0) while(P1_0=0); while(1) if(P1_1=0) minute+;while(minute=60) minute=0; while(P1_1=0); if(P1_2=0) minute-; if(minute0) minute=0; while(P1_2=0); l=minu

46、te%10; j=minute/10; P2=0 xef; P0=modl; delay(); P2=0 xf7; P0=modj; delay(); if( P1_0=0) while(P1_0=0); while(1) if(P1_1=0) hour+; while(hour=24) hour=0; while(P1_1=0); if(P1_2=0) hour-; if(hour0時表示電子鐘秒單元數(shù)值刷新滯后,即走時誤差為“慢”;反之,S0表示秒單元數(shù)值的刷新超前,即走時誤差為“快”。本次設(shè)計的單片機電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩

47、,容易產(chǎn)生走時誤差;定時器溢出的時間誤差,本應(yīng)這一秒溢出,但卻在下一秒溢出,造成走時誤差;延遲時間過長或過短,都會造成與基準時間產(chǎn)生偏差,造成走時誤差。6.3 軟件調(diào)試問題與解決軟件程序的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來調(diào)試程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 7.5 professional軟件,此軟件功能強大且操作較為簡單,可以很容易的實現(xiàn)各種系統(tǒng)的仿真。 首先打開pr

48、otus 7.5 professional軟件,在元件庫中找到要選用的所有元件,然后進行原理圖的繪制;繪制好后再選擇已經(jīng)編譯好的*.hex文件,選擇運行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運行查,直到滿足要求。結(jié) 論有日子我起初認為單片機是個噩夢,因為自己在單片機這一塊存在著太大的缺陷,幸運的是我終于完成了這次考試論文。一開始按照老師布置的流程,一步步去實現(xiàn)那個目標,找資料,讀懂程序,寫寫流程圖,當(dāng)然不懂就去找老師,通過自己的勤奮和同學(xué)之間的取長補短,目標一步步的被我找到和實現(xiàn),時間盡管很短但是我在單片機這一塊的缺陷正在慢慢縮短和知識的不斷上升,對單片機也有了很大的興趣,并且使數(shù)字鐘能夠順利運行,完成了預(yù)期的目標。從單片機模塊數(shù)字鐘的設(shè)計過程中也找到了一些單片機開發(fā)的規(guī)律:先了解所有元件的具體容,從而畫出其電路圖,使數(shù)字鐘從簡易變成多功能的方式,雖沒有做多功能數(shù)字鐘,卻知曉了其方法。從而讓我踏入了單片機應(yīng)用領(lǐng)域的第一步。然而在調(diào)試過程中有也有許多的不足之處:例如編寫調(diào)試程序有點不足。希望能夠在以后的不斷深入學(xué)習(xí)中能夠彌補自己的不足之處。同時更是朝著單片機應(yīng)用領(lǐng)域邁進。當(dāng)然通過這次的課程設(shè)計,我了解了Keil C51集成環(huán)境和PROTEUS 7.5仿真軟件的使用,用此軟件練習(xí)

溫馨提示

  • 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

提交評論