車載可測溫式電子萬年歷論文_第1頁
車載可測溫式電子萬年歷論文_第2頁
車載可測溫式電子萬年歷論文_第3頁
車載可測溫式電子萬年歷論文_第4頁
車載可測溫式電子萬年歷論文_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東北林業(yè)大學畢業(yè)論文-PAGE 2. z- - - .總結(jié)資料東北林業(yè)大學畢業(yè)論文-PAGE 2. z畢 業(yè) 論 文論文題目:車載可測溫式電子萬年歷-PAGE . zChengdong College of NortheastAgricultural UniversityThesisThesis topic:The Vehicle Carries Temperature Measurement Type Electron Ten Thousand CalendarsStudent name:Tutor name:Specialty:ElectronicAnd Information Engin

2、eeringJune 2021-. z-PAGE . z車載可測溫式電子萬年歷摘 要隨著電子技術(shù)的迅速開展,特別是隨著大規(guī)模集成電路的出現(xiàn),給人類生活帶來了根本性的改變。尤其是單片機技術(shù)的應用產(chǎn)品已經(jīng)走進了千家萬戶,如電子萬年歷的出現(xiàn)給人們的生活帶來了諸多方便。本文描述了系統(tǒng)硬件工作原理,并附以系統(tǒng)構(gòu)造框圖加以說明,著重介紹了本系統(tǒng)所應用的各硬件及其接口技術(shù)和各硬件模塊的功能及工作過程;其次,詳細闡述了程序的各個模塊和實現(xiàn)過程。本設計以數(shù)字集成電路技術(shù)為根底,單片機技術(shù)為核心。編寫的主導思想軟硬件相結(jié)合,以硬件為根底,來進展各功能模塊的編寫。本系統(tǒng)為了便于擴展和更改,軟件的設計采用模塊化構(gòu)造,

3、使程序設計的邏輯關(guān)系更加簡潔明了。系統(tǒng)通過傳感器采集溫度。用四個數(shù)碼管顯示數(shù)據(jù),可以顯示時間和溫度,也可以通過按鍵調(diào)整時間。關(guān)鍵詞:電子萬年歷;單片機;時鐘芯片;溫度傳感器;數(shù)碼管顯示The Vehicle CarriesTemperature Measurement Type Electron Ten Thousand CalendarsAbstractAlong with electronic technologys rapidly e*pand, specially along with large scale integrated circuits appearance, lived

4、for the humanity has brought the fundamental change. Especially the monolithic integrated circuit technologys application product already entered everyone, if the electronic ten thousand calendars appearances have brought conveniently many for peoples life.This article described the system hardware

5、principle of work, and attaches by the system structure diagram e*plained that introduced emphatically this system applies various hardware and connection technology and various hardware module function and work process; Ne*t, elaborated in detail procedure each module and realizes the process. This

6、 design take the digital integrated circuit technology as the foundation, the monolithic integrated circuit technology is a core. The pilation guiding ideology software and hardware unifies, take the hardware as the foundation, carries on various functional module the pilation.This system for ease o

7、f the e*pansion and the change, softwares design uses the modular structure, causes the programming the logical relation even more simple and brief. System through two group of ni*ietube demonstration data. May the tell time and the week, after pressing down cuts the key, may the show date.Key word:

8、Electronic ten thousand calendars; Monolithic integrated circuit; Clock chip; Temperature sensor ;Ni*ietube demonstration目錄 TOC o 1-4 h z u HYPERLINK l _Toc232917676摘要 PAGEREF _Toc232917676 h IHYPERLINK l _Toc232917677Abstract PAGEREF _Toc232917677 h IIHYPERLINK l _Toc232917678前言 PAGEREF _Toc2329176

9、78 h HYPERLINK l _Toc2329176791 方案選擇 PAGEREF _Toc232917679 h HYPERLINK l _Toc2329176801.1 整機設計方案選擇 PAGEREF _Toc232917680 h HYPERLINK l _Toc2329176811.2 單片機芯片的選擇 PAGEREF _Toc232917681 h HYPERLINK l _Toc2329176821.3 時鐘芯片的選擇 PAGEREF _Toc232917682 h HYPERLINK l _Toc2329176831.4 溫度傳感器的選擇 PAGEREF _Toc2329

10、17683 h HYPERLINK l _Toc2329176842 硬件設計 PAGEREF _Toc232917684 h HYPERLINK l _Toc2329176852.1 電路組成框圖 PAGEREF _Toc232917685 h HYPERLINK l _Toc2329176862.2 系統(tǒng)硬件概述及整機工作原理 PAGEREF _Toc232917686 h HYPERLINK l _Toc2329176872.3 各芯片介紹 PAGEREF _Toc232917687 h HYPERLINK l _Toc2329176882.3.1 AT89S51單片機 PAGEREF

11、_Toc232917688 h HYPERLINK l _Toc2329176892.3.2 DS12887時鐘芯片 PAGEREF _Toc232917689 h HYPERLINK l _Toc2329176902.3.2.1 DS12887主要功能簡介 PAGEREF _Toc232917690 h HYPERLINK l _Toc2329176912.3.2.2 DS12887引腳說明 PAGEREF _Toc232917691 h HYPERLINK l _Toc2329176922.3.2.3 時間,日歷和定鬧單元 PAGEREF _Toc232917692 h HYPERLINK

12、 l _Toc2329176932.3.2.4 DS12887的控制存放器 PAGEREF _Toc232917693 h HYPERLINK l _Toc2329176942.3.3 DS18B20溫度傳感器 PAGEREF _Toc232917694 h HYPERLINK l _Toc2329176952.4 數(shù)碼管顯示電路設計 PAGEREF _Toc232917695 h HYPERLINK l _Toc2329176962.4.1 顯示模塊的選擇與方案論證 PAGEREF _Toc232917696 h HYPERLINK l _Toc2329176972.4.2 LED顯示器工作

13、原理 PAGEREF _Toc232917697 h HYPERLINK l _Toc2329176983 系統(tǒng)軟件設計 PAGEREF _Toc232917698 h HYPERLINK l _Toc2329176993.1 系統(tǒng)功能模塊及主程序流程圖 PAGEREF _Toc232917699 h HYPERLINK l _Toc2329177003.2 DS12887初始化程序設計 PAGEREF _Toc232917700 h HYPERLINK l _Toc2329177013.3 顯示子程序設計 PAGEREF _Toc232917701 h HYPERLINK l _Toc232

14、9177023.4 時間調(diào)整程序設計 PAGEREF _Toc232917702 h HYPERLINK l _Toc2329177033.5 溫度采集程序設計 PAGEREF _Toc232917703 h HYPERLINK l _Toc2329177043.5.1 DS18B20的初始化 PAGEREF _Toc232917704 h HYPERLINK l _Toc2329177053.5.2 DS18B20的寫操作 PAGEREF _Toc232917705 h HYPERLINK l _Toc2329177063.5.3 DS18B20的讀操作 PAGEREF _Toc232917

15、706 h HYPERLINK l _Toc2329177073.6 溫度值與時間的顯示 PAGEREF _Toc232917707 h HYPERLINK l _Toc2329177084 電路安裝與調(diào)試 PAGEREF _Toc232917708 h HYPERLINK l _Toc2329177094.1 電路安裝 PAGEREF _Toc232917709 h HYPERLINK l _Toc2329177104.2 電路調(diào)試 PAGEREF _Toc232917710 h HYPERLINK l _Toc2329177114.2.1 硬件調(diào)試 PAGEREF _Toc23291771

16、1 h HYPERLINK l _Toc2329177124.2.2 軟件調(diào)試 PAGEREF _Toc232917712 h HYPERLINK l _Toc2329177134.2.3 綜合調(diào)試 PAGEREF _Toc232917713 h HYPERLINK l _Toc2329177145 結(jié)論 PAGEREF _Toc232917714 h HYPERLINK l _Toc232917715參考文獻 PAGEREF _Toc232917715 h HYPERLINK l _Toc232917716致 PAGEREF _Toc232917716 h -. z前 言隨著人們生活水平的提

17、高,家庭中的時鐘也在悄悄地發(fā)生變化。早期的機械式小型時鐘大局部被現(xiàn)代的電子時鐘所代替。大大小小的時鐘在人們的生活中發(fā)揮著重要的作用。在清朝的時候,出現(xiàn)了第一批時鐘,是從外國引進的。它是一種掛在脖子上的懷表,表盤是圓形,帶一個蓋子,翻開它就可以看時間。表盤上有一個環(huán),環(huán)中有一條鏈子,就是通過它掛在脖子上,而且表的樣式也只有這一種。盡管這樣,也是只有皇親國戚、鄉(xiāng)紳官吏和留過洋的人才能擁有??梢哉f在那時它可是一個罕見的寶貝,所以,它的價值可想而知,普通人是很難擁有的。那時的老百姓只有靠看日頭來估算時間。接著,我們不斷的從外國引進他們先進的技術(shù),所以,時鐘的生產(chǎn)和樣式也有了許多的提高,市場上涌現(xiàn)了許多

18、各式各樣的時鐘。這些時鐘,不僅質(zhì)量和款式不同,還有了各種品牌。從質(zhì)量上分,有機械的,石英的等等。從款式上分,有男式的和女式的。不過有一點一樣,它們大多是帶在手腕上的。與清朝時比,已經(jīng)有了很大的進步。慢慢地,隨著科學的進步,技術(shù)水平的提高,到現(xiàn)在,時鐘可以說是樣式繁多,款式新穎。不提它的質(zhì)量,僅僅它的款式就可以讓消費者眼花繚亂,難以選擇?,F(xiàn)在的時鐘,不僅分男女樣式,還出現(xiàn)了情侶表。生產(chǎn)者還為盲人著想,專門生產(chǎn)了盲人使用的手表。為了追求時尚,還出現(xiàn)了還出現(xiàn)了許多項鏈式的手表、手鏈式的手表、戒指式的手表等等。為了家居擺設,出現(xiàn)了立式的和掛式的等。還有,就是為了提醒我們不忘記*些事,而生產(chǎn)了鬧鐘等。將

19、來隨著時鐘的開展,它將給人們帶來更大的方便。隨著科學技術(shù)的飛速開展,單片機以其卓越的性能,在各個領域中得到了廣泛的應用。一方面向著高速、智能化的巨型機方向開展,另一方面向著嵌入式微型機的方向開展。其中,單片機其性能和容量不斷提高,而價格不斷下降的趨勢,使其在社會各個領域仍至家庭生活中發(fā)揮著越來越大的作用?,F(xiàn)如今在電子系統(tǒng)非常廣泛的應用領域,為使人們用最方便快捷的方式享受生活,設計人員能在更小的空間實現(xiàn)更多功能,從而提高系統(tǒng)可靠性和速度。如銀行公交車酒店等公共場所到處可見的電子萬年歷。讓人們對生活方有了一個更便捷更舒適的感覺,本文為對這種萬年歷設計的介紹和說明。1 方案選擇1.1 整機設計方案選

20、擇本文主要講述的是電子萬年歷的設計與實現(xiàn),此設計實現(xiàn)主要有兩種方案:一是由數(shù)字電路來實現(xiàn);二是由單片機編程控制來實現(xiàn)。選用數(shù)字電路雖然硬件連接簡單不需要軟件編程,但因為數(shù)字電路實現(xiàn)必須要有移位存放器對字符數(shù)據(jù)進展存儲,然后串行輸入到顯示數(shù)碼管上,不但如此,而且需要很大一局部的擴展電路才能實現(xiàn),且設計出的電路的靈活性差、不易調(diào)試、本錢高等缺點,所以不選用此方案。此次設計是基于單片機來實現(xiàn)的。由于單片機具有體積小、重量輕、價格廉價、功耗低、控制功能強及運算速度快等特點,因而在國民經(jīng)濟建立、軍事及家用電器等諸多領域起到了舉足輕重的作用。編程語言采用C語言,由此設計出的電子萬年歷具有操作靈活便攜等諸多

21、優(yōu)點。1.2 單片機芯片的選擇方案一:采用89C51芯片作為硬件核心,采用Flash ROM,部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設計中時由于不具備ISP在線編程技術(shù), 當在對電路進展調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的屢次拔插會對芯片造成一定的損壞。方案二:采用89S51芯片作為硬件核,AT89S51 是一個低功耗,高性能CMOS 8位單片機,片含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的

22、高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳構(gòu)造,芯片集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案,再者因為AT89S51為當今市場上主流產(chǎn)品,其價格也比擬低廉,所以選擇此方案。1.3 時鐘芯片的選擇方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約本錢,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。方案二:采用DS12887時鐘芯片實現(xiàn)時鐘,DS12887芯片是一種高性能的時鐘芯片,可自動對秒、分

23、、時、日、周、月、年以及閏年補償?shù)哪赀M展計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),另外其在沒有外部電源的情況下可工作10年自帶晶體震蕩器及電池。其可以計算到2100年前的秒、分、小時、星期、日期、月、年七種日歷信息。1.4溫度傳感器的選擇方案一:采用AD590為溫度傳感器,AD590雖然有價格低、精度高等優(yōu)點,但是它還需要外圍的模擬轉(zhuǎn)數(shù)字電路,其測溫點數(shù)量也較少,用起來占空間大也比擬麻煩。方案二:采用DS18B20測溫,DS18B20采用單線接口方式,與微處理器連接時僅需要一條線即可實現(xiàn)雙向通訊;其適應電壓圍更寬;支持多點組網(wǎng)測溫;在使用中不需任何外圍元件,全部傳感元件及轉(zhuǎn)換電路都集成在一只

24、如三極管的集成電路;價格也較低;DS18B20缺點是測溫圍比擬小,圍為-55度到+125度,但是用在本設計也 足夠了,所以采用此方案。2硬件設計2.1電路組成框圖該電路主要由時鐘芯片、CPUAT89S51、鍵盤、驅(qū)動電路、溫度采集、顯示電路組成。其中鍵盤調(diào)整可以對顯示的容進展切換及對時間進展調(diào)整。框圖如圖2-1所示:CPU89S51時鐘芯片DS12887顯示電路段驅(qū)動驅(qū)動電路溫度傳感器鍵盤調(diào)整位驅(qū)動圖2-1 電子萬年歷方框圖2.2系統(tǒng)硬件概述及整機工作原理此設計CPU采用低功耗,高性能CMOS 8位單片機AT89S51;時鐘芯片用的是美國達接斯半導體公司Dallas推出的串行接口實時時鐘芯片D

25、S12887,采用CMOS技術(shù)制成,具有部晶振和時鐘芯片備份鋰電池;驅(qū)動電路用的是ULN2003芯片;LED顯示局部用的是四個共陰型數(shù)碼管,顯示采用動態(tài)掃描并行輸出方式。鍵盤有三個分別為位調(diào)整鍵,加調(diào)整鍵,減調(diào)整鍵。整機工作原理是先初始化DS12887時鐘芯片接著CPU從時鐘芯片讀取時間及日期信息又從溫度傳感器采集溫度送驅(qū)動電路進而送LED顯示,其中鍵盤調(diào)整可以對時間進展調(diào)整,對時間進展調(diào)整時其更改值寫入DS12887,再允許DS12887時間更新并讀出時間送顯示,溫度值和時間輪流交替顯示在數(shù)碼管上。電路圖如圖2-2所示。圖2-2 整機電路圖2.3各芯片介紹2.3.1AT89S51單片機AT8

26、9S51是一個低功耗,,高性能CMOS 8位單片機,片含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳構(gòu)造,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。其引腳排列如2-3所示。圖2-3 AT89S51引腳圖AT89S51具有如下特點:40個引腳,128 bytes的隨機存取數(shù)據(jù)存儲器RAM,32個外部雙向輸入/輸出I/O口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器

27、,2個全雙工串行通信口,片時鐘振蕩器。此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停頓芯片其它功能直至外中斷激活或硬件復位。管腳說明:40個引腳按其功能來分,可分為三個局部:電源及時鐘引腳 控制引腳 I/O口引腳1電源及時鐘引腳 電源引腳接入單片機的工作電源。 VCC(40)引腳:接+5V電源。 VSS(20)引腳:接地。 兩個時鐘引腳*TAL0、*TAL1為單片機提供了時鐘控制信號。*TAL018腳:接外部晶體的一個引腳。*TAL119腳:接外部

28、晶體的另一端。2控制引腳RST是復位信號的輸入端,高電平有效。當單片機正常工作時,在此引腳加上持續(xù)時間大于兩個機器周期24個時鐘振蕩周期的高電平時,就可完成復位操作。在單片機正常工作時,復位端應小于或等于0.5V的低電平。PSEN29腳程序存儲器允許輸出控制端。在單片機外部程序存儲器時,此引腳輸出脈沖負跳沿作為外部程序存儲器的選通信號。ALE30腳ALE為地址鎖存允許信號,當單片機上電正常工作后,ALE引腳不斷輸出正脈沖信號。當單片機外部存儲器時,ALE輸出信號的負跳沿用作單片機發(fā)出的低8位地址的鎖存控制信號。即使不外部鎖存器,ALE端仍有正脈沖信號輸出,頻率為時鐘振蕩頻率fOSC的1/6。E

29、A31腳功能為/外程序存儲器選擇控制端。當EA腳為高電平時,單片機片程序存儲器,當EA腳為低電平時,單片機則只外部程序存儲器。所以此次設計,須把單片機的31腳接到高電平。3I/O引腳P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動

30、4 個TTL 邏輯電平。對P1 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流IIL。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P1 口引腳號的第二功能如表2-1所示。表2-1 P1口引腳的第二功能P1.0T2定時器/計數(shù)器T2的外部計數(shù)輸入,時鐘輸出P1.1T2E*定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制P1.5MOSI在系統(tǒng)編程用P1.6MISO在系統(tǒng)編程用P1.7SCK在系統(tǒng)編程用P2 口:P2 口是一個具有部上拉電阻的8 位雙向I/

31、O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流IIL。在外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器例如執(zhí)行MOV* DPTR時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的部上拉發(fā)送1。在使用8位地址如MOV* RI外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的容在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有部上拉電阻的8 位雙向I/O 口,對P3 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為

32、輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流IIL。P3口亦作為AT89S52特殊功能第二功能使用,在flash編程和校驗時,P3口也接收一些控制信號。P3 口引腳號的第二功能如表2-2所示。表2-2 P3 口引腳號的第二功能P3.0R*D串行輸入P3.1T*D串行輸出P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0定時器0外部輸入P3.5T1定時器1外部輸入P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器寫選通) DS12887時鐘芯片圖2-4 DS12887引腳圖DS12887是美國達接斯半導體公司Dallas最新推出的串

33、行接口實時時鐘芯片,采用CMOS技術(shù)制成,具有部晶振和時鐘芯片備份鋰電池,同時它與目前IBM AT計算機常用的時鐘芯片MC146818B和DS1287管腳兼容,可直接替換。DS12887芯片具有微功耗,外圍接口簡單,精度高,工作穩(wěn)定可靠等優(yōu)點,可廣泛用于各種需要較高精度的實時時鐘系統(tǒng)中。.1DS12887主要功能簡介1含一個鋰電池,斷電后運行十年以上不喪失數(shù)據(jù)。2計秒,分,時,天,星期,日,月,年,并有閏年補嘗功能。3二進制數(shù)碼或BCD碼表示時間,日歷和定鬧。412小時或24小時制,12小時時鐘模式帶有PM和AM指示,有夏令時功能。5Motorola和Intel總線時序選擇。6有128個字節(jié)R

34、AM單元與軟件接口,其中14個字節(jié)作為時鐘和控制存放器,114字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護功能。7可編程方波信號輸出。8中斷信號輸出IRQ和總線兼容,定鬧中斷,周期性中斷、時鐘更新周期完畢中斷可分別由軟件屏蔽,也可分別進展測試。.2DS12887引腳說明DS12887部由振蕩電路,分頻電路,周期中斷/方波選擇電路,14字節(jié)時鐘和控制單元,114字節(jié)用戶非易失RAM,十進制/二進制累加器,總線接口電路,電源開關(guān)寫保護單元和部鋰電池等局部組成。上電/掉電:當VCC高于4.25V 200ms后,芯片可以被外部程序操作;當VCC低于4.25V時,芯片 處于寫保護狀態(tài)所有的輸入均無

35、效,同時所有輸出呈高阻狀態(tài);當VCC低于3V時,芯片將自動把供電方式切換為由部電池供電。Vcc:直流電源+5V電壓。當5V電壓在正常圍時,數(shù)據(jù)可讀寫;當Vcc低于4.25V,讀寫被制止,計時功能仍繼續(xù);當Vcc下降到3V以下時,RAM和計時器供電被切換到部鋰電池。MOT模式選擇:MOT引腳接到Vcc時,選擇MOTOROLA時序,當接到GND時,選擇Intel時序。SQW方波信號輸出:SQW引腳能從實時鐘部15級分頻器的13個抽頭中選擇一個作為輸出信號,其輸出頻率可通過對存放器A編程改變。AD0-AD7雙向地址/數(shù)據(jù)復用線:總線接口,可與Motorola微機系列和Intel微機系列接口。AS地址

36、選通輸入:用于實現(xiàn)信號別離,在AD/ALE的下降沿把地址鎖入DS12887。DS數(shù)據(jù)選通或讀輸入:DS/RD引腳有兩種操作模式,取決于MOT引腳的電平,當使用Motorola時序時,DS是一正脈沖,出現(xiàn)在總線周期的后段,稱為數(shù)據(jù)選通;在讀周期,DS指示DS12887驅(qū)動雙向總線的時刻;在寫周期,DS的后沿使DS12887鎖存寫數(shù)據(jù)。選擇Intel時序時,DS稱作RD,RD與典型存貯器的允許信號OE的定義一樣。R/W 讀/寫輸入:R/W引腳也有兩種操作模式。選Motorola時序時,R/W是低電平信號時,指示當前周期是讀或?qū)懼芷?,DS為高電平時,R/W高電平指示讀周期,R/W信號一低電平信號,稱

37、為WR。在此模式下,R/W引腳與通用RAM的寫允許信號WE的含義一樣。CS片選輸入:在DS12887的總線周期,片選信號必須保持為低。IRQ中斷申請輸入:低電平有效,可作微處理的中斷輸入。沒有中斷的條件滿足時,IRQ處于高阻態(tài)。IRQ線是漏極開路輸入,要求外接上接電阻。RESET復位輸出:當該腳保持低電平時間大于200ms,保證DS12887有效復位。另外DS12887的地址由114字節(jié)的用戶RAM存放。10字節(jié)的存放實時時鐘時間,日歷和定鬧RAM及用于控制和狀態(tài)的4字節(jié)特殊存放器組成,幾乎所有的128個字節(jié)直接讀寫。RTC 實時時鐘加RAM向處理器提供三個獨立的,自動的中斷源。定鬧中斷的發(fā)生

38、率可編程,從每秒一次到每天一次,周期性中斷的發(fā)生率可從500ms到122s選擇。更新完畢中斷用于向程序指示一個更新周期完成。中斷控制和狀態(tài)位在存放器B和C中。.3時間,日歷和定鬧單元時間和日歷信息通過讀相應的存字節(jié)來獲取,時間,日歷和定鬧通過寫相應的存字節(jié)設置或初始化,其字節(jié)容可以是二進制或BCD形式。時間可選擇12小時制或24小時制,中選擇12小時制時,小時字節(jié)的高門為邏輯“1代表PM。時間,日歷和定鬧字節(jié)是雙緩沖的,總是可的。每秒鐘這10個字節(jié)走時1 秒,檢查一次定鬧條件,如在更新時,讀時間和日歷可能引起錯誤,三個字節(jié)的定鬧字節(jié)有兩種使用方法。第一種,當定鬧時間寫入相應時,分,秒,定鬧單元

39、,在定允許鬧位置高的條件下,定鬧中斷每天準時起動一次。第二種,在三個定鬧字節(jié)中插入一個或多個不關(guān)心碼。不關(guān)心碼是任意從O0到FF的16進制數(shù)。當小時字節(jié)的不關(guān)心碼位置位時,定鬧每小時發(fā)生一次;同樣,當小時和分鐘定鬧字節(jié)置不關(guān)心位時,每分鐘定鬧一次;當三個字節(jié)都置不關(guān)心位時,每秒中斷一次。.4DS12887的控制存放器DS12887有四個控制存放器,他們可以在任何時候讀寫。1存放器0AH表2-3 存放器0AH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新周期進展標志位,UIP = 1時,芯片正處于或?qū)㈤_場新周期,

40、此期間不允許讀寫時標存放器。DV2DV0:為010時晶振工作,其他組合時晶振停頓。 RS3RS0:中斷周期時間和SQW輸出頻率選擇位。2存放器0BH表2-4 存放器0BH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SETPIEALEUIESQWEDM24/12DSESET:為1時制止更新。為0時正常。 PIE:為1時周期中斷允許。AIE:為1時警報中斷允許。UIE:為1時更新完畢中斷允許。SQWE:為1時方波輸出允許。DM:為0時時間為BCD碼,為1時為二進制。24/12:為1時是24小時進制。為0時是12小時進制。DSE:置0。3存放器0CH表2-5存放器0CH中的

41、位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0IRQFPFAFUF0000IRQF:中斷申請標志。PF:周期中斷標志。AF:警報中斷標志。UF:更新完畢中斷標志。4存放器0DH表2-6存放器0DH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0VRT0000000VRT:為0時表示部鋰電池耗盡。DS18B20溫度傳感器DS18B20的主要特性1適應電壓圍更寬,電壓圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電。2獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。3DS18B20支持多點組網(wǎng)

42、功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。4DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路。5溫圍55125,在-10+85時精度為0.5。6可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。7在9位分辨率時最多在93.75ms把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms把溫度值轉(zhuǎn)換為數(shù)字,速度更快。8測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。9負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但

43、不能正常工作。其引腳圖和功能表如圖2-5所示。圖2-5 DS18B20引腳圖及功能2.4 數(shù)碼管顯示電路設計顯示模塊的選擇與方案論證1采用LED液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字、圖形、顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用LED液晶顯示屏。2采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比擬適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。3采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字最適宜,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。所以采用LED數(shù)碼管作為顯

44、示。LED顯示器工作原理在4位LED顯示器中段選線控制顯示字符的的字型,而位選線為各個LED顯示塊的公共端,它控制該LED顯位的亮、暗。LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種顯示方式。1LED靜態(tài)顯示方式顯示器工作于靜態(tài)顯示方式時,各個的共陰極或共陽極連接在一起并接地或+5V;每位的短選線a-dp分別與一個8位的鎖存器輸出相連。所以稱為靜態(tài)顯示。各個LED的顯示字符一經(jīng)確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。也正因為如此,靜態(tài)顯示器的亮度都比擬高。這種顯示方式接口編程容易,付出的代價是占用口線較多。假設要用I/O口接口,則要占用4個8位I/O口,假設要用鎖存器如74LS373接

45、口,則要用4片74LS373芯片。如果顯示位數(shù)增多,則靜態(tài)顯示方式更是無法適應。因此在顯示位數(shù)較多的情況下,一般采用動態(tài)顯示方式。2LED動態(tài)顯示方式在多位LED顯示時,為了簡化硬件電路,通常將所有位的段選線相應地并聯(lián)在一起,由一個8位I/O口控制,形成段選線的多路復用。而各位的共陽極或共陰極分別由相應的I/O線控制,實現(xiàn)各位的分時選通。在動態(tài)顯示方式中假設要各位LED能夠顯示出與本位相應的顯示字符,就必須采用掃描顯示方式,即在*一時刻,只讓*一位的位選線處選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出相應位要顯示字符的段碼。這樣同一時刻,4位LED中只有那一位顯示出字符,而其他

46、三位則是熄滅的。同樣,在下一時刻,只讓下一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,在段選線上輸出相應位將要顯示字符段碼,則同一時刻,只有選通位顯示出相應的字符,而其他各位則是熄滅的。如循環(huán)下去,就可以使各位顯示出將要顯示的字符,雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其他各位熄滅,但由于LED顯示器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可造成多位同時亮的假象,到達同時顯示的目的。如何確定LED不同位顯示的時間間隔,例如對8位LED顯示器,假假設顯示一位保持1ms時間,則顯示完所有8位只后,只需8ms。上述保持1ms的時間是根據(jù)實際情況而

47、定。不能太短,因為發(fā)光二極管從導通到發(fā)光有一定的延時,導通時間太短,發(fā)光太弱人眼無法看清。但也不能太長,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多。另外,顯示位越多,也將占用大量的CPU時間,因此動態(tài)顯示實質(zhì)是以犧牲CPU時間來換取元件的減少。此設計顯示電路采用的就是動態(tài)顯示即一位一位地輪流點亮顯示器的各個位掃描,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留效應可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導通電流有關(guān),也與點亮時間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。因為本顯示的位數(shù)不大于8

48、位,所以控制顯示器公共極只需一個I/O口掃描口,控制顯示器的各位所顯示的字型也需一個8位口段數(shù)據(jù)口。本設計顯示局部電路連接如圖2-6所示。圖2-6 數(shù)碼管顯示局部電路圖3 系統(tǒng)軟件設計3.1系統(tǒng)功能模塊及主程序流程圖軟件編程思路:先DS12887初始化接著從其讀取當前時間供參考,然后掃描鍵盤以取得輸入的更改值,接下來將更改值寫入DS12887,允許DS12887時間更新并讀出時間以顯示,把顯示程序放在定時中斷掃描,主程序先讀出DS12887小時、分鐘、秒的值再送顯示,然后加延時再讀DS18B20所測溫度值再送顯示。系統(tǒng)功能模塊主要有:1初始化程序2對DS12887的讀寫程序3顯示子程序4時間調(diào)

49、子整程序5溫度與時間顯示切換程序主程序流程如圖3-1所示。開場初始化設置初始時間日期屏幕切換讀DS12887驅(qū)動電路送顯示讀DS18B20延時YN圖3-1 主程序流程圖3.2 DS12887初始化程序設計因為使用了時鐘芯片DS12887,只需從DS12887各存放器中讀出年、月、日、周、小時、分、秒等數(shù)據(jù),再處理即可。在首次對DS12887進展操作之前,必須對它進展初始化,然后從DS12887中讀出數(shù)據(jù),再經(jīng)過處理后,送給顯示緩沖單元。程序如下:csh()*BYTE0*7f0b=0*a6;*BYTE0*7f00=0*00;*BYTE0*7f02=0*00;*BYTE0*7f04=0*00;*B

50、YTE0*7f0b=0*26;i=*BYTE0*7f0a=0*20;i=*BYTE0*7f0d;i=*BYTE0*7f0c;3.3顯示子程序設計主要是開啟中斷,選擇定時器工作方式及給定時器上下字節(jié)送初值,最后使DS12887開場工作并通過給DS12887的控制存放器寫相應命令使其制止DS12887芯片更新,此時時鐘、日歷、和鬧鐘信息可以通過讀寫相應的字節(jié)獲得和設置,接著開啟DS12887的晶體振蕩器并且保持時鐘運行,設置DS12887的SQW輸出為方波,時鐘運行周期為24時制等這些都完成系統(tǒng)上電后就可以從DS12887讀取時間信息送進而顯示電路顯示了。程序如下:void time0() int

51、errupt 1/定時器掃描顯示 q+; TH0=0*ea; TL0=0*ea;if(q=1) P1=tabcc; P2=0*de;if(q=2) P1=tabdd; P2=0*ee;if(q=3) P1=tabee; P2=0*f6;if(q=4) P1=tabff; P2=0*fa; q=0; c=*BYTE0*7e00; P30=c0;3.4 時間調(diào)整程序設計時間調(diào)整是由三個按鍵組成的,它是最簡單的單片機輸入設備,通過按鍵輸入或調(diào)整數(shù)據(jù),實現(xiàn)簡單的人機對話.時間調(diào)整的三個按鍵分別接在CPU的P3.2,P3.4,P3.5三個口。三個按鍵的功能分別為:P32為選位鍵,按下時進展調(diào)時選位功能,

52、被選中的那個數(shù)碼管就閃爍準備調(diào)時;選中一位后按下P3.4對該位進展加操作,按下P3.5對該位進展減操作,流程圖如圖3-2所示。選位鍵按下執(zhí)行主循環(huán)程序加1鍵有效減1鍵有效加1減1送顯示電路顯示送時鐘芯片送顯示電路顯示NY送驅(qū)動電路送驅(qū)動電路位選擇操作有效圖3-2 時間整程序框圖程序如下:if(P32=0)delay1(500);while(!P32);delay1(20);while(P32)cc=10; delay1(500); cc=j; delay1(500);if(P34=0)while(!P34);j+;if(j=10)j=0;d=j+(10*i); else if(P35=0)wh

53、ile(!P35);if(j=0)j=10;j-;d=j+(10*i);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay1(500);while(!P32);delay1(20);while(P32)dd=10; delay1(500); dd=i; delay1(500);if(P34=0)while(!P34);i+;if(i=6)i=0;d=j+(10*i); else if(P35=0)while(!P35);if(i=0)i=6;i-;d=j+(10*i);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay

54、1(500);while(!P32);delay1(20);while(P32)ee=10; delay1(500); ee=m; delay1(500);if(P34=0)while(!P34);m+;if(m=10)m=0;e=m+(10*n); else if(P35=0)while(!P35);if(m=0)m=10;m-;e=m+(10*n);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay1(500);while(!P32);delay1(20);while(P32)ff=10; delay1(500); ff=n; delay1(500);

55、if(P34=0)while(!P34);n+;if(n=3)n=0;e=m+(10*n); else if(P35=0)while(!P35);if(n=0)n=3;n-;e=m+(10*n);*BYTE0*7e02=d; *BYTE0*7e04=e;delay1(2000); 3.5溫度采集程序設計DS18B20的初始化1先將數(shù)據(jù)線置高電平“1”。2延時該時間要求的不是很嚴格,但是盡可能的短一點。3數(shù)據(jù)線拉到低電平“0”。4延時750微秒該時間的時間圍可以從480到960微秒。5數(shù)據(jù)線拉到高電平“1”。6延時等待如果初始化成功則在15到60毫秒時間之產(chǎn)生一個由DS18B20所返回的低電平“

56、0”。據(jù)該狀態(tài)可以來確定它的存在,但是應注意不能無限的進展等待,不然會使程序進入死循環(huán),所以要進展超時控制。7假設CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起第5步的時間算起最少要480微秒。8將數(shù)據(jù)線再次拉高到高電平“1”后完畢。DS18B20的寫操作1數(shù)據(jù)線先置低電平“0”。2延時確定的時間為15微秒。3按從低位到高位的順序發(fā)送字節(jié)一次只發(fā)送一位。4延時時間為45微秒。5將數(shù)據(jù)線拉到高電平。6重復上1到6的操作直到所有的字節(jié)全部發(fā)送完為止。7最后將數(shù)據(jù)線拉高。DS18B20的讀操作1將數(shù)據(jù)線拉高“1”。2延時2微秒。3將數(shù)據(jù)線拉低“0”。4延時15微秒。

57、5將數(shù)據(jù)線拉高“1”。6延時15微秒。7讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進展數(shù)據(jù)處理。8延時30微秒。程序如下:sbit TMDAT=P27;dmsec(unsigned int count) /1ms delayunsigned int i;while(count-)for(i=0;i0) i-; /900vs TMDAT=1; i=4;while(i0) i-;void tmpre (void) /復位完畢unsigned int i;while(TMDAT);while(TMDAT);i=4;while(i0)i-;bit tmrbit() /讀一位數(shù)據(jù)的子程序unsigned int

58、i;bit dat;TMDAT=0;i+;TMDAT=1;i+;i+;dat=TMDAT;i=8;while(i0)i-;return(dat);unsigned char tmrbyte(void)/讀一字節(jié)子程序unsigned char i,j,dat; dat=0;for(i=1;i=8;i+)j=tmrbit(); dat=(j1) ;return(dat);void tmwbyte(unsigned char dat)unsigned int i; unsigned char j; bit testb;for(j=1;j1;if(testb)TMDAT=0;i+;i+;TMDAT=

59、1;i=8;while(i0)i-;else TMDAT=0;i=8;while(i0)i-; TMDAT=1;i+;i+; void tmstart1(void)tmreset();tmpre();dmsec(1);tmwbyte(0*cc);tmwbyte(0*4E);tmrtemp()unsigned char Y1;tmreset();tmpre();tmwbyte(0*cc);tmwbyte(0*44);tmreset();tmpre();dmsec(1);tmwbyte(0*cc);tmwbyte(0*be);P0=tmrbyte();P1=tmrbyte();tmrbyte();

60、3.6溫度值與時間的顯示顯示局部是由四個數(shù)碼管來完成的,但是要想顯示小時和分鐘就占用了四個數(shù)碼管,就沒有剩余的數(shù)碼管來顯示溫度和秒,秒的顯示由兩個發(fā)光二極管來實現(xiàn),每走一秒閃爍一次;在現(xiàn)有四個數(shù)碼管的根底上溫度的顯示只能靠與小時和分鐘的顯示交替顯示來實現(xiàn)。程序如下:void main()unsigned char c;EA=1; /翻開中斷允許ET0=1;TR0=1;TMOD=0*01;TH0=0*aa; TL0=0*aa;while(1) c=*BYTE0*7E00;d=*BYTE0*7E02;e=*BYTE0*7E04; /讀取DS12887 j=d%10; i=d/10; m=e%10;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論