基于51單片機和lcd1602的萬年歷設計_第1頁
基于51單片機和lcd1602的萬年歷設計_第2頁
基于51單片機和lcd1602的萬年歷設計_第3頁
基于51單片機和lcd1602的萬年歷設計_第4頁
基于51單片機和lcd1602的萬年歷設計_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于51單片機和lcd1602的萬年歷設計基于單片機的萬年歷設計摘 要古人依靠日冕、漏刻記錄時間,而隨著科技的發(fā)展,電子萬年歷已經(jīng)成為日漸流行的日常計時工具。本文研究的萬年歷系統(tǒng)擬用STC89C52單片機控制,以DS1302時鐘芯片計時、DS18B20采集溫度、1602液晶屏顯示。系統(tǒng)主要由溫度傳感器電路,單片機控制電路,顯示電路以及校正電路四個模塊組成。本文闡述了系統(tǒng)的硬件工作原理,所應用的各個接口模塊的功能以及其工作過程,論證了設計方案理論的可行性。系統(tǒng)程序采用C語言編寫,經(jīng)Keil軟件進行調(diào)試后在Proteus軟件中進行仿真,可以顯示年、月、日、星期、時、分、秒和溫度并具有校準功能和與即

2、時時間同步的功能。實驗結果表明此萬年歷實現(xiàn)后具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關鍵詞:萬年歷 單片機 仿真 The Calendar of Design based on Single ChipAbstractAncient rely on corona, Louke recording time. The electronic calendar has become the popular tool for the daily timing.as the development of technology.In the ca

3、lendar system , the STC89C52 is used to control, with the DS1302 clock chip timing, DS18B20 collecting temperature, 1602 LCD Displaying. The system is composed of four modules:the temperature sensor circuit, the MCU control circuit, the display circuit and the correction circuit. This paper describe

4、s the hardware works, the functions of each interface module and its working process, demonstrates design theory is Feasibility. C language is used to program, after debugging in the Keil software, then simulating in the Proteus. The electronic calendar can display year, month, day, week, hours, min

5、utes, seconds, temperature, and has calibration features and functionality with real time synchronization.The results show that this calendar is easy to read, intuitive display, versatile, simple circuits, and many other advantages,The design meets the development trend of electronic instruments and

6、 meters, and has broad market prospects.Keywords: Calendar ; MCU ; simulation目 錄第一章 緒論11.1課題研究的意義11.2本課題主要的研究工作11.2.1研究內(nèi)容11.2.2論文章節(jié)安排21.3本章小結2第二章 單片機的概述32.1單片機的定義和特點32.1.1單片機的定義32.1.2單片機的特點32.2單片機的發(fā)展現(xiàn)狀和趨勢42.2.1單片機的發(fā)展現(xiàn)狀42.2.2單片機的發(fā)展趨勢52.3編程語言的選擇52.4本章小結6第三章 設計要求和方案論證73.1設計要求73.2單片機芯片的選擇方案和論證73.3顯示模塊選擇

7、方案和論證73.4時鐘芯片的選擇方案和論證83.5溫度傳感器的選擇方案與論證83.6電路設計最終方案決定93.7本章小結9第四章 系統(tǒng)的硬件設計與實現(xiàn)104.1電路設計框圖104.2系統(tǒng)硬件概述104.3主要單元電路的設計114.3.1 STC89C52單片機簡介114.3.2單片機主控制模塊的設計134.3.3時鐘電路模塊的設計154.3.4溫度傳感器電路設計164.3.5獨立式鍵盤設計194.3.6顯示模塊的設計194.4本章小結21第五章 系統(tǒng)的軟件設計225.1程序流程圖225.1.1系統(tǒng)總流程圖225.1.2溫度程序流程圖235.1.3時鐘程序流程圖245.1.4液晶顯示程序流程圖2

8、55.2程序的設計265.2.1 DS18B20測溫程序265.2.2讀寫DS1302程序275.2.3液晶顯示程序295.3本章小結29第六章 仿真與調(diào)試306.1軟件簡介306.1.1 Keil軟件簡介306.1.2 Proteus ISIS簡介306.2 Keil軟件調(diào)試流程316.3 Proteus軟件運行流程336.4 萬年歷的功能仿真356.5 硬件調(diào)試結果356.6本章小結39第七章 總結與展望40參考文獻41附錄一:系統(tǒng)電路圖42附錄二:系統(tǒng)PCB板43附錄三:系統(tǒng)程序.44致謝57第一章 緒論1.1課題研究的意義萬年歷是我國古代傳說中最古老的一部太陽歷。為紀念歷法編撰者萬年功

9、績,便將這部歷法命名為“萬年歷”。而現(xiàn)在所使用的萬年歷,實際上就是記錄一定時間范圍內(nèi)(比如100年或更多)的具體陽歷或陰歷的日期的年歷,方便有需要的人查詢使用,與原始歷法并無直接聯(lián)系。而隨著微電子技術的高速發(fā)展,人類用于計時的工具也在不斷發(fā)展更新,單片機技術的出現(xiàn)使得萬年歷有了新的發(fā)展方向。單片機以其體積小、功能全、性價比高等諸多優(yōu)點,在工業(yè)控制、家用電器、通信設備、信息處理、尖端武器等各種測控領域的應用中獨占鰲頭,單片機開發(fā)技術已成為電子信息、電氣、通信、自動化、機電一體化等專業(yè)技術人員必須掌握的技術。目前世界上單片機年產(chǎn)量已達十多億片,通常是當年微處理器產(chǎn)量的4-5倍以上。用最少的芯片就能

10、實現(xiàn)最強大的功能,這是將來電子產(chǎn)品的主流方向,它將無可置疑地一步步取代其它同類產(chǎn)品,其數(shù)量之大和應用面之廣,是其它任何類型的計算機所無法比擬的。以基于單片機的萬年歷作為設計的課題,因為它有很好的開放性和可發(fā)揮性,對作者的要求比較高,不僅考察了對單片機的掌握能力而且強調(diào)了對單片機擴展的應用。另外液晶顯示的萬年歷已經(jīng)越來越流行,特別適合在家庭居室、辦公室、大廳、會議室、車站和廣場等地方使用,它具有顯示清晰直觀、走時準確、可以進行夜視等功能,并且還可以擴展出其它多種功能。所以,電子萬年歷作為設計課題很有價值。1.2本課題主要的研究工作本論文主要研究基于單片機的萬年歷設計。當程序執(zhí)行后,LCD顯示即時

11、時間、年月日、星期、溫度。設置3個操作鍵:K1:設置鍵;K2:上調(diào)鍵;K3:下調(diào)鍵。本設計的主要內(nèi)容:1、了解單片機技術的發(fā)展現(xiàn)狀,熟悉萬年歷各模塊的工作原理;2、選擇適當?shù)男酒驮骷_定系統(tǒng)電路,繪制電路原理圖,尤其是各接口電路;3、熟悉單片機使用方法和C語言的編程規(guī)則,編寫出相應模塊的應用程序;4、分別在各自的模塊中調(diào)試出對應的功能,在Proteus軟件上進行仿真。1.2.1研究內(nèi)容設計目標:使基于STC89C52單片機的萬年歷實現(xiàn)以下四個功能:1、具有年、月、日、星期、時、分、秒等功能;2、具備年、月、日、星期、時、分、秒校準功能;3、具有與即時時間同步的功能;4、具有顯示溫度的功能

12、;1.2.2論文章節(jié)安排:第一章:緒論是介紹了基于STC89C52單片機的萬年歷研究意義,重點闡述了本課題的研究內(nèi)容和研究工作。第二章:單片機的概述主要闡述了單片機系統(tǒng)的定義以及單片機系統(tǒng)的發(fā)展現(xiàn)狀和發(fā)展趨勢。因為只有對單片機有了更深入的了解,才能設計出更好的單片機控制系統(tǒng)。本章的結尾是對單片機C語言編程的介紹。第三章:主要介紹了設計要求和課題器件選擇的論證方案。第四章:硬件基礎中主要描述了萬年歷的各個模塊的硬件設計方案,并結合各個元器件和相應的硬件原理圖進行分析,最后展示為了實現(xiàn)研究目標所需要的全部硬件基礎。第五章:軟件基礎主要羅列了實現(xiàn)萬年歷各個功能的C語言程序的流程圖,并分別對其進行了解

13、釋和分析,最后把各個C語言子程序在巧妙結合在一起,共同控制整個系統(tǒng),也就形成了實現(xiàn)研究目標所需要的所有軟件基礎。第六章:主要對Keil軟件Proteus軟件進行簡單介紹,并給出了關于Proteus軟件仿真調(diào)試萬年歷的過程。最后簡要的介紹了硬件調(diào)試中的問題和解決辦法。第七章:主要是對本次實驗研究的總結,提出本次實驗的不足之處以及相應的改進方法,以便后人繼續(xù)深入研究。1.3本章小結本章是論文的緒論部分,著重介紹了萬年歷的研究意義。然后介紹了本文所要解決的實際問題及意義,以及要電子萬年歷系統(tǒng)要實現(xiàn)的功能和方法。最后簡單地描述了本論文的整體框架和論文章節(jié)的安排。第二章 單片機的概述目前單片機滲透到了我

14、們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及遠程控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域中的機器人、智能儀表、醫(yī)療器械了。單片機具有結構簡單、控制功能強、可靠性高、體積小、價格低等優(yōu)點,因而在許多行業(yè)都得到了廣泛應用,并且在諸多領域中都發(fā)揮了無可比擬的巨大作用。2.1單片機的定義和特點2.1.1單片機的定義單片機即單片微型計算機,是把中央處理器、存儲器、定時/計數(shù)器

15、、輸入輸出接口都集成在一塊集成電路芯片上的微型計算機。與應用在個人電腦中的通用型微處理器相比,它更強調(diào)自供應(不用外接硬件)和節(jié)約成本。單片機也被稱為微控制器(Microcontroller),是因為它最早被用于工業(yè)控制領域。單片機的芯片內(nèi)僅由CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。2.1.2單片機的特點單片機以其卓越的性能,得到了廣泛的應用,已深入到各個領域。單片機應用在檢測、控制領域中,具有如下特點:1、體積小、控制功能強、成本低。因而可以方便地組裝各種智能式控制設備和儀器,

16、做到機、電、儀一體化。2、易擴展。很容易構成各種規(guī)模的應用系統(tǒng),為應用系統(tǒng)的設計和生產(chǎn)帶來極大方便。3、可靠性好、使用溫度范圍寬。在各種惡劣的環(huán)境下都能可靠的工作,這是其他機種無法比擬的。4、種類多,型號全。很多單片機廠家逐年擴大適應各種需要,有針對性地推出一系列型號產(chǎn)品,使系統(tǒng)開發(fā)工程師有很大的選擇余地。大部分產(chǎn)品有較好的兼容性,保證了已開發(fā)產(chǎn)品能順利移植,較容易地使產(chǎn)品進行升級換代。5、低功耗。現(xiàn)在新型單片機的功耗越來越小,供電電壓從5V降低到了3.2V,甚至1V,工作電流從mA降到A級,工作頻率從十幾兆可編程到幾十千赫茲。特別是很多單片機都設置了多種工作方式,這些工作方式包括等待、暫停、

17、睡眠、空閑、節(jié)電等。6、可以采用C語言開發(fā)環(huán)境,具有友好的人機互交環(huán)境。大多數(shù)單片機都提供基于C語言開發(fā)平臺,并提供大量的函數(shù)供使用,這使產(chǎn)品的開發(fā)周期、代碼可讀性、可移植性都大為提高。2.2單片機的發(fā)展現(xiàn)狀和發(fā)展趨勢2.2.1單片機的發(fā)展現(xiàn)狀單片機技術在不斷的發(fā)展,它反映在內(nèi)部結構、功率消耗、外部電壓等級以及制造工藝上。在這幾方面,較為典型地說明了數(shù)字單片機的技術水平。在目前,用戶對單片機的需要越來越多,但是,要求也越來越高。下面分別就這三個方面說明單片機的技術進步狀況。 1、內(nèi)部結構的進步 單片機在內(nèi)部已集成了越來越多的部件,這些部件包括一般常用的電路,例如:定時器,比較器,A/D轉(zhuǎn)換器,

18、D/A轉(zhuǎn)換器,串行通信接口,Watchdog電路,LCD控制器等。有的單片機為了構成控制網(wǎng)絡或形成局部網(wǎng),內(nèi)部含有局部網(wǎng)絡控制模塊CAN。例如,Infineon公司的C 505C,C515C,C167CR,C167CS-32FM,81C90。因此,這類單片機十分容易構成網(wǎng)絡。特別是在控制,系統(tǒng)較為復雜時,構成一個控制網(wǎng)絡十分有用。 為了能在變頻控制中方便使用單片機,形成最具經(jīng)濟效益的嵌入式控制系統(tǒng)。有的單片機內(nèi)部設置了專門用于變頻控制的脈寬調(diào)制控制電路,這些單片機有Fujitsu公司的MB89850系列、MB89860系列;Motorola 公司的MC68HC08MR16、MR24等。在這些單

19、片機中,脈寬調(diào)制電路有6個通道輸出,可產(chǎn)生三相脈寬調(diào)制交流電壓,并內(nèi)部含死區(qū)控制等功能。 特別引人注目的是:現(xiàn)在有的單片機已采用所謂的三核(TrCore)結構。這是一種建立在系統(tǒng)級芯片(System on a chip)概念上的結構。這種單片機由三個核組成:一個是微控制器和DSP核,一個是數(shù)據(jù)和程序存儲器核,最后一個是外圍專用集成電路(ASIC)。這種單片機的最大特點在于把DSP和微控制器同時做在一個片上。這是目前單片機最大的進步之一。這些單片機都是高檔單片機,MCU都是32位的,而DSP采用16或32位結構,工作頻率一般在60MHz以上。 2、功耗、封裝及電源電壓的進步 現(xiàn)在新的單片機的功耗

20、越來越小,特別是很多單片機都設置了多種工作方式,這些工作方式包括等待,暫停,睡眠,空閑,節(jié)電等工作方式。而單片機的封裝水平也大大提高,隨著貼片工藝的出現(xiàn),單片機也大量采用了各種合符貼片工藝的封裝方式出現(xiàn),以大量減少體積。在這種形勢中,Microchip公司推出的8引腳的單片機特別引人注目。這是PIC12CXXX系列。它含有0.52K程序存儲器,25128字節(jié)數(shù)據(jù)存儲器,6個I/O端口以及一個定時器,有的還含4道A/D ,完全可以滿足一些低檔系統(tǒng)的應用。擴大電源電壓范圍以及在較低電壓下仍然能工作是今天單片機發(fā)展的目標之一。目前,一般單片機都可以在3.35.5V的條件下工作。而一些廠家,則可以生產(chǎn)

21、出在2.26V的條件下工作的單片機。 3、工藝上的進步 現(xiàn)在的單片機基本上采用CMOS技術,但已經(jīng)大多數(shù)采用了0.6um以上的光刻工藝,有個別的公司,如Motorola公司則已采用0.35um甚至是0.25um技術。這些技術的進步大大地提高了單片機的內(nèi)部密度和可靠性。2.2.2單片機的發(fā)展趨勢單片機在目前的發(fā)展形勢下,表現(xiàn)出幾大趨勢:1、可靠性及應用越來越水平高,和互聯(lián)網(wǎng)連接已是一種明顯的走向;2、所集成的部件越來越多,NS(美國國家半導體)公司的單片機已把語音、圖像部件也集成到單片機中,也就是說,單片機的意義只是在于單片集成電路,而不在于其功能了。如果從功能上講它可以講是萬用機。原因是其內(nèi)部

22、已集成上各種應用電路;3、功耗越來越低和模擬電路結合越來越多。隨著半導體工藝技術的發(fā)展及系統(tǒng)設計水平的提高,單片機還會不斷產(chǎn)生新的變化和進步,最終人們可能發(fā)現(xiàn):單片機與微機系統(tǒng)之間的距離越來越小,甚至難以辨認。2.3編程語言的選擇在1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。在眾多的程序設計語言中,C語言簡潔緊湊,語言表達能力強,其結構化的流程控制有助于編制結構良好的程序。C語言程序經(jīng)編譯后生成的目標程序代碼效率高,幾乎可以與匯編語言媲美。C語言既具備高級語言使用方便、接近自然語言和數(shù)學

23、語言的特性,同時也具備對計算機硬件系統(tǒng)的良好操縱和控制能力。C語言可移植性好,一個C語言源程序可以不做改動,或者稍加改動,就可以從一種型號的計算機移轉(zhuǎn)到另外一種型號的計算機上編譯運行。因此,C語言被廣泛應用于各類系統(tǒng)軟件和應用軟件的開發(fā)。所以本系統(tǒng)以C語言進行軟件設計,增加了程序的可讀性和可移植性,便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關系更加簡潔了。2.4本章小結本章主要介紹了單片機的定義和特點,重點描述了單片機發(fā)展現(xiàn)狀和未來的發(fā)展趨勢,最后簡單地介紹了選擇的編程語言。第三章 設計要求和方案論證3.1 設計要求1、 具備在液晶上顯示年、月、日、星期、時、分、秒的功能;2、

24、 具備年、月、日、星期、時、分、秒校準功能;3、 具有與即時時間同步的功能;4、 具有顯示溫度的功能;3.2 單片機芯片的選擇方案和論證方案一:采用AT89S51芯片作為硬件核心,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設計中時由于不具備ISP在線編程技術,所以在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用STC89C52芯片,STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash存儲器。同樣具有AT89S51的功能,

25、且具有在線編程可擦除技術,當對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞,因此選擇采用STC89C52作為主控制系統(tǒng)核心。3.3 顯示模塊選擇方案和論證方案一:采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字合適,采用動態(tài)掃描法與單片機連接時,雖然占用的單片機口線少,但連線還需要花費一點時間,所以也不用此種作為顯示。方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,若采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以在此也不用此種作為顯示。方案三:采用1602液晶顯示屏,

26、該液晶顯示屏的顯示功能強大,內(nèi)置192種字符,可顯示大量符號、數(shù)字,清晰可見,而且功率消耗小壽命長抗干擾能力強。所以在此設計中采用1602液晶顯示屏。3.4時鐘芯片的選擇方案和論證方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,所以不采用此方案。方案二:采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年進行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時耗電小于300nA。所以本設計采用DS

27、1302時鐘芯片。3.5溫度傳感器的選擇方案與論證方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個相應阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行A/D轉(zhuǎn)換。此設計方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二:采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以去除A/D模塊,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點。因此本設計選用DS18B20溫度傳感器。3.6 電路設計最

28、終方案決定綜上各方案所述,對此次作品的方案選定: 采用STC89C52作為主控制芯片,DS1302時鐘芯片計時,DS18B20采集溫度,LCD1602作為顯示模塊。3.7本章小結 本章主要介紹了系統(tǒng)要實現(xiàn)的功能和萬年歷系統(tǒng)硬件平臺的選擇,比較了主控模塊,時鐘模塊,顯示模塊,溫度采集模塊中不同器件的優(yōu)劣,最后確定了電路設計的整體方案。這也是完成設計的先決條件。第四章 系統(tǒng)的硬件設計與實現(xiàn)4.1 電路設計框圖根據(jù)上章確定的方案給出了系統(tǒng)整體的設計框圖:圖4.1系統(tǒng)結構框圖為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤模塊用來校正液晶上顯示的時間;溫度傳感器則用來檢測當前的環(huán)境溫度;STC8

29、9C52單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作;而系統(tǒng)的時間、溫度等數(shù)據(jù)則最終通過液晶模塊顯示出來。4.2 系統(tǒng)硬件概述本電路是以STC89C52單片機為控制核心,該芯片具有在線編程功能,功耗低,能在3.3V的超低壓下工作;時鐘芯片采用DS1302,它是一款高性能、低功耗、自帶RAM的實時時鐘芯片,具有使用壽命長,精度高和功耗低等特點,同時具有掉電自動保存功能,可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,其工作電壓為2.5V5.5V;溫度檢測模塊由DS18B20構成,它采用獨特的單線接口僅需一個端口引腳進行通訊, 具有測量精度高、測量范圍廣等優(yōu)點,其測溫范圍在-

30、55+125,工作電壓為3v5.5v;顯示部份使用1602液晶顯示屏來實現(xiàn),該顯示屏具有低功耗、壽命長、可靠性高的特點,其工作電壓為5v。4.3 主要單元電路的設計4.3.1 STC89C52單片機簡介STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash 存儲器。使用高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標準功能:

31、8K字節(jié)Flash,256字節(jié)RAM,32位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。引腳排列如圖2.1所示。圖2.1 STC89C52引腳圖從引腳功能來看,可將引腳分為三部分:1、電源及時鐘引腳VCC:接+5V電源;VSS:接地;XTAL1和XTAL2:時鐘引腳

32、,外接晶體引線端。當使用芯片內(nèi)部時鐘時,此兩引腳端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。2、控制引腳RST/VPT:RST是復位信號輸入端,VPT是備用電源輸入端。當RST輸入端保持2個機器周期以上高電平時,單片機完成復位初始化操作。當主電源VCC發(fā)生故障而突然下降到一定低電壓或斷電時,第2功能VPT將為片內(nèi)RAM提供電源以保護片內(nèi)RAM中的信息不丟失。ALE/PROG:地址鎖存允許信號輸出端。在存取外存儲器時,用于鎖存低8位地址信號。當單片機正常工作后,ALE端就會周期性地以時鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號。此引腳的第2功能PROG是對片內(nèi)帶有4

33、K字節(jié)EPROM的8751固化程序時,作為編程脈沖輸入端。PSEN:程序存儲允許輸出端。是片外程序存儲器的讀選通信號,低電平有效。CPU從外部程序存儲器取指令時,PSEN信號會自動產(chǎn)生負脈沖,作為外部程序存儲器的選通信號。EA/VPP:程序存儲器地址允許輸入端。當EA為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當PC中的值超過0FFFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令;當EA為低電平時,CPU只執(zhí)行片外程序存儲器指令。對8031單片機,EA必須接低電平。在8751中,當對片內(nèi)EPROM編程時,該端接21V的編程電壓。3、I/O口引腳P0.0P0.7:P0口是一個8位漏極開路的雙向I/O口

34、。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。P1.0P1.7:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P2.0P2.7:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器

35、時,P2口送出高八位地址。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3.0P3.7:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。P3口亦作為STC89C52特殊功能(第二功能)使用。在flash編程和校驗時,P3口也接收一些控制信號。4.3.2 單片機主控制模塊的設計本設計中單片機主要負責對外設的控制和各個功能模塊間的協(xié)調(diào),沒有復雜的數(shù)據(jù)計算,因此,8位的51系列單片機足以勝任。51單片機以其低廉的價格以及較出色的性能成了很多控制系統(tǒng)的首選。它具有豐富的內(nèi)部

36、資源,較大的數(shù)據(jù)、程序存儲區(qū)。一個典型的單片機最小系統(tǒng)一般由時鐘電路、復位電路、電源指示燈和外部擴展接口等部分組成,本系統(tǒng)也不例外,當單片機具備了這些最基本的條件后,就可以正常工作了。單片機的最小系統(tǒng)如圖4.2所示,單片機的XTAL0和XTAL1引腳用于連接晶振電路。XTAL0接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL1接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。RESET為復位引腳,連接復位電路,它用于對單片機進行初始化。復位電路包括復位電容(C6)、復位電阻(R3)和復位開關(S4)。VSS為電源地,VCC為電源正。圖4.2 單片機最小系統(tǒng)

37、單片機最小系統(tǒng)復位、晶振電路簡介1、復位電路的設計復位電路是使單片機的CPU或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這上狀態(tài)開始工作。(1)單片機常見的復位電路通常單片機復位電路有兩種:上電復位電路,按鍵復位電路。上電復位電路:上電復位是單片機上電時復位操作,保證單片機上電后立即進入規(guī)定的復位狀態(tài)。它利用的是電容充電的原理來實現(xiàn)的。按鍵復位電路:它不僅具有上電復位電路的功能,同時它的操作比上電復位電路的操作要簡單的多。如果要實現(xiàn)復位的話,只要按下RESET鍵即可。它主要是利用電阻的分壓來實現(xiàn)的在此設計中,采用的按鍵復位電路。按鍵復位電路如圖4.3所示。圖4.3 復位電路(2)復位電路工作

38、原理上電復位要求接通電源后,單片機自動實現(xiàn)復位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。上電與按鍵均有效的復位電路不僅在上電時可以自動復位,而且在單片機運行期間,利用按鍵也可以完成復位操作2、晶振電路的設計晶振電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關系。單片機本身就如一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘信號控制下嚴格地工作。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構成

39、自激振蕩器,如圖4.4中Y1、C1、C2??梢愿鶕?jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左右的瓷片電容。 圖4.4 時鐘振蕩電路4.3.3 時鐘電路模塊的設計DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。圖4.5所示為DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。DS1302由VCC1或VCC2兩者中的較大者供電。所以在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。X1和X2是振蕩源,外接32.768KHz晶振用來為芯片提供計時脈沖。RST是復

40、位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電行動時,在VCC大于等于2.5V之前,RST必須保持低電平。在SCLK為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。圖4.5 DS1302的硬件接線圖時鐘芯片DS1302的工作原理:(1) DS1302的控制

41、字節(jié)DS1302控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出(2) 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。(3) DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷

42、、時鐘相關,存放的數(shù)據(jù)位為BCD碼形式。“CH”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位為0時,時鐘開始運行?!癢P”是寫保護位,在任何的對時鐘和RAM的寫操作之前,“WP”必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操

43、作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。4.3.4溫度傳感器電路設計數(shù)字溫度傳感器DS18B20是由Dalles半導體公司生產(chǎn)的,它具有耐磨耐碰,體積小,使用方便,封裝形式多樣(如圖4.6),適用于各種狹小空間設備數(shù)字測溫和控制領域。圖4.6 DS18B20的兩種封裝1、DS18B20的主要特性 (1)適應電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電。 (2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 (3)DS18

44、B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 (4)DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 (5)溫范圍55125,在-10+85時精度為0.5。 (6)可編程 的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。 (7)在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。 (8)測量結果直接輸出數(shù)字溫度信號,以一 線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干

45、擾糾錯能力。 (9)負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。2、DS18B20的內(nèi)部結構DS18B20內(nèi)部結構主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器(如圖4.7)。圖4.7 DS18B20的內(nèi)部結構組成DS18B20的供電方式有兩種:寄生電源供電方式和外部電源供電方式。本設計采用外部電源供電方式(如圖4.8),DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度。外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單,

46、可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。 圖4.8 DS18B20引腳接線引腳說明:GND為接地引腳;DQ為數(shù)據(jù)輸入輸出腳。用于單線操作,漏極開路;VCC接電源正;4.3.5獨立式鍵盤設計實現(xiàn)鍵盤控制的方法有多種,它可以用FPGA來進行控制,也可以用單片機來進行控制。在本系統(tǒng)中,我們采用了單片機來進行控制,因為單片機可以很好的解決鍵抖動。由若干個按鍵組成一個鍵盤,其電路結構可分為獨立式鍵盤和矩陣式鍵盤兩種。 獨立式鍵盤每個鍵單獨占用一根I/O口線,每根I/O口線上的按鍵工作狀態(tài)不會影響其他I/O口線上的狀態(tài),矩陣式鍵盤按鍵排列為行列式矩陣結構,也稱行列式鍵盤結構。4行4列共16個鍵,只占用8根I

47、/O口線,鍵數(shù)目較多,可節(jié)省口線。本設計采用的是獨立式鍵盤。鍵盤的工作方式可分為編程控制方式和中斷控制方式。CPU在一個工作周期內(nèi),利用完成其他任務的空余時間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進而判斷是哪個鍵,并執(zhí)行相應的鍵處理程序。這種方式為編程掃描方式。由于單片機在正常應用過程中,可能會經(jīng)常進行鍵操作,因而編程控制方式使CPU經(jīng)常處于工作狀態(tài), 在進行本次設計中,只涉及到了設置、上調(diào)、下調(diào)三個功能。因此采用獨立式鍵盤。如下圖所示: 圖4.9按鍵的設計4.3.6 顯示模塊的設計本設計中由于要對時間、溫度進行顯示,所以選擇液晶顯示屏1602模塊作為輸出。160

48、2字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。它可以顯示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 管腳功能如表4-1所示:表4-1 LCD1602引腳功能引腳符號功能說明1VSS一般接地2VDD接電源(+5V

49、)3V0液晶顯示器對比度調(diào)整端。4RSRS為寄存器選擇。5R/WR/W為讀寫信號線。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1底4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2底4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3底4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線 6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)LCD1602主要管腳介紹:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過

50、高時會產(chǎn)生鬼影使用時可以通過一個10K的電位器調(diào)整對比度。RS為寄存器選擇端,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。RW為讀寫信號線端,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址;當RS為高電平RW 為低電平時可以寫入數(shù)據(jù)。E為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。將L1602的RS端和P2.0,R/W端和P2.1, E 端和P2.2相連,當RS=0時,對LCD1602寫入指令;當RS=1時,對LCD1602寫入數(shù)據(jù)。當R/W端接高電平時芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),E端為使能信號端。當R/W為高電平,E端也

51、為高電平,RS為低電平時,液晶顯示屏顯示需要顯示的示數(shù)。圖4.10為1602液晶顯示屏與單片機的硬件連接圖。 圖4.10 LCD液晶與單片機硬件連線圖4.4本章小結本章主要介紹了系統(tǒng)硬件設計,其中對時鐘芯片DS1302、1602液晶顯示屏、DS18B20溫度傳感器和STC89C52最小系統(tǒng)的設計做了詳細闡述。此外還介紹了各模塊和單片機的連接方法、其特性及電路原理,最后確定系統(tǒng)的整體硬件設計方案。第五章 系統(tǒng)的軟件設計5.1程序流程圖5.1.1 系統(tǒng)總流程圖系統(tǒng)總流程圖如圖5.1所示。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開始運行,當有設置鍵按下時進入修改時間模式,無按鍵按下時讀取時間、溫度等數(shù)據(jù)送入

52、液晶屏顯示;在修改時間模式下設置時間完成后再送數(shù)據(jù)到液晶屏顯示。圖5.1系統(tǒng)總流程圖5.1.2 溫度程序流程圖溫度讀取流程圖如圖5.2所示。流程圖分析:開始進入初始化DS18B20,就是通過主機拉低單線產(chǎn)生復位脈沖然后釋放該線,如果有應答脈沖,即發(fā)起ROM命令當成功的執(zhí)行操作命令后,就使用Convert T命令即開始溫度轉(zhuǎn)換,當轉(zhuǎn)換完后,又初始化DS18B20是否有應答脈沖,若有,就發(fā)起Read Scratchpad(讀取暫存器和CRC字節(jié))命令,既同時讀出第1,2個字節(jié),即為溫度的數(shù)據(jù)。圖5.2 溫度顯示流程圖5.1.3 DS1302時鐘程序流程圖時鐘流程圖如圖5.3所示。流程圖分析:DS1302開始計時時,首先進行初始化,當有中斷信號時,讀取時鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時若有設置鍵按

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論