




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 桂 林 理 工 大 學 信 息 科 學 與 工 程 學 院 “ 電 子 系 統(tǒng) 設(shè) 計 創(chuàng) 新 與 實 踐 ” 課程設(shè)計(實習)報告 題 目: 具有溫濕度測量功能的萬年歷設(shè)計 專業(yè)(方向): 電子信息工程 班 級: 電信二班 指導老師 : 蔣存波 2016年3月27日 目 次1. 緒論- 12. 總體設(shè)計方案- 2 2.1 技術(shù)方案比較- 2 2.2總體技術(shù)方案- 33. 硬件系統(tǒng)設(shè)計- 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 硬件設(shè)計- 10
2、 3.3.1 復位電路設(shè)計- 10 3.3.2 晶振電路設(shè)計- 10 3.3.3 時鐘芯片電路設(shè)計- 10 3.3.4 溫濕度感應器模塊電路設(shè)計- 11 3.3.5 按鍵模塊電路設(shè)計- 11 3.3.6 LCD1602顯示模塊電路設(shè)計- 11 3.3.7 電量檢測報警電路設(shè)計- 12 3.3.8 蜂鳴器報警電路設(shè)計- 12 3.3.6 總體電路原理圖- 124. 軟件系統(tǒng)設(shè)計- 13 4.1 軟件功能設(shè)計- 13 4.2 程序設(shè)計總體方案- 13 4.2.1 總體設(shè)計思路- 13 4.2.2 程序流程框圖- 13 4.3 程序的實現(xiàn)- 145. 裝置樣機的制作與調(diào)試- 226. 實驗測試- 2
3、37. 總結(jié)- 24參考文獻- 25 1. 緒論 二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數(shù)碼計時技術(shù)的應用(電子萬年歷),使計時產(chǎn)品的走時 日差從分級縮小到1/600萬秒,從原有傳統(tǒng)指針計時的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其 他日常附屬信
4、息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)界跨躍性的進步。 如今電子萬年歷飛 入了尋常百姓家,而且以不斷智能的方式增加著,大多數(shù)都添加了溫度和濕度檢測顯示功能,通過利用單片機的控制還可以設(shè)計出各種各樣的顯示或報警功能等。掛式、臺式以及帶裝飾畫面等豐富的電子萬年歷數(shù)不勝數(shù),不但滿足了精準的計時需求,還將計時帶上了科技時尚的味道。單片機技術(shù)所應用的功 能控制芯片可進行多種功能的設(shè)置,如鬧鐘、報時、日歷查詢、語音等;并改善了很多原有石英鐘不能解決的問題,例如:數(shù)字夜光顯示、數(shù)據(jù)存儲以及全自動溫度 檢測等功能;這給傳統(tǒng)計時消費帶來了新的動力,越來越多的消費者選擇了電
5、子萬年歷。1.1 題目 具有溫濕度測量功能的萬年歷設(shè)計1.2 研究目標與意義(1)總體目標 1)實現(xiàn)萬年歷功能; 2) 具有鬧鐘功能,能設(shè)定三個鬧鐘時間,每個時間都可以設(shè)定一周的那一 天報警; 3)具有溫度和濕度測量功能; 4)利用LCD顯示:年、月、日、星期、時間、溫度、濕度; 5)具有年、月、日、星期、時間、鬧鐘等設(shè)定功能,盡量方便且使用最少 的按鍵完成功能; 6)具有電池電量檢測、低電量報警功能; 7)電池供電;(2)研究意義 設(shè)計電子萬年歷不僅能在生活中得到實用,而且還可以增加自己的動手能力和實踐能力,往里面增加不少功能還可以學到很多東西,不斷地提高自己的知識面,不斷地將實際理論知識應
6、用到生活中,真正地做到理論與實踐相結(jié)合,更具有實習設(shè)計研究意義。1.3 相關(guān)技術(shù)的現(xiàn)狀萬年歷是采用獨立芯片控制內(nèi)部數(shù)據(jù)運行,以LED夜光數(shù)碼或LCD顯示日期、時間、星期、節(jié)氣倒計,以及溫度等日常信息,糅合了多項先進電子技術(shù)及現(xiàn)代經(jīng)典工藝打造的現(xiàn)代 數(shù)碼計時產(chǎn)品。其內(nèi)部電子板硬件與軟件,硬件與硬件之間的兼容性,表現(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)系的階段,它向 著超微型、超高效以及集成電路的微型化方向發(fā)展。目前,市場上出售
7、的數(shù)字萬年歷品種很多, 其中大部分是基于單片機技術(shù)設(shè)計的電子系統(tǒng)。它們一般由輸入脈沖電路、單片機、晶振和復位電路、外路存儲器電路和LED顯示電路組成。當今,數(shù)字萬年歷主要用于計時、自動報時,定時,日期查詢以及自動控制等方面。由于單片機技術(shù)以及數(shù)字集成電路技術(shù)的發(fā)展,如今的數(shù)字萬年歷系統(tǒng)具有體積小、計時準確、耗電省、維護方便、性能穩(wěn)定、走時準確、攜帶方便等優(yōu)點。另外,現(xiàn)在市場上已有現(xiàn)成的數(shù)字萬年歷集成電路芯片出售而且價格便宜,使用也很方便。2. 總體技術(shù)方案2.1 技術(shù)方案比較2.1.1 單片機芯片方案一MSP430系列單片機是是美國德州儀器(TI)1996年開始推向市場的一種16位超低功耗、具
8、有精簡指令集(RISC)的混合信號處理器,是一個16位的單片機,具有豐富的尋址方式(7 種源操作數(shù)尋址、4 種目的操作數(shù)尋址)、簡潔的 27 條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。適用于一些低功耗、集成度高的設(shè)計適用。方案二89C52系列單片機是INTEL公司MCS-51系列單片機中基本的產(chǎn)品,它采用ATMEL公司可靠的CMOS工藝技術(shù)制造的高性能8位單片機,屬于標準的MCS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標準的MCS-51單片機體系結(jié)構(gòu)
9、和指令系統(tǒng),屬于89C51增強型單片機版本,集成了時鐘輸出和向上或向下計數(shù)器等更多的功能,適合于類似馬達控制等應用場合。89C52內(nèi)置8位中央處理單元、512字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、8k片內(nèi)程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(44pin)兩種封裝形
10、式。對于一些基本日常生活實用功能比較方便。所以這里我選擇了方案二89C51系列單片機。2.1.2 時鐘芯片方案一直接采用單片機內(nèi)部定時計數(shù)器提供秒信號,利用軟件程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。方案二DS1302是由美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片,它可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能,精確度比較高。所以采用方案二DS1302S時鐘芯片2.1.3 顯示模塊方案一LED的發(fā)光顏色和發(fā)光效率與制作LED的材料和工藝有關(guān) ,燈球剛開始全是藍光
11、的,后面再加上熒光粉,根據(jù)用戶的不同需要,調(diào)節(jié)出不同的光色,廣泛使用的有紅、綠、藍、黃四種。由于LED工作電壓低(僅 1.24.0V),能主動發(fā)光且有一定亮度 ,亮度又能用電壓(或電流)調(diào)節(jié),本身又耐沖擊、抗振動、壽命長(10 萬小時),所以在大型的顯示設(shè)備中,尚無其他的顯示方式與LED顯示方式匹敵。方案二液晶顯示屏(LCD)用于數(shù)字型鐘表和許多便攜式計算機的一種顯示器類型。LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液體時會 使水晶重新排列,以使光線無法透過它們。因此,每個水晶就像百葉窗,既能允許光線穿過又能擋住光線。液晶顯示器(LCD)目前科技信息產(chǎn)品都朝著輕、薄、
12、短、小的目標發(fā)展,在計算機周邊中擁有悠久歷史的顯示器產(chǎn)品當然也不例外。在便于攜帶與搬運為前題之下,傳統(tǒng)的顯示方式如CRT映像管顯示器及LED顯示 板等等,皆受制于體積過大或耗電量甚巨等因素,無法達成使用者的實際需求。而液晶顯示技術(shù)的發(fā)展正好切合目前信息產(chǎn)品的潮流,無論是直角顯示、低耗電量、 體積小、還是零輻射等優(yōu)點,都能讓使用者享受最佳的視覺環(huán)境。由上比較我們選擇了方案二LCD液晶顯示屏。2.1.4 溫濕度感應器方案一使用熱敏電阻作為傳感器,用熱敏電阻與一個相應阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行A/D轉(zhuǎn)換。此設(shè)計方案需用A/D轉(zhuǎn)換電路
13、,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。方案二 采用SHT10作為溫度和濕度的檢測,該儀器具有測量精度較高、硬件電路簡單、并能很好的進行顯示,可測試不同環(huán)境溫濕度的特點。另外和控制電路相連,可以進行加濕電路和除濕電路的控制,使溫度和濕度參數(shù)在預先設(shè)定的范圍內(nèi),不需要人的直接參與。所以我們選用了方案二采用SHT10溫濕度傳感器。2.2 總體技術(shù)方案綜上比較陳述,這次的具有溫濕度的萬年歷設(shè)計我們使用STC89C52RC芯片作為MCU,SHT10溫濕度感應器芯片作為溫度和濕度的測量;DS1302用來提供時鐘、日期;LCD1602作為顯示屏顯示溫濕度時鐘鬧鐘;使
14、用NE555定時器的電量檢測報警電路作為電量不足報警功能。3. 硬件系統(tǒng)設(shè)計3.1 硬件總體原理框圖 以STC89C52RC單片機為核心,起著控制作用。系統(tǒng)包括LCD1602液晶顯示電路、復位電路、時鐘電路、溫濕度采集電路、按鍵調(diào)整子函數(shù)、按鍵提示音電路、時鐘芯片電路。設(shè)計思路分為九個模塊:復位電路、晶振電路模塊、STC89C52RC、LCD1602液晶顯示電路、溫濕度采集電路、按鍵調(diào)整及設(shè)置子函數(shù)、按鍵提示音及鬧鐘電路、電量檢測報警電路和時鐘芯片電路這九個模塊。 復位電路液晶顯示電路 STC89C52單片機溫濕度電路 晶振電路 提示鬧鐘電路 時鐘芯片電路 按鍵電路電量檢測電路 3.1.1 硬
15、件總體原理框圖 工作原理說明:復位電路能夠使單片機重新開始從頭執(zhí)行工作;晶振電路由12.0MHZ為單片機及其他模塊運行提供工作頻率,保證程序的正常運行;單片機從DS1302時鐘芯片讀取年月日、時分秒、星期的值送給LCD1602顯示,以及從SHT10溫濕度感應器芯片讀取溫度和濕度的值并送給LCD1602顯示,其中讀取到時鐘芯片的值可以通過按鍵模塊設(shè)置調(diào)整時間、日期和周;通過按鍵還可以設(shè)置多個鬧鐘時間,當你設(shè)置的鬧鐘時間跟時鐘芯片讀取的值一致的時候就會觸發(fā)提示鬧鐘電路使蜂鳴器響。最后用電量檢測電路檢測電量,如果電量過低就會觸發(fā)蜂鳴器報警。3.2 關(guān)鍵元件介紹3.2.1 LCD1602液晶顯示屏 1
16、602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,兩者尺寸差別如下圖3.2.1所示: 圖3.2.1:LCD16021602LCD主要技術(shù)參數(shù):顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm(1)功能引腳說明:1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表3.2.2所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3
17、VL液晶顯示偏壓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背光源負極 表3.2.2:引腳接口說明表第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址
18、,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負極。(2) 1602LCD的指令說明及時序1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3.2.3所示:序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*7
19、置字符發(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)容 表3.2.3:控制命令表(3)讀寫操作時序如圖3.2.4和3.2.5所示: 圖3.2.4 圖3.2.53.2.2 DS1302時鐘芯片 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài) RAM ,采用 SPI三線接口與 CPU進行和 同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和 RAM數(shù)據(jù)。實時時鐘可提供秒、分、時
20、、日、星期、月和年,一個月小與31 天時可以自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.5 5.5V 。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對后背電源進行涓細電流充電的能力。其引腳圖如下: (1) 引腳的功能說明:Vcc1 :主電源;Vcc2 :備份電源。當 Vcc2>Vcc1+0.2V 時,由 Vcc2向 向DS1302 供電Vcc2< Vcc1 時,由 Vcc1向 向 DS1302 供電。SCLK :串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出; I/O :三線接口時的雙向數(shù)據(jù)線;CE :輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一,CE
21、 開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒?。?) (2)寄存器說明:DS1302有日歷、時間的寄存器共有12 個,其中有7 個寄存器(讀時81h 8Dh ,寫時80h 8Ch ),存放的數(shù)據(jù)格式為 BCD 碼形式,小時寄存器(85h 、84h )的位7 用于定義 DS1302 是運行于12 小時模式還是24 小時模式。當為高時,選擇12 小時模式。在12 小時模式時,位5是,當為1時,表示 PM 。在24 小時模式時,位5 是第二個10 小時位。秒寄存器(81h 、80h )的位7 定義為時鐘暫停標志(CH )。當該位置為1 時,時鐘振蕩器停止,DS
22、1302 處于低功耗狀態(tài);當該位置為0 時,時鐘開始運行。控制寄存器(8Fh 、8Eh )的位 位7位 是寫保護位( WP ),其它7 位均置為0。在任何的對時鐘和 RAM的寫操作之前,WP 位必須為0 。當WP位為1 時,寫保護位防止對任一寄存器的寫操作。其讀寫時序操作3.2.6如下: 3.2.6讀寫時序操作3.2.3 SHT10溫濕度傳感器 SHHT10傳感器將傳感元件和信號處理電路集成在一塊微型電路板上,輸出完全標定的數(shù)字信號;傳感器采用專利的 CMOSens® 技術(shù),確保產(chǎn)品具有極高可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件
23、,并在同一芯片上,與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)后,控制器要等待測量結(jié)束。這個過程需要大約20/80/320ms,分別對應8/12/14bit 測量。確切的時間隨內(nèi)部晶振速度,最多可能有-30%的變化。SHT1x 通過下拉DATA 至低電
24、平并進入空閑模式,表示測量的結(jié)束??刂破髟谠俅斡|發(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 的確認位之后,表明通訊結(jié)束 。如果不使用 CRC-8 校驗,控制器可以在測量值LSB 后,通過保持ACK高電平終止通訊。在測量和通訊完成后,S
25、HT10自動轉(zhuǎn)入休眠模式。3.3 硬件設(shè)計3.3.1 時鐘芯片電路設(shè)計 3.3.1 時鐘芯片電路設(shè)計3.3.2 復位電路設(shè)計 3.3.2 復位電路設(shè)計3.3.3 晶振電路設(shè)計 3.3.3 晶振電路設(shè)計3.3.4 SHT10溫濕度感應器電路設(shè)計 3.3.4 SHT10溫濕度感應器電路設(shè)計3.3.5 LCD顯示模塊電路設(shè)計 3.3.5 LCD顯示模塊電路設(shè)計 3.3.6 按鍵模塊電路設(shè)計 3.3.6 按鍵模塊電路設(shè)計3.3.7 蜂鳴器報警電路設(shè)計 3.3.7 蜂鳴器報警電路設(shè)計3.3.8 電量檢測電路設(shè)計 3.3.8 電量檢測電路設(shè)計3.3.9 總體電路原理圖 3.3.9 總體電路原理圖4. 軟件
26、系統(tǒng)設(shè)計4.1 軟件功能介紹軟件具有對SHT10溫濕度傳感器芯片進行讀寫和溫濕度補償功能,對LCD1602液晶顯示器進行讀寫操作控制LCD顯示功能,對DS1302時鐘芯片的年、月、日、周、時 、分、秒等寄存器進行讀寫操作,將讀到的數(shù)值送往LCD顯示,并且能通過按鍵設(shè)置其值等功能;具有蜂鳴器驅(qū)動功能。4.2 程序設(shè)計總體方案4.2.1 總體設(shè)計思路 先定義好用到的管腳,然后分別對LCD模塊顯示程序初始化、LCD讀寫操作程序初始化,DS1302模塊讀寫程序初始化,SHT10模塊讀寫程序初始化,讀取SHT10溫濕度的值送往LCD顯示,讀取DS1302的時鐘日期送往LCD顯示, 接著開啟按鍵掃描子程序
27、等待著按鍵的輸入讀取對時間日期和鬧鐘的設(shè)置調(diào)整,將設(shè)置好的鬧鐘子程序與DS1302所讀取的時間進行比較,如是一致則調(diào)用蜂鳴器子程序進行報警。4.2.2 程序流程框圖 開始 初始化 Y 是否按鍵k1 讀寫時間日期 N 讀寫溫濕度 N 是否按鍵k2 Y Y N 進入時間日期調(diào)整 是否k2有效 進入鬧鐘設(shè)置 N 是否按鍵k3 N N 是否按鍵k3 是否按鍵k4 Y Y Y 多個鬧鐘設(shè)置相應位加1 相應位減1 N N 是否與時間 是否按鍵 相等 k4 Y Y 返回 LCD顯示 蜂鳴器觸發(fā) 相應位加1返回4.3 程序的實現(xiàn)我們使用的是C語言編程并利用Keil軟件編譯連接生成Hex文件后(如圖4.3.1)
28、利用STC燒錄軟件(如圖4.3.2)將Hex代碼下載到單片機里面; 圖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=0xff;i=0; while(P0&0x80)=0x80)&&i<150)i+; E=0; 4.3.2 LCD1602寫指令子函數(shù)void write_com(uchar com)/LCD1602寫指令子函數(shù)LCD1602_busy();RS=
29、0;RW=0;P0=com;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初始化設(shè)置uchar i;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(i=0;i<16;i+)write_date(table1
30、i);delay(500);write_com(0xc0);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=0x80;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
31、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=0x80;i>0;i>>=1) /高位為1,循環(huán)右移 SCK=1; if(DATA) val=(val|i); /讀一位數(shù)據(jù)線的值 SCK=0; DATA=!ack; /如果是校驗,讀取完
32、后結(jié)束通訊;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(0x03); break; /測量溫度 cas
33、e HUMI:error+=s_write_byte(0x05); break; /測量濕度 default: break; for(i=0;i<65535;i+) if(DATA=0) break; /等待測量結(jié)束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; / err
34、or=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>
35、;>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; retu
36、rn(ucda);/設(shè)置DS1302時鐘芯片子函數(shù)void write_setds(uchar addr,uchar date) write_ds(0x8e,0x00); write_ds(addr,date); write_ds(0x8e,0x80);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 實驗測試目的 總體目的:滿足基本的顯示萬年歷功能要求并且具有鬧鐘功能、溫濕度測量顯示功能、低電量報警功能、按鍵設(shè)置功能等,每一塊功能都能正常運行,顯示時間和溫濕度誤差要足夠小,運行比較精確等。6.2 溫濕度和時間日期測試6.2.1溫濕度測試方法與步驟(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作預算合同范本
- 售后回購融資合同范例
- 二人合伙養(yǎng)狗合同范本
- 賣房定金違約合同范本
- 個人店面裝修合同范本
- 1內(nèi)9折回購合同范本
- 會展安裝設(shè)計合同范本
- 單位院子改造合同范本
- 單位刮大白合同范本
- 公司車輛洗車合同范例
- 預防校園欺凌主題班會課件(共36張課件)
- 閥控密封式鉛酸蓄電池使用說明書.
- 從業(yè)務骨干到管理者(課堂PPT)
- 高標準基本農(nóng)田土地整治項目工程施工費預算表
- 河南省普通高校招生考生體格檢查表
- 新三板知識測評考題答案
- 英文版驗資報告
- 試坑單環(huán)注水試驗記錄表
- 管網(wǎng)工程停氣恢復供氣方案
- 英語教學經(jīng)驗交流發(fā)言稿
- 水稻種植專業(yè)合作社簡介
評論
0/150
提交評論