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

下載本文檔

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

文檔簡(jiǎn)介

1、基于匯編語(yǔ)言的51單片機(jī)可調(diào)數(shù)字鐘的設(shè)計(jì)目 錄摘要3abstract4引言5第一章 緒論61.1 課題的背景61.2課題的來(lái)源71.3課題的意義7第二章 設(shè)計(jì)目的及要求82.1設(shè)計(jì)目的82.2設(shè)計(jì)要求82.1.1 基本要求82.1.2 高級(jí)要求82.1.3畢業(yè)設(shè)計(jì)作品要求9第三章 系統(tǒng)方案選擇與論證103.1方案選擇103.1.1方案比較103.1.2 芯片的選擇103.2方案論證113.2.1顯示模塊方案選擇與論證113.2.2時(shí)鐘信號(hào)方案選擇與論證113.3電路設(shè)計(jì)最終方案12第四章 系統(tǒng)電路的總體方案134.1數(shù)字鐘的工作原理134.1.1實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法144.1.2數(shù)字鐘的時(shí)間

2、顯示154.1.3數(shù)字鐘的啟、停及時(shí)間調(diào)整154.2總體設(shè)計(jì)16第五章 系統(tǒng)的硬件設(shè)計(jì)175.1 at89c52單片機(jī)最小系統(tǒng)175.2單片機(jī)的概念175.2.1單片機(jī)的結(jié)構(gòu)175.2.2單片機(jī)的功能介紹205.3復(fù)位電路235.4電源電路245.5時(shí)鐘振蕩電路245.6鍵盤(pán)控制電路245.7 led數(shù)碼管顯示電路26第六章 系統(tǒng)的軟件設(shè)計(jì)286.1系統(tǒng)軟件設(shè)計(jì)流程圖286.2 系統(tǒng)中斷流程圖296.3 子程序說(shuō)明316.3.1 按鍵掃描316.3.2 數(shù)碼管動(dòng)態(tài)掃描32第七章 數(shù)字鐘元件清單和軟件介紹337.1數(shù)字鐘元件清單337.2 軟件介紹337.2.1軟件調(diào)試347.2.2硬件調(diào)試34

3、第八章 總結(jié)35參考文獻(xiàn)36致 謝37附 錄38附錄一 系統(tǒng)程序源代碼38附錄二 電路原理圖44基于匯編語(yǔ)言的51單片機(jī)可調(diào)數(shù)字鐘的設(shè)計(jì)摘 要在當(dāng)今社會(huì),隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此它特別適合于與控制有關(guān)的系統(tǒng),越來(lái)越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件相結(jié)合,以作完善。單片機(jī)數(shù)字時(shí)鐘是以單片機(jī)為核心,在它的基礎(chǔ)上設(shè)計(jì)出來(lái)的數(shù)字時(shí)鐘,在日

4、常生活中最常見(jiàn),應(yīng)用也最廣泛。本論文的數(shù)字鐘設(shè)計(jì),是以at89c52單片機(jī)為核心,配備led顯示模塊、時(shí)鐘電路、復(fù)位、電源等功能模塊。文章的核心主要從硬件設(shè)計(jì)和軟件編程兩個(gè)大的方面。硬件設(shè)計(jì)用軟件仿真和實(shí)際電路來(lái)實(shí)現(xiàn),軟件編程用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。關(guān)鍵字:?jiǎn)纹瑱C(jī); 數(shù)字鐘;編程; 匯編語(yǔ)言;仿真51 assembly language-based microcontroller design adjustable digital clockabstractwith the computer in the social sphere in recen

5、t years, the penetration 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

6、 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 component in according to the specific hardware architecture, and object-specific features of the software application combini

7、ng 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 common and most widely applied. digital clock design of this paper is based on at89c52 microcontroller as the core, with led display module, the

8、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

9、 clock and extend its application, has a very practical significance.keywords: mcu;digital clock;programmingassembly language;simulation引 言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í)候,

10、這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,趨勢(shì)將是進(jìn)一步向著cmos化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(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ù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。1微控制技術(shù)標(biāo)志著一種全新概念的出現(xiàn)。隨著單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展并日趨完善,而單片機(jī)的應(yīng)用則必將更加深入和廣泛。單片機(jī)模塊中最常見(jiàn)的是數(shù)字時(shí)鐘

11、,數(shù)字時(shí)鐘是一種用單片機(jī)原理實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、定時(shí)啟閉電路、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用范圍,有著非?,F(xiàn)實(shí)且重要的意義。第一章 緒論1.1 課題的背景 人類跨入21世紀(jì),科學(xué)技術(shù)突飛猛進(jìn),人民的生活發(fā)生了翻天覆地的變化。當(dāng)今的社會(huì)已經(jīng)進(jìn)入信息化時(shí)代,基本所有的

12、電子產(chǎn)品都向智能化,環(huán)保化發(fā)展。而產(chǎn)生這一變化的重要原因是計(jì)算機(jī)技術(shù)的飛速發(fā)展。第一臺(tái)計(jì)算機(jī)eniac(electronic numberical integrator and computer)誕生,到現(xiàn)在僅僅是幾十年時(shí)間,計(jì)算機(jī)的性能已經(jīng)大大提高,價(jià)格不斷下降,從而使之可以廣泛而迅速地應(yīng)用于人類生產(chǎn)和生活的各個(gè)領(lǐng)域。 計(jì)算機(jī)最初的設(shè)計(jì)目的是為了提高計(jì)算數(shù)據(jù)的速度和完成海量數(shù)據(jù)的計(jì)算。隨著技術(shù)的發(fā)展,人們發(fā)現(xiàn)計(jì)算機(jī)在邏輯處理以及工業(yè)控制等方面也具有非凡的能力。在控制領(lǐng)域,人們更多的關(guān)心計(jì)算機(jī)的低成本,小體積,運(yùn)行的可靠性和控制靈活性。特別是智能儀表,智能傳感器,智能家電,智能辦公設(shè)備,汽車以

13、及軍事電子設(shè)備等應(yīng)用系統(tǒng)要求將計(jì)算機(jī)嵌入這些設(shè)備中。而單片機(jī)體積小,價(jià)格低,可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對(duì)于滿足嵌入式應(yīng)用需求具有獨(dú)特的優(yōu)勢(shì)。目前,單片機(jī)應(yīng)用技術(shù)已經(jīng)成為電子應(yīng)用系統(tǒng)設(shè)計(jì)最為常用的手段?!皢纹瑱C(jī)(single chip microcomputer)”亦稱單片微電腦或單片微型計(jì)算機(jī),國(guó)際上統(tǒng)稱為“微控制器(microcontroller,mcu,c)”,是一類內(nèi)部集成了計(jì)算機(jī)核心技術(shù)的智能芯片。也就是把中央處理器cpu、隨機(jī)存取存貯器ram、只讀存貯器rom、輸入/輸出端口i/o等主要的計(jì)算機(jī)功能部件,都統(tǒng)統(tǒng)集成在了一塊集成電路芯片上,從而形成一部概念上完整的微型計(jì)算機(jī)。單片

14、機(jī)的設(shè)計(jì)目標(biāo)主要是增強(qiáng)“控制”能力,滿足實(shí)時(shí)控制(就是快速反應(yīng))方面的需要。因此,它在硬件結(jié)構(gòu)、指令系統(tǒng)、i/o端口、功率消耗及可靠性等方面均有其獨(dú)特之處,其最顯著的特長(zhǎng)之一就是具有非常有效的控制功能。盡管單片機(jī)主要是為控制目的而設(shè)計(jì)的,它仍然具備通用微型計(jì)算機(jī)的全部特征?!奥槿鸽m小,五臟俱全”。既然單片機(jī)是一部概念上完整的微型計(jì)算機(jī),那么單片機(jī)的功能部件和工作原理與微型計(jì)算機(jī)也是基本相同的。1.2課題的來(lái)源時(shí)鐘,自從它發(fā)明的那天起,就成為人類的好朋友,但隨著時(shí)間的推移,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大

15、的方便。人們對(duì)它的功能又提出了新的要求,怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘。比如多功能數(shù)字鐘,除了傳統(tǒng)的顯示時(shí)間功能之外還可以測(cè)試溫度、電網(wǎng)頻率、電壓、并提供了過(guò)壓報(bào)警、非接觸止鬧等功能。本設(shè)計(jì)的數(shù)字時(shí)鐘是采用了現(xiàn)在廣泛使用用的單片機(jī)技術(shù)為核心,軟硬件結(jié)合,使硬件部分大為簡(jiǎn)化,提高了系統(tǒng)穩(wěn)定性,從而制作出新型且比較實(shí)用的數(shù)字鐘。1.3課題的意義數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭,辦公室等公共場(chǎng)所, 給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便,成為人們?nèi)粘I钪胁豢缮俚谋匦杵? 由于數(shù)

16、字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表。鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。第二章 設(shè)計(jì)目的及要求2.1設(shè)計(jì)目的(1)掌握51系列內(nèi)部定時(shí)/計(jì)數(shù)器的原理和基本應(yīng)用;(2)掌握使用單片機(jī)處理復(fù)雜邏輯的方法;(

17、3)掌握多位數(shù)碼管動(dòng)態(tài)顯示的方法;(4)掌握獨(dú)立式(和矩陣)鍵盤(pán)的編程方法;(5)掌握利用匯編語(yǔ)言編寫(xiě)單片機(jī)系統(tǒng)的應(yīng)用軟件的方法;(6) 鞏固,加深和擴(kuò)大單片機(jī)應(yīng)用的知識(shí)面,提高綜合及靈活運(yùn)用所學(xué)知識(shí)解決工業(yè)控制的能力;(7) 培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè),圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng),編程,調(diào)試的動(dòng)手能力;(8) 過(guò)對(duì)課題設(shè)計(jì)方案的分析,選擇,比較,熟悉單片機(jī)用系統(tǒng)開(kāi)發(fā),研制的過(guò)程,軟硬件設(shè)計(jì)方法,內(nèi)容及步驟.(9) 了解數(shù)字鐘的組成及工作原理. 2.2設(shè)計(jì)要求2.1.1 基本要求(1)用51單片機(jī)的定時(shí)/計(jì)數(shù)器tmr0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間;(2)當(dāng)一秒產(chǎn)生時(shí)

18、,秒計(jì)數(shù)加1;(3)開(kāi)機(jī)時(shí),顯示00.00.00,并開(kāi)始連續(xù)計(jì)時(shí);(4)計(jì)時(shí)滿23.29.59時(shí),返回00.00.00重新開(kāi)始計(jì)時(shí);2.1.2 高級(jí)要求(1)在以上設(shè)計(jì)基礎(chǔ)上,在單片機(jī)的i/o口上分別接入四個(gè)按鍵;(2)k3時(shí)間設(shè)置按鍵。該鍵按下時(shí),將當(dāng)前顯示的時(shí)間停止走動(dòng)。當(dāng)再次按下該鍵時(shí),再次啟動(dòng)時(shí)鐘;(3)k0控制“秒”的調(diào)整,每按一次加1秒;(4)k1控制“分”的調(diào)整,每按一次加1分;(5)k2控制“時(shí)”的調(diào)整,每按一次加1小時(shí);2.1.3畢業(yè)設(shè)計(jì)作品要求(1)該設(shè)計(jì)要用keil軟件進(jìn)行編程與調(diào)試,利用proteus 7 professional軟件進(jìn)行繪制硬件電路圖且進(jìn)行仿真。畫(huà)出電

19、路圖和pcb;(2)提供實(shí)際產(chǎn)品,全部匯編語(yǔ)言程序源代碼;第三章 系統(tǒng)方案選擇與論證3.1方案選擇3.1.1方案比較方案一: 基本門(mén)電路搭建 用基本門(mén)電路來(lái)實(shí)現(xiàn)數(shù)字鐘,電路結(jié)構(gòu)復(fù)雜,故障系數(shù)大,不易調(diào)試;方案二: 單片機(jī)編程 用單片機(jī)設(shè)計(jì)電路,由于使用軟硬件結(jié)合的方式,所以電路結(jié)構(gòu)簡(jiǎn)單、調(diào)試也相對(duì)方便。與第一種方案比較優(yōu)點(diǎn)是非常明顯的。我們選擇了第二種方案;而第二種方案也需要進(jìn)行各種電路設(shè)計(jì)的優(yōu)化和比較。3.1.2 芯片的選擇方案一:采用at89c51芯片,其為高性能cmos 8位單片機(jī),該芯片內(nèi)含有4k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(perom)、128 bytes的隨機(jī)存取數(shù)據(jù)存

20、儲(chǔ)器(ram)、 32位可編程i/o口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)中斷源、可編程串行uart通道及低功耗空閑和掉電模式,但是由于at89c51芯片可擦寫(xiě)的空間不夠大,且中斷源提供的較小,為防止運(yùn)行過(guò)程中出現(xiàn)不必要的問(wèn)題,我們建議不選用at89c51。方案二:采用at89c52芯片。 at89c52是一個(gè)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲(chǔ)單元,3功能強(qiáng)大的a

21、t89c52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。它除了具備at89c51的所有功能與部件外,其最大的優(yōu)勢(shì)就是at89c52提供了8k字節(jié)可擦寫(xiě)flash閃速存儲(chǔ)器空間、6個(gè)中斷源、及256字節(jié)內(nèi)部存儲(chǔ)器(ram),解決了我們對(duì)可反復(fù)擦寫(xiě)的flash閃速存儲(chǔ)器空間大小與中斷源的不夠問(wèn)題的擔(dān)心。而且非常適合于初學(xué)者用于學(xué)習(xí)階段的反復(fù)燒寫(xiě)演練,也非常適合單片機(jī)應(yīng)用項(xiàng)目開(kāi)發(fā)工程師用于產(chǎn)品的開(kāi)發(fā)試制階段。3.2方案論證3.2.1顯示模塊方案選擇與論證led顯示器工作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,

22、顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用cpu時(shí)間少,顯示便于監(jiān)測(cè)和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留特性,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。所以顯示器的驅(qū)動(dòng)常采用動(dòng)態(tài)掃描電路形式,以達(dá)到簡(jiǎn)化電路的目的。4但要注意所需的驅(qū)動(dòng)電流比靜態(tài)驅(qū)動(dòng)時(shí)要大,因此要增加驅(qū)動(dòng)電路??刹捎?4ls245或者

23、晶體管;其中74ls245是用來(lái)驅(qū)動(dòng)段選碼,晶體管是驅(qū)動(dòng)位選碼。23.2.2時(shí)鐘信號(hào)方案選擇與論證方案一:直接采用單片機(jī)內(nèi)定時(shí)計(jì)數(shù)器提供的秒信號(hào),使用程序可實(shí)現(xiàn)年、月、日、周、時(shí)、分、秒計(jì)數(shù)。采用此種方案可減少芯片的使用,節(jié)約成本,實(shí)現(xiàn)的時(shí)間誤差較小,但程序設(shè)計(jì)較為復(fù)雜。方案二:采用時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,時(shí)鐘芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度非常高,且硬件電路連接較為簡(jiǎn)單,程序設(shè)計(jì)容易實(shí)現(xiàn)。此次本設(shè)計(jì)的要求并不高,采用專門(mén)的時(shí)鐘芯片進(jìn)行控制時(shí)鐘信號(hào)有點(diǎn)大材小用,確實(shí)有點(diǎn)浪費(fèi),如要設(shè)計(jì)具有多功能的數(shù)字鐘,最好用時(shí)鐘芯片提供時(shí)鐘信號(hào)。因此,

24、本設(shè)計(jì)就采用單片機(jī)內(nèi)部的定時(shí)和計(jì)數(shù)器來(lái)提供時(shí)鐘信號(hào)。3.3電路設(shè)計(jì)最終方案綜上各方案所述,對(duì)此次數(shù)字時(shí)鐘設(shè)計(jì)的方案選定為: 采用at89c52作為主控制系統(tǒng); 并由其內(nèi)部的定時(shí)計(jì)數(shù)器提供時(shí)鐘信號(hào); led數(shù)碼管作為顯示電路,采用74ls245來(lái)驅(qū)動(dòng)數(shù)碼管的段選碼,用程序來(lái)控制數(shù)碼管的位選碼。利用匯編語(yǔ)言來(lái)編寫(xiě)數(shù)字鐘程序來(lái)實(shí)現(xiàn)數(shù)字鐘功能。 第四章 系統(tǒng)電路的總體方案4.1數(shù)字鐘的工作原理數(shù)字鐘的設(shè)計(jì)首先要保證其走時(shí)盡可能準(zhǔn)確,其次再根據(jù)人們?nèi)粘5氖褂昧?xí)慣來(lái)設(shè)定其附加功能。數(shù)字鐘的工作原理是利用單片機(jī)定時(shí)計(jì)數(shù)器來(lái)完成走時(shí)并用兩組輸出口控制數(shù)碼管來(lái)顯示;通過(guò)編程向某一輸出口輸出方波實(shí)現(xiàn)報(bào)時(shí);利用輸入

25、端口外接各種開(kāi)關(guān)來(lái)完成對(duì)走時(shí)及顯示的控制(如預(yù)置時(shí)間等)。在設(shè)計(jì)中需要用到許多技巧。以下是在學(xué)習(xí)單片機(jī)課程中總結(jié)的一些設(shè)計(jì)思想或方法。占空比概念在設(shè)計(jì)中的運(yùn)用如圖所示的一串方波序列,導(dǎo)通時(shí)間同周期的比值即占空比。在用單片機(jī)控制對(duì)多個(gè)數(shù)碼管的掃描顯示中,數(shù)碼管接收到的電壓可以看成是一串方波序列,占空比控制了數(shù)碼管的亮度。實(shí)際上對(duì)顯示延時(shí)時(shí)間的調(diào)節(jié)就是調(diào)節(jié)數(shù)碼管電壓的占空比,當(dāng)占空比大于一定數(shù)值的時(shí)候數(shù)碼管可以顯示,實(shí)驗(yàn)證明占空比在0.1時(shí)仍可以使數(shù)碼管清晰顯示。5利用這個(gè)概念可直觀地理解顯示延時(shí)的調(diào)節(jié)。圖4-1 時(shí)鐘脈沖序列cpu的分時(shí)復(fù)用單片機(jī)只有一個(gè)cpu,因此在一個(gè)時(shí)間內(nèi)只能執(zhí)行一條語(yǔ)句,

26、要使單片機(jī)同時(shí)控制多個(gè)外部元件(比如揚(yáng)聲器和數(shù)碼管)就必須對(duì)單片機(jī)的cpu進(jìn)行分時(shí)復(fù)用,讓單片機(jī)在一小段時(shí)間內(nèi)連續(xù)交替執(zhí)行控制多個(gè)器件的語(yǔ)句,從表面上看,單片機(jī)便用一個(gè)cpu控制了多個(gè)元件。單片機(jī)位尋址區(qū)的使用單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器由20h到2fh共有16個(gè)字節(jié)的位尋址區(qū)可以被作為程序執(zhí)行過(guò)程中的狀態(tài)參數(shù),許多程序模塊至于兩個(gè)狀態(tài)(比如閃爍與正常顯示,報(bào)時(shí)與不報(bào)時(shí)等)用位尋址區(qū)中的某一位來(lái)記錄程序執(zhí)行狀態(tài),在需要對(duì)狀態(tài)進(jìn)行判斷的時(shí)候十分方便并且節(jié)約空間,一個(gè)字節(jié)便可以判斷八個(gè)狀態(tài),而非位尋址區(qū)的地址記錄程序狀態(tài)時(shí)可能需要先進(jìn)行變換,增加了執(zhí)行成本且容易出錯(cuò)。系統(tǒng)資源分配與使用單片機(jī)有許多資源是有

27、限的不能濫用,比如定時(shí)計(jì)數(shù)器t,外部中斷等,在設(shè)計(jì)一個(gè)多模塊程序時(shí),要注意先做一個(gè)整體規(guī)劃,把稀缺資源用在最需要用的地方。此外在有多個(gè)模塊時(shí),要注意模塊間的數(shù)據(jù)傳遞,比如累加器a和進(jìn)位標(biāo)志c,在使用時(shí)要注意不能讓前一個(gè)模塊的數(shù)據(jù)對(duì)下一個(gè)模塊產(chǎn)生不希望有的影響。在模塊間的數(shù)據(jù)傳遞比較多時(shí)最好用固定的內(nèi)部數(shù)據(jù)存儲(chǔ)器,以避免沖突發(fā)生錯(cuò)誤。4.1.1實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法用at89c52單片機(jī)的定時(shí)/計(jì)數(shù)器t0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1開(kāi)機(jī)時(shí)。顯示00-00-00的時(shí)間,開(kāi)始計(jì)時(shí);計(jì)時(shí)滿23-59-59時(shí),返回00-00-00重新計(jì)時(shí)at89c52單片機(jī)的內(nèi)部16位定

28、時(shí)/計(jì)數(shù)器是一個(gè)可編程定時(shí)/計(jì)數(shù)器,它既可以工作在13位定時(shí)方式,也可以工作在16位定時(shí)方式和8位定時(shí)方式。只要通過(guò)設(shè)置特殊功能寄存器tmod,即可完成。定時(shí)/計(jì)數(shù)器何時(shí)工作也是通過(guò)tcon特殊功能寄存器來(lái)設(shè)置的。在此設(shè)計(jì)中,選擇16位定時(shí)工作方式。對(duì)于t0來(lái)說(shuō),系統(tǒng)時(shí)鐘為12mhz,最大定時(shí)也只有65536us,即65.536ms,無(wú)法達(dá)到我們所需要的1秒的定時(shí),因此,必須通過(guò)軟件來(lái)處理這個(gè)問(wèn)題,假設(shè)取t0的最大定時(shí)為50ms,即要定時(shí)1秒需要經(jīng)過(guò)20次的50ms的定時(shí)。對(duì)于這20次計(jì)數(shù),就可以采用軟件的方法來(lái)統(tǒng)計(jì)了。設(shè)定tmod00000001b,即tmod01h,設(shè)置定時(shí)/計(jì)數(shù)器0工作在

29、方式1。下面我們要給t0定時(shí)/計(jì)數(shù)器的th0,tl0裝入預(yù)置初值,通過(guò)下面的公式可以計(jì)算出:th0(21650000)/256tl0(21650000)mod取摸256這樣,當(dāng)定時(shí)/計(jì)數(shù)器0計(jì)滿50ms時(shí),產(chǎn)生一個(gè)中斷,我們可以在中斷服務(wù)程序中,對(duì)中斷次數(shù)加以統(tǒng)計(jì),以實(shí)現(xiàn)數(shù)字鐘的邏輯功能。4.1.2數(shù)字鐘的時(shí)間顯示顯示器的時(shí)間顯示采用動(dòng)態(tài)掃描電路驅(qū)動(dòng)形式,以達(dá)到簡(jiǎn)化電路的目的。但要注意所需的驅(qū)動(dòng)電流比靜態(tài)驅(qū)動(dòng)時(shí)要大,因此要增加驅(qū)動(dòng)電路。可采用74ls244或者晶體管;其中74ls244是用來(lái)驅(qū)動(dòng)段選碼,晶體管是驅(qū)動(dòng)位選碼。電子鐘的時(shí)鐘時(shí)間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部ram中設(shè)置顯示緩沖

30、區(qū)共8個(gè)單元。led8 led7 led6 led5 led4 led3 led2 led137h 36h 35h 34h 33h 32h 31h 30h時(shí)十位 時(shí)個(gè)位 分隔 分十位 分個(gè)位 分隔 秒十位 秒個(gè)位4.1.3數(shù)字鐘的啟、停及時(shí)間調(diào)整 數(shù)字鐘啟、停是通過(guò)用戶編寫(xiě)程序到單片機(jī)內(nèi)部,利用單片機(jī)的輸入輸出(i/o)口控制.就可以簡(jiǎn)單地控制數(shù)字鐘的時(shí)間和啟用問(wèn)題。電子鐘的時(shí)間調(diào)整按鍵key狀態(tài)1: key0=k-0,調(diào)整數(shù)字鐘的秒數(shù)據(jù),每按一次加1秒。狀態(tài)2: key0=k-1, 調(diào)整數(shù)字鐘的分?jǐn)?shù)據(jù),每按一次加1分。狀態(tài)3: key0=k-2,調(diào)整數(shù)字鐘的時(shí)數(shù)據(jù),每按一次加1時(shí)。狀態(tài)4:

31、key0=k-3,設(shè)置按鍵,按一次時(shí)間為停止?fàn)顟B(tài),時(shí)間設(shè)好后再按一次時(shí)間即按設(shè)好的時(shí)間開(kāi)始led動(dòng)態(tài)掃描顯示模塊單片機(jī)at89c52主控制器開(kāi)關(guān)調(diào)節(jié)模塊晶振電路模塊復(fù)位電路電源電路4.2總體設(shè)計(jì)圖4-2-1電路設(shè)計(jì)框圖圖4-2-2數(shù)字鐘系統(tǒng)原理圖(數(shù)字鐘整機(jī)電路圖)系統(tǒng)的總體設(shè)計(jì)方案是以單片機(jī)at89c52為核心,軟硬件相結(jié)合,主要配備led顯示模塊、時(shí)鐘電路、復(fù)位、電源等功能模塊。組成基本的數(shù)字鐘。以上是本系統(tǒng)的原理圖和方框圖。第五章 系統(tǒng)的硬件設(shè)計(jì)5.1 at89c52單片機(jī)最小系統(tǒng) 單片機(jī)的最小系統(tǒng)是由單片機(jī),振蕩電路,復(fù)位電路,電源電路等4部分組成。數(shù)字鐘在單片機(jī)的最小系統(tǒng)的基礎(chǔ)上,增

32、加一些外圍電路(如鍵盤(pán)控制電路)和設(shè)備,使之具有某些特定功能的數(shù)字鐘。5.2單片機(jī)的概念單片機(jī)又稱單片微控制器,是一類內(nèi)部集成了計(jì)算機(jī)核心技術(shù)的智能芯片,也就是把中央處理器cpu、隨機(jī)存取存貯器ram、只讀存貯器rom、輸入/輸出端口i/o等主要的計(jì)算機(jī)功能部件,都統(tǒng)統(tǒng)集成在了一塊集成電路芯片上,從而形成一部概念上完整的微型計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。6同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。提到單片機(jī)的應(yīng)用,有人這樣說(shuō):“凡是能想到的地方,單片機(jī)都可以用得上”,全世界單片機(jī)的年產(chǎn)量數(shù)以億計(jì)(根據(jù)權(quán)威調(diào)查機(jī)構(gòu)公布,2001年世界單片機(jī)產(chǎn)

33、量高達(dá)70億,僅僅中國(guó)大陸的年需求量就達(dá)6億片左右其應(yīng)用范圍之廣、花樣之多,一時(shí)難以詳述,這里僅列舉一些典型的應(yīng)用領(lǐng)域和場(chǎng)合僅供參考。如電信,家用電器,計(jì)算機(jī)外圍設(shè)備,辦公自動(dòng)化,工業(yè)控制,商用電子,電子玩具,儀器儀表,汽車電子,軍用電子等等?;旧蠁纹瑱C(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。5.2.1單片機(jī)的結(jié)構(gòu)學(xué)習(xí)單片機(jī)的主要目的,就是為了把這種單片機(jī)芯片應(yīng)用到我們的科研項(xiàng)目和電子產(chǎn)品中,把單片機(jī)現(xiàn)有的引腳資源和內(nèi)部一切可以利用的硬件資源充分開(kāi)發(fā)和調(diào)動(dòng)起來(lái),以便實(shí)現(xiàn)項(xiàng)目或產(chǎn)品的性能/價(jià)格比的最優(yōu)化。本次設(shè)計(jì)單片機(jī)研究主要以at89c52為例,分析其內(nèi)部結(jié)構(gòu),硬件資

34、源分配等,下面是at89c52單片機(jī)引腳功能簡(jiǎn)化圖。圖5-2-1 單片機(jī)at89c52引腳功能簡(jiǎn)化圖mcs-52單片機(jī)內(nèi)部結(jié)構(gòu)89c52單片機(jī)包含中央處理器、程序存儲(chǔ)器(rom)、數(shù)據(jù)存儲(chǔ)器(ram)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:中央處理器中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲(chǔ)器(ram)89c52內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它

35、們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),7所以,用戶能使用的ram只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。圖2-1 單片機(jī)8052的內(nèi)部結(jié)構(gòu)程序存儲(chǔ)器(rom)89c52共有4096個(gè)8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(rom)89c52有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(i/o)口89c52共有4組8位i/o口(p0、 p1、p2或p3),用于對(duì)外部數(shù)據(jù)的傳輸。全雙工串行口89c52內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳

36、送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng)89c52具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。時(shí)鐘電路89c52內(nèi)置最高頻率達(dá)12mhz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但89c52單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(princeton)結(jié)構(gòu)。intel的mcs-52系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的

37、mcs-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。8下圖是mcs-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。圖2-2 mcs-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)5.2.2單片機(jī)的功能介紹1 主控制芯片at89c52的原理及說(shuō)明at89c52是美國(guó)atmel公司生產(chǎn)的低電壓,高性能cmos8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(perom)和藹可親256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大at89c52單片機(jī)適合于許多較為復(fù)雜

38、控制應(yīng)用場(chǎng)合。2 主要性能參數(shù)與mcs-51產(chǎn)品指令和引腳完全兼容8k字節(jié)可重擦寫(xiě)flash閃速存儲(chǔ)器1000次擦寫(xiě)周期全靜態(tài)操作:0hz24mhz三級(jí)加密程序存儲(chǔ)器2568位內(nèi)部ram32個(gè)可編程i/o口線3個(gè)16位定時(shí)/計(jì)數(shù)器8個(gè)中斷源可編程串行uart通道低功耗空閑和掉電模式3 引腳功能結(jié)構(gòu)vcc(40):電源電壓 gnd(20):接地p0口(32-39):p0口是一個(gè)8位雙向i/o接口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯門(mén)電路,對(duì)端口p0寫(xiě)“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用。p

39、1口(1-8):p1是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門(mén)電路,對(duì)端口寫(xiě)“1”通過(guò)內(nèi)部的上拉電阻把端口拉到高電平時(shí),此時(shí)可作輸入口。作為輸入品使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。與at89c51不同之處是,p1.0和p1.1還可以分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和輸入(p1.1/t2ex)。p2口(21-28):p2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門(mén)電路,對(duì)端口p2寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平時(shí),此時(shí)可

40、作輸入口。作為輸入品使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr 指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。p3口(10-17):p3是一組帶有內(nèi)部上拉電阻的8位雙向i/o口,p3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門(mén)電路,對(duì)端口p3寫(xiě)“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口,此時(shí),被外部拉低的p3口將用上拉電阻輸出電流。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,如下表所示:表3-1 p3口的第二

41、功能端口引腳第二功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2int0(外中斷0)p3.3int1(外中斷1)p3.4t0(定時(shí)/計(jì)數(shù)器0)p3.5t1(定時(shí)/計(jì)數(shù)器1)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)通道)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀通道)rst(9):復(fù)位信號(hào)輸入端。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ale/prog(30):地址鎖存有效信號(hào)輸出端。當(dāng)訪問(wèn)片外程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),一般情況下,ale仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的

42、,要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ale脈沖。psen(29):程序存儲(chǔ)允許輸出端。是片外程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89c52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)周期兩次psen有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次psen信號(hào)。ea/vpp(31):外部訪問(wèn)允許。欲使cpu僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000hffffh),ea端必須保持低電平(接地),需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。flash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源vpp,

43、當(dāng)然這必須是該器件是使用12v編程電壓vpp。xtal1(19):振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。xtal1(18):振蕩器反相放大器的輸出端。通過(guò)xtal1、xtal2外接晶振后,即可構(gòu)成自激振蕩器,驅(qū)動(dòng)內(nèi)部時(shí)鐘發(fā)生器向主機(jī)提供時(shí)鐘信號(hào)。4 特殊功能寄存器在at89c52片內(nèi)存儲(chǔ)器中,80h-ffh共128個(gè)單元為特殊功能寄存器(sfr),其中包括b寄存器、累加器、程序狀態(tài)寄存器(psw)、定時(shí)/計(jì)數(shù)器控制、中斷優(yōu)級(jí)控制寄存器(ip)、p3口鎖存寄存器、中斷允許控制寄存器(ie)、串行口控制寄存器等。它們可運(yùn)用來(lái)設(shè)置片內(nèi)電路的運(yùn)行方式,記錄電路的運(yùn)行狀態(tài),mcs-51單片機(jī)對(duì)特殊

44、功能寄存器采取與片內(nèi)ram統(tǒng)一編址的方法,可按字節(jié)地址直接尋址。在已有的基礎(chǔ)上at89c52與at89c51相比還提供了兩個(gè)定時(shí)/計(jì)數(shù)器。定時(shí)/計(jì)數(shù)器2的控制和狀態(tài)位位于t2con與t2mod。5.3復(fù)位電路復(fù)位是單片機(jī)的一項(xiàng)重要操作內(nèi)容,其目標(biāo)是確保單片機(jī)運(yùn)行過(guò)程有一個(gè)良好的開(kāi)端,確保單片機(jī)運(yùn)行過(guò)程中有一個(gè)良好的狀態(tài)。具備數(shù)字電路基礎(chǔ)知識(shí)的人都知道,在數(shù)字集成電路中,有各式各樣的計(jì)數(shù)器。這些計(jì)數(shù)器一般都有一個(gè)復(fù)位端,在計(jì)數(shù)過(guò)程中一旦該腳施加有效電平,就會(huì)強(qiáng)迫計(jì)數(shù)器回零,再?gòu)念^開(kāi)始計(jì)數(shù)。與此類似,單片機(jī)也有一個(gè)復(fù)位端,以便于人為地輸入復(fù)位信號(hào)。除了人工復(fù)位之外,單片機(jī)還有其他自動(dòng)復(fù)位的途徑。也

45、就是說(shuō)復(fù)位在電路中起到一定的保護(hù)作用。當(dāng)單片機(jī)芯片初始加電并且電源vdd上升到適合芯片 工作的電壓值時(shí),或者人為從外部引腳rst送入一個(gè)高電平復(fù)位信號(hào)時(shí),在復(fù)位邏輯的控制下單片機(jī)進(jìn)行可靠復(fù)位,然后從頭開(kāi)始執(zhí)行程序。最簡(jiǎn)單的一種電路連接方法是,將該腳外界一個(gè)如圖5-3所示的阻容支路,以便在vdd加電、上升和趨于穩(wěn)定的過(guò)程中,產(chǎn)生一定的延時(shí)作用,來(lái)確保cpu在可靠的電源電壓下開(kāi)始執(zhí)行程序。如果需要單片機(jī) 過(guò)程中的人工復(fù)位操作,可以增加一只按鈕開(kāi)關(guān)“reset”,并且串聯(lián)一只限流電阻以避免電容放電瞬間電流過(guò)大。保護(hù)電路。本次設(shè)計(jì)采用人工復(fù)位方式進(jìn)行復(fù)位。圖5-3 時(shí)鐘和復(fù)位常用外接電路5.4電源電路

46、系統(tǒng)電源就是單片機(jī)應(yīng)用系統(tǒng)的功率源。任何單片機(jī)及其外圍電路的運(yùn)轉(zhuǎn)都是靠電能來(lái)維持的,并且對(duì)于電源的電壓,電流,穩(wěn)定度,雜波等參數(shù)具有一定的要求。因此,關(guān)于電源的索取途徑,電源電路的方案和規(guī)劃設(shè)計(jì),是每一位單片機(jī)應(yīng)用者都要面對(duì)和考慮的問(wèn)題。負(fù)責(zé)將vdd和vss引腳之間是假的5v電源電壓分配到單片機(jī)芯片之內(nèi)的各個(gè)功能電路上。只要電源電壓不超出一定范圍,就能夠保障單片機(jī)正常工作。 包括單片機(jī)應(yīng)用電路在內(nèi)的許多電子系統(tǒng),其電源大致分為以下幾種情況:220v/50hz交流市電、干電池、可充電電池、計(jì)算機(jī)usb電源、穩(wěn)壓電源。穩(wěn)壓電源電路為了更好地抗擊來(lái)自電源途徑的雜波干擾,在電路中采用了一些電氣加固措施

47、。本次設(shè)計(jì)中穩(wěn)壓電源是單片機(jī)系統(tǒng)的重要組成部分,它不僅為系統(tǒng)提供多路電壓源,還直接影響到系統(tǒng)的技術(shù)指標(biāo)和抗干擾性能。一個(gè)穩(wěn)壓電源輸出電壓和最大輸出電流決定于所選三端穩(wěn)壓器。在本設(shè)計(jì)方案中采用+5v穩(wěn)壓電壓。5.5時(shí)鐘振蕩電路時(shí)鐘振蕩器即時(shí)鐘脈沖發(fā)生器,產(chǎn)生整個(gè)芯片內(nèi)部各功能電路正常操作所需的時(shí)鐘脈沖和定時(shí)信號(hào)。最常用的一種電路連接方法是,在xtal1和xtal2這2只引腳之間外接一只晶體振蕩器xtal和2只電容c1和c2到地(如圖5-3所示),與片內(nèi)電路共同構(gòu)成一個(gè)多諧振蕩器電路。其振蕩頻率取決于外接石英晶體振蕩器元件xtal的固有頻率,常選取12mhz或6mhz的晶振。典型的晶振取11.05

48、92mhz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12mhz(產(chǎn)生精確的us級(jí)時(shí)歇,方便定時(shí)操作) 特別注意:對(duì)于31腳(ea/vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部rom的0000h開(kāi)始執(zhí)行;當(dāng)接低電平時(shí),復(fù)位后直接從外部rom的0000h開(kāi)始執(zhí)行95.6鍵盤(pán)控制電路鍵盤(pán)分編碼鍵盤(pán)和非編碼鍵盤(pán)。鍵盤(pán)上閉合鍵的識(shí)別由專用的硬件編碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤(pán),如計(jì)算機(jī)鍵盤(pán).而靠軟件編程來(lái)識(shí)別的稱為非編碼鍵盤(pán);在單片機(jī)組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤(pán)。也有用到編碼鍵盤(pán)的。非編碼鍵盤(pán)有分為:獨(dú)立鍵盤(pán)和行列式(又稱為矩陣式)鍵盤(pán)。下圖

49、5-6是非編碼鍵盤(pán)式控制電路。圖5-6-1 鍵盤(pán)控制電路1.按鍵在閉合和斷開(kāi)時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象:如下圖所示 圖5-6-2按鍵波形2.按鍵的去抖動(dòng)計(jì)算機(jī)處理的速度是在微秒級(jí),按鍵是機(jī)械觸點(diǎn),機(jī)械抖動(dòng)的時(shí)間至少是毫秒級(jí),對(duì)計(jì)算機(jī)而言,這已是一個(gè)“漫長(zhǎng)”的時(shí)間了。如下圖所示。圖5-6-3按鍵閉合和斷開(kāi)時(shí)的波形3.消除按鍵抖動(dòng)的原則為使cpu能正確地讀出端口的狀態(tài),對(duì)每一次按鍵只作一次響應(yīng),就必須考慮如何去除抖動(dòng),常用的去抖動(dòng)的方法有兩種:硬件方法和軟件方法。單片機(jī)中常用軟件法,軟件法其實(shí)很簡(jiǎn)單,就是在單片機(jī)獲得端口為低的信息后,不是立即認(rèn)定按鍵已被按下,而是延時(shí)10毫秒或更長(zhǎng)一些時(shí)間后再次檢測(cè)端

50、口,如果仍為低,說(shuō)明按鍵的確按下了,這實(shí)際上是避開(kāi)了按鍵按下時(shí)的抖動(dòng)時(shí)間。而在檢測(cè)到按鍵釋放后(端口為高)再延時(shí)5-10個(gè)毫秒,消除后沿的抖動(dòng),然后再對(duì)鍵值處理。不過(guò)一般情況下,我們通常不對(duì)按鍵釋放的后沿進(jìn)行處理,實(shí)踐證明,也能滿足一定的要求。以上是消除鍵抖動(dòng)的原則。校時(shí)電路主要靠鍵盤(pán)來(lái)控制。鍵盤(pán)是一組按鍵的集合。共有四個(gè)按鍵,分別是:時(shí)調(diào)整,分調(diào)整,秒調(diào)整,啟停動(dòng)能。它是嵌入式計(jì)算機(jī)系統(tǒng)中不可缺少的外圍電路。是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶,借助鍵盤(pán)可以向計(jì)算機(jī)輸入程序、置數(shù)、邏輯操作以及寫(xiě)入程序和程序檢測(cè)等。5.7 led數(shù)碼管顯示電路單片機(jī)系統(tǒng)中常用的顯示器有:發(fā)光二極管led顯示器、液晶lcd顯示

51、器、crt顯示器等。10led、lcd顯示器有兩種顯示結(jié)構(gòu):段顯示(7段、米字型等)和點(diǎn)陣顯示(58、88點(diǎn)陣等)。使用led顯示器時(shí),要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對(duì)數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。因此為led顯示器提供的編碼正好是一個(gè)字節(jié)。tx實(shí)驗(yàn)板用共陰led顯示器,根據(jù)電路連接圖顯示16進(jìn)制數(shù)的編碼已列在下表。以下圖5-7是led數(shù)碼管顯示電路圖 共陰極數(shù)碼管碼表 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 ,

52、0x7c , 6 7 8 9 a b 0x39 , 0x5e , 0x79 , 0x71 , 0x00 c d e f 無(wú)顯示圖5-7 led數(shù)碼管顯示電路圖第六章 系統(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ò)仿真提

53、高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實(shí)施軟件工程;(7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。6.1系統(tǒng)軟件設(shè)計(jì)流程圖 這次的數(shù)字鐘設(shè)計(jì)用到很多子程序,最好將它們分為若干個(gè)相對(duì)獨(dú)立且相互聯(lián)系的部分。主程序是先開(kāi)始,然后啟動(dòng)定時(shí)器,定時(shí)器啟動(dòng)后在進(jìn)行按鍵檢測(cè),檢測(cè)完后,就可以顯示時(shí)間。以下是數(shù)字鐘工作的流程圖。開(kāi)始顯示初始化,設(shè)置定時(shí)器,定時(shí)50毫秒,開(kāi)斷斷。器根據(jù)計(jì)數(shù)值顯示時(shí)間到60秒?s鍵按下?m鍵按下?h鍵按下?到60分?到24小時(shí)?秒計(jì)數(shù)加1小時(shí)計(jì)數(shù)加1分計(jì)數(shù)加1小時(shí)計(jì)數(shù)值清0是否否否是是是否否是否r鍵按下?否

54、是秒計(jì)數(shù)清零是分計(jì)數(shù)清零 圖6-1 數(shù)字鐘工作流程圖6.2 系統(tǒng)中斷流程圖在這里,我們有必要介紹一下單片機(jī)的中斷系統(tǒng),以利于我們的學(xué)習(xí)。中斷的概念cpu在處理某一事件a時(shí),發(fā)生了另一事件b請(qǐng)求cpu迅速去處理(中斷發(fā)生);cpu暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件b(中斷響應(yīng)和中斷服務(wù));待cpu將事件b處理完畢后,再回到原來(lái)事件a被中斷的地方繼續(xù)處理事件a(中斷返回),這一過(guò)程稱為中斷。中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機(jī)cpu的效率,也可以對(duì)突發(fā)事件處理。所謂中斷就是當(dāng)cpu正在執(zhí)行程序a時(shí),發(fā)生了另一個(gè)急需處理的事件b,這是cpu暫停當(dāng)前執(zhí)行的程序a,立即轉(zhuǎn)去執(zhí)行處理

55、事件b的程序,處理完事件b后,再返回到程序a繼續(xù)執(zhí)行,這個(gè)過(guò)程被叫做中斷。關(guān)于中斷的概念有下列幾個(gè)名詞:(1)程序a稱為主程序,(2)處理事件b的程序稱為中斷服務(wù)程序,(3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點(diǎn),(4)引起中斷的原因即事件b稱為中斷源,(5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個(gè)如下的比喻。領(lǐng)導(dǎo)(cpu)在自己的房間辦公(執(zhí)行主程序),下屬(外設(shè))有問(wèn)題打電話來(lái)請(qǐng)示(中斷源),領(lǐng)導(dǎo)停下正在進(jìn)行的工作,通過(guò)電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。中斷是一個(gè)過(guò)程,當(dāng)中央處理器cpu在處理某件事情時(shí),外部又發(fā)生了另一緊急事件,請(qǐng)求cpu暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作。引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源,稱為中斷源。單片機(jī)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向cpu請(qǐng)求中斷時(shí),就存在cpu優(yōu)先響應(yīng)哪一個(gè)中斷請(qǐng)求源的問(wèn)題(優(yōu)先級(jí)問(wèn)題),一般根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求,于是便規(guī)定每一個(gè)中斷源都有一個(gè)中斷優(yōu)先級(jí)別,并且cpu總是響應(yīng)級(jí)別

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論