可調(diào)電子時鐘的設(shè)計畢業(yè)論文.doc_第1頁
可調(diào)電子時鐘的設(shè)計畢業(yè)論文.doc_第2頁
可調(diào)電子時鐘的設(shè)計畢業(yè)論文.doc_第3頁
可調(diào)電子時鐘的設(shè)計畢業(yè)論文.doc_第4頁
可調(diào)電子時鐘的設(shè)計畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

編號 2010311124 畢 業(yè) 設(shè) 計( 2014 屆本科) 設(shè)計題目: 可調(diào)電子時鐘的設(shè)計 學 院: 電氣工程學院 專 業(yè): 電子信息工程 班 級: 10級電信班 作者姓名: 楊小林 指導教師: 雷繼海 職稱: 研究生 完成日期: 2014 年 4 月 12 日 隴東學院本科生畢業(yè)設(shè)計誠信聲明(1)可調(diào)電子時鐘的設(shè)計(1)摘 要(1)abstract(1)1 引 言(1)2 功能要求(2)3 方案論證與設(shè)計(2)3.1 單片機芯片的選擇方案和論證(2)3.2 顯示模塊選擇方案和論證(2)3.3 時鐘芯片的選擇方案和論證(3)3.4 溫度傳感器的選擇方案與論證(3)3.5 鍵盤電路的選擇方案與論證(3)3.6 電路設(shè)計最終方案決定(4)4 系統(tǒng)總體結(jié)構(gòu)框圖(4)5 系統(tǒng)硬件的設(shè)計(4)5.1 系統(tǒng)硬件概述(5)5.2 主控芯片at89s52(5)5.2.1 at89s52單片機引腳功能(6)5.2.2 at89s52單片機硬件結(jié)構(gòu)的特點(7)5.2.3 at89s52單片機的硬件原理(8)5.3 時鐘電路ds1302(10)5.3.1 ds1302芯片介紹(10)5.3.2 ds1302 的應(yīng)用(13)5.4 溫度采集電路ds18b02(14)5.4.1 ds18b20的主要特性(14)5.4.2 ds18b20的電路連接(15)5.5 調(diào)時按鍵設(shè)計(15)5.6 顯示模塊的設(shè)計(16)5.6.1 lcd1602的基本參數(shù)及引腳功能(16)5.6.2 lcd1602的指令說明及時序(18)5.6.3 lcd1602的電路連接(20)6 系統(tǒng)軟件的設(shè)計(20)6.1系統(tǒng)總流程圖的設(shè)計(20)6.2陽歷程序流程圖(21)6.3 時間調(diào)整程序流程圖(22)6.4 ds1302時鐘程序流程圖(23)6.5 溫度顯示程序流程圖(24)6.6 lcd1602顯示程序流程圖(25)7總結(jié)(26)參考文獻(27)致 謝(28) 隴東學院本科生畢業(yè)設(shè)計誠信聲明本人鄭重聲明:所呈交的本科畢業(yè)設(shè)計,是本人在指導老師的指導下,獨立進行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體均已在文中以明確方式標明。本人完全意識到本聲明的法律結(jié)果由本人承擔。作者簽名: 二 o 一 年 月 日 28可調(diào)電子時鐘的設(shè)計楊小林, 雷繼海(隴東學院 電氣工程學院,甘肅 慶陽 745000) 摘 要:電子時鐘是單片機系統(tǒng)的一個應(yīng)用,由硬件和軟件相配合使用。本文是通過對單片機的控制能實現(xiàn)日歷功能電子時鐘的設(shè)計,從而達到學習、了解單片機相關(guān)指令在各方面的應(yīng)用。硬件由主控器、時鐘電路、溫度檢測電路、顯示電路、鍵盤接口電路5個模塊組成。主控模塊用at89c52、時鐘電路用時鐘芯片ds1302、顯示模塊用lcd液晶屏、溫度檢測采用ds18b20溫度傳感器、鍵盤接口電路用普通按鍵完成;軟件利用c語言編程實現(xiàn)單片機的控制功能。單片機通過時鐘芯片ds1302獲取時間數(shù)據(jù),ds18b20采集溫度信號送該給單片機處理,單片機再把時間數(shù)據(jù)和溫度數(shù)據(jù)送給lcd液晶顯示屏顯示陽歷年、月、日、時、秒、星期以及溫度。 關(guān)鍵詞:電子時鐘;單片機;溫度傳感器;lcd液晶顯示 the design of the adjustable electronic clock yang xiao-lin, lei ji-hai (electrical engineering college,longdong university,qingyang 745000,gansu,china) abstract: electronic clock is an application of the single-chip microcomputer system, used by combination of hardware and software. this article is based on single chip microcomputer control can realize the calendar function the design of the electronic clock, so as to learn and understand scm related instruction in all aspects of the application. hardware consists of the host controller, the clock circuit, temperature detection circuit, display circuit, keyboard interface circuit of five modules. master control module with at89c52, punching a time clock chip ds1302 clock circuit, with lcd display module, temperature detection using ds18b20 temperature sensor, keyboard interface circuit using ordinary buttons; software using c language programming to realize single chip microcomputer control function. single-chip computer time data accessed by the clock chip ds1302, ds18b20 collecting temperature signal send mcu processing, the single chip microcomputer to give the time and temperature data to the lcd liquid crystal display shows the gregorian calendar year, month, day, and, second, week and temperature.key words: electronic clock;microcontroller;temperature sensor;lcd liquid crystal display 1 引 言 在日新月異的21世紀里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有微控制器。單片機以其高可靠性、高性價比、低電壓、低功耗等一系列優(yōu)點,近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng)、通訊設(shè)備、日常消費類產(chǎn)品和玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各個方面,如車間流水線控制、自動化系統(tǒng)、智能型家用電器(冰箱、空調(diào)、彩電)等。用單片機來控制的小型家電產(chǎn)品具有便攜實用,操作簡單的特點。其中電子時鐘是一種應(yīng)用非常廣泛的日常計時工具,數(shù)字顯示的電子鐘已經(jīng)越來越流行,特別是適合在家庭居室、辦公室、大廳、會議室、車站和廣場等使用。為此設(shè)計了一種功能全面、計時準確、成本低廉的基于51單片機的數(shù)字時鐘。2 功能要求 電子時鐘可用lcd液晶屏顯示陽歷年、月、日以及星期和時、分、秒。 對日期、時間以及星期有校準功能。 數(shù)字式溫度計要求測溫范圍-2050, lcd液晶屏直讀顯示。3 方案論證與設(shè)計3.1 單片機芯片的選擇方案和論證方案一: 采用89c51芯片作為硬件核心。采用flash rom,內(nèi)部具有4kb rom 存儲空間,能以3v的超低壓工作;而且與mcs-51系列單片機完全兼容,但是運用于電路設(shè)計中時由于不具備isp在線編程技術(shù), 當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二: 采用at89s52。片內(nèi)rom全都采用flash rom;能以3v的超底壓工作。同時也兼容mcs-51指令系統(tǒng),8k可反復(fù)擦寫isp flash rom;同樣具有89c51的功能,且具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用at89s52作為主控制系統(tǒng)。3.2 顯示模塊選擇方案和論證方案一: 采用led數(shù)碼管顯示。led數(shù)碼管價格適中,對于顯示數(shù)字較為合適,一個人數(shù)碼管可以顯示一位數(shù)字,但是當要顯示位數(shù)比較多的時候,數(shù)碼管操作起來十分繁瑣;并且當硬件電路設(shè)計好之后,系統(tǒng)顯示能力也基本確定,系統(tǒng)顯示能力的拓展受到限制。所以不用此種作為顯示。方案二: 采用點陣式數(shù)碼管顯示。點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,用于顯示數(shù)字顯得比較浪費,且價格也相對較高,所以在此也不用此種作為顯示。方案三: 采用1602液晶顯示屏。該液晶顯示屏的顯示功能強大,內(nèi)置192種字符,可顯示大量符號、數(shù)字清晰可見,而且功率消耗小壽命長抗干擾能力強。所以在此設(shè)計中采用1602液晶顯示屏。3.3 時鐘芯片的選擇方案和論證方案一: 直接采用單片機定時計數(shù)器提供秒信號。使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是編程任務(wù)繁重,時間誤差較大。所以不采用此方案。方案二: 采用ds1302時鐘芯片實現(xiàn)時鐘。ds1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償?shù)哪赀M行計數(shù),而且精度高,318位的ram做為數(shù)據(jù)暫存區(qū),工作電壓2.5v5.5v范圍內(nèi),2.5v時耗電小于300na。所以本設(shè)計采用ds1302時鐘芯片。3.4 溫度傳感器的選擇方案與論證方案一: 使用熱敏電阻作為傳感器。用熱敏電阻與一個相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行a/d轉(zhuǎn)換。此設(shè)計方案需用a/d轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二: 與前面相比,采用美國dallas半導體公司繼ds1820之后推出的一種改進型智能溫度傳感器ds18b20作為檢測元件,測溫范圍為-55125,最大分辨率可達0.0625。ds18b20可以直接讀出被測溫度值,而且采用3線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。因此本設(shè)計選用ds18b20溫度傳感器。3.5 鍵盤電路的選擇方案與論證 在對日期和時間進行調(diào)節(jié)校準過程中,系統(tǒng)需要檢測高低電平,因此需要用按鍵。方案一: 使用獨立式鍵盤。獨立式鍵盤是指直接用i/o口線構(gòu)成的單個按鍵電路。獨立式按鍵電路配置靈活,軟件編程簡單。方案二: 使用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列交叉點上,行線、列線分別連接到按鍵開關(guān)的兩端,其特點是簡單且不增加成本,這種按鍵適合按鍵數(shù)較多的場合。 根據(jù)以上的論述,因本系統(tǒng)需要的按鍵不多,要求簡單。因此采用方案一,選用獨立式鍵盤。3.6 電路設(shè)計最終方案決定 綜上各方案所述,對此設(shè)計品的方案選定:采用stc89c52作為主控制芯片,ds1302時鐘芯片計時,ds18b20采集溫度,獨立式鍵盤用于校準,lcd1602作為顯示模塊。4 系統(tǒng)總體結(jié)構(gòu)框圖 按照系統(tǒng)設(shè)計功能的要求,初步確定設(shè)計系統(tǒng)由主控模塊、時鐘模塊、鍵盤接口模塊、顯示模塊和溫度采集模塊共5個模塊組成,電路系統(tǒng)構(gòu)成框圖如圖4-1所示。 at89s52 主控制模塊鍵盤模塊lcd液晶顯示模塊溫度采集模塊ds1302時鐘模塊 圖4-1系統(tǒng)結(jié)構(gòu)框圖 在本設(shè)計中,以按鍵作為輸入裝置,lcd液晶顯示屏作為顯示裝置,各按鍵的功能為:s1鍵:p3.2口 設(shè)置鍵 s2鍵:p3.3口 上調(diào)鍵 s3健:p3.4口 下調(diào)鍵5 系統(tǒng)硬件的設(shè)計5.1 系統(tǒng)硬件概述 本電路是以at89s52單片機為控制核心,該芯片具有在線編程功能,功耗低,能在3.3v的超低壓下工作。時鐘芯片使用美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘芯片ds1302,ds1302作為主要計時芯片,具有使用壽命長,精度高和功耗低等特點,同時具有掉電自動保存功能,可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,其工作電壓為2.5v5.5v;溫度檢測模塊由ds18b20構(gòu)成,它采用獨特的單線接口僅需一個端口引腳進行通訊,具有測量精度高、測量范圍廣等優(yōu)點,其測溫范圍在-55+125,工作電壓為3v5.5v;顯示部份使用lcd1602液晶顯示屏來實現(xiàn),該顯示屏具有低功耗、壽命長、可靠性高的特點,其工作電壓為5v。5.2 主控芯片at89s52 at89s52 是一種低功耗、高性能cmos 8位微控制器,具有8k在系統(tǒng)可編程存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash ,使得at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標準功能:8k字節(jié)flash,256字節(jié)ram,32位i/o 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52可降至0hz靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram 、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。圖5-1 at89s52的引腳5.2.1 at89s52單片機引腳功能 p0口:p0口是一個8位漏極開路的雙向i/o 口。作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。 p1口:p1口是一個具有內(nèi)部上拉電阻的8位雙向i/o 口,p1 輸出緩沖器能驅(qū)動4個ttl 邏輯電平。對p1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0 和p1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(p1.0/t2)和時器/計數(shù)器2的觸發(fā)輸入(p1.1/t2ex),在flash編程和校驗時,p1口接收低8位地址字節(jié)。 p2口:p2口是一個具有內(nèi)部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅(qū)動4個ttl 邏輯電平。對p2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr)時,p2口送出高八位地址。在這種應(yīng)用中,p2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri )訪問外部數(shù)據(jù)存儲器時,p2口輸出p2鎖存器的內(nèi)容。 p3口:p3口是一個具有內(nèi)部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅(qū)動4個ttl 邏輯電平。對p3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。 rst:復(fù)位輸入。晶振工作時,rst腳持續(xù)2個機器周期高電平將使單片機復(fù)位6??撮T狗計時完成后,rst腳輸出96個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto 位可以使此功能無效。disrto 默認狀態(tài)下,復(fù)位高電平有效。 ale/prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ale脈沖將會跳過。如果需要,通過將地址為8eh的sfr的第0 位置“1”,ale操作將無效。這一位置“1”,ale僅在執(zhí)行movx或movc指令時有效。 psen:外部程序存儲器選通信號(psen)是外部程序存儲器選通信號。當at89s52從外部程序存儲器執(zhí)行外部代碼時,psen在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,psen將不被激活。 ea/vpp:訪問外部程序存儲器控制信號。為使能從0000h 到ffffh 的外部程序存儲器讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea 應(yīng)該接vcc。在flash編程期間,ea 也接收12伏vpp電壓。5.2.2 at89s52單片機硬件結(jié)構(gòu)的特點 mcs-51單片機硬件結(jié)構(gòu)有如下一些主要特點: 內(nèi)部程序存儲器(rom)和內(nèi)部數(shù)據(jù)存儲器(ram)容量 cs-51單片機的內(nèi)部rom和內(nèi)部ram的容量如表5-1所示:表5-1 mcs-51單片機存儲器容量存儲器類型單片機類型掩模romepromrammcs-5151子系列8031/128b80514kb/128b8751/4kb128b52子系列8032/256b80528kb/256b 輸入/輸出(i/o)口 mcs-51單片機內(nèi)的i/o口的數(shù)量和種類較多且齊全,尤其是它有一個全雙工的串行口。該串口是利用兩根i/o口線構(gòu)成的,有四種工作方式,可通過編程選定,mcs-51有32根i/o口線,而mcs-48只有27根。 外部程序存儲器和外部數(shù)據(jù)存儲器尋址空間 mcs-51可對64kb的外部數(shù)據(jù)存儲器尋址且不受該系列中各種芯片型號的影響,而對程序存儲器是內(nèi)外總空間為64kb,根據(jù)不同的芯片型號,mcs-51外部程序存儲器最大尋址范圍為64kb。 中斷與堆棧 mcs-51有5個中斷源(對8032/8052為6個),分為2個優(yōu)先級,每個中斷源的優(yōu)先級是可編程的。它的堆棧位置也是可編程的,堆棧深度可達128字節(jié)。而mcs-48只有不分優(yōu)先級的2個中斷源,且堆棧設(shè)置在片內(nèi)ram的16個字節(jié)的固定單元內(nèi)。 定時/計數(shù)器與寄存器區(qū) mcs-51子系列有2個16位定時/計數(shù)器,通過編程可以實現(xiàn)四種工作模式。mcs-52子系列則有3個16位定時/計數(shù)器,而mcs-48只有一個8位定時/計數(shù)器;mcs-51在內(nèi)部ram中開設(shè)了四個通用工作寄存器區(qū),共32個通用寄存器,以適應(yīng)多種中斷或子程序嵌套的要求。而mcs-48的內(nèi)部ram中只有兩個通用工作寄存器區(qū),每個寄存器區(qū)包含8個8位寄存器。5.2.3 at89s52單片機的硬件原理 如圖5-2所示,圖為單片機的基本外圍電路。20管腳接地,40管腳接+5v電源,為單片機工作提供電源。18及19管腳接晶振,為單片機提供時鐘信號,晶振為11.0592mhz。晶振的振蕩頻率越高,系統(tǒng)的時鐘頻率越高,單片機工作的速度也越高。對于液晶顯示電路的設(shè)計,需要單片機有較高的工作效率,所以選擇比較高頻率的晶振,從而提高液晶屏幕的刷新速率,獲得更加連貫、流暢的圖像顯示。根據(jù)需要還可以加上復(fù)位電路,復(fù)位是單片機的初始化操作?;蛘弋攩纹瑱C程序運行出錯導致死鎖狀態(tài)的時候,為擺脫困境,也需要按復(fù)位鍵以重新啟。 圖5-2 at89s52單片機基本外圍電路單片機最小系統(tǒng)復(fù)位、晶振電路簡介:1、復(fù)位電路的設(shè)計 復(fù)位電路是使單片機的cpu或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開始工作。(1)單片機常見的復(fù)位電路 通常單片機復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路6。上電復(fù)位電路:上電復(fù)位是單片機上電時復(fù)位操作,保證單片機上電后立即進入規(guī)定的復(fù)位狀態(tài)。它利用的是電容充電的原理來實現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時它的操作比上電復(fù)位電路的操作要簡單的多。如果要實現(xiàn)復(fù)位的話,只要按下reset鍵即可。在此設(shè)計中,采用的按鍵復(fù)位電路。按鍵復(fù)位電路如圖5-3所示。 圖5-3復(fù)位電路(2)復(fù)位電路工作原理 上電復(fù)位要求接通電源后,單片機自動實現(xiàn)復(fù)位操作。上電瞬間reset引腳獲得高電平,隨著電容的充電,rerst引腳的高電平將逐漸下降,rerst引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復(fù)位操作。上電與按鍵均有效的復(fù)位電路不僅在上電時可以自動復(fù)位,而且在單片機運行期間,利用按鍵也可以完成復(fù)位操作6。2、晶振電路的設(shè)計 晶振電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴格地工作。 通常在引腳xtall和xtal2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,如圖5-4所示。可以根據(jù)情況選擇6mhz、12mhz或24mhz等頻率的石英晶體,補償電容通常選擇30pf左右的瓷片電容。 圖5-4 時鐘振蕩電路5.3 時鐘電路ds13025.3.1 ds1302芯片介紹 低功耗時鐘芯片ds1302可以對年、月、日、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。ds1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析以及對異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。 采用ds1302作為記錄測控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計簡單,時間記錄準確,既避免了連續(xù)記錄的大工作量,又避免了定時記錄的盲目性,給連續(xù)長時間的測量、控制系統(tǒng)的正常運行及檢查帶來了很大的方便,可廣泛應(yīng)用于長時間連續(xù)的測控系統(tǒng)中。在測量控制系統(tǒng)中,特別是長時間無人職守的測控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時間。記錄及分析這些特殊意義的數(shù)據(jù),對測控系統(tǒng)的性能分析及正常運行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此只能記錄數(shù)據(jù)而無法準確記錄其出現(xiàn)的時間;若采用單片機計時,一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費單片機的資源,而且某些測控系統(tǒng)可能不允許。而在系統(tǒng)中采用ds1302則能很好地解決這個問題。(1) ds1302的性能特性 實時時鐘,可對秒、分、時、日、周、月以及帶閏年補償?shù)哪赀M行計數(shù); 用于高速數(shù)據(jù)暫存的318位ram; 最少引腳的串行i/o; 2.55.5v電壓工作范圍; 2.5v時耗電小于300na; 用于時鐘或ram數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式; 簡單的3線接口; 可選的慢速充電(至vcc1)的能力。 ds1302時鐘芯片包括實時時鐘/日歷和31字節(jié)的靜態(tài)ram,它經(jīng)過一個簡單的串行接口與微處理器通信,實時時鐘/日歷提供秒、分、時、日、周、月和年等信息。對于小于31天的月和月末的日期自動進行調(diào)整,還包括閏年校正的功能。時鐘的運行可以采用24h或帶am(上午)/pm(下午)的12h格式。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302有主電源/后備電源雙電源引腳:vcc1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;vcc2在雙電源系統(tǒng)中提供主電源,在這種運用方式中,vcc1 連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。ds1302由vcc1或vcc2中較大者供電。當vcc2大于vcc1+0.2v時,vcc2給ds1302供電;當vcc2小于vcc1時,ds1302由vcc1供電。(2) ds1302數(shù)據(jù)操作原理 ds1302在任何數(shù)據(jù)傳送時必須先初始化,把rst腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在sclk的上升沿串行輸入,前8位指定訪問地址,把命令字節(jié)裝入移位寄存器之后,在之后的時鐘周期,在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8加8(8位地址加8位數(shù)據(jù));在多字節(jié)方式下為8加字節(jié)數(shù),最大可達248字節(jié)數(shù)。 圖5-5 ds1302管腳圖 如果在傳送過程中置rst為低電平,則會終止本次數(shù)據(jù)傳送,并且i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.5v之前,rst腳必須保持低電平。只有在sclk為低電平時,才能將rst置為高電平。ds1302的管腳圖如圖5-5所示,表5-2為各引腳的功能。表5-2 ds1302引腳功能表引腳號引腳名稱功能1vcc2主電源2,3x1,x2振蕩源,外接32768hz晶振4gnd地線5rst復(fù)位/片選線6i/o串行數(shù)據(jù)輸入/輸出端(雙向)7sclk串行數(shù)據(jù)輸入端8vcc1后備電源 ds1302的控制字如表5-3所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到ds1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù);為1表示存取ram數(shù)據(jù)。位51(a4a0)指示操作單元的地址。最低有效位(位0)如為0,表示要進行寫操作;為1表示進行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。7 6 5 4 3 2 1 01ram cka4a3a2a1a0ram k 表5-3 控制字節(jié)的含義 控制字總是從最低位開始輸出。在控制字指令輸入后的下一個sclk時鐘的上升沿時,數(shù)據(jù)被寫入ds1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個sclk脈沖的下降沿,讀出ds1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最到位。數(shù)據(jù)讀寫時序如圖5-6、5-7所示。 圖5-6單字節(jié)讀時序 圖5-7單字節(jié)寫時序 ds1302內(nèi)部共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為bcd碼形式,其日歷、時間寄存器及其控制字見表5-4,其中奇數(shù)為讀操作,偶數(shù)為寫操作。表5-4 ds1302的日歷、時鐘寄存器及其控制字寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作76543210秒寄存器80h81h00-59ch10secsec分鐘寄存器82h83h00-59010minmin小時寄存器84h85h12或00-2312/24010aphrhr日期寄存器86h87h01-28,29,30,310010datedate月份寄存器88h89h01-12000iommonth周日寄存器8ah8bh01-0700000day年份寄存器8ch8dh00-9910yearyear 時鐘暫停:秒寄存器的位7定義位時鐘暫停位。當它為1時,ds1302停止振蕩,進入低功耗的備份方式。通常在對ds1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動。 am-pm/12-24小時方式:小時寄存器的位7定義為12或24小時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5是am/pm位,此位是高電平時表示pm,低電平表示am,在24小時方式下,位5為第二個10小時位(2023h)。5.3.2 ds1302 的應(yīng)用 實時時鐘芯片ds1302采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768hz晶振。要特別說明的是,備用電源bt可以用電池或超級電容(10萬f以上)。雖然ds1302在主電源掉電后耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。如果斷電時間較短(幾小時或幾天),可以用漏電較小的普通電解電容代替(100f就可以保證1小時的正常走時)。ds1302在第一次加電后,需進行初始化操作。初始化后就可以按正常方法調(diào)整時間。ds1302的時鐘電路如圖5-8所示。 圖5-8 ds1302時鐘電路5.4 溫度采集電路ds18b02 數(shù)字溫度傳感器ds18b20是由dalles半導體公司生產(chǎn)的,它具有耐磨耐碰,體積小,使用方便,封裝形式多樣(如圖5-9),適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。 圖5-9 ds18b20的兩種封裝5.4.1 ds18b20的主要特性 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電12。 獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊12。 ds18b20支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫12。 ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)12。 溫范圍55125,在-10+85時精度為0.512。 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫12。 在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快12。 測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給cpu,同時可傳送crc校驗碼,具有極強的抗干擾糾錯能力12。 負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作12。5.4.2 ds18b20的電路連接 ds18b20的供電方式有兩種:寄生電源供電方式和外部電源供電方式。本設(shè)計采用外部電源供電方式(如圖5-10),ds18b20工作電源由vcc引腳接入,此時i/o線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度。外部電源供電方式是ds18b20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。 圖5-10 ds18b20引腳接線 引腳說明:gnd為接地引腳;dq為數(shù)據(jù)輸入輸出腳。用于單線操作,漏極開路;vcc接電源正。 5.5 調(diào)時按鍵設(shè)計 實現(xiàn)鍵盤控制的方法有多種,它可以用fpga來進行控制,也可以用單片機來進行控制。在本系統(tǒng)中,我們采用了單片機來進行控制,因為單片機可以很好的解決鍵抖動。 由若干個按鍵組成一個鍵盤,其電路結(jié)構(gòu)可分為獨立式鍵盤和矩陣式鍵盤兩種。 獨立式鍵盤每個鍵單獨占用一根i/o口線,每根i/o口線上的按鍵工作狀態(tài)不會影響其他i/o口線上的狀態(tài),矩陣式鍵盤按鍵排列為行列式矩陣結(jié)構(gòu),也稱行列式鍵盤結(jié)構(gòu)。4行4列共16個鍵,只占用8根i/o口線,鍵數(shù)目較多,可節(jié)省口線。本設(shè)計采用的是獨立式鍵盤。鍵盤的工作方式可分為編程控制方式和中斷控制方式。cpu在一個工作周期內(nèi),利用完成其他任務(wù)的空余時間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進而判斷是哪個鍵,并執(zhí)行相應(yīng)的鍵處理程序。這種方式為編程掃描方式。由于單片機在正常應(yīng)用過程中,可能會經(jīng)常進行鍵操作,因而編程控制方式使cpu經(jīng)常處于工作狀態(tài), 在進行本次設(shè)計中,只涉及到了設(shè)置、上調(diào)、下調(diào)三個功能。因此采用獨立式鍵盤。如圖5-11所示。 圖5-11 按鍵設(shè)計5.6 顯示模塊的設(shè)計 在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通用器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發(fā)光管、led數(shù)碼管、液晶顯示器。發(fā)光管和led數(shù)碼管比較常用,軟硬件都比較簡單,在前面章節(jié)已經(jīng)介紹過,在此不作介紹,本章重點介紹字符型液晶顯示器的應(yīng)用。 在單片機系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個優(yōu)點: 顯示質(zhì)量高。由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。 數(shù)字式接口。液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。 體積小、重量輕。液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。 功耗低。相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動ic上,因而耗電量比其它顯示器要少得多。5.6.1 lcd1602的基本參數(shù)及引腳功能 lcd1602分為帶背光和不帶背光兩種,基控制器大部分為hd44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如下圖5-12所示:圖5-12 1602lcd尺寸圖lcd1602主要技術(shù)參數(shù):顯示容量:162個字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.954.35(wh)mm引腳功能說明: lcd1602采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表5-5所示:表5-5引腳接口說明表 編號 符號 引腳說明 編號 符號 引腳說明 1 vss電源地 9 d2數(shù)據(jù) 2 vdd電源正極 10 d3數(shù)據(jù) 3 vl液晶顯示偏壓 11 d4數(shù)據(jù) 4 rs數(shù)據(jù)/命令選擇 12 d5數(shù)據(jù) 5 r/w讀/寫選擇 13 d6數(shù)據(jù) 6 e使能信號 14 d7數(shù)據(jù) 7 d0數(shù)據(jù) 15 bla背光源正極 8 d1數(shù)據(jù) 16 blk背光源負極 第1腳:vss為地電源。 第2腳:vdd接5v正電源。 第3腳:vl為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10k的電位器調(diào)整對比度。 第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:r/w為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當rs和r/w共同為低電平時可以寫入指令或者顯示地址,當rs為低電平r/w為高電平時可以讀忙信號,當rs為高電平r/w為低電平時可以寫入數(shù)據(jù)。 第6腳:e端為使能端,當e端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第714腳:d0d7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負極。5.6.2 lcd1602的指令說明及時序 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表5-6所示: 表5-6:控制命令表序號 指令rsr/wd7d6d5d4d3d2d1d01 清顯示00000000012光標返回000000001*3置輸入模式00000001i/ds4顯示開/關(guān)控制0000001dcb5光標或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01bf計數(shù)器地址10寫數(shù)到cgram或ddram)10要寫的數(shù)據(jù)內(nèi)容11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01h,光標復(fù)位到地址00h位置。 指令2:光標復(fù)位,光標返回到地址00h。 指令3:光標和顯示模式設(shè)置 i/d:光標移動方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 c:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 b:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位 s/c:高電平時移動顯示的文字,低電平時移動光標。 指令6:功能設(shè)置命令 dl:高電平時為4位總線,低電平時為8位總線 n:低電平時為單行顯示,高電平時雙行顯示 f:低電平時顯示57的點陣字符,高電平時顯示5x10的點陣字符。 指令7:字符發(fā)生器ram地址設(shè)置。 指令8:ddram地址設(shè)置。 指令9:讀忙信號和光標地址 bf:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。 指令11:讀數(shù)據(jù)。 讀寫操作時序如圖5-13和5-14所示:圖5-13 讀操作時序圖5-14 寫操作時序5.6.3 lcd1602的電路連接 將lcd1602的rs端和p2.4,r/w端和p2.5,e 端和p2.6相連,當rs=0時,對lcd1602寫入指令;當rs=1時,對lcd1602寫入數(shù)據(jù)。當r/w端接高電平時芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),e端為使能信號端。當r/w為高電平,,e端也為高電平,rs為低電平時,液晶顯示屏顯示需要顯示的示數(shù)。圖5-15為lcd1602液晶顯示屏與單片機的硬件連接圖。 圖5-15 lcd液晶與單片機硬件連線圖6 系統(tǒng)軟件的設(shè)計6.1系統(tǒng)總流程圖的設(shè)計系統(tǒng)總流程圖如圖6-1所示。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開始運行,當有設(shè)置鍵按下時進入修改時間模式,無按鍵按下時讀取時間、溫度等數(shù)據(jù)送入液晶屏顯示;在修改時間模式下設(shè)置時間完成后再送數(shù)據(jù)到液晶屏顯示。 開始系統(tǒng)初始化n設(shè)置鍵是否按下? y 讀時間 進入修改時間模式 讀溫度設(shè)置時間n 設(shè)置完成? y 顯示 圖6-1系統(tǒng)總流程圖6.2陽歷程序流程圖 因為使用了時鐘芯片ds1302,陽歷程序只需從ds1302各寄存器中讀出年、周、月、日、時、分、秒等數(shù)據(jù),再處理即可。在首次對ds1302進行操作之前,必須對它進行初始化,然后從ds1302中讀出數(shù)據(jù),再經(jīng)過處理后,送給顯示緩沖單元。陽歷程序流程圖見圖6-2所示。 開始初始化ds13021302開始振蕩從1302中讀出年、周、月、日、小時、分、秒將bcd碼高低位分離,送顯示緩沖單元 圖6-2 陽歷程序流程圖6.3 時間調(diào)整程序流程圖 調(diào)整時間用3個調(diào)整按鈕,1個作為移位、控制用,2個作為加和減用,分別定義為控制按鈕、加按鈕和減按鈕。在調(diào)整時間過程中,要調(diào)整的位與別的位應(yīng)該有區(qū)別。所以增加了光標閃爍功能,即調(diào)整位的光標一直在閃爍,直到調(diào)整下一位。時間調(diào)整程序流程圖如圖6-3所示。控制鍵有效,進入分調(diào)整程序等待按鍵程序加鍵有效分加1控制鍵有效,進入時調(diào)整程序控制鍵有效,進入星期調(diào)整成程序控制鍵有效,進入日調(diào)整程序控制鍵有效,進入月調(diào)整程序控制鍵有效,進入年調(diào)整程序等待按鍵程序加鍵有效時加1等待按鍵程序加鍵有效星期加1等待按鍵程序加鍵有效日加1等待按鍵程序加鍵有效月加1等待按鍵程序加鍵有效年加1控制鍵有效,跳出時間調(diào)整程序,進入主循環(huán)程序 圖6-3 時間調(diào)整程序流程圖6.4 ds1302時鐘程序流程圖 時鐘流程圖如圖6-4所示。流程圖分析:ds1302開始計時時,首先進行初始化,當有中斷信號時,讀取時鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時若有設(shè)置鍵按下時,進行時間修改,完成后將數(shù)據(jù)送入時鐘芯片;若沒有按鍵按下,則直接存入eprom,送入液晶屏顯示。 開始 送eprom是否修改當前時間?設(shè)置鍵是 否按下?讀時鐘芯片送顯示 開中斷 初始化ynn送時鐘芯片n 圖6-4 時鐘流程圖 6.5 溫度顯示程序流程圖 溫度讀取流程圖如圖6-5所示。流程圖分析:開始進入初始化ds18b20,就是通過主機拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,即發(fā)起rom命令當成功的執(zhí)行操作命令后,就使用convert t命令即開始溫度轉(zhuǎn)換,當轉(zhuǎn)換

溫馨提示

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

評論

0/150

提交評論