【正文】
附 錄一 系統(tǒng)程序源代碼 .......................................................................................... 38 附錄二 電路原理圖 ................................................................................................. 44 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 3 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 摘 要 在當今社會, 隨著計算機在社會領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機的應(yīng)用正在不斷地走向深入,由于它具有功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點,因此 它 特別適合于與 控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件 相 結(jié)合,以作完善。 單片機數(shù)字時鐘是以單片機為核心,在它的基礎(chǔ)上設(shè)計出來的 數(shù)字 時 鐘 , 在日常生活中最常見,應(yīng)用也最廣泛。本論文的數(shù)字鐘 設(shè)計 , 是 以 AT89C52 單片機為核心,配備 LED 顯示模塊、時鐘電路 、 復(fù)位 、電源 等功能模塊。文章的核心主要從硬件設(shè)計和軟件編程兩個大的方面。 硬件 設(shè)計 用 軟件仿真和實際 電路來實現(xiàn), 軟件 編程 用匯編語言 來實現(xiàn)。 因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。 關(guān)鍵字 : 單片機 ; 數(shù)字鐘 ; 編程 ; 匯編語言 ; 仿真 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 4 51 assembly languagebased microcontroller design Adjustable digital clock Abstract With the puter in the social sphere in recent years, the peration and the development of large scale integrated circuits, microcontroller applications are continually deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use, etc. therefore particularly suitable for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and home appliances fields, SCM is often used as a core ponent in according to the specific hardware architecture, and objectspecific features of the software application bining to make perfect. Digital Clock is a single chip microcontroller as the core, designed on the basis of its digital clock., In their daily lives the most mon and most widely applied. Digital Clock Design of this paper is based on AT89C52 microcontroller as the core, with LED display module, the clock circuit, reset, power supply modules. The main core of the article from the hardware design and software programming are two major aspects. Hardware design using software simulation and actual circuit design, software programming in assembly language to achieve. Therefore, the study of digital clock and extend its application, has a very practical significance. Keywords: MCU; Digital Clock; ProgrammingAssembly Language; Simulation 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 5 引 言 20 世紀末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當前的時間。忘記了要做的事情,當事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。 目前,單片機正朝著高性能和多品種方向發(fā)展,趨勢將是進一步向著 CMOS化、低功耗、小體積、大容量、 高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。單片機應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 [1]微控制技術(shù)標志著一種全新概念的出現(xiàn)。隨著單片機應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展并日趨完善,而單片機的應(yīng)用則必將更加深入和廣泛。 單片機模塊中最常見的是數(shù)字時鐘, 數(shù)字 時 鐘是一種用 單片機原理 實現(xiàn)時、分、秒計時的裝置 ,與機械式時 鐘相比具有更高的準確性和直觀性,且無機械裝置,具有 更長的使用壽命,因此得到了廣泛的使用。 鐘表 的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等,所有這些,都是以 鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用范圍 ,有著非常現(xiàn)實且重要的 意義。 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 6 第一章 緒論 課題 的 背景 人類跨入 21 世紀,科學技術(shù)突飛猛進, 人民的生活發(fā)生了翻天覆地的變化。當今的社 會已經(jīng)進入信息化時代,基本所有的電子產(chǎn)品都向智能化,環(huán)?;l(fā)展。而 產(chǎn)生這一變化的重要原因 是 計算機技術(shù)的飛速發(fā)展。第一臺計算機 ENIAC( Electronic Numberical Integrator and Computer)誕生,到現(xiàn)在僅僅是幾十年時間,計算機的性能已經(jīng)大大提高,價格不斷下降,從而使之可以廣泛而迅速地應(yīng)用于人類生產(chǎn)和生活的各個領(lǐng)域。 計算機最初的設(shè)計目的是為了提高計算數(shù)據(jù)的速度和完成海量數(shù)據(jù)的計算。隨著技術(shù)的發(fā)展,人們發(fā)現(xiàn)計算機在邏輯處理以及工業(yè)控制等方面也具有非凡的能力。在控制領(lǐng)域, 人們更多的關(guān)心計算機的低成本,小體積,運行的可靠性和控制靈活性。特別是智能儀表,智能傳感器,智能家電,智能辦公設(shè)備,汽車以及軍事電子設(shè)備等應(yīng)用系統(tǒng)要求將計算機嵌入這些設(shè)備中。 而 單片機體積小,價格低,可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對于滿足嵌入式應(yīng)用需求具有獨特的優(yōu)勢。目前,單片機應(yīng)用技術(shù)已經(jīng)成為電子應(yīng)用系統(tǒng)設(shè)計最為常用的手段 。 “單片機 ( Single Chip Microputer) ”亦稱單片微電腦或單片微型計算機,國際上統(tǒng)稱為 “微控制器 ( Microcontroller, MCU,μ C) ”,是一類內(nèi)部集 成了計算機核心技術(shù)的智能芯片。也就是把中央處理器 CPU、隨機存取存貯器 RAM、只讀存貯器 ROM、輸入 /輸出端口 I/O 等主要的計算機功能部件,都統(tǒng)統(tǒng)集成在了一塊集成電路芯片上,從而形成一部概念上完整的微型計算機。 單片機的設(shè)計目標主要是增強 “控制 ”能力,滿足實時控制(就是快速反應(yīng))方面的需要。因此,它在硬件結(jié)構(gòu)、指令系統(tǒng)、 I/O 端口、功率消耗及可靠性等方面均有其獨特之處,其最顯著的特長之一就是具有非常有效的控制功能。盡管單片機主要是為控制目的而設(shè)計的,它仍然具備通用微型計算機的全部特征。 “麻雀雖小,五臟俱全 ”。既然單片機是一部概念上完整的微型計算機,那么單片機的功能部件和工作原理與微型計算機也是基本相同的。 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 7 課題 的 來源 時鐘,自從它發(fā)明的那天起,就成為人類的好朋友,但隨著時間的推移,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用 ,使得數(shù)字鐘的精度 ,遠遠超過老式鐘表 , 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。人們對它的功能又提出了新的要求,怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。 比如多功能數(shù)字鐘,除了傳統(tǒng)的顯示時間功能之外還可以測試溫度、電網(wǎng)頻率、電壓 、并提供了過壓報警、非接觸止鬧等功能。本設(shè)計的數(shù)字時鐘是采用了現(xiàn)在廣泛使用用的單片機技術(shù)為核心,軟硬件結(jié)合,使硬件部分大為簡化,提高了系統(tǒng)穩(wěn)定性,從而制作出新型且比較實用的數(shù)字鐘。 課題的意義 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對 .時 ,分 ,秒 .數(shù)字顯示的計時裝置 ,廣泛用于個人家庭 ,車站 , 碼頭 , 辦公室等公共場所 , 給人們的生活、學習、工作、娛樂帶來極大的方便, 成為人們?nèi)粘I钪胁豢缮俚谋匦杵?, 由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使數(shù)字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,使得數(shù)字鐘的精度 ,遠 遠超過老式鐘表 。 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。 它還用于計時、自動報時及自動控制等各個領(lǐng)域。 諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義 。 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 8 第二章 設(shè)計目的及 要求 設(shè)計目的 ( 1)掌握 51 系列內(nèi)部定時 /計數(shù)器的原理和基本應(yīng)用; ( 2)掌握使用單片機處理復(fù)雜邏輯的方法; ( 3)掌握多位 數(shù)碼管動態(tài)顯示的方法; ( 4)掌握獨立式(和矩陣)鍵盤的編程方法; ( 5)掌握利用匯編語言編寫單片機系統(tǒng)的應(yīng)用軟件的方法; ( 6) 鞏固 ,加深和擴大單片機應(yīng)用的知識面 ,提高綜合及靈活運用所學知識解決工業(yè)控制的能力 。 (7) 培養(yǎng)針對課題需要 ,選擇和查閱有關(guān)手冊 ,圖表及文獻資料的自學能力 ,提高組成系統(tǒng) ,編程 ,調(diào)試的動手能力 。 (8) 過對課題設(shè)計方案的分析 ,選擇 ,比較 ,熟悉單片機用系統(tǒng)開發(fā) ,研制的過程 ,軟硬件設(shè)計方法 ,內(nèi)容及步驟 . (9) 了解數(shù)字鐘的組成及工作原理 . 設(shè)計要求 基本要求 ( 1)用 51 單片機的定時 /計數(shù)器 TMR0 產(chǎn)生一秒的定時時間,作為秒計數(shù)時間; ( 2)當一秒產(chǎn)生時,秒計數(shù)加 1; ( 3)開機時,顯示 ,并開始連續(xù)計時; ( 4)計時滿 時,返回 重新開始計時; 高級要求 ( 1)在以上設(shè)計基礎(chǔ)上,在單片機的 I/O 口上分別接入四個按鍵; ( 2) K3— 時間設(shè)置按鍵。該鍵按下時,將當前顯示的時間停止走動。當再基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 9 次按下該鍵時,再次啟動時鐘; ( 3) K0— 控制“秒”的調(diào)整,每按一次加 1 秒; ( 4) K1— 控制“分”的調(diào)整,每按一次加 1 分; ( 5) K2— 控制“時”的調(diào)整,每按一次加 1 小時; 畢業(yè)設(shè)計作品要求 ( 1) 該設(shè)計要用 keil 軟件進行編程與調(diào)試,利用 Proteus 7 Professional 軟件進行繪制硬件電路圖且進行仿真。 畫出電路圖和 PCB; ( 2)提供實際產(chǎn)品,全部匯編語言程序源代碼; 基于匯編語言的 51 單片機可調(diào)數(shù)字鐘的設(shè)計 10 第三章 系統(tǒng) 方案選擇與 論證 方案選擇 方案比較 方案一 : 基本門電路搭建 用基本門電路來實現(xiàn)數(shù)字鐘,電路結(jié)構(gòu)復(fù)雜,