電子信息工程專業車載可測溫式電子萬年歷畢業論文_第1頁
電子信息工程專業車載可測溫式電子萬年歷畢業論文_第2頁
電子信息工程專業車載可測溫式電子萬年歷畢業論文_第3頁
電子信息工程專業車載可測溫式電子萬年歷畢業論文_第4頁
電子信息工程專業車載可測溫式電子萬年歷畢業論文_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

x大

學畢

論文論文題目:學生姓名:指導教師:所學專業:

車載可測溫式電子萬年歷xxxxx電子信息工程年月

車載可測溫式電子萬年歷摘

要隨著電子技術的迅速發展,特別是隨著大規模集成電路的出現,給人類生活帶來了根本性的改變。尤其是單片機技術的應用產品已經走進了千家萬戶,如電子萬年歷的出現給人們的生活帶來了諸多方便。本文描述了系統硬件工作原理,并附以系統結構框圖加以說明,著重介紹了本系統所應用的各硬件及其接口技術和各硬件模塊的功能及工作過程;其次,詳細闡述了程序的各個模塊和實現過程。本設計以數字集成電路技術為基礎,單片機技術為核心。編寫的主導思想軟硬件相結合,以硬件為基礎,來進行各功能模塊的編寫。本系統為了便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關系更加簡潔明了。系統通過傳感器采集溫度。用四個數碼管顯示數據,可以顯示時間和溫度,也可以通過按鍵調整時間。關詞子萬年歷;單片機;時鐘芯片;溫度傳感器;數碼管顯示-I-

MeasurementTypeElectronTenThousandAbstractwithelectronictechnology'sexpand,alongwithlargescaleintegratedcircuit'slivedforthethefundamentalEspeciallythemonolithiccircuitapplicationproductenteredeveryone,ifthetenhaveconvenientlyforpeople'slife.ThistheprincipleofandattachesbysystemdiagramexplainedintroducedemphaticallysystemappliesvarioushardwaretechnologyandmodulefunctionandworkNext,elaboratedindetaileachanddesignthedigitalintegratedcircuittechnologyasthefoundation,themonolithicintegratedcircuittechnologyThecompilationguidingideologysoftwarethehardwareasthefoundation,carriesvariousfunctionaltheThisforexpansiondesignmodularcausesthelogicalrelationevenmoreSystemofnixietubedata.thetimeandtheweek,afterpressingcuts:ElectronictenthousandMonolithicintegratedcircuit;chip;-II

;demonstration目

錄摘

要.I.....................................................................................................................................II前

言.1方選擇21.11.21.31.4

整機設計方案選擇...................................................................................................2單片機芯片的選擇...................................................................................................2時鐘芯片的選擇.......................................................................................................2溫度傳感器的選擇...................................................................................................3硬設計42.12.22.32.4

電路組成框圖...........................................................................................................4系統硬件概述及整機工作原理...............................................................................4各芯片介紹62.3.1AT89S51單片機62.3.2DS12887時鐘芯片82.3.2.1主要功能簡介92.3.2.2引腳說明..............................................................................92.3.2.3時,歷和定鬧單元102.3.2.4的控制寄存器112.3.3DS18B20溫傳感器1數碼管顯示電路設計12.4.1顯模塊的選擇與方案論證....................................................................12.4.2LED顯示器工作原理................................................................................1系軟件設計..................................................................................................................153.1系功模塊及主程序流程圖...........................................................................13.2DS12887初化程序設計163.3顯子序設計...................................................................................................13.4時調程序設計...............................................................................................17-III-

3.5溫采程序設計...............................................................................................223.5.1DS18B20的始化23.5.2DS18B20的操作23.5.3DS18B20的操作23.6溫值時間的顯示2電安裝與調試..............................................................................................................274.1電安24.2電調24.2.1硬調試....................................................................................................24.2.2軟調試....................................................................................................24.2.3綜調試....................................................................................................2結論................................................................................................................................29參考文獻.3致

謝.3-IV-

言隨著人們生活水平的提高,家庭中的時鐘也在悄悄地發生變化。早期的機械式小型時鐘大部分被現代的電子時鐘所代替。大大小小的時鐘在人們的生活中發揮著重要的作用。在清朝的時候,出現第一批時鐘,是從外國引進的。它一種掛在脖子上的懷表,表盤是圓形,帶一個蓋子,打開它就可以看時間。表盤上有一個環,環中有一條鏈子,就是通過它掛在脖子上,而且表的樣式也只有這一種。盡管這樣,也是只有皇親國戚、鄉紳官吏和留過洋的人才能擁有??梢哉f在那時它可是一個罕見的寶貝,所以,它的價值可想而知,普通人是很難擁有的。那時的老百姓只有靠看日頭來估算時間。接著,我們不斷的從外國引進他們先進的技術,所以,時鐘的生產和樣式也有了許多的提高,市場上涌現了許多各式各樣的時鐘。這些時鐘,不僅質量和款式不同,還有了各種品牌。從質量上分,有機械的,石英的等等。從款式上分,有男式的和女式的。不過有一點相同,它們大多是帶在手腕上的。與清朝時比,已經有了很大的進步。慢慢地,隨著科學的進步,技術水平的提高,到現在,時鐘可以說是樣式繁多,款式新穎。不提它的質量,僅僅它的款式就可以讓消費者眼花繚亂,難以選擇?,F在的時鐘,不僅分男女樣式,還出現了情侶表。生產者還為盲人著想,專門生產了盲人使用的手表。為了追求時尚,還出現了還出現了許多項鏈式的手表、手鏈式的手表、戒指式的手表等等。為了家居擺設,出現了立式的和掛式的等。還有,就是為了提醒我們不忘記某些事,而生產了鬧鐘等。將來隨著時鐘的發展,它將給人們帶來更大的方便。隨著科學技術的飛速發展,片機以其卓越的性能,在各個領域中得到了廣泛的應用。一方面向著高速、智能化的巨型機方向發展,另一方面向著嵌入式微型機的方向發展。其中,單片機其性能和容量不斷提高,而價格不斷下降的趨勢,使其在社會各個領域仍至家庭生活中發揮著越來越大的作用?,F如今在電子系統非常廣泛的應用領域內,為使人們用最方便快捷的方式享受生活,設計人員能在更小的空間內實現更多功能,從而提高系統可靠性和速度。如銀行﹑公交車﹑酒店等公共場所到處可見的電子萬年歷。讓人們對生活方有了一個更便捷﹑更舒適的感覺,本文為對這種萬年歷設計的介紹和說明。-1-

1方案選擇1.1整機設計方案選擇本文主要講述的是電子萬年歷的設計與實現,此設計實現主要有兩種方案:一是由數字電路來實現;二是由單片機編程控制來實現。選用數字電路雖然硬件連接簡單不需要軟件編程,但因為數字電路實現必須要有移位寄存器對字符數據進行存儲,然后串行輸入到顯示數碼管上,不但如此,而且需要很大一部分的擴展電路才能實現,且設計出的電路的靈活性差、不易調試、成本高等缺點,所以不選用此方案。此次設計是基于單片機來實現的。由于單片機具有體積小、重量輕、價格便宜、功耗低、控制功能強及運算速度快等特點,因而在國民經濟建設、軍事及家用電器等諸多領域起到了舉足輕重的作用。編程語言采用語言,由此設計出的電子萬年歷具有操作靈活便攜等諸多優點。1.2單片機芯片的選擇方案一:采用芯作為硬件核心,采用,內部具有ROM存儲空間,能于的低壓工作,而且與MCS-51系單片機完全兼容,但是運用于電路設計中時由于不具備ISP在編程技術,當對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用89S51芯作為硬件核,AT89S51是一個低功耗,高性能CMOS8位單片機,片內含4kISP(In-system的反擦寫次只讀程序存儲器,器件采用ATMEL公的密度、非易失性存儲技術制造,兼容標準MCS-51指系統及引結構,芯片內集成了通用位中央處理器和Flash存儲單元功強大的微型計算機的可許多嵌入式控制應用系統供高性價比的解決方案,再者因為AT89S51為今場上主流產品,其價格也比較低廉,所以選擇此方案。1.3時鐘芯片的選擇方案一:直接采用單片機定時計數器提供秒信號,使用程序實現年、月、日、星期、時、分、秒計數。采用此種方案雖然減少芯片的使用,節約成本,但是,實現的時間誤差較大。所以不采用此方案。-2-

方案二用時芯片實現時鐘芯是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償的年進行計數,而且精度高,位的做數據暫存區,另外其在沒有外部電源的情況下可工作年帶晶體震蕩器及電池。其可以計算到2100年的秒、分、小時、星期、日期、月、年七種日歷信息。1.4溫度傳感器的選擇方案一:采用為溫度傳感器,AD590雖有價格低、度高等優點,但是它還需要外圍的模擬轉數字電路,其測溫點數量也較少,用起來占空間大也比較麻煩。方案二:采用測,采單線接口方式,與微處理器連接時僅需要一條線即可實現雙向通訊;其適應電壓范圍更寬;支持多點組網測溫;在使用中不需任何外圍元件,全部傳感元件及轉換電路都集成在一只如三極管的集成電路內;價格也較低;缺是測溫范圍比較小,范圍為-55度到+125度,但是用在本設計也足夠了,所以采用此方案。-3-

2硬件設計2.1電路組成框圖該電路主要由時鐘芯片、AT89S51盤驅動電路、溫度采集、顯示電路組成。其中鍵盤調整可以對顯示內容進行切換及對時間進行調整。框如圖2-1所示:時芯DS12887顯電溫傳器鍵調

圖2-1

89S51段驅動位驅動電萬歷框

驅電2.2系統硬件概述及整機工作原理此設計采低功耗,高能8位單片機;鐘芯片用的是美國達接斯半導體公司(推出的串行接口實時時鐘芯片DS12887,用CMOS技術制成,具有內部晶振和時鐘芯片備份鋰電池;驅動電路用的是ULN2003芯;LED顯示部分用的是四個共陰型數碼管,顯示采用動態掃描并行輸出方式。鍵盤有三個分別為位調整鍵,加調整鍵,減調整鍵。整機工作原理是先初始化DS12887時鐘芯片接著CPU從鐘芯片讀取時間及日期信息又從溫度傳感器采集溫度送驅動電路進而送LED顯示,其中鍵盤調整可以對時間進行調整,對時間進行調整時其更改值寫入DS12887,再允許時更新并讀出時間送顯示,溫度值和時間輪流交替顯示在數碼管上。電路圖如圖所示。-4-

圖2-2-5-

整電圖

2.3各芯片介紹AT89S51是個低功耗,高能8位單片機,片內含4kBytes可反復擦寫1000次Flash只讀程序存儲器,器采用公的高密度、非易失性存儲技術制造,兼容標準MCS-51指系統及80C51引結構,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。其引腳排列如所示。圖2-3引圖AT89S51具如下特點:個引腳的機存取數據存儲器(RAM)32個外部雙向輸入/輸()口,個斷優先級2層斷嵌套中斷2個16位編程定時計數器,個雙工串行通信口,片內時鐘振蕩器。此外,設和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存的據,停止芯片其它功能直至外中斷激活或硬件復位。-6-

管腳說明:個引腳按其功能來分,可分為三個部分:電源及時鐘引腳控制引腳I/O口腳(1)源及時鐘引腳電源引腳接入單片機的工作電源。VCC(40)引:接+5V源。VSS(20)腳:接地。兩個時鐘引腳XTAL0、為片機提供了時鐘控制信號。XTAL0(腳):接外部晶體的一個引腳。XTAL1(腳):接外部晶體的另一端。(2)制引腳是位信號的輸入端,高電平有效。當單片機正常工作時,在此引腳加上持續時間大于兩個機器周期(24個鐘振蕩周期)的高電平時,就可完成復位操作。在單片機正常工作時,復位端應小于或等于的低電平。(29腳)程序存儲器允許輸出制端。在單片機訪問外部程序存儲器時,此引腳輸出脈沖負跳沿作為外部程序存儲器的選通信號。ALE(30腳ALE為地鎖存允信號,當單片機上電正常工作后,ALE引不斷輸出正脈沖信號。當單片機訪問外部存儲器時,ALE輸出信號的負跳沿用作單片機發出的低8位址鎖存控制信號。使不訪問外部鎖存器,ALE端仍有正脈沖信號輸出,頻率為時鐘振蕩頻率fOSC的。EA(腳)功能為內/外序存儲器選擇控制端。當EA腳為高電平時,單片機訪問片內程序存儲器,當EA腳低電平時,單片機則只訪問外部程序存儲器。所以此次設計,須把單片機的31腳到高電平。(3)I/O引口口是一個8位極開路的雙向I/O口為輸出口每能驅動8個邏輯電平。對P0端寫作高阻抗輸入。當訪問外部程序和數據儲器時,口被作為低位址數復用。在這種模下,具內部上拉電阻。在flash編程時,P0也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。P1口P1口是一個具有內部上拉電阻的位向I/O口,p1輸緩沖器能驅動4個TTL邏電平。對P1端寫“1”時,內部拉電阻把端口拉高,此可以作為輸入口使用作為輸入使用時被部拉低的引腳由于內部電阻的原因,將輸電此外,P1.0和P1.2分作定時數器2的外計數輸入。在flash編和校驗時,P1口收低8位址字節??谀_號的第二功能如表所。-7-

表2-1P1口引的二能(定時器數器的外部計數輸入),時鐘輸出T2EX(定時器數器T2的捕/重載觸發信號和方控制)MOSI(在系統編程用)MISO(在系統編程用)(在系統編程用)口P2口一個具有內部上拉電阻的8位向I/O口,P2輸緩沖器能驅動個TTL邏輯電平。對P2端寫“1”時內部上拉電阻把端口高,此時可以作為輸入口使用作輸入使用時被部拉低的引腳由于內部電阻的原因,將出電(IIL在訪問外部程序存儲器或用位址讀取外部據存儲器(例如執行MOVX)時,P2口送出高八位地址。在這種應用中,口使用很強的內部上拉發送1在使用位地址(如MOVX)問外部數據存儲器時,P2口輸出鎖器的內容在flash編程和校驗時,口接高位址字節和一些控制信號??赑3口一個具有內部上拉電阻的位向口對P3端寫“1”時內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)口亦作為AT89S52特功能(第二功能)使用,在flash編和校驗時,口也接收一些控制信號??谀_號的第二功能如表所。表2-2P3引號的二能

RXD串行輸入)TXD(串行輸出)INT0部中斷INT1部中斷(定時器0外部輸入)(定時器1外部輸入)(部數據存儲器寫選通)(外數據存儲器寫選通)-8-

U2

NCNCGND

VCCSQWNCNCNCIRQRESETNCR/W

DS12887引腳DS12887是美國達接斯半導體公司(Dallas)新推出的串行接口實時時鐘芯片,采用技制成,具有內部晶振和時鐘芯片備份鋰電池,同時它與目前IBMAT計算機常用的時鐘芯片MC146818B和管腳兼容,可接替換。DS12887芯片具有微功耗,外圍接口簡單,精度高,工作穩定可靠等優點,可廣泛用于各種需要較高精度的實時時鐘系統中。2.3.2.1DS12887主要功能簡介(1)含一個鋰電池,斷電后運行十年以上不丟失數據。(2)秒,分,時,天,星期,日,月,年,并有閏年補嘗功能。(3)進制數碼或碼表示間,日歷和定鬧。(4)12小或24小制,小時鐘模式帶有和AM指,有夏令時功能。(5)Motorola和總線時序選擇。(6)128個字節單與軟件接口,其中個字節作為時鐘和控制寄存器,字節為通用RAM,有單數據都具有掉電保護功能。(7)編程方波信號輸出。(8)斷信號輸出()和總線兼容,定鬧中斷,周期性中斷、時鐘更新周期結束中斷可分別由軟件屏蔽,也可分別進行測試。2.3.2.2DS12887引腳說明DS12887內由振蕩電路,分頻電路,周期中斷/方選擇電路,14字時鐘和控制單元,114字節用戶非易失RAM,進制/進制累加器,總線接口電路,電源開關寫保護單元和內部鋰電池等部分組成。上電/掉電當高于4.25V后,芯片可被外部程序操作;當低-9-

時,芯片處于寫保護狀態(所有的輸入均無效)同時所有輸出呈高阻狀態;當VCC低3V時芯片將自動把供電方式切換為由內部電池供電。Vcc:流電源+5V電。當電壓在正常范圍內時,數據可讀寫;當Vcc低于4.25V,讀被禁止,計時功仍繼續;當下到3V以時,RAM和計時器供電被切換到內部鋰電池。MOT(式選擇):MOT引接到Vcc時,選擇MOTOROLA時序,當接到GND時,選擇Intel時。(方波信號輸出):SQW引能從實時鐘內部15級頻器的個頭中選擇一個作為輸出信號,其輸出頻率可通過對寄存器A編程改變。AD0-AD7(向址/數據復用線):線接口,可與Motorola微系列和Intel微機系列接口。(地選通輸入實信號分在AD/ALE的下降沿把地址鎖入。(數據選通或讀輸入)DS/RD引有兩種操作模式,取于MOT引的電平,當使用時時,是正脈沖,出現在總線周期的后段,稱為數據選通;在讀周期,DS指DS12887驅動雙向總線的時刻;在寫周期,的沿使DS12887鎖存寫數據。選擇時序時,稱(RD),RD與型存貯器的允許信號()的定義相同。R/W(讀/寫入):R/W引也有兩操作模式。選Motorola時序時,R/W是低電平信號時,指示當前周期是讀或寫周期,為高電平時,R/W高平指示讀周期,R/W信一低電平信號,稱為。在此模式下,R/W引與通用RAM的允許信號()的含義相。CS片選輸入):在訪問DS12887的總線周期內,片選信號必須保持為低。IRQ中斷申請輸入):低電平有效,可作處理的中斷輸入。沒有中斷的條件滿足時,IRQ處于高阻態。IRQ線漏極開路輸入,要求外接上接電阻。(復位輸出)當該腳保持低電平時間大于200ms保證DS12887有效復位。另外的地址由字節的用戶存。10字的存放實時時鐘時間,日歷和定鬧及用于控制和狀態的4字特殊寄存器組成,幾乎所有的128個節直接讀寫。RTC實時鐘加RAM向理器提供三個獨立的,自動的中斷源。定鬧中斷的發生率可編程,從每秒一次到每天一次,周期性中斷的發生率可從500ms到122s選擇。更新結束中斷用于向程序指示一個更新周期完成。中斷控制和狀態位在寄存器B和C中2.3.2.3時間,日歷和定鬧單元時間和日歷信息通過讀相應的內存字節來獲取,時間,日歷和定鬧通過寫相應的內存字節設置或初始化,其字節內容可以是二進制或形式。時間可選擇小時制或小時制,當選擇12小時制時,小時字節的高門為邏輯PM。間,日歷和定鬧字節是雙緩沖的,總是可訪問的。每秒鐘這個節走時1秒檢查一次定鬧條件,如在更新時,讀時間和日歷可能引起錯誤,三個字節的定鬧字節有兩種使用方法。第一-10-

種,當定鬧時間寫入相應時,分,秒,定鬧單元,在定允許鬧位置高的條件下,定鬧中斷每天準時起動一次。第二種,在三個定鬧字節中插入一個或多個不關心碼。不關心碼是任意從O0到的進數。當小時字節的不關心碼位置位時,定鬧每小時發生一次;同樣,當小時和分鐘定鬧字節置不關心位時,每分鐘定鬧一次;當三個字節都置不關心位時,每秒中斷一次。2.3.2.4DS12887的控制寄存器DS12887有個控制寄存器,他們可以在任何時候讀寫。(1)存器0AH表2-3寄存0AH中的位BIT7UIP

BIT6DV2

BIT5DV1

BIT4DV0

BIT3

BIT2

BIT1

BIT0UIP:新周期進行標志位,UIP=1時,芯片正處于或將開始新周期,此期不允許讀寫時標寄存器。~:為時振工作,其他組時晶振停止?!玆S0:斷周期時間和SQW輸頻率選擇位。(2)存器0BH表2-4寄存0BH中的位BIT7SET

BIT6PIE

BIT5

BIT4UIE

BIT3SQW

BIT2

BIT1

BIT0SET:時禁止更新。為0時常。PIE:為1時期中斷允許。AIE:時警報中斷允許。UIE:時更新束中斷允許。:為時波輸出允許。:時時間為碼,為1為二進制。:1時24小進制。為0時12小進制。:置。(3)存器0CH表2-5寄存0CH中的位BIT7IRQF

BIT6PF

BIT5AF

BIT4

BIT30

BIT20

BIT10

BIT00IRQF:斷申請標志。:周期中斷標志AF:報中斷標志。UF:新結束中斷標志。-11-

(4)存器表2-6寄存0DH中的位BIT7VRT

BIT60

BIT50

BIT40

BIT30

BIT20

BIT10

BIT00VRT:時表示內部鋰電池耗盡。DS18B20的主要特性(1)應電壓范圍更寬,電壓范圍:~5.5V,寄生電源方式下可由數據線供電。(2)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。()支持多點組網功能,多個DS18B20可并聯在唯一的三線上,實現組網多點測溫。(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及換電路集成在形如一只三極管的集成電路內。(5)范圍-55℃+125℃在-10~+85時精度為℃。(6可編程的分辨率為9~12位對的可分辨溫度分別為0.5℃0.25℃℃和℃可實現精度測溫。(7)位辨率時最多內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度更快。()量結果直接輸出數字溫度信號,以"一總線"串行傳送給,時可傳送校碼,具有極強的抗干擾糾錯能力。(9)壓特性:電源極性接反時,芯片不會因發熱而燒毀,但不能正常工作。其引腳圖和功能表如圖2-5所。圖2-5DS18B20引腳及能-12-

2.4數碼管顯示電路設計(1)用LED液顯示屏液晶顯示屏的顯示功能強大,可顯示大量文字、圖形、顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用LED液晶顯示屏。()用點陣式數碼管顯示,點陣式數碼管是由八行八列的發光二極管組成,對于顯示文字比較適合,如采用在顯示數字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。(3)用LED數管動態掃描LED數管價格適中,對于顯示數字最合適,而且采用動態掃描法與單片機連接時,占用的單片機口線少。所采LED數管作為顯示。顯示器工作在4位顯器中段選線控制顯示字符的的字型,而位選線為各個LED顯塊的公共端,它控制該LED顯位的亮、暗。LED顯器靜態顯示和動態顯示兩種顯示方式。(1)LED態顯示方式顯示器工作于靜態顯示方式時,各個的共陰極(或共陽極)連接在一起并接地(或+5V位短選線(a-dp)別與一個位鎖存器輸出相連所以稱為靜態顯示。各個LED的示字符一經確定,相鎖存器的輸出將維持不變,直到示另一個字符為止。也正因為如此,靜態顯示器的亮度都比較高。這種顯示方式接口編程容易,付出的代價是占用口線較多。若用I/O口接口則要占用4個8位I/O口若要用鎖存器(74LS373)口則要用4片芯片。如果顯示位數增多,則靜態顯示式更是無法適應。因此在顯示位數較多的情況下,一般采用動態顯示方式。(2)LED態顯示方式在多位LED顯時了簡化硬件電路通常將所有位的段選線相應地并聯在一起,由一個位I/O口控制,形成段選線的多路復用。而各位的陽極或共陰極分別由相應的I/O線控制,實現各位的分時選通。在態顯示方式中若要各位LED能顯示出與本位相應的顯示字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處選通狀態,而其他各位的位選線處于關閉狀態,同時,段選線上輸出相應位要顯示字符的段碼。這樣同一時刻,位中只有那一位顯示出字符,而其他三位則是熄滅的。同樣,在下一時刻,只讓下一位的位選線處于選通狀態,而其他各位的位選線處于關閉狀態,同時,在段選線上輸出相應位將要顯示字符段碼,則同一時刻,只有選通位顯示出相應的字符,而其他各位則是熄滅的。如循環下去,就可以使各位顯示出將要顯示的字符,雖然這些字符是在不同時刻出現的,而且同一時刻,只有一位顯示,其他各位熄-13-

滅,但由于LED顯器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可造成多位同時亮的假象,達到同時顯示的目的。如何確定LED不位顯示的時間間隔,例如位顯示器,假若顯示一位保持1ms時,則顯示完所有8位后,只需8ms。述保持1ms的間是根據實際情況而定。不能太短,因為發光二極管從導通到發光有一定的延時,導通時間太短,發光太弱人眼無法看清。但也不能太長,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用時也越多。另外,顯示位越多,也將占用大量的CPU時,因此動態顯示實質是以犧牲CPU時來換取元件的減少。此設計顯示電路采用的就是動態顯示即一位一位地輪流點亮顯示器的各個位(掃描于顯示器的每一位來說每一段時間點亮一次。利用人的視覺暫留效應可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導通電流有關,也與點亮時間和間隔時間的比例有關。調整電流和時間參數,可實現亮度較高較穩定的顯示因本顯示的位數不大于8位以控制顯示器公共極只需一個I/O掃描口控顯示器的各位所顯示的字型也需一個8口(段數據口本計顯示部分電路連接如圖2-6所示。圖2-6數碼顯部電圖-14-

3系統軟件設計3.1系統功能模塊及主程序流程圖軟件編程思路:先DS12887初化接著從其內讀取當前時間供參考,然后掃描鍵盤以取得輸入的更改值,接下來將更改值寫入,許時間更新并讀出時間以顯示,把顯示程序放在定時中斷內掃描,主程序先讀出DS12887內小時、分鐘、秒的值再送顯示,然后加延時再讀所溫度值再送顯示。系統功能模塊主要有:(1)始化程序(2)的寫程序(3)示子程序(4)間調子整程序(5)度與時間顯示切換程序主程序流程如圖3-1所。開始初始化設置初始時間日期屏幕切換

YN讀DS12887驅動電路送顯示圖3-1主程流圖

讀延時-15-

3.2初始化程序設計因為使用了時鐘芯片DS12887,只需從DS12887各寄存器中讀出年、月、日、周、小時、分、秒等數據,再處理即可。在首次對進操作之前,必須對它進行初始化,然后從中讀出數據,再經過處理后,送給顯示緩沖單元。程序如下:{XBYTE[0x7f0b]=0xa6;XBYTE[0x7f00]=0x00;XBYTE[0x7f02]=0x00;XBYTE[0x7f04]=0x00;XBYTE[0x7f0b]=0x26;i=XBYTE[0x7f0a]=0x20;}3.3顯示子程序設計主要是開啟中斷擇時器工方式及給定時器高低字節送初值,最使開始工作并通過給的控制寄存器寫相應命令使其禁止芯更新,此時時鐘、日歷、和鬧鐘信息可以通過讀寫相應的字節獲得和設置,接著開啟的晶體振蕩器并且保持時鐘運行,設置DS12887的輸為方波,時鐘運行周期為24時制等這些都完成系統上電后就可以從DS12887讀時間信息送進而顯示電路顯示了。程序如下:void//定時器掃描顯示{TL0=0xea;{P1=tab[cc];}{-16-

P1=tab[dd];}{P2=0xf6;}{P2=0xfa;}c=XBYTE[0x7e00];}3.4時間調整程序設計時間調整是由三個按鍵組成的,它是最簡單的單片機輸入設備,通過按鍵輸入或調整數據,實現簡單的人機對話時間調整的三個按鍵分別接在CPU的,P3.4三個口。三個按鍵的功能分別為:P32為位鍵,按下時進行調時選位功能,被選中的那個數碼管就閃爍準備調時;選中一位后按下對位進行加操作,下P3.5對位進行減操作,流程圖如圖所。-17-

選位鍵按下Y位選擇操作有效

N執行主循環程序加1鍵效

減1鍵效加1

減1送時鐘芯片送驅動電路

送驅動電路送顯示電路顯示程序如下:{delay1(500);while(!P32);delay1(20);{cc=10;delay1(500);

送顯示電路顯示圖3-2時間程框-18-

cc=j;delay1(500);{while(!P34);j++;if(j==10)j=0;}{while(!P35);}XBYTE[0x7e02]=d;}{delay1(500);while(!P32);delay1(20);}{delay1(500);delay1(500);{while(!P34);i++;-19-

i=0;}{while(!P35);i=6;}XBYTE[0x7e02]=d;}{delay1(500);while(!P32);delay1(20);}{delay1(500);ee=m;delay1(500);{while(!P34);}{while(!P35);-20-

m--;}XBYTE[0x7e02]=d;}{delay1(500);while(!P32);delay1(20);}{ff=10;delay1(500);delay1(500);{while(!P34);}{while(!P35);n--;}XBYTE[0x7e02]=d;}-21-

delay1(2000);}3.5溫度采集程序設計(1)將數據線置高電平“1。(2)時(該時間要求的不是很嚴格,但是盡可能的短一點)。(3)據線拉到低電平“0。(4)時750微(該時間的間范圍可以從到微秒)。(5)據線拉到高電平“1。(6)時等待(如果初始化成功則在15到毫時間之內產生一個由DS18B20所返回的低電平“0”據該狀態可以來確定它的存在,但是應注意不能無限的進行等待,不然會使程序進入死循環,所以要進行超時控制)。(7)讀到了數據線上的低電平“0后還做延時,其延時的時間從發出的高電平算起(第(5步的時間算起)最少要微。(8)數據線再次拉高到高電平“1后束(1)據線先置低電平“0。(2)時確定的時間為15微。(3)從低位到高位的順序發送字節(一次只發送一位)。(4)時時間為微。(5)數據線拉到高電平。(6)復上(1到(6的操作直到所有的字節全部發送完為止。(7)后將數據線拉高。(1)數據線拉高“1”。(2)時2微。(3)數據線拉低“0”。(4)時15微秒。(5)數據線拉高“1”。(6)時15微秒。(7)數據線的狀態得到個狀態位,并進數據處理。-22-

(8)時30微秒。程序如下:dmsec(unsignedintdelay{unsignedinti;while(count--)}}voidtmreset(void)//復子程序{inti;TMDAT=0;i=103;while(i>0)i--;//900vsTMDAT=1;i=4;while(i>0)i--;}voidtmpre(void)//復位結束{unsignedinti;while(TMDAT);while(~TMDAT);}bit//讀一位數據的子程序{unsignedinti;bitTMDAT=0;i++;TMDAT=1;i++;i++;dat=TMDAT;}unsignedchartmrbyte(void)//一字節子程序{unsignedchari,j,dat;dat=0;for(i=1;i<=8;i++)dat=(j<<7)|(dat>>1);}return(dat);-23-

}voidtmwbyte(unsigned{unsignedinti;unsignedcharj;bittestb;for(j=1;j<=8;j++)if(testb)TMDAT=1;i=8;while(i>0)}TMDAT=1;i++;i++;}}}voidtmstart1(void)dmsec(1);tmwbyte(0xcc);tmwbyte(0x4E);}tmrtemp(){unsignedtmwbyte(0xcc);tmwbyte(0x44);dmsec(1);tmwbyte(0xcc);-24-

tmrbyte();3.6溫度值與時間的顯示顯示部分是由四個數碼管來完成的,但是要想顯示小時和分鐘就占用了四個數碼管,就沒有剩余的數碼管來顯示溫度和秒,秒的顯示由兩個發光二極管來實現,每走一秒閃爍一次;在現有四個數碼管的基礎上溫度的顯示只能靠與小時和分鐘的顯示交替顯示來實現。程序如下:void{unsignedcharc;EA=1;//打中斷允許TR0=1;TMOD=0x01;TL0=0xaa;{c=XBYTE[0x7E00];d=XBYTE[0x7E02];e=XBYTE[0x7E04];//讀j=d%10;n=e/10;/*把讀出來的經算式拆分成數組可以顯示的十進制數cc=j;ee=m;

等待定時中斷內顯示程序來掃描*/;/*部分為按鍵調整時間的程序,程序內容上一部分已經介紹,需要注意的是按鍵調整時間程序不能與讀取溫度值的程序在一個循環體內,這樣顯示溫度時就不與調整時-25-

間沖突*/}{dmsec(10);//溫一毫秒延時//tmrtemp();//wenduxianshi//}}-26-

4電路安裝與調試4.1電路安裝安裝步驟:(1)查元件的好壞按電路圖買好元件后首先檢查買回元件的好壞,按各元件的檢測方法分別進行檢測,一定要仔細認真。(2)置各元件按電路圖的位置將各元件安置好,首先放置核心元件,然后再放其他元件,特別注意順序不能顛倒。(3)行布線布線有布線的規律,不能搭線、線路工整、清晰、另外還要避免繞線,短線等現象發生,還要節省線路,以線路短而且少和工整為依據來布線。(4)路的檢查按電路圖再進行檢查實際線路,看是否有錯線,錯件等現象發生。注意儀器儀表的使用。4.2電路調試調試分為硬件調試和軟件調試。硬件調試主要是檢測硬件電路是否有短路、斷路、虛焊等。的件電路很簡單,很容易檢測,主要是檢查其引腳。如其與電源和地及與等是否接好。另可以通過軟件來調試硬件,為了測試顯示電路連接是否真確,可以編寫一個簡單的顯示程序來測試它。接下來可以進行軟件調試,可以編寫只含的計時和讀寫程序、顯示程序,測試是正常工作。最后編寫時間調整程序、顯示切換程序等。當硬件主板做完,要搭建硬件電路元件時候,必須對硬件主板進行檢查和調試。首先必須對電路板(板各節點進行檢查。利用萬用表檢查各接點是否有斷路現象。此外硬件調試中,還應注意單片機和腳所接的晶體振蕩器是否起振,它直接關系到時鐘振蕩電路是否起作用。還有就是數碼管的選用應注意數碼管的共陽極還是共陰極的型號。軟件部分占本次課題的很大一部分工作量,在件程序燒進CPU后上運行時能-27-

出現初始化時間,但起初存在以下問題:(1)入程序后,LED碼管顯示閃動,而且亮度不均勻。解決:首先對調用的延時進行逐漸修改,可以解決顯示閃動問題。其次,由于本作品使作動態掃描方式顯示的數字,動態掃描很快,人的肉眼是無法看出,但是調用的顯示程序時,如果不在返回時屏蔽掉最后的附值,則會出現很亮的現象,所以在顯示的后面加了屏蔽指令,最后解決了此問題。(2)對小時進行校準時,小時的字符值得上限不是12/24,是從~99之進行變換。(3)對分鐘進行校準時,分鐘的字符值從跳99,正確的應該是~59(4)對時間和分鐘調整時每當小時與分鐘的低位加到9時得需連續按幾下加1鍵時間與分鐘的低位才能變并高位進而正確的應該是在此后按一下加鍵可以完成。解決:對十進制和十六進制處理不好,所以會造成錯亂。最后把相應的數據十進制進行修改,使得可以與十六進制對應,最后解決了此問題。以上問題都是程序的設計編程問題所出現的情況,當把程序修改正確后,以上現象得以解決,順利達到要求指標。綜合調試是指讓用戶的軟件在其硬件上實際運行,進行軟硬件聯合調試,從中發現硬件故障或軟、硬件設計錯誤。這是對用戶系統檢驗的重要一關。綜合調試是單片機中很重要的一部分,其調試可分為時鐘芯片的調試、DS18B20的試、LED顯調試等。通過調試使系統正常的工,實現預期的效果。-28-

5結論本次畢業設計順利的完成,各項指標都已實現,每個數碼管可顯示一個數字,一次可顯示個字(時分交替顯示溫度),發光二極管來顯示秒。此次設計從資料的搜集,方案的確立,在到電路的制作,程序的編寫及撰寫論文,在這整個過程中,使我學到了很多專業性的知識,對單片機匯編語言

溫馨提示

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

評論

0/150

提交評論