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

下載本文檔

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

文檔簡介

1、青島農(nóng)業(yè)大學(xué)畢 業(yè) 論 文(設(shè)計) 題 目: 基于 51 單片機的數(shù)字時鐘的設(shè)計 姓 名: 學(xué) 院: 專 業(yè): 班 級: 學(xué) 號: 指導(dǎo)教師: 2011 年 6 月 18 日畢業(yè)論文(設(shè)計)誠信聲明本人聲明:所呈交的畢業(yè)論文(設(shè)計)是在導(dǎo)師指導(dǎo)下進行的研究工作及取得的研究成果,論文中引用他人的文獻、數(shù)據(jù)、圖表、資料均已作明確標注,論文中的結(jié)論和成果為本人獨立完成,真實可靠,不包含他人成果及已獲得青島農(nóng)業(yè)大學(xué)或其他教育機構(gòu)的學(xué)位或證書使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。論文(設(shè)計)作者簽名: 日期: 年 月 日 畢業(yè)論文(設(shè)計)版權(quán)使用授

2、權(quán)書本畢業(yè)論文(設(shè)計)作者同意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文(設(shè)計)的復(fù)印件和電子版,允許論文(設(shè)計)被查閱和借閱。本人授權(quán)青島農(nóng)業(yè)大學(xué)可以將本畢業(yè)論文(設(shè)計)全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本畢業(yè)論文(設(shè)計) 。本人離校后發(fā)表或使用該畢業(yè)論文(設(shè)計)或與該論文(設(shè)計)直接相關(guān)的學(xué)術(shù)論文或成果時,單位署名為青島農(nóng)業(yè)大學(xué)。論文(設(shè)計)作者簽名: 日期: 年 月 日指 導(dǎo) 教 師 簽 名: 日期: 年 月 1日0 目錄目錄摘要:.1ABSTRACT.11 緒論.12 硬件總體設(shè)計方案.22.1 系統(tǒng)功能實現(xiàn)總體設(shè)計思路.22.2 各部分功能

3、實現(xiàn).22.3 系統(tǒng)工作原理.22.4 電路功能使用說明.32.5 系統(tǒng)的設(shè)計方案.42.5.1 系統(tǒng)的電路圖和原理圖.42.5.2 單片機概述.62.5.3 鍵盤電路.92.5.4 顯示電路.102.6 硬件焊接準備.122.6.1 電路板的布線 .122.6.2 硬件電路元件明細表.133 軟件總體設(shè)計方案.143.1 程序流程圖.143.1.1 主程序流程圖 .143.1.2 按鍵處理流程圖.143.1.3 定時器中斷流程圖.143.1.4 時間顯示流程圖.153.2 調(diào)試結(jié)果說明.164 總結(jié) .18致 謝.19參考文獻.1附錄.210基于基于 5151 單片機的數(shù)字時鐘的設(shè)計單片機的

4、數(shù)字時鐘的設(shè)計電子信息科學(xué)與技術(shù)專業(yè) 孫彬指導(dǎo)教師 車曉巖摘要: 自誕生以來,單片機的應(yīng)用日趨廣泛,應(yīng)用領(lǐng)域日趨擴展,而MCS-51系列單片機是各單片機中最為典型的一種。這次畢業(yè)設(shè)計,以AT89C51芯片為核心,通過必要的電路,構(gòu)成簡單的電子時鐘。數(shù)字時鐘系統(tǒng)的主要任務(wù)是:采用單片機為核心器件產(chǎn)生24h(24小時)時間,并用LED顯示器將他顯示出來。另外本設(shè)計具有鬧鈴的功能,通過拉蜂鳴器來做提醒。這樣簡單的設(shè)計,直觀反映單片機的應(yīng)用。軟件和硬件的開發(fā)是這次設(shè)計必不可少的。關(guān)鍵詞:AT89C51;數(shù)字時鐘;LED數(shù)碼顯示管;C語言0Design of Digital Clock System B

5、ased on MSC-51 SinglechipElectronic Information Science and Technology SunBinTutor CheXiaoYanAbstract: The applications of single-chip have been spread widely,and the areas of its application have been expanding increasingly since its inception. and MCS-51 series single-chip microcontroller is the m

6、ost typical one. In the graduation-design , AT89C51 chip is the core of the necessary circuitry to form a simple electronic clock. Here are the main tasks of the digital clock system : as the core device ,Single-chip creates 24h (24 hour) time which will he displayed by the LED .In addition ,this de

7、sign has the function of alarm by making the buzzer to do as a reminder. This simple design can reflect the intuitive applications of the microcontroller. Software and hardware development is essential to this design .Keywords: SCM; The LED display; A digital clock; Assembly language 01 緒論數(shù)字時鐘作為人們?nèi)粘?/p>

8、生活中的必需品,給人們的學(xué)習(xí)、工作、生活帶來極大的便利。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域1。盡管目前市場上已有現(xiàn)成的數(shù)字鐘集成電路芯片出售,價格便宜、使用也方便,但鑒于單片機的定時器功能也可以完成數(shù)字鐘電路的設(shè)計,因此進行數(shù)字鐘的設(shè)計是必要的。在這里我們將已學(xué)過的專業(yè)知識有機的、系統(tǒng)的聯(lián)系起來用于實際,來培養(yǎng)我們的綜合分析和設(shè)計電路,寫程序、調(diào)試電路的能力。單片機具有體積小、功能強可靠性高、價格低廉、走時準確、性能穩(wěn)定、攜帶方便等一系列優(yōu)點,不僅已成為工業(yè)測控領(lǐng)域普遍采用的智能化控制工具

9、,而且已滲入到人們工作和和生活的各個角落,有力地推動了各行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代,應(yīng)用前景廣闊。培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動手能力;鞏固、加深和擴大單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決工業(yè)控制的能力;過對課題設(shè)計方案的分析、選擇、比較、熟悉單片機用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計的方法、內(nèi)容及步驟。12 硬件總體設(shè)計方案本次設(shè)計時鐘電路,使用了 AT89C51 單片機芯片控制電路,單片機控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時

10、使用 C 語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設(shè)計要求。2.1 系統(tǒng)功能實現(xiàn)總體設(shè)計思路此設(shè)計原理框圖如圖 2-1 所示,此電路包括以下四個部分:單片機,鍵盤,鬧鈴電路及顯示電路。 51 單片機獨立鍵盤數(shù)碼管顯示 圖 2-1 設(shè)計原理框圖2.2 各部分功能實現(xiàn)(1) 單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。(4) 單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能。2.3 系

11、統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:單片機控制電路,顯示電路、鬧鈴電路以及校正電路。詳細電路功能圖下圖所示:鬧鈴電路2AT89C51XTAL1XTAL210K10K10K10K10K10K100100100100100100100pF23456VCC010203040506Q1PNP200R13LS1SpeakerVCC22ufC722ufC8PSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.70102030405060708P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P

12、3.1P3.2P3.3P3.4P3.5P3.6P3.71 234 567 8VCCRSTVCC12Y1XTAL12345678abcdefgdpabc d ef g dp1 圖 2-2 詳細電路功能圖本設(shè)計采用 C 語言程序設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當秒計數(shù)計滿 60 時就向分進位,分計數(shù)器計滿 60 后向時計數(shù)器進位,小時計數(shù)器按“23 翻 0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當計時發(fā)生誤差的時候可以用校時電路進行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進行處理同時在數(shù)碼管上顯示。2.4 電路功能使用說明(1) 各個控制鍵的功能:可對時間進行

13、校準調(diào)節(jié)(只能加 1) ;按下設(shè)置鍵數(shù)字時鐘進入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加、分加鍵是在校準時間時或設(shè)置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進入秒表模式,同時秒表也開始計時,按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。(2)AT89C51 單片機,通過編寫程序?qū)?shù)碼顯示進行控制。(3)八個 7 段數(shù)碼管顯示時鐘和秒表信號。32.52.5 系統(tǒng)的設(shè)計方案系統(tǒng)的設(shè)計方案2.5.1 系統(tǒng)的電路圖和原理圖圖 2-3 數(shù)字時鐘電路圖4圖 2-4 數(shù)字時鐘電路原理圖52.5.2 單片機概述(1)單片機型號的選擇:AT89C51

14、圖 2-5 AT89C51 引腳圖(2)單片機的主要特點AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器 的單片機2。單片機的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT

15、89C51是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C51 單片機為很多嵌入式控制系統(tǒng) 提供了一種靈活性高且價廉的方案。 主要特性:與 MCS-51 兼容 4K 字節(jié)可編程 FLASH 存儲器 壽命:1000 寫/擦循環(huán) 數(shù)據(jù)保留時間: 10 年 全靜態(tài)工作: 0Hz-24MHz 三級程序存儲器鎖定 1288 位內(nèi)部 RAM 632 可編程 I/O 線 兩個 16 位定時器/計數(shù)器 5 個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路(3)管腳說明:VCC:供電電壓。 GND:接地。 P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳

16、可吸收 8TTL 門電流。當 P0 口的管腳第一次寫 1 時,被定義為高阻輸入。 P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH 進行校驗時, P0 輸出原碼,此時 P0 外部必須被拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時, P1 口作為第八位地址接收。 P2 口:P2 口為一個內(nèi)部上

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

18、TTL 門電流。當 P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由7于上拉的緣故。 也可作為 AT89C51 的一些特殊口,如下表所示: 表 2-1: P3 口的功能口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷 0)P3.3/INT1(外部中斷 1)P3.4T0(記時器 0 外部輸入)P3.5T1(記時器 1 外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST 腳兩個機器周期

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

20、器取指期間,每個機器周期兩次 /PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 /EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器( 0000H-FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式1 時,/EA 將內(nèi)部鎖定為 RESET;當/EA 端保持高電平時,此間內(nèi)部程序存儲器。在FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP) 。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出82.5.3 鍵盤電路(1)鍵盤電路的描述:作為整個系統(tǒng)中最簡單的部分,可以根據(jù)功能要求,進行時

21、間設(shè)置鍵、鬧鐘設(shè)置鍵、時間加鍵、時間減鍵等操作,并采用獨立式按鍵。(2)鍵盤電路圖:圖 2-6 鍵盤電路(3)鍵盤的工作原理:鍵盤是人與微機打交道的主要設(shè)備,按鍵的讀取容易引起誤動作。可采用軟件去抖動的方法處理,軟件的觸點在閉合和斷開的時候會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復(fù)執(zhí)行,在這里采用軟件延時的方法來避開抖動,延時時間 20ms3。獨立式按鍵的軟件常采用查詢式結(jié)構(gòu)。諸位查詢每根I/O 口線的輸入狀態(tài),如某一根 I/O 線輸入為低電平,則可確認該 I/O 口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。 連擊功能的實現(xiàn) :按下某鍵

22、時,對應(yīng)的功能鍵解釋程序得到執(zhí)行,如操作者沒有釋放按鍵,則對應(yīng)的功能會反復(fù)執(zhí)行,好象連續(xù)執(zhí)行,在這里我們采用軟件延時 250ms,當按鍵沒釋放則執(zhí)行下一條對應(yīng)程序。利用連擊功能,能實現(xiàn)快速調(diào)時操作。 (4)鍵盤電路應(yīng)注意的問題 :1) 開關(guān)狀態(tài)的可靠輸入,必須消除鍵抖動,可以采用硬件和軟件兩種方法,硬件方法就是在按鍵輸入通道上貼加去抖動電路,軟件方法采用延遲10-920MS。2) 鍵盤狀態(tài)的檢測方法 中斷方式還是查詢方式。3) 鍵盤編碼方法。4) 鍵盤控制程序的編制。2.5.4 顯示電路(1) LED 數(shù)碼顯示管簡介數(shù)碼管由 7 個發(fā)光二極管組成,行成一個日字形,它門可以共陰極,也可以共陽極。

23、通過解碼電路得到的數(shù)碼接通相應(yīng)的發(fā)光二極而形成相應(yīng)的字,這就是它的工作原理?;镜陌雽?dǎo)體數(shù)碼管是由 7 個條狀的發(fā)光二極管(LED)排列而成的,可實現(xiàn)數(shù)字09及少量字符的顯示。另外為了顯示小數(shù)點,增加了 1 個點狀的發(fā)光二極管,因此數(shù)碼管就由 8 個 LED 組成5。(2) 數(shù)碼管的分類: 數(shù)碼管按各發(fā)光二極管電極的連接方式分為共陽數(shù)碼管和共陰數(shù)碼管兩種。7 段共陽極 LED 數(shù)碼管是由 7 個條形發(fā)光二極管和一個小數(shù)點位構(gòu)成,其引腳配置,如圖所示,其內(nèi)部結(jié)構(gòu),如圖所示。從圖中可以看出,其中 7 個發(fā)光二極管構(gòu)成字形“8” ,可以用來顯示數(shù)字,另一個發(fā)光二極管構(gòu)成小數(shù)點。圖 2-7 共陽極 7

24、 段 LED 引腳設(shè)置和內(nèi)部結(jié)構(gòu)共陰極 7 段 LED 數(shù)碼管和共陽極 LED 數(shù)碼管結(jié)構(gòu)類似,其引腳配置,如圖所示。從圖中可以看出 7 段 LED 數(shù)碼管同樣由 8 個發(fā)光二極管組成,其中 7 個發(fā)光二極管構(gòu)成字形“8” ,另一個發(fā)光二極管構(gòu)成小數(shù)點。共陰極 7 段 LED 數(shù)碼管的內(nèi)部結(jié)構(gòu),如圖所示。其中所有發(fā)光二極管的陰極為公共端,接 GND6。10如果發(fā)光二極管的陽極極為高電平的時候,發(fā)光二極管導(dǎo)通,該字段發(fā)光;反之,如果發(fā)光二極管的陽極為低電平的時候,發(fā)光二極管截止,該字段不發(fā)光。圖 2-8 共陰極 7 段 LED 引腳設(shè)置和內(nèi)部結(jié)構(gòu)(3) 數(shù)碼管的顯示方式:數(shù)碼管要正常顯示,就要用

25、驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類7。1)動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨立的 I/O 線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通 COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分

26、時輪流控制各個數(shù)碼管的的COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為 12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。112)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的 I/O 端口進行驅(qū)動,或者使用如 BCD 碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O 端口多,如驅(qū)動

27、 5 個數(shù)碼管靜態(tài)顯示則需要 5840 根 I/O 端口來驅(qū)動,要知道一個 89S51 單片機可用的 I/O 端口才 32 個。),實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性8。(4)LED 數(shù)碼管的選擇:四位一體共陰數(shù)碼管。2.6 硬件焊接準備2.6.1 電路板的布線圖 2-9 電路板的布線通過電路板的布線設(shè)計,初步掌握焊接硬件的必要準備,也能夠在實際的數(shù)字時鐘焊接中,做好元器件的布局,使更美觀。122.6.2 硬件電路元件明細表表 3-1 硬件電路原件編號元件參數(shù) 1單片機AT89C51 1 只240PIC 座1 只3萬用板7cm*9cm 1 片4LED 數(shù)碼管四位一體共

28、陰 0.36 寸 2 只5排阻1K 1 只6晶振12M 1 只7電容22P 2 只8蜂鳴器1 個9三極管S8550 1 只10電阻4.7K 2 只11按鍵5 個12DC 座1 個13USB 電源線1 條 1133 軟件總體設(shè)計方案 單片機軟件的設(shè)計也是工具系統(tǒng)功能的設(shè)計,對于數(shù)字時鐘的實現(xiàn)和正常運行也是非常重要的9。為提高軟件的可行性,可以根據(jù)各部分的功能件軟件劃分為若干相對獨立的部分,使軟件開發(fā)結(jié)構(gòu)更合理,流程更清晰。建立正確的數(shù)學(xué)模型,繪制流程圖對軟件工程的實施會有很大幫助。3.1 程序流程圖3.1.1 主程序流程圖 主程序是先開始,然后啟動定時器,再進行檢測,完成之后,就能顯示時間。 開

29、始定時器及中斷定時器初始化是否設(shè)定參數(shù)執(zhí)行顯示程序執(zhí)行時鐘鬧鈴設(shè)定程序NY圖 3-1 主程序流程圖3.1.2 按鍵處理流程圖按鍵處理時先檢測秒按鍵是否按下,如果按下,秒就加 1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分加 1;如果沒有就檢測時按鍵,如果按下就加 1,如果沒有,時間顯示。流程圖如圖 3-1 所示。3.1.3 定時器中斷流程圖 定時器中斷時是先檢測 1 秒是否到,1 秒如果到,秒單位就加 1;如果沒有到,就檢測 1 分鐘是否到,1 分鐘如果到,分單元就加 1.如果沒到,就檢測 1小時是否到,1 小時如果到,時單元就加 1,如果沒到,就顯示時間。流程圖如3-2 示。14

30、Y開始秒按鍵按下?分按鍵按下?時按鍵按下?秒加 1時加 1顯示時間分加 1結(jié)束NNYYNY開始1 秒時間到?60 秒時間到?60 分鐘到?秒單元加 1分單位清零,時單元加 1顯示時間秒單元清零,分單元加 1中斷返回NNYYN24 小時到?時單元清零圖 3-2 按鍵處理流程圖 圖 3-3 定時器中斷流程圖3.1.4 時間顯示流程圖 時間顯示是先秒個位計算顯示,然后是秒十位計算、依次分個位計算、分十位計算、時個位計算、時十位計算。N15開始結(jié)束秒 個 位 計 算 顯 示秒十位計算顯示時十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示圖 3-4 時間顯示流程圖3.2 調(diào)試結(jié)果說明在調(diào)試的過程中

31、出現(xiàn)拉很多的問題,真對這些問題我進行拉系統(tǒng)的分析。(1)數(shù)據(jù)與代碼轉(zhuǎn)換。 由前述可知,從 P2 口輸出位選碼,從 P0 口輸出段選碼,LED 就會顯示出數(shù)字來。但 P0 口的輸出的數(shù)據(jù)是要 BCD 碼,各存儲單元存儲的是二進制數(shù),也就是和要顯示出的字符表達的含義是不一致的??梢?,將要顯示的存儲單元的數(shù)據(jù)直接送到 P0 口去驅(qū)動 LED 數(shù)碼管顯示是不能正確表達的,必須在系統(tǒng)內(nèi)部將要顯示的數(shù)據(jù)經(jīng)過 BCD 碼行轉(zhuǎn)換后,將各個單元數(shù)據(jù)的段選代碼送入 P0 口,給 CD4511 譯碼后去驅(qū)動數(shù)碼管顯示10。 具體轉(zhuǎn)換過程如下:先將要顯示的數(shù)據(jù)裝入累加器 A 中,再將 A 中的數(shù)據(jù)轉(zhuǎn)換成高低兩位的BC

32、D 碼, 再放回 A 中,然后將 A 中的值輸出。如:有一個單元存儲了 45 這樣一位數(shù),則需轉(zhuǎn)換成四位的 BCD 碼:(0100) (0101)然后放入 A 中。 A 中 BCD 碼,高位四位代表 4 低四位代表 5 同時送給兩個譯碼器中,譯碼后 45字就在兩個 LED 中顯示出來。 (2)計時功能的實現(xiàn)與中斷服務(wù)程序 時間的運行依靠定時中斷子程序?qū)r鐘單元數(shù)值進位調(diào)整來實現(xiàn)的。計數(shù)16器 T0 打開后, 進入計時,滿 100 毫秒后,重裝定時。中斷一次,滿一秒后秒進位,滿 60 秒后即為 1 分鐘, 分鐘單元進位,60 分到了后,時單元進位,24 小時滿后,天單元進位。這樣然后根據(jù)進率,

33、得到時、分、秒存儲單元的值,并經(jīng)譯碼后,通過掃描程序送 LED 中顯示出來, 實現(xiàn)時鐘計時功能。累加是用指令 INC 來實現(xiàn)的。 進入中斷服務(wù)程序以后,執(zhí)行 PUSH PSW 和 PUSH A 將程序狀態(tài)寄存器 PSW 的內(nèi)容和累加器 A 中的數(shù)據(jù)保存起來,這便是所謂的保護現(xiàn)場, 以保護現(xiàn)場和恢復(fù)現(xiàn)場時存取關(guān)鍵數(shù)據(jù)的存儲區(qū)叫做堆棧。在軟件的控制之下,堆??稍谄瑑?nèi) RAM 中的任一區(qū)間設(shè)定,而堆棧的數(shù)據(jù)存取與一般的 RAM 存取又有區(qū)別,對它的操作要遵循后進先出的原則。 (3)時鐘誤差分析 開啟定時器/計數(shù)器 0,使之開始計時,中斷后進入中斷程序。自停止計數(shù)到、計數(shù)又開始,中間執(zhí)行了 7 條指令

34、,也就是延遲了 13 個單周期共用時間26us,這樣,每個中斷的總時間應(yīng)為為 100.026sm,而原來定時是 100ms,所以,也就是說每次中斷定時多了 26um。 這樣,可改變計數(shù)重裝值,使每次中斷定時時間為 99.974sm,加上原來的 7 條指令所用的時間,正好 100sm.計數(shù) 10 次得 1s.這樣就可得到較精確的計時秒數(shù),然后根據(jù)進率,得到時、分的值。 (4)時間控制功能與比較指令 系統(tǒng)的另一功能就是實現(xiàn)對執(zhí)行設(shè)備的定時開關(guān)控制,其主要控制思想是這樣的:先將執(zhí)行設(shè)備開啟的時間和關(guān)閉時間置入 RAM 某一單元,在計時主程序當中執(zhí)行幾條比較指令,如果當前計時時間與執(zhí)行設(shè)備的設(shè)定開啟時

35、間相等,就執(zhí)行一條 CLR 指令,將對應(yīng)的那路 P3 置為高電位,開啟;如果當前計時時間與執(zhí)行設(shè)備設(shè)定的關(guān)閉時間相等,就執(zhí)行 SETB 對應(yīng)的 P3 置低電位,二極管截止, 。實現(xiàn)此控制功能用到的比較指令為 CJNE A,#direct, rel,其轉(zhuǎn)移條件是累加器 A 中的值與立即數(shù)不等則轉(zhuǎn)移。 174 總結(jié)這次對數(shù)字鐘的設(shè)計與制作,讓我了解了設(shè)計電路的程序,也讓我了解了關(guān)于數(shù)字鐘的原理與設(shè)計理念。在此次的數(shù)字鐘設(shè)計過程中,更進一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。在連接單片機與其他外部電路的實驗中,要求熟悉邏輯電路及其芯片各引腳的功能,那么在電路出錯時便能準確地

36、找出錯誤所在并及時糾正了。在設(shè)計電路中,對單片機的編程的進一步的熟悉與學(xué)習(xí)讓我明白拉許多自己沒有掌握的功能,對單片機有拉更深刻的理解。再就是電路的連接中的一些小的的注意的問題像極性電容器其 “ ” 與 “ ” 極不能接錯,例如電容器上的標記方向要易看可見。 在設(shè)計電路的連接圖中出錯的主要原因都是接線和芯片的接觸不良以及接線的錯誤所引起的。接線的時候一定要細心,不要接錯,同時也要學(xué)會如何判別芯片的好壞,要是芯片壞了即使接線再正確也出不來結(jié)果。對自己的設(shè)計圖要仔細考慮,反復(fù)調(diào)試只有這樣我們才能找到自己的不足從不足中學(xué)習(xí)。 通過這次數(shù)字鐘的設(shè)計,讓我對各種電路都有了大概的了解,也學(xué)會了常用繪圖軟件的

37、使用。所以說,坐而言不如立而行,對于這些電路還是應(yīng)該自己動手實際操作才會有深刻理解,才會有收獲。當然我做出這樣的文章也是離不開老師對我的細心指導(dǎo)的,所以在這里我感謝老師感謝幫助過我的所有的人。18致謝 畢業(yè)設(shè)計是培養(yǎng)我們工作能力的最后一個實踐性的學(xué)習(xí)環(huán)節(jié)。它不但是我們?nèi)甏髮W(xué)學(xué)習(xí)中所學(xué)知識的一次綜合復(fù)習(xí)與考查,同時也是理論聯(lián)系實際的一個過程,為以后從事專業(yè)技術(shù)工作的一次準備。通過此次畢業(yè)設(shè)計,培養(yǎng)了我綜合運用所學(xué)的基礎(chǔ)理論課、技術(shù)基礎(chǔ)課、專業(yè)課的知識和實踐技能去分析和解決實際工作中的一般工程技術(shù)問題的能力,使我建立了正確的設(shè)計思想,學(xué)會了如何把三年所學(xué)的理論知識運用到實踐當中去。掌握了單片機的

38、數(shù)字時鐘設(shè)計的一般程序、規(guī)范和方法,并進一步鞏固、擴大和深化了我所學(xué)的基本理論,基本知識和基本技能,提高了我設(shè)計計算、計算機制圖、設(shè)計說明書、正確使用技術(shù)資料,標準手冊等工具書的能力。在畢業(yè)設(shè)計的過程中,雖然本人在指導(dǎo)老師的幫助下對所設(shè)計的問題有初步的實習(xí)調(diào)研。但由于本人缺少實際工作經(jīng)驗,遇到了一些設(shè)計和實際加工中的問題,受到師傅和指導(dǎo)老師的指導(dǎo)與幫助,從而得到了全面的解決同時也受到各位老師優(yōu)良工作作風(fēng)的影響,培養(yǎng)了我嚴肅認真、一絲不茍和實事求是的工作作風(fēng),并樹立了正確的生產(chǎn)觀、經(jīng)濟觀和全局觀。在設(shè)計中,由于個人能力有限,設(shè)計中漏洞和錯誤在所難免,敬請各位老師指正批評,以使我對自己的不足得到及

39、時發(fā)現(xiàn)并修正。通過此次畢業(yè)設(shè)計,希望能把所學(xué)的知識有機的聯(lián)系起來,培養(yǎng)自己分析問題,解決問題的能力,為充實自己,并在未來工作崗位上好好工作打下堅實的基礎(chǔ)。在這里,向在這次畢業(yè)設(shè)計中給予過幫助我的老師表示衷心的謝意。19參考文獻1彭為,黃科.單片機典型系統(tǒng)設(shè)計實例精講.電子工業(yè)出版社,20062梅麗鳳,王艷秋.單片機原理及接口技術(shù)(修訂本).清華大學(xué)出版社,20073毛敏.MCS-51 系列單片機系統(tǒng)及應(yīng)用實踐教程.高等教育出版社,20094胡杰,吳磊,趙鳴.51 單片機 C 語言應(yīng)用與開發(fā). 北京航空航天大學(xué)出版社,20085譚浩強. C 程序設(shè)計(第二版)M. 清華大學(xué)出版社,20036馬軻

40、瀛.八路數(shù)字搶答器系統(tǒng)J.北京,20077蔡朝陽.單片機控制實習(xí)與專題制作M.北京:北京航空航天大學(xué)出版社,20068李增生.對搶答器的改進J.電子制作,20009 高偉.AT89 單片機原理及應(yīng)用M.北京:國防工業(yè)出版社,200810 Gordon McComb. Constructing Robot Bases.北京:機械工業(yè)出版社,2006.附錄附錄控制電路的源程序#include#define tl 0 xba;#define th 0 x3c;sbit time=P10;/時間設(shè)置sbit timer=P11;/鬧鐘設(shè)置sbit add=P12;/加sbit dec=P13;/減sb

41、it speaker=P35;/鬧鐘輸出bit disp_sd;/數(shù)碼管閃動顯示標志位bit disp_ms;/數(shù)碼管顯示時間/鬧鐘標志位bit disp_sdt;/數(shù)碼管閃動間隔反轉(zhuǎn)標志位bit zhengdian=0;/整點報時標志位/unsigned char code led=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /數(shù)字 0-9 的編碼unsigned char code led=0 x5F,0 x44,0 x9D,0 xD5,0 xC6,0 xD3,0 xDB,0 x45,0 xDF,0 xD7,;

42、/數(shù)字 0-9 的編碼unsigned char time_cc,timer_cc;/調(diào)時計數(shù)器unsigned char count0,count1,second,minit,hour;/時間時分秒unsigned char second1,minit1,hour1;/鬧鐘時分秒unsigned char hour_zd;/整點小時記錄void delay(void)unsigned int i;for(i=0;i100;i+);void display(void)if(disp_ms=0)if(disp_sd=0)P0=ledhour/10;1P2=0 xFE;delay();P2=0 x

43、FF;P0=ledhour%10;P2=0 xFD;delay();P2=0 xFF;P0=0 x80;P2=0 xFB;delay();P2=0 xFF;P0=ledminit/10;P2=0 xF7;delay();P2=0 xFF;P0=ledminit%10;P2=0 xEF;delay();P2=0 xFF;P0=0 x80;P2=0 xDF;delay();P2=0 xFF;P0=ledsecond/10;P2=0 xBF;delay();P2=0 xFF;P0=ledsecond%10;P2=0 x7F;delay();P2=0 xFF;elseif(time_cc=0 x01)

44、if(disp_sdt=1)2P0=ledhour/10;elseP0=0 x00;P2=0 xFE;delay();P2=0 xFF;if(disp_sdt=1)P0=ledhour%10;elseP0=0 x00;P2=0 xFD;delay();P2=0 xFF;elseP0=ledhour/10;P2=0 xFE;delay();P2=0 xFF;P0=ledhour%10;P2=0 xFD;delay();P2=0 xFF;P0=0 x80;P2=0 xFB;delay();P2=0 xFF;if(time_cc=0 x02)if(disp_sdt=1)P0=ledminit/10;

45、elseP0=0 x00;P2=0 xF7;delay();P2=0 xFF;if(disp_sdt=1)3P0=ledminit%10;elseP0=0 x00;P2=0 xEF;delay();P2=0 xFF;elseP0=ledminit/10;P2=0 xF7;delay();P2=0 xFF;P0=ledminit%10;P2=0 xEF;delay();P2=0 xFF;P0=0 x80;P2=0 xDF;delay();P2=0 xFF;if(time_cc=0 x03)if(disp_sdt=1)P0=ledsecond/10;elseP0=0 x00;P2=0 xBF;de

46、lay();P2=0 xFF;if(disp_sdt=1)P0=ledsecond%10;elseP0=0 x00;P2=0 x7F;delay();P2=0 xFF;4elseP0=ledsecond/10;P2=0 xBF;delay();P2=0 xFF;P0=ledsecond%10;P2=0 x7F;delay();P2=0 xFF;elseif(disp_sd=0)P0=ledhour1/10;P2=0 xFE;delay();P2=0 xFF;P0=ledhour1%10;P2=0 xFD;delay();P2=0 xFF;P0=0 x80;P2=0 xFB;delay();P2

47、=0 xFF;P0=ledminit1/10;P2=0 xF7;delay();P2=0 xFF;P0=ledminit1%10;P2=0 xEF;delay();P2=0 xFF;P0=0 x80;5P2=0 xDF;delay();P2=0 xFF;P0=ledsecond1/10;P2=0 xBF;delay();P2=0 xFF;P0=ledsecond1%10;P2=0 x7F;delay();P2=0 xFF;elseif(timer_cc=0 x01)if(disp_sdt=1)P0=ledhour1/10;elseP0=0 x00;P2=0 xFE;delay();P2=0 xFF;if(disp_sdt=1)P0=ledhour1%10;elseP0=0 x00;P2=0 xFD;delay();P2=0 xFF;elseP0=ledhou

溫馨提示

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

評論

0/150

提交評論