基于單片機的萬年歷實習報告_第1頁
基于單片機的萬年歷實習報告_第2頁
基于單片機的萬年歷實習報告_第3頁
基于單片機的萬年歷實習報告_第4頁
基于單片機的萬年歷實習報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-*理工大學信息科學與工程學院"電子系統(tǒng)設計創(chuàng)新與實踐課程設計實習報告題目:具有溫濕度測量功能的萬年歷設計專業(yè)方向:電子信息工程班級:電信二班指導教師:存波2016年3月27日目次1. 緒論- 12. 總體設計方案- 2 2.1 技術(shù)方案比擬- 2 2.2總體技術(shù)方案- 33. 硬件系統(tǒng)設計- 4 3.1 硬件總體原理框圖- 4 3.2關(guān)鍵元件介紹- 4 3.2.1 LCD602顯示屏- 4 3.2.3 DS1302時鐘芯片- 7 3.2.2 SHT10溫濕度感應器- 9 3.3 硬件設計- 10 3.3.1 復位電路設計- 10 3.3.2 晶振電路設計- 10 3.3.3 時鐘芯

2、片電路設計- 10 3.3.4 溫濕度感應器模塊電路設計- 11 3.3.5 按鍵模塊電路設計- 11 3.3.6 LCD1602顯示模塊電路設計- 11 3.3.7 電量檢測報警電路設計- 12 3.3.8 蜂鳴器報警電路設計- 12 3.3.6 總體電路原理圖- 124. 軟件系統(tǒng)設計- 13 4.1 軟件功能設計- 13 4.2 程序設計總體方案- 13 4.2.1 總體設計思路- 13 4.2.2 程序流程框圖- 13 4.3 程序的實現(xiàn)- 145. 裝置樣機的制作與調(diào)試- 226. 實驗測試- 237. 總結(jié)- 24參考文獻- 251. 緒論二十一世紀的今天,最具代表性的計時產(chǎn)品就是

3、電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的創(chuàng)造,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,創(chuàng)造了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術(shù)的應用電子萬年歷,使計時產(chǎn)品的走時日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式開展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進步。如今電

4、子萬年歷飛入了尋常百姓家,而且以不斷智能的方式增加著,大多數(shù)都添加了溫度和濕度檢測顯示功能,通過利用單片機的控制還可以設計出各種各樣的顯示或報警功能等。掛式、臺式以及帶裝飾畫面等豐富的電子萬年歷數(shù)不勝數(shù),不但滿足了精準的計時需求,還將計時帶上了科技時尚的味道。單片機技術(shù)所應用的功能控制芯片可進展多種功能的設置,如鬧鐘、報時、日歷查詢、語音等;并改善了很多原有石英鐘不能解決的問題,例如:數(shù)字夜光顯示、數(shù)據(jù)存儲以及全自動溫度檢測等功能;這給傳統(tǒng)計時消費帶來了新的動力,越來越多的消費者選擇了電子萬年歷。1.1 題目具有溫濕度測量功能的萬年歷設計1.2 研究目標與意義1總體目標 1實現(xiàn)萬年歷功能; 2

5、) 具有鬧鐘功能,能設定三個鬧鐘時間,每個時間都可以設定一周的那一天報警; 3具有溫度和濕度測量功能; 4利用LCD顯示:年、月、日、星期、時間、溫度、濕度; 5具有年、月、日、星期、時間、鬧鐘等設定功能,盡量方便且使用最少的按鍵完成功能; 6具有電池電量檢測、低電量報警功能; 7電池供電;2研究意義設計電子萬年歷不僅能在生活中得到實用,而且還可以增加自己的動手能力和實踐能力,往里面增加不少功能還可以學到很多東西,不斷地提高自己的知識面,不斷地將實際理論知識應用到生活中,真正地做到理論與實踐相結(jié)合,更具有實習設計研究意義。1.3 相關(guān)技術(shù)的現(xiàn)狀萬年歷是采用獨立芯片控制部數(shù)據(jù)運行,以LED夜光數(shù)

6、碼或LCD顯示日期、時間、星期、節(jié)氣倒計,以及溫度等日常信息,糅合了多項先進電子技術(shù)及現(xiàn)代經(jīng)典工藝打造的現(xiàn)代數(shù)碼計時產(chǎn)品。其部電子板硬件與軟件,硬件與硬件之間的兼容性,表現(xiàn)為LED數(shù)碼的驅(qū)動是靜態(tài)或動態(tài),顯示為是否出現(xiàn)閃動,斷筆等情況;具有防震,防火,防暴等情況;產(chǎn)品有多種系列,多種規(guī)格,產(chǎn)品的材料也分有玻璃,塑料,鋁合金等。電子萬年歷技術(shù)已經(jīng)進入了優(yōu)化人-家庭-環(huán)境的整體關(guān)系的階段,它向著超微型、超高效以及集成電路的微型化方向開展。目前,市場上出售的數(shù)字萬年歷品種很多,其局部是基于單片機技術(shù)設計的電子系統(tǒng)。它們一般由輸入脈沖電路、單片機、晶振和復位電路、外路存儲器電路和LED顯示電路組成。當

7、今,數(shù)字萬年歷主要用于計時、自動報時,定時,日期查詢以及自動控制等方面。由于單片機技術(shù)以及數(shù)字集成電路技術(shù)的開展,如今的數(shù)字萬年歷系統(tǒng)具有體積小、計時準確、耗電省、維護方便、性能穩(wěn)定、走時準確、攜帶方便等優(yōu)點。另外,現(xiàn)在市場上已有現(xiàn)成的數(shù)字萬年歷集成電路芯片出售而且價格廉價,使用也很方便。2. 總體技術(shù)方案2.1 技術(shù)方案比擬2.1.1 單片機芯片方案一MSP430系列單片機是是美國儀器TI1996年開場推向市場的一種16位超低功耗、具有精簡指令集RISC的混合信號處理器,是一個16位的單片機,具有豐富的尋址方式7 種源操作數(shù)尋址、4 種目的操作數(shù)尋址、簡潔的 27 條核指令以及大量的模擬指令

8、;大量的存放器以及片數(shù)據(jù)存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。適用于一些低功耗、集成度高的設計適用。方案二89C52系列單片機是INTEL公司MCS-51系列單片機中根本的產(chǎn)品,它采用ATMEL公司可靠的CMOS工藝技術(shù)制造的高性能8位單片機,屬于標準的MCS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標準的MCS-51單片機體系構(gòu)造和指令系統(tǒng),屬于89C51增強型單片機版本,集成了時鐘輸出和向上或向下計數(shù)器等更多的功能,適合于類似馬達控制等應用場合。89C52置8位中央處理單元、512字節(jié)部數(shù)據(jù)存儲器

9、RAM、8k片程序存儲器ROM32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷構(gòu)造,一個全雙工串行通信口,片時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停頓,同時停頓芯片其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。對于一些根本日常生活實用功能比擬方便。所以這里我選擇了方案二89C51系列單片機。2.1.2 時鐘芯片方案一直接采用單片機部定時計數(shù)器提供秒信號,利用軟件程序?qū)崿F(xiàn)年、月、日、星期、時

10、、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約本錢,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。方案二DS1302是由美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片,它可以對年、月、日、周、時、分、秒進展計時,且具有閏年補償?shù)榷喾N功能,準確度比擬高。所以采用方案二DS1302S時鐘芯片2.1.3 顯示模塊方案一LED的發(fā)光顏色和發(fā)光效率與制作LED的材料和工藝有關(guān),燈球剛開場全是藍光的,后面再加上熒光粉,根據(jù)用戶的不同需要,調(diào)節(jié)出不同的光色,廣泛使用的有紅、綠、藍、黃四種。由于LED工作電壓低僅 1.24.0V,能主動發(fā)光且有一定亮度,亮度又能用電壓或電流調(diào)節(jié),本身又耐

11、沖擊、抗振動、壽命長10 萬小時,所以在大型的顯示設備中,尚無其他的顯示方式與LED顯示方式匹敵。方案二液晶顯示屏LCD用于數(shù)字型鐘表和許多便攜式計算機的一種顯示器類型。LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液體時會使水晶重新排列,以使光線無法透過它們。因此,每個水晶就像百葉窗,既能允許光線穿過又能擋住光線。液晶顯示器LCD目前科技信息產(chǎn)品都朝著輕、薄、短、小的目標開展,在計算機周邊中擁有悠久歷史的顯示器產(chǎn)品當然也不例外。在便于攜帶與搬運為前題之下,傳統(tǒng)的顯示方式如CRT映像管顯示器及LED顯示板等等,皆受制于體積過大或耗電量甚巨等因素,無法達成使用者的實際需求。而

12、液晶顯示技術(shù)的開展正好切合目前信息產(chǎn)品的潮流,無論是直角顯示、低耗電量、體積小、還是零輻射等優(yōu)點,都能讓使用者享受最正確的視覺環(huán)境。由上比擬我們選擇了方案二LCD液晶顯示屏。2.1.4 溫濕度感應器方案一使用熱敏電阻作為傳感器,用熱敏電阻與一個相應阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進展A/D轉(zhuǎn)換。此設計方案需用A/D轉(zhuǎn)換電路,增加硬件本錢而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二采用SHT10作為溫度和濕度的檢測,該儀器具有測量精度較高、硬件電路簡單、并能很好的進展顯示,可測試不同環(huán)境溫濕度的特點。另外和控制

13、電路相連,可以進展加濕電路和除濕電路的控制,使溫度和濕度參數(shù)在預先設定的圍,不需要人的直接參與。所以我們選用了方案二采用SHT10溫濕度傳感器。2.2 總體技術(shù)方案綜上比擬述,這次的具有溫濕度的萬年歷設計我們使用STC89C52RC芯片作為MCU,SHT10溫濕度感應器芯片作為溫度和濕度的測量;DS1302用來提供時鐘、日期;LCD1602作為顯示屏顯示溫濕度時鐘鬧鐘;使用NE555定時器的電量檢測報警電路作為電量缺乏報警功能。3. 硬件系統(tǒng)設計3.1 硬件總體原理框圖以STC89C52RC單片機為核心,起著控制作用。系統(tǒng)包括LCD1602液晶顯示電路、復位電路、時鐘電路、溫濕度采集電路、按鍵

14、調(diào)整子函數(shù)、按鍵提示音電路、時鐘芯片電路。設計思路分為九個模塊:復位電路、晶振電路模塊、STC89C52RC、LCD1602液晶顯示電路、溫濕度采集電路、按鍵調(diào)整及設置子函數(shù)、按鍵提示音及鬧鐘電路、電量檢測報警電路和時鐘芯片電路這九個模塊。復位電路液晶顯示電路STC89C52單片機溫濕度電路晶振電路提示鬧鐘電路時鐘芯片電路按鍵電路電量檢測電路 3.1.1 硬件總體原理框圖工作原理說明:復位電路能夠使單片機重新開場從頭執(zhí)行工作;晶振電路由12.0MHZ為單片機及其他模塊運行提供工作頻率,保證程序的正常運行;單片機從DS1302時鐘芯片讀取年月日、時分秒、星期的值送給LCD1602顯示,以及從SH

15、T10溫濕度感應器芯片讀取溫度和濕度的值并送給LCD1602顯示,其中讀取到時鐘芯片的值可以通過按鍵模塊設置調(diào)整時間、日期和周;通過按鍵還可以設置多個鬧鐘時間,當你設置的鬧鐘時間跟時鐘芯片讀取的值一致的時候就會觸發(fā)提示鬧鐘電路使蜂鳴器響。最后用電量檢測電路檢測電量,如果電量過低就會觸發(fā)蜂鳴器報警。3.2 關(guān)鍵元件介紹3.2.1 LCD1602液晶顯示屏1602LCD分為帶背光和不帶背光兩種,基控制器大局部為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差異,兩者尺寸差異如下列圖所示:圖:LCD16021602LCD主要技術(shù)參數(shù):顯示容量:16×2個字符芯片工作電壓:4

16、.55.5V工作電流:2.0mA(5.0V)模塊最正確工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm1功能引腳說明:1602LCD采用標準的14腳無背光或16腳帶背光接口,各引腳接口說明如表所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負極表:引腳接口說明表第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器比照度調(diào)整端,接

17、正電源時比照度最弱,接地時比照度最高,比照度過高時會產(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腳:背光源負極。(2) 1602LCD的指令說明及時序1602

18、液晶模塊部的控制器共有11條控制指令,如表所示:序號指令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或DDRAM10要寫的數(shù)據(jù)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)容表:控制命令表3讀寫操作時序如圖和所示:圖圖3.2.2 DS1302時鐘芯片DS1

19、302 是美國 DALLAS 公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài) RAM ,采用 SPI三線接口與 CPU進展和同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和 RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小與31 天時可以自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.55.5V 。采用雙電源供電主電源和備用電源,可設置備用電源充電方式,提供了對后背電源進展涓細電流充電的能力。其引腳圖如下:(1) 引腳的功能說明:Vcc1 :主電源;Vcc2 :備份電源。當 Vcc2>Vcc1+0.2V 時,由 Vcc2向向DS1302 供電Vcc2&l

20、t; Vcc1 時,由 Vcc1向向 DS1302 供電。SCLK :串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出; I/O :三線接口時的雙向數(shù)據(jù)線;CE :輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一,CE 開場控制字訪問移位存放器的控制邏輯;其次,CE提供完畢單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā#?) 2存放器說明:DS1302有日歷、時間的存放器共有12 個,其中有7 個存放器讀時81h 8Dh ,寫時80h 8Ch ,存放的數(shù)據(jù)格式為 BCD 碼形式,小時存放器85h 、84h )的位7 用于定義 DS1302 是運行于12 小時模式還是24 小時模式。當為高時,選擇12 小時模式

21、。在12 小時模式時,位5是,當為1時,表示 PM 。在24 小時模式時,位5 是第二個10 小時位。秒存放器81h 、80h 的位7 定義為時鐘暫停標志CH 。當該位置為1 時,時鐘振蕩器停頓,DS1302 處于低功耗狀態(tài);當該位置為0 時,時鐘開場運行??刂拼娣牌?Fh 、8Eh 的位位7位是寫保護位 WP ,其它7 位均置為0。在任何的對時鐘和 RAM的寫操作之前,WP 位必須為0 。當WP位為1 時,寫保護位防止對任一存放器的寫操作。其讀寫時序操作如下:讀寫時序操作3.2.3 SHT10溫濕度傳感器 SHHT10傳感器將傳感元件和信號處理電路集成在一塊微型電路板上,輸出完全標定的數(shù)字信

22、號;傳感器采用專利的 CMOSens®技術(shù),確保產(chǎn)品具有極高可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上,與14 位的 A/D 轉(zhuǎn)換器以及串行接口電路實現(xiàn)無縫連接。因此,該產(chǎn)品具有品質(zhì)卓越、響應迅速、抗干擾能力強、性價比高等優(yōu)點。期引腳圖如下:(1) 引腳說明:引腳1:接地GND;引腳2:串行數(shù)據(jù)雙向DATA;引腳3:串行時鐘輸入口SCK;引腳4:電源VDD;引腳NC:必須為空(2) 溫濕度測量:發(fā)布一組測量命令00000101表示相對濕度RH,00000011表示溫度T后,控制器要等待測量完畢。這個過程需要大約20/

23、80/320ms,分別對應8/12/14bit 測量。確切的時間隨部晶振速度,最多可能有-30%的變化。SHT1* 通過下拉DATA 至低電平并進入空閑模式,表示測量的完畢。控制器在再次觸發(fā)SCK 時鐘前,必須等待這個"數(shù)據(jù)備妥信號來讀出數(shù)據(jù)。檢測數(shù)據(jù)可以先被存儲,這樣控制器可以繼續(xù)執(zhí)行其它任務在需要時再讀出數(shù)據(jù)。接著傳輸2個字節(jié)的測量數(shù)據(jù)和1 個字節(jié)的CRC 奇偶校驗可選擇讀取。uC 需要通過下拉DATA 為低電平,以確認每個字節(jié)。所有的數(shù)據(jù)從MSB 開,右值有效例如:對于12bit 數(shù)據(jù),從第5個SCK 時鐘起算作MSB;而對于8bit 數(shù)據(jù),首字節(jié)則無意始義。在收到 CRC 確

24、實認位之后,說明通訊完畢。如果不使用 CRC-8 校驗,控制器可以在測量值LSB 后,通過保持ACK高電平終止通訊。在測量和通訊完成后,SHT10自動轉(zhuǎn)入休眠模式。3.3 硬件設計3.3.1 時鐘芯片電路設計 3.3.1 時鐘芯片電路設計3.3.2 復位電路設計 3.3.2 復位電路設計3.3.3 晶振電路設計 3.3.3 晶振電路設計3.3.4 SHT10溫濕度感應器電路設計 3.3.4 SHT10溫濕度感應器電路設計3.3.5 LCD顯示模塊電路設計 3.3.5 LCD顯示模塊電路設計3.3.6 按鍵模塊電路設計 3.3.6 按鍵模塊電路設計3.3.7 蜂鳴器報警電路設計 3.3.7 蜂鳴

25、器報警電路設計3.3.8 電量檢測電路設計 3.3.8 電量檢測電路設計3.3.9 總體電路原理圖 3.3.9 總體電路原理圖4. 軟件系統(tǒng)設計4.1 軟件功能介紹軟件具有對SHT10溫濕度傳感器芯片進展讀寫和溫濕度補償功能,對LCD1602液晶顯示器進展讀寫操作控制LCD顯示功能,對DS1302時鐘芯片的年、月、日、周、時、分、秒等存放器進展讀寫操作,將讀到的數(shù)值送往LCD顯示,并且能通過按鍵設置其值等功能;具有蜂鳴器驅(qū)動功能。4.2 程序設計總體方案4.2.1 總體設計思路先定義好用到的管腳,然后分別對LCD模塊顯示程序初始化、LCD讀寫操作程序初始化,DS1302模塊讀寫程序初始化,SH

26、T10模塊讀寫程序初始化,讀取SHT10溫濕度的值送往LCD顯示,讀取DS1302的時鐘日期送往LCD顯示,接著開啟按鍵掃描子程序等待著按鍵的輸入讀取對時間日期和鬧鐘的設置調(diào)整,將設置好的鬧鐘子程序與DS1302所讀取的時間進展比擬,如是一致則調(diào)用蜂鳴器子程序進展報警。4.2.2 程序流程框圖開場初始化Y 是否按鍵k1 讀寫時間日期 N讀寫溫濕度N是否按鍵k2 Y Y N進入時間日期調(diào)整是否k2有效進入鬧鐘設置 N是否按鍵k3 N N是否按鍵k3 是否按鍵k4 YY Y 多個鬧鐘設置相應位加1相應位減1 N N 是否與時間是否按鍵相等 k4Y Y 返回 LCD顯示蜂鳴器觸發(fā)相應位加1返回4.3

27、 程序的實現(xiàn)我們使用的是C語言編程并利用Keil軟件編譯連接生成He*文件后如圖利用STC燒錄軟件如圖將He*代碼下載到單片機里面;圖4.3.1 Keil軟件編譯c程序圖4.3.2 燒錄軟件以下為局部程序分析:4.3.1 檢查LCD1602忙位子函數(shù)void LCD1602_busy() / 檢查LCD1602忙位子函數(shù)uchar i=0;RS=0; RW=1; E=1; P0=0*ff;i=0; while(P0&0*80)=0*80)&&i<150)i+; E=0; 4.3.2 LCD1602寫指令子函數(shù)void write_(uchar )/LCD1602寫

28、指令子函數(shù)LCD1602_busy();RS=0;RW=0;P0=;E=1;E=0;4.3.3 LCD1602寫數(shù)據(jù)子函數(shù)void write_date(uchar date)/ LCD1602寫數(shù)據(jù)子函數(shù)LCD1602_busy();RS=1;RW=0;P0=date; E=1;E=0;4.3.4 LCD1602初始化子函數(shù)void LCD1602_init()/LCD1602初始化設置uchar i;write_(0*38);write_(0*0c);write_(0*06);write_(0*01);write_(0*80);for(i=0;i<16;i+)write_date(t

29、able1i);delay(500);write_(0*c0);for(i=0;i<16;i+)write_date(table2i);delay(500);a=35;b=10;c=65;d=40;4.3.5 SHT10寫字節(jié)子函數(shù)char s_write_byte(uchar value) uchar i,error=0; for(i=0*80;i>0;i>>=1) /高位為1,循環(huán)右移if(i&value) DATA=1; /和要發(fā)送的數(shù)相與,結(jié)果為發(fā)送的位 else DATA=0; SCK=1; _nop_();_nop_();_nop_();/延時3us

30、 SCK=0;DATA=1; /釋放數(shù)據(jù)線SCK=1; error=DATA; /檢查應答信號,確認通訊正常_nop_();_nop_();_nop_();SCK=0; DATA=1;return error; /error=1 通訊錯誤4.3.6 SHT10讀字節(jié)子函數(shù)char s_read_byte(uchar ack) uchar i,val=0;DATA=1; /釋放數(shù)據(jù)線for(i=0*80;i>0;i>>=1) /高位為1,循環(huán)右移SCK=1; if(DATA) val=(val|i); /讀一位數(shù)據(jù)線的值 SCK=0; DATA=!ack; /如果是校驗,讀取完

31、后完畢通訊;SCK=1; _nop_();_nop_();_nop_();/延時3us SCK=0; _nop_();_nop_();_nop_(); DATA=1; /釋放數(shù)據(jù)線return val;4.3.7 SHT10溫濕度檢測子函數(shù)char s_measure(uchar *p_value,uchar *p_checksum,uchar mode) unsigned error=0;uint i;s_transstart(); /啟動傳輸switch(mode) /選擇發(fā)送命令 case TEMP: error+=s_write_byte(0*03); break; /測量溫度 cas

32、e HUMI:error+=s_write_byte(0*05); break; /測量濕度 default: break; for(i=0;i<65535;i+) if(DATA=0) break; /等待測量完畢if(DATA) error+=1; / 如果長時間數(shù)據(jù)線沒有拉低,說明測量錯誤*(p_value)=s_read_byte(1); /讀第一個字節(jié),高字節(jié) (MSB)*(p_value+1)=s_read_byte(1); /讀第二個字節(jié),低字節(jié) (LSB)*p_checksum=s_read_byte(0);/read CRC校驗碼return error; / erro

33、r=1 通訊錯誤4.3.8 DS1302 時鐘芯片相關(guān)子函數(shù)void inputbyte(uchar add) /往DS1302時鐘芯片寫入一字節(jié)子函數(shù) uint i; ACC=add;for(i=8;i>0;i-)/8個SCLK周期后,接下來的8個SCLK周期的上升沿數(shù)據(jù)字節(jié)被輸入 IO=ACC0; SCLK=1; SCLK=0; ACC=ACC>>1; /DS1302時鐘芯片輸出一字節(jié)子函數(shù)uchar outputbyte() uint i;for(i=8;i>0;i-)/8個SCLK周期后,接下來的8個SCLK周期的下降沿數(shù)據(jù)字節(jié)被輸出 ACC=ACC>&g

34、t;1; ACC7=IO; SCLK=1; SCLK=0; return ACC;/往DS1302時鐘芯片寫入數(shù)據(jù)子函數(shù)void write_ds(uchar add,uchar ucda) RST=0; SCLK=0; RST=1; inputbyte(add); inputbyte(ucda); SCLK=1; RST=0;/從DS1302時鐘芯片讀出數(shù)據(jù)子函數(shù)uchar read_ds(uchar add) uchar ucda; RST=0; SCLK=0; RST=1; inputbyte(add); ucda=outputbyte(); SCLK=1; RST=0; return(

35、ucda);/設置DS1302時鐘芯片子函數(shù)void write_setds(uchar addr,uchar date) write_ds(0*8e,0*00); write_ds(addr,date); write_ds(0*8e,0*80);5. 裝置樣機的制作與調(diào)試先利用Altium Designer軟件畫好原理圖圖5.1,然后生成PCB圖圖5.2;圖5.1:原理圖圖5.2:PCB圖然后接著將PCB打印在墨紙上,利用熱熨斗或者其他工具將圖印刷在銅板,然后就是打孔、腐蝕電路板,接著就能得到以上電路圖的效果了,剩下的就是放元器件接著就是焊接電路板圖5.3,調(diào)試電路圖5.4。圖5.3:焊接電路板圖5.4:調(diào)試電路圖6. 實驗測試6.1 實驗測試目的總體目的:滿足根本的顯示萬年歷功能要求并且具有鬧鐘功能、溫濕度測量顯示功能、低電量報警功能、按鍵設置功能等,每一塊功能都能正常運行,顯示時間和溫濕度誤差要足夠小,運行比擬準確等。6.2 溫濕度和時間日期測試溫濕度測試方法與步驟1測試方法溫濕度的測試主要是通過單片機控制溫濕度芯片的運行工作,讀取它的溫濕度并且通過溫濕度補償調(diào)整來降低誤差,精度到達小數(shù)點后一位,將讀到的溫濕度用LCD顯示出來;所以,我們測試溫濕度的時候

溫馨提示

  • 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

提交評論