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

下載本文檔

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

文檔簡介

1、基于單片機的數(shù)字式時鐘設(shè)計(碩士論文) 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 摘 要 本文介紹了基于 AT89C51 單片機的數(shù)字式時鐘的設(shè)計,詳細(xì)敘述了系統(tǒng)硬件、軟件的具體實現(xiàn)過程。本文在硬件、軟件設(shè)計上均采用模塊化的方法,使得在設(shè)計和調(diào)試方面取得很大的方便。論文重點闡述了數(shù)字鐘硬件中 MCU 模塊、按鍵模塊、顯示模塊等相關(guān)模塊的模塊化設(shè)計及制作;軟件同樣采用模塊化的設(shè)計,包括中斷模塊、時間調(diào)整模塊等設(shè)計,并采用簡單流通性強的C語言編寫實現(xiàn)。本設(shè)計實現(xiàn)了年、月、日及時、分、秒的顯示和時間修改的功能。通過對比實際的時鐘,查找出誤差的來源,確定調(diào)整誤差的方法,盡可能的減少誤差,使得系統(tǒng)

2、可以達到實際數(shù)字鐘的允許誤差范圍內(nèi)。關(guān)鍵字:AT89C51 單片機;數(shù)字鐘;模塊化; I青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) Abstract This paper introduced the design of digital clock based on SCM of AT89C51,The specific process of how the system hardware and software achieved were detailed description through the design of multifunction digital clock. Th

3、e modular design and production ,which consisted of MCU module ,key module, display module and the associated control module ,were mainly recounted; As well as hardware designing, software design use the same method ,consists suspension module, time adjust module, and that ues the C language to achi

4、eve because of its simple and strong negotiability. In this design the functions of time adjusting and displaying year, month, day and hour, minute, second have been achieved. And by comparing the actual clock ,find out the source of the error and determined the method of adjusting error, reduce err

5、ors as much as possibly, so this system can achieve a practical digital clock with error within the permissible range Key words : AT89C51 microcontroller ; Digital clock; Module design;II青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 目錄 摘 要. I Abstract II 1 緒 論 1 1.1 課題背景1 1.2 課題意義1 1.3 數(shù)字式時鐘的應(yīng)用 2 1.4 本章小結(jié)2 2 單片機簡介3 2.1 單

6、片機的選擇. 3 2.1.1 單片機的特點 4 2.1.2 單片機的應(yīng)用領(lǐng)域5 2.2AT89C51單片機的基本結(jié)構(gòu) 6 2.2.1AT89C51單片機簡介6 2.2.2AT89C51單片機工作的基本時序. 8 2.2.3AT89C51單片機的內(nèi)部結(jié)構(gòu)及存儲器配置8 2.3 本章小結(jié). 10 3數(shù)字式時鐘的硬件設(shè)計11 3.1 昀小系統(tǒng)設(shè)計 11 3.2 數(shù)字式時鐘的外圍電路設(shè)計 13 3.2.1時鐘電路13 3.2.2LCD顯示電路. 13 3.2.3電源電路15 3.2.4按鍵電路15 3.2.5復(fù)位電路16 3.3 本章小結(jié). 16 4 數(shù)字式時鐘的軟件設(shè)計 17 4.1 系統(tǒng)軟件設(shè)計內(nèi)

7、容17 4.2 主程序 18 4.3 時鐘設(shè)置子程序. 20 4.4 中斷子程序22 4.5 LCD顯示子程序. 25 4.6 本章小結(jié). 26青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 5 數(shù)字式時鐘的 Protues 軟件仿真. 27 5.1Protues軟件的概述27 5.2Protues軟件的功能特點. 27 5.3Protues軟件具有4大功能模塊. 28 5.4數(shù)字式時鐘的Proteus軟件仿真. 29 5.4.1 Proteus軟件仿真. 29 5.4.2 電路功能仿真29 5.4.3 Keil軟件30 5.4.4 數(shù)字式時鐘的Protues軟件仿真. 32 5.5本章小結(jié)

8、35 結(jié) 論 36 致 謝 37 參考文獻 38 附 錄 39青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 1 緒 論 1.1 課題背景 單片機自 1976 年由 Intel 公司推出 MCS-48 開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的各個方面,幾乎“無處不在,無所不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC 機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。 單片機有兩種基本機構(gòu)形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數(shù)

9、據(jù)存儲器合用一個存儲空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。 本文討論的單片機多功能定時器的核心是目前應(yīng)用極為廣泛的 51系列單片機,配置了外圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強等特點。不僅能滿足所需要求,而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。 20世紀(jì) 80年代中期以后, Intel 公司以專利轉(zhuǎn)讓的形式把 8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如 ATMEL、PHILPS、ANALOG、DEVICES、DALL

10、AS等。這些廠家生產(chǎn)的芯片是 MCS-51 系列的兼容產(chǎn)品,準(zhǔn)確地說是與 MCS-51 指令系統(tǒng)兼容的單片機。這些兼容機與 8051 的系統(tǒng)機構(gòu)(主要是指令系統(tǒng))相同,采用 CMOS 工藝。因而,常用 80C51 系列來稱呼所有具有 8051 指令系統(tǒng)的單片機,它們對 8051 單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱為 MCS-51 單片機,因而 MCS只是 Intel 公司專用的單片機系列型號。 MCS-51 系列及 80C51單片機有很多種品種。它們引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的 MCS-51 系列單片機及其兼容產(chǎn)品通常分

11、為以下幾類:基本型、增強型、低功耗型、專用型、超 8位型、片內(nèi)閃爍存儲器型。 1.2 課題意義 在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性能價1 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?可以構(gòu)造各種各樣、功能各異的微電子產(chǎn)

12、品。 隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實際情況,設(shè)計了一個單片機多功能定時系統(tǒng),他可以避免多種控制器的混淆,利用一個控制器對多路電器進行控制,同時又可以進行時鐘校準(zhǔn)和定點打鈴。它可以執(zhí)行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設(shè)置時間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。 1.3 數(shù)字式時鐘的應(yīng)用 數(shù)字點鐘具有走時準(zhǔn)確,一鐘多用等特點,在生活中已經(jīng)得到廣泛的應(yīng)用。雖然現(xiàn)在市場上已有現(xiàn)成的電子鐘集成電路芯片出售,價格便宜、使用也方便,但是人們對電

13、子產(chǎn)品的應(yīng)用要求越來越高,數(shù)字鐘不但顯示當(dāng)前的時間,而且可以顯示日期、農(nóng)歷、以及星期等,給人們的生活帶來了方便。另外數(shù)字鐘還具備秒表和鬧鐘的功能,且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺憾無傷大雅。但是一旦重要事情,一時的耽誤可能釀成大禍。電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?廣泛用于個人家庭以及車站、碼頭、劇院、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進的石英技術(shù),使電子鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜

14、帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。 1.4 本章小結(jié) 本章主要介紹了單片機的歷史發(fā)展過程,單片機的產(chǎn)生與發(fā)展給人們帶來了那些影響。以及數(shù)字鐘在日常生活中的具體應(yīng)用給日常生活帶來的方便。 2 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 2 單片機簡介 本次設(shè)計的主要思想:使用整個單片機作為中央控制器,由單片機執(zhí)行采集時鐘芯片的時間信號并通過顯示模塊來輸出信號及相關(guān)的控制功能。時鐘芯片產(chǎn)生時鐘信號,利用單片機的 I/O口傳輸給單片機;并通過 I/O口實現(xiàn) LCD的顯示。系統(tǒng)設(shè)有 4個按鍵可以對時、分、秒、年、月、日進行調(diào)整,還可以設(shè)置鬧鐘。整個框圖如圖 2-1所示。圖

15、2-1 系統(tǒng)整體框圖 2.1 單片機的選擇 隨著計算機及電子技術(shù)的飛躍發(fā)展,單片機也在不斷更新?lián)Q代,并成為電子系統(tǒng)中進行數(shù)據(jù)采集,信息處理,通信聯(lián)絡(luò)和實施控制的重要器件。單片機技術(shù)已滲入到了各個領(lǐng)域,在智能儀器儀表,工業(yè)監(jiān)測控制,電力電子,汽車電子等方面得到了廣泛的應(yīng)用,并取得了巨大的成果。在今后若干年,MCS-51 單片機的應(yīng)用仍將占主要地位,仍然是我國單片機應(yīng)用領(lǐng)域的主流機型?,F(xiàn)今各個領(lǐng)域的工程技術(shù)人員都應(yīng)掌握單片機應(yīng)用技術(shù)。 單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管它的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件: CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng)

16、。單片機是將中央處理器,隨機存儲器。只讀存儲器,定時器芯片和 I/O接口電路集成于一個芯片上的微控制器。 單片機也被稱為微控制器(Microcontroler),是因為它昀早被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有 CPU 的專用處理器發(fā)展而來。昀早的設(shè)計理念是通過將大量外圍設(shè)備和 CPU 集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對提及要求嚴(yán)格的控制設(shè)備當(dāng)中。 INTEL 的 Z80是昀早按照這種思想設(shè)計出的3 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。 單片機是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其

17、是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國 50年代開發(fā)的 74系列,或者 60 年代的 CD4000 系列這些純硬件來搞定的話,電路一定是一塊大 PCB 板!但是如果要是用美國 70 年代成功投放市場的系列單片機,結(jié)果就會有天壤之別!只因為單片機是通過你編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性!單片機的組成如圖 2-2:圖 2-2 單片機組成框圖 目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控

18、制和數(shù)據(jù)處理,廣泛使用的各種智能 IC 卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的科學(xué)家、工程師。 2.1.1 單片機的特點 (1)控制性能和可靠性高 實時控制功能特別強,其CPU可以對I/O端口直接進行操作,位操作能力更是其它計算機無法比擬的。另外,由于 CPU、存儲器及 I/O 接口集成在同一芯片內(nèi),各部件間的連接緊湊,數(shù)據(jù)在傳送時受干擾的影響較小,且不易受環(huán)境條件的影響,所以單片機的可靠性非常高。 近

19、期推出的單片機產(chǎn)品,內(nèi)部集成有高速 I/O 口、ADC、PWM、WDT 等部件,并在低電壓、低功耗、串行擴展總線、控制網(wǎng)絡(luò)總線和開發(fā)方式(如在系統(tǒng)編程ISP)等方面都有了進一步的增強。 (2)體積小、價格低、易于產(chǎn)品化 單片機芯片即是一臺完整的微型計算機,對于批量大的專用場合,一方面可以在眾多的單片機品種間進行匹配選擇;同時還可以專門進行芯片設(shè)計,使芯片的功能與應(yīng)用具有良好的對應(yīng)關(guān)系;在單片機產(chǎn)品的引腳封裝方面,有的單片機引腳已4 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 減少到8個或更少,從而使應(yīng)用系統(tǒng)的印制板減小、接插件減少、安裝簡單方便。 2.1.2 單片機的應(yīng)用領(lǐng)域 單片機廣泛應(yīng)

20、用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇: (1)在智能儀器儀表上的應(yīng)用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設(shè)備(功率計,示波器,各種分析儀)。 (2)在工業(yè)控制中的應(yīng)用 用單片機可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電

21、梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。 (3)在家用電器中的應(yīng)用 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調(diào)機、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。 (4)在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從 , 機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動 ,集群移動通信,無線電對講機等。 (5)單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用

22、 單片機在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。本次我們設(shè)計選用的是 AT89C51 系列單片機,是由 ATMEL 公司生產(chǎn)的。5 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 2.2AT89C51 單片機的基本結(jié)構(gòu) 2.2.1AT89C51 單片機簡介 AT89C51 是一種帶 4K字節(jié) FLASH 存儲器(FPEROM?Flash Programmableand Erasable Read Only Memory)的低電壓、高性能 CMOS 8位微處理

23、器,俗稱單片機。AT89C2051 是一種帶 2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051是它的一種精簡版本。 AT89C51的引腳封裝概述圖 2-3 89C51 的引腳封裝 (1)主電源引腳: VCC40腳:接+5 V電源正端。 VSS20腳:接+5 V電源地端。 (2)時鐘電路引腳: 外接晶體振蕩器,不能超

24、過 24M;需加微調(diào)電容,一般為 30pF; XTAL1:接外部晶振和微調(diào)電容的一端,在單片機內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反向放大器的輸入端。當(dāng)采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接到內(nèi)部振蕩器的輸入端。 XTAL2:接外部晶振和微調(diào)電容的另一端,在單片機內(nèi)部,它是構(gòu)成片內(nèi)振蕩6 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 器的反向放大器的輸出端。當(dāng)采用外部振蕩器時,此引腳應(yīng)懸空。 (3)復(fù)位電路引腳 RST/VPD:RST是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持 2個機器周期的高電平時,就可以完成復(fù)位操作。RST 引腳的第二功能是備用電源的輸入端。 單片機在開機時或

25、在工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位作用是使 CPU 以及其他功能部件,如串行口,中斷都恢復(fù)到一個確定初始狀態(tài),并從這個狀態(tài)開始工作。 復(fù)位電路有兩種:上電、按鈕復(fù)位,考慮到各部件影響,采用按鈕復(fù)位,當(dāng)電阻給電容充電,電容的電壓為高電平,當(dāng)按下按鈕時芯片復(fù)位腳近似低電平,于是芯片復(fù)位。 (4)控制信號引腳: ALE/PROG:Address Latch Enable/ Programming地址鎖存允許信號端,當(dāng)單片機上電正常工作后,ALE引腳不斷向外輸出正弦脈沖信號,此頻率為振蕩器頻率的1/6。CPU 訪問外部存儲器時,ALE 作為鎖存低 8 位

26、地址的控制信號。此引腳的第二功能 PROG 作為 8751 編程脈沖輸入端使用。 PSEN:Program Store Enable在訪問片外存儲器時,此端定時輸出負(fù)脈沖作為片外存儲器的選通信號。 EA/VPP: Enable Address/Voltage Pulse Of Programming當(dāng) EA接高電平時, CPU訪問片內(nèi) ROM,并執(zhí)行內(nèi)部程序存儲器中的指令,但當(dāng) PC(程序計數(shù)器)的值超過 4K 時,將自動轉(zhuǎn)去執(zhí)行片外存儲器內(nèi)的程序。當(dāng) EA 腳接低電平時,CPU 只訪問片外 ROM 并執(zhí)行外部程序存儲器中的指令,而不管是否有片內(nèi)程序存儲器。 VPP7是對 8751片內(nèi) ROM

27、 固化程序時,作為施加較高編程電壓(12V21V)的輸入端 。 (5)輸入輸出引腳: P0-P3:4個8位雙向輸入輸出端口,每個端口都有鎖存器、輸出驅(qū)動器和輸入緩沖器。4 個端口都可以做輸入輸出口使用,其中,P0 和 P2 通常用于對外部存儲器的訪問。在這種方式下,把P0口作為地址/數(shù)據(jù)總線使用,分時輸出外部存儲器的地址和傳送 8 位數(shù)據(jù)。當(dāng)擴充外部存儲器的地址為 16 位時,P2 口作為地址總線的高8位地址使用。 1P0口39-32腳:P0.0-P0.7統(tǒng)稱為P0口。在不接片外存儲器與不擴展I/O口時,可作為準(zhǔn)雙向輸入/輸出口。在接有片外存儲器或擴展 I/O 口時,P0 口分時復(fù)用為低8位地

28、址總線和雙向數(shù)據(jù)總線。 2 P1 口1-8 腳:P1.0-P1.7 統(tǒng)稱為 P1 口,可作為準(zhǔn)雙向 I/O 口使用。對于52 子系列,P1.0 與 P1.1 還有第二功能:P1.0 可用作定時器/計數(shù)器 2 的計數(shù)脈沖輸入端T2,P1.1可用作定時器/計數(shù)器2的外部控制端TEX。 7 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 3 P2口21-28腳:P2.0-P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O口使用;在接有片外存儲器或擴展I/O口且尋址范圍超過256字節(jié)時,P2口用作高8位地址總線。 4 P3 口10-17 腳:P3.0-P3.7 統(tǒng)稱為 P3 口。除作為準(zhǔn)雙向 I/O 口使用

29、外,還可以將每一位用于第二功能,而且 P3 口的每一條引腳均可獨立定義為第一功能的輸入輸出或第二功能。 2.2.2AT89C51 單片機工作的基本時序 機器周期和指令周期: (1) 振蕩周期: 也稱時鐘周期, 是指為單片機提供時鐘脈沖信號的振蕩源的周期。 (2) 狀態(tài)周期: 每個狀態(tài)周期為時鐘周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。 (3) 機器周期: 一個機器周期包含 6 個狀態(tài)周期 S1S6, 也就是 12 個時鐘周期。在一個機器周期內(nèi), CPU可以完成一個獨立的操作。 (4) 指令周期: 它是指 CPU 完成一條操作所需的全部時間。 每條指令執(zhí)行時間都是有一個或幾個機器周期組成。M

30、CS - 51 系統(tǒng)中, 有單周期指令、雙周期指令和四周期指令。2.2.3AT89C51 單片機的內(nèi)部結(jié)構(gòu)及存儲器配置 (1)AT89C51單片機內(nèi)部的結(jié)構(gòu) CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器; RAM:用以存放可以讀寫的數(shù)據(jù),如運算的中間結(jié)果、昀終結(jié)果以及欲顯示的數(shù)據(jù); ROM:用以存放程序、一些原始數(shù)據(jù)和表格; I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出; T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式。 8 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文)圖 2-4 MCS-51 的內(nèi)部結(jié)構(gòu)框圖(2)AT89C51

31、單片機的存儲器配置圖 2-5 單片機的內(nèi)部存儲器配置 從用戶的角度存儲器分 3個邏輯地址空間: 1)片內(nèi)外統(tǒng)一編址的 64KB程序存儲器地址空間 0000HFFFFH 即(a)圖; 2)256B 的片內(nèi)數(shù)據(jù)存儲器地址空間 00HFFH(包括低 128B 的內(nèi)部 RAM 地址 00H7FH和高 128B的特殊功能寄存器地址空間)即(b)圖; 3)64KB 的外部數(shù)據(jù)存儲器或擴展 I/O接口地址空間 0000HFFFFH; 4)畫出 RAM 的組成; RAM 共有 256 個單元,按功能分為兩部分低 128 單元(單元地址 00H7FH)和高 128 單元(單元地址 80HFFH)。其中高 128

32、 單元是供給專用寄存器使用,因9 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 這些寄存器的功能已作為專門規(guī)定故此稱之為特殊功能寄存器 SFR?11 個 SFR 有位尋址作用,而且要說明低 128單元是單片機的真正 RAM 存儲器。 表 2.1 RAM的組成 30H7FH 通用 RAM 區(qū) 20H2FH 位尋址區(qū)(00H7FH) 18H1FH 工作寄存器 3區(qū)(R7R0) 10H17H 工作寄存器 2區(qū)(R7R0) 08H0FH 工作寄存器 1區(qū)(R7R0) 00H07H 工作寄存器 0區(qū)(R7R0) 低 128單元是單片機的真正 RAM 存儲器,按其用途劃分為三個區(qū)域: (1)通用寄存器區(qū)

33、通用寄存器為 CPU 提供了就近數(shù)據(jù)存儲的便利,有利于提高單片機的運算速度。此外,使用通用存儲器還能提高程序編制的靈活性,因此在單片機的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡化程序設(shè)計,提高程序運行速度。 (2)位尋址區(qū) 內(nèi)部 RAM 的 20H2FH 單元,即可作為一般 RAM 單元使用,進行字節(jié)操作,也可以對單元中每一位進行位操作,因此把該區(qū)稱之為位尋址區(qū)。 (3)工作寄存區(qū) 用戶存儲數(shù)據(jù)的。2.3 本章小結(jié)本章節(jié)先介紹單片機的發(fā)展及其在現(xiàn)代生活中的廣泛應(yīng)用,然后再詳細(xì)講解了單片機內(nèi)部各引腳的作用,如 I/0 口,XTAL1、XTAL2 晶振接口,VCC 電源接口端等等,為進一步理解單片機的

34、功能打下初步的基礎(chǔ);昀后提到了單片機的存儲器ROM、RAM 在單片機運行中的作用,為我們進一步認(rèn)識單片機有很好的幫助。通過這章單片機知識的學(xué)習(xí),可以讓我們對單片機從抽象到具體的一個認(rèn)識,也為下面章節(jié)的應(yīng)用打下堅實的基礎(chǔ)。10 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 3數(shù)字式時鐘的硬件設(shè)計 本章節(jié)主要介紹數(shù)字式時鐘的硬件設(shè)計,從單片機昀小系統(tǒng)出發(fā),然后講解該設(shè)計的外圍電路設(shè)計。該設(shè)計的外圍電路包括時鐘電路模塊,LCD 顯示模塊,電源模塊,按鍵模塊以及復(fù)位電路模塊,通過對各個模塊的詳細(xì)介紹,讓我們對整個設(shè)計方案有一個深入的了解。整個數(shù)字式時鐘的硬件設(shè)計電路圖如圖 3-1所示。圖 3-1 數(shù)

35、字式時鐘硬件整體圖 3.1 昀小系統(tǒng)設(shè)計 單片機要正常運行,必須具備一定的硬件條件,其中昀主要的就是三個條件:(1)電源正常;(2)時鐘正常;(3)復(fù)位正常。AT89C51 的引腳如圖 3-2 所示,在 AT89C51單片機的 40個引腳中,電源引腳兩根,晶振引腳 2根,控制引腳 4根,可編程輸入輸出引腳 32根。 1工作電源 電源是單片機工作的動力源泉,對應(yīng)的接線方法為: 40引腳(VCC)電源引腳,工作是接+5電源,20引腳(GND)為接地線。 2時鐘電路 時鐘電路為單片機產(chǎn)生時序脈沖,單片機所有運算與控制過程都是在同一的時序脈沖的驅(qū)動下進行的,時鐘電路就好比人的心臟一樣重要。當(dāng)采用內(nèi)部時

36、鐘時,11 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 連接方法如圖 3-1所示,在晶振 XTAL19引腳和 XTAL18引腳之間接入一個晶振,兩個引腳對地分別再接入一個電容可產(chǎn)生所需的時鐘信號,電容的容量一般取 30Pf。圖 3-2 AT89C51 的昀小系統(tǒng) 3復(fù)位電路 在復(fù)位引腳(9引腳)持續(xù)出現(xiàn) 24個振蕩器脈沖周期(即 2個機器周期)的高電平信號 將使單片機復(fù)位。如圖 3-1 所示,電容 C 和電阻 R 構(gòu)成了單片機上電自動復(fù)位電路。復(fù)位后,單片機從 0000H單元開始執(zhí)行程序,并初始化一些專用寄存器為復(fù)位狀態(tài)值,受影響的專用寄存器如表 3-1所示。 表 3.1 寄存器狀態(tài)表 寄

37、存器 狀態(tài) 寄存器 狀態(tài) PC 000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP XXX00000H SBUF 不確定 IE OXX00000H PCON 0XXX0000H TMOD 00H4控制引腳 EA接法 EA/VPP31 引腳為內(nèi)外程序存儲器選擇控制引腳,當(dāng) EA為低電位時,單片機從外部存儲器取指令;當(dāng) EA 接高電平時,從單片機內(nèi)部程序存儲器取指令。AT89C51 單片機內(nèi)部有 4KB 可反復(fù)擦寫 1000 次以上的程序存儲器,因

38、此要把 EA接+5V高電平,讓單片機運行內(nèi)部的程序,這樣就可以反復(fù)燒寫來驗證程序了。 12 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 這就是 AT89C51單片機昀小化系統(tǒng)的連接, 只要把編寫好的程序燒寫到單片機內(nèi)部,并接上 5V電源就可以正常運行了,在 17引腳上接上的發(fā)光二極管可以用來驗證系統(tǒng)是否正常。 3.2 數(shù)字式時鐘的外圍電路設(shè)計 3.2.1時鐘電路 時鐘時單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式。如圖 3-3所示。圖 3-3 單片機時

39、鐘 AT89C51 單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。 3.2.2LCD 顯示電路 液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點,現(xiàn)在字符型爺晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中昀常用的信息顯示器件了。本次設(shè)計,我們使用的是長沙太陽人電子 SMC1602A LCM液晶。 1602A液晶實物如圖 3-4, 1602A主要參數(shù)如表 3.2所示。 圖3-4 1602B 液晶實物圖 該模塊也可以只用 D4-D7 作為四位數(shù)據(jù)分兩次傳送。這樣的話,可以節(jié)省 MCU的 I/O 口資源。1602A 可以顯示 2 行 16 個字符,

40、有 8 為數(shù)據(jù)總線 D0-D7,和 RS、R/W、EN 三個控制端口,工作電壓為 5V,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光。13 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 表 3.2 1602A 液晶主要技術(shù)參數(shù) 顯示容量 16×2 個字符 芯片工作電壓 4.55.5V 工作電流 2.0mA(5.0V) 模塊昀佳工作電壓 5.0V ×4.35(WXH)mm 該模塊也可以只用 D4-D7 作為四位數(shù)據(jù)分兩次傳送。這樣的話就可以節(jié)省MCU的 I/O口資源。各引腳的功能見表 3.3 。 表 3.3 1602A 液晶引腳說明 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS

41、電源地 9 D2 Data I/0 2 VDD 電源正極 10 D3 Data I/0 3 VL 液晶顯示偏壓信號 11 D4 Data I/0 4 RS 數(shù)據(jù)/命令選擇端(H/L) 12 D5 Data I/0 5 R/W 讀/寫選擇端(H/L) 13 D6 Data I/0 6 E 使能信號 14 D7 Data I/0 7 D0 Data I/0 15 BLA 背光源正極 8 D1 Data I/0 16 BLK 背光源負(fù)極 從該模塊的正面看,引腳排列從右至左為:15 引腳、16 引腳,然后才是 1 至14引腳。 VDD:電源正極,4.5?5.5V,通常使用 5V電壓; VL:LCD 對

42、比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為 0?5V。接正電源時對比度昀弱,接地電源時對比度昀高,但對比度過高時會產(chǎn)生“重影” ,因此,通常使用一個 10K的電位器來調(diào)整對比度,或者直接串接一個電阻到地; RS: MCU 寫入數(shù)據(jù)或指令選擇端。 MCU要寫入指令時,使 RS為低電平; MCU要寫入數(shù)據(jù)時,使 RS 為高電平; R/W:讀寫控制端。R/W為高電平時,讀寫數(shù)據(jù);R/W為低電平,寫入數(shù)據(jù); E:LCD模塊使能信號控制端。寫數(shù)據(jù)時,需要下降沿觸發(fā)模塊。 D0-D7:8 位數(shù)據(jù)總線,三態(tài)雙向。如果 MCU的 I/O口資源緊張的話,該模塊也可以只使用 4位數(shù)據(jù)線 D4-D7 接口傳送數(shù)據(jù)。 BLA:LED

43、背光正極。需要背光時,BLA 串接一個限流電阻接 VDD,BLK 接地,實測該模塊的背光電流為 50mA 左右。 BLK:LED背光地端。 1602A液晶與單片機系統(tǒng)的連接圖如 3-5所示。 14 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文)圖 3-5 1602A 液晶與單片機系統(tǒng)的連接圖 3.2.3電源電路 電源電路包括變壓器、橋式整流器、電容和穩(wěn)壓器。通過變壓器變壓,使得220V電壓變?yōu)?2V,再通過橋式整流,電容的濾波作用,穩(wěn)壓器的穩(wěn)壓作用,可輸出5V的穩(wěn)定電壓。如圖3-6所示。圖 3-6 系統(tǒng)電源電路 3.2.4按鍵電路 按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程

44、在相應(yīng)的 I/O 端口形成一個負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達到穩(wěn)定。這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動的持續(xù)時間長短與開關(guān)的機械特性有關(guān),一般在5?10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動。本文采用的是獨立式按鍵,直接用I/O口線構(gòu)成單個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產(chǎn)生相互影響。按鍵電路如圖3-7所示。 15 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文)圖 3-7 按鍵電路圖 P3.0口:表示功能移位鍵,按鍵選擇要調(diào)整的時、分、秒、年、月、日。 P3.1口:表示數(shù)字“+”鍵,按一下則對應(yīng)的

45、數(shù)字加1。 P3.2口:表示數(shù)字“?”鍵,按一下則對應(yīng)的數(shù)字減1。 3.2.5 復(fù)位電路 AT89C51 單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳 RST 通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。 上電復(fù)位:上電復(fù)位電路時一種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個電容到 VCC,接一個電阻到地就可以了。上電復(fù)位是指給系統(tǒng)上電時,復(fù)位電路通過電容加到RST復(fù)位引腳一個短暫的高電平信號,這個復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維

46、持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號必須維持足夠長的時間。 如圖3-8 所示,上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要 VCC 的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。圖 3-8 復(fù)位電路 3.3本章小結(jié) 本章介紹了多功能數(shù)字鐘系統(tǒng)的硬件模塊組成,詳細(xì)介紹了各個模塊的組成及功能。MCU 的組成和特點、單片機時鐘、顯示模塊的構(gòu)建與運用、電源電路的設(shè)計制作?;旧鲜峭瓿闪俗鳛閱纹瑱C所需的硬件結(jié)構(gòu)。同時也顯示了對軟件支持的強烈要求。 16 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 4 數(shù)字式時鐘的軟件設(shè)計 4.1 系統(tǒng)軟件設(shè)計內(nèi)容

47、 本設(shè)計的軟件程序包括主程序、中斷子程序、時鐘顯示程序以及延時子程序等。該設(shè)計有三個彈性小按鍵組成的小鍵盤,這些鍵盤可以修改時鐘的顯示狀態(tài)。按功能移位鍵一次,表示當(dāng)前要校對的是 “秒”位;按兩次,表示當(dāng)前校對的是“分”位;按三下,表示當(dāng)前要校對的是“時”位;按四下,表示當(dāng)前要校對的是“日期”位;按五下,表示當(dāng)前要校對的是“月份”位;按六下,表示要校對的是“年份”位;按七下,系統(tǒng)恢復(fù)到正常運行狀態(tài)。而當(dāng)移位功能正在調(diào)整時,可以使用“+”鍵、“-”鍵對當(dāng)前校對位的數(shù)字進行增加 1或者減去 1運算。 系統(tǒng)軟件采用 C語言編寫。時鐘的昀小計時單位是秒,但是使用定時器的方式1,昀大的定時時間也只能達到

48、131ms。我們可以把定時器的設(shè)定時間定為 50ms。這樣,計數(shù)溢出 20次即可得到時鐘的昀小計時單位:秒。而計時 20次可以用軟件實現(xiàn)。秒計時是采用中斷方式進行溢出次數(shù)的累積,記滿 20次,即可得到秒計時。從秒到分,分到時,時到日,日到月,月到年都是通過軟件累加并進行比較的方法來實現(xiàn)的。要求每滿 1秒,則“秒”單元中的內(nèi)容加 1; “秒”單元滿 60,則“分”單元中的內(nèi)容加 1; “分”單元滿 60,則“時”單元中的內(nèi)容加 1; “時”單元滿 24,則“日期”單元中的內(nèi)容加 1,同時將時、分、秒的內(nèi)容全部清零;依此類推,便可以得到月份,年份。實時時鐘程序設(shè)計步驟: (1)選擇工作方式,計算初

49、值; (2)采用中斷方式進行溢出次數(shù)累計; (3)從秒?分?時?日?月?年是通過累加和數(shù)值比較實現(xiàn)的; (4)時鐘顯示緩沖區(qū):時鐘時間在 LCD液晶顯示器上進行顯示,為此在內(nèi)部RAM 中要設(shè)置顯示緩沖區(qū),共 6 個地址單元。顯示緩沖區(qū)從左到右依次存放時、分、秒數(shù)值; (5)主程序:主要進行定時器/計數(shù)器的初始化編程,然后反復(fù)調(diào)用顯示子程序的方法等待中斷的到來; (6)中斷服務(wù)程序:進行計時操作; (7)加 1 子程序:用于完成對時、分、秒等的加操作,中斷服務(wù)程序在秒、分、時等加 1時調(diào)用加 1子程序。 (8)減 1 子程序:用于完成對時、分、秒等的減操作,中斷服務(wù)程序在秒、分、時等減 1時調(diào)用

50、減 1子程序 17 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文) 4.2 主程序 主程序主要有 main()組成通過對相關(guān)子程序的調(diào)用,實現(xiàn)對時間的設(shè)置與修改、LCD 顯示等主要功能。相關(guān)的調(diào)整是靠對功能鍵的判斷來實現(xiàn)的。我們用流程框圖來表示,如下圖 4-1所示: 開始 I/0 口初始化 時間、標(biāo)識位初始化時間顯示單元首地址調(diào)入按鍵掃描程序 否是否有鍵輸入?是 是 是不是抖動? 否調(diào)動查鍵號程序是 時鐘功能修改鍵 調(diào)用時鐘功能修改程否是 加 1 功能鍵 調(diào)用加 1功能程序否是 減 1 功能鍵 調(diào)用減 1功能程序圖 4-1 主程序流程 18 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文)主程序

51、段如下: #include #include #define uchar unsigned char #define uint unsigned int sbit lcdrsP20; /數(shù)據(jù)/命令選擇端 sbit lcdrwP21;/讀/寫選擇端 sbit lcdedP22;/液晶使能端 sbit s1P30; /功能鍵 sbit s2P31; /數(shù)字加1鍵 sbit s3P32; /數(shù)字減1鍵 uchar num,tt,i,j; uchar keycount; char shi,fen,miao;uint nian,yue,ri;main /主函數(shù) init;/初始化while1 keysanf; /讀鍵 void init/初始化函數(shù) shi12;fen0;miao0;/起始時間為 12:00:00nian2012;yue5;ri28;keycount0;/按鍵標(biāo)志清零P10x0f;/按鍵接口高電平TMOD0x01;/計時器初始化19 青島理工大學(xué)琴島學(xué)院本科畢業(yè)設(shè)計說明書(論文)tt0;TH065536-50000/256;TL

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論