基于51單片機電子溫度計臺歷畢業(yè)設計_第1頁
基于51單片機電子溫度計臺歷畢業(yè)設計_第2頁
基于51單片機電子溫度計臺歷畢業(yè)設計_第3頁
基于51單片機電子溫度計臺歷畢業(yè)設計_第4頁
基于51單片機電子溫度計臺歷畢業(yè)設計_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子溫度計臺歷論文國 家 示 范 性 高 等 職 業(yè) 院 校電子溫度計臺歷姓名: 吳保林 年級: 2010 專業(yè): 電子信息工程技術電話:e-mail: wlr5678 志當高 學當勤 能必強 技必精xxxx學院畢業(yè)設計(論文)任 務 書 電子信息工程 系(部) 電子信息工程技術 專業(yè) 2010電子信息工程技術班 學生 xxx 學號 xxxxxxxxxx 一、畢業(yè)設計(論文)題目: 電子溫度計臺歷 二、畢業(yè)設計(論文)工作規(guī)定進行的日期:2012年11月1日起至2013年5月20 日 止 三、畢業(yè)設計(論文)進行地點: 四、任務書的內容:設計目的:電子臺歷是一種用數字

2、電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,節(jié)省了電能。因此得到了廣泛的使用。數字鐘是一種典型的數字電路,包括了組合邏輯電路和時序電路。通過設計加深對數字電子技術的認識。 我們此次設計電子臺歷是為了了解時鐘芯片ds1302和12864液晶的原理,加深對我們所學知識的了解和認識、以及知識遷移的能力。而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規(guī)模集成電路的作用及實用方法。且由于數字鐘包括組合邏輯電路和時序電路,通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法,以及各種電路之間是怎樣聯系起來的。設計任

3、務: 1 設計指標1.時間以24小時為一個周期;2.顯示時、分、秒;3.具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間;4.計時過程具有報時功能,當時間到達整點進行蜂鳴報時;5.為了保證計時的穩(wěn)定及準確須由晶體振蕩器提供表針時間基準信號。設計要求(1)顯示室內溫度,精度 0.5 度; (2) 顯示實時時鐘,可以對年、月、日、周、日、時、分、秒進行計時,且具有閏年補償功能,可調整時間、日期; (3) 設置鬧鐘三個以上;(4)具有溫度報警功能;說明: 1.顯示屏采用126*64規(guī)格 2.時間和日期的顯示格式可自定義工作日程安排:2012.11.15-2012.12.20查找相關書籍

4、、參考文獻,了解設計原理。2012.12.21-2012.12.30 進行模擬仿真2013.01.01-2013.01.15編寫程序,實現功能.2013.01.26-2013.05.10 寫論文,上交設計作品設計(論文)要求: 要求提供以下設計資料,匯報設計與制作的全過程,附上有關資料和圖紙,有設計心得體會并裝訂成冊:1.摘要(所做的設計如有特別之處,一定要挑明);2. 原理框圖3. 元器件明細表及參數選擇4. 各功能塊電路圖5. pcb文件生成與打印輸出6. 操作原理簡要說明7.調試的結果是否滿足設計要求學生開始執(zhí)行任務書日期 200 年 月 日 指導教師簽名: 年 月 日學生送交畢業(yè)設計(

5、論文)日期: 200 年 月 日 教研室主任簽名: 年 月 日學生簽名: 年 月 日目錄1 緒論71.1 電子臺歷的背景71.2電子臺歷的意義81.3電子臺歷的應用82 整體設計方案選擇82.1 555定時器方案82.2 單片機方案83 數字鐘的硬件設計83.1 最小系統設計83.1.2 數據存儲器(ram)83.1.3 程序存儲器(rom):83.1.4 定時/計數器(rom):83.1.5 并行輸入輸出(i/o)口:83.1.6 全雙工串行口:83.1.7 中斷系統:83.1.8 時鐘電路:83.2 顯示器83.2.1 液晶顯示模塊概述83.2.2 外形尺寸83.2.3 模塊引腳說明83.

6、3 時鐘芯片130283.3.1 ds1302時鐘芯片簡介83.3.3 ds1302的工作原理83.3.4 ds1302的寄存器和控制命令83.3.5 ds1302內部寄存器列表83.4 ds18b20測溫系統83.4.1 ds18b20簡介83.4.2 ds18b20的內部結構及工作原理83.5 鍵盤控制電路83.6供電系統83.7語音報時系統83.8紅外遙控設計84數字鐘的軟件設計84.1 系統軟件設計流程圖84.1.1主函數程序 流程圖和效果圖84.1.2主函數程序 編寫:84.2 12864led顯示函數84.2.1顯示函數程序 流程圖84.2.2顯示函數程序 編寫:84.3 ds13

7、02函數84.3.1 ds1302程序 流程圖84.4 ds18b20溫度采集84.4.1 ds18b20溫度采集 流程圖84.4.3 ds18b20函數編寫84.5.2.1 時間設置菜單顯示84.5.2.2 時間設置菜單顯示 函數編寫:84.5.3.1時間設置菜單顯示84.5.3.2 鬧鐘設置菜單顯示 函數編寫:84.5.3.1 紅外遙控84.5.3.2 紅外遙控 函數編寫:8致 謝8附 錄8電子溫度計臺歷吳保林(柳州職業(yè)技術學院電子信息工程系)摘要 隨著科技的快速發(fā)展,時間的流逝,至從觀太陽、擺鐘到現在電子鐘,人類不斷研究,不斷創(chuàng)新紀錄。美國dallas公司推出的具有涓細電流充電能的低功耗

8、實時時鐘電路ds1302。它可以對年、月、日、周日、時、分、秒進行計時,還具有閏年補償等多種功能,而且ds1302的使用壽命長,誤差小。對于數字電子萬年歷采用直觀的數字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準等功能。該電路采用at89s52單片機作為核心,功耗小,能在3v的低壓工作,電壓可選用35v電壓供電。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關鍵詞:時鐘電鐘 ds1302 ds18b20 動態(tài)掃描 1 緒論1.1 電子臺歷的背景 作為中國一種傳統的東西,掛歷在人們心

9、中一直有著特殊的含義。因為掛歷除了有查閱日期、方便記事等功能外,還是一種頗有文化品位的裝飾物。而對于一些公司、企業(yè),在掛歷上印刷一些自己的產品、服務內容、聯系電話等,無疑也是一種宣傳,也正是因為如此,掛歷長期以來一直受到人們的青睞。什么銅版紙、塑膜掛歷、典雅的宣紙、絹絲、油畫布掛歷和富麗堂皇的金箔畫、鐳射畫掛歷等層出不窮。而今,隨著時代發(fā)展,掛歷大有美人遲暮之感。據調查發(fā)現90%的家庭表示今年將不會去買掛歷;其中50%的市民家庭的掛歷是單位發(fā)或他人送;但這50%的市民表示,如果單位不發(fā)、他人不送,自己不會主動去買。那么是什么讓本設計的傳統如此疲軟呢?眾所周知,傳統掛歷最大的功能是查看日期,裝飾

10、其次,作為禮品則是最后。近些年隨著生活水平的提高,人們獲知日期的途徑已越來越多。據中國社會調查事務所(ssic)在北京、上海等地對265位居民進行的計算機輔助電話調查顯示(此項調查為多選題):有68%的被訪者看日歷,有62%的被訪者看臺歷(其中有21%的被訪者使用的是電子臺歷);有58%的被訪者看呼機;有27%的被訪者看手機;有20%的被訪者看手表;有14%的被訪者看街上的顯示牌;有33%的被訪者看電視;有60%的被訪者看報紙;有16%的被訪者聽廣播;有42%的被訪者上網;有12%的被訪者向別人打聽。由此表明,掛歷實用功能的弱化直接導致了掛歷市場的”疲軟”。 那么,曾經被認同的裝飾功能呢?回答

11、也是否定的。很多人已經明確表示,明年不掛掛歷。因為消費者認為花很大力氣裝修的房子,有誰愿意在墻上打個眼兒掛掛歷呢?影響美觀不說,還很俗氣。至于禮品功能,大多數消費者都認為現在用掛歷當禮品有點不夠檔次1.2電子臺歷的意義隨著電子科技的不斷發(fā)展,傳統的掛歷已被一些高檔的電子臺歷所取代,與傳統的掛歷相比,電子臺歷融合了掛歷和時鐘的優(yōu)點,能晝夜清晰顯示,集年、月、日、時、分、秒、日期、農歷、氣溫于一體,外觀新穎,造型別具一格。除此之外由于掛歷制作成本相對較高,掛歷的銷售價格也大多在1530元之間,而一個電子臺歷的價格也在這之間,但是掛歷只能用一年,而電子臺歷則不一樣,由于它可以自動識別閏年、公歷、農歷

12、、大小月份、農歷,星期能自動對應公歷無須調整。對若干年前后的日期都可以查詢,但考慮到其壽命原因,至少也可用58年。在價格相差不大的情況下,電子臺歷的性價比顯然要高的多,就其閱讀功能而言,電子臺歷閱讀起來更加方便,同時他還有鬧鈴和顯示溫度的功能,這比傳統的掛歷要強大的多。其實現的方法也很簡單,用一個單片機和lcd液晶顯示器就可以實現,由此可見,電子臺歷的市場經濟開發(fā)價值要比掛歷要高的多,電子臺歷取代傳統的掛歷已成為不可抵擋的趨勢。1.3電子臺歷的應用 數字鐘已成為人們日常生活中:必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學習、工作、娛樂帶來極大的方便

13、。由于數字集成電路技術的發(fā)展和采用了先進的石英技術,使數字鐘具有走時準確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領域。 2 整體設計方案選擇2.1 555定時器方案 555定時器是一種模擬和數字功能相結合的中規(guī)模集成器件。一般用雙極型工藝制作的稱為 555,用 cmos 工藝制作的稱為 7555,除單定時器外,還有對應的雙定時器 556/7556。555 定時器的電源電壓范圍寬,可在 4.5v16v 工作,7555 可在 318v 工作,輸出驅動電流約為 200ma,因而其輸出可與 ttl、cmos 或者模擬電路電平兼容。采用555定時器來輸入脈沖,先通過74ls90

14、進行十進制計數(時鐘的秒數個位),達到進位時將進位送入74ls92進行六進制計數(時鐘的秒數十位),進位送入74ls90進行十進制計數(時鐘的分位);由74ls47譯碼后送給數碼管進行顯示。數字時鐘結構框圖如圖圖2-1數字時鐘的原理框圖用555定時器構成多諧振蕩器,輸出穩(wěn)定的調頻脈沖,作為時間基準。振蕩器是計時器的核心,其作用是產生一個標準頻率的脈沖信號。振蕩頻率的精度和穩(wěn)定度決定了數字鐘的質量。圖采用集成電路555定時器與rc組成t=1ms的多諧振蕩器。輸出的脈沖頻率為f=1khz。555振蕩器電路圖圖2-2 555振蕩器電路74ls90是異步二五十進制加法計數器,它既可以作二進制加法計數器

15、,又可以作五進制和十進制加法計數器。74ls90的功能如表2.3所示。通過不同的連接方式,74ls90 可以實現四種不同的邏輯功能;而且可借助 r0(1)、r0(2)對計數器清零,借助 s9(1)、s9(2)將計數器置 9。其功能詳述如下:(1) 計數脈沖從 cp1 輸入,qa 作為輸出端,為二進制計數器。(2) 計數脈沖從 cp2 輸入,qdqcqb 作為輸出端,為異步五進制加法計數器。(3) 若將 cp2 和 qa 相連,計數脈沖由 cp1 輸入,qd、qc、qb、qa 作為輸出端,則構成異步 8421 碼十進制加法計數器。(4) 若將 cp1 與 qd 相連,計數脈沖由 cp2 輸入,q

16、a、qd、qc、qb 作為輸出端,則構成異步 5421 碼十進制加法計數器。(5) 清零、置 9 功能。74ls92(6進制計數器)表1 74ls92的真值表countoutputq0q1q2q30llll1hlll2lhll3hhll4llhl5hlhl6lllh7hllh8lhlh9hhlh10llhh11hlhh譯碼器74ls4774ls47是bcd-7段數碼管譯碼器/驅動器,74ls47的功能用于將bcd碼轉化成數碼塊中的數字,通過它解碼,可以直接把數字轉換為數碼管的顯示數字,從而簡化了程序,節(jié)約了單片機的io開銷。譯碼為編碼的逆過程。它將編碼時賦予代碼的含義“翻譯”過來。實現譯碼的邏

17、輯電路成為譯碼器。譯碼器輸出與輸入代碼有唯一的對應關系。74ls47是輸出低電平有效的七段字形譯碼器。與數碼管配合使用。價格貴2.2 單片機方案單片機(常用英文字母的縮寫mcu表示)是微型機的一個主要分支,它在結構上的最大特點使把cpu、存儲器、定時器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機芯片就是一臺計算機。單片機具有如下特點:有優(yōu)異的性能價格比;1 集成度高、體積小、有很高的可靠性;2 控制功能強;3 低功耗、低電壓,便于生產便攜式產品;4 外部總線增加了i2c、spi等串行總線方式,進一步縮小了體積,簡化了結構;5 單片機的系統擴展、系統配

18、置較典型、規(guī)范,容易構成各種規(guī)模的應用系統。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。單片機廣泛應于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域傳統。利用單片機的智

19、能性,可方便地實現具有智能的電子鐘設計。單片機均具有時鐘振蕩系統,利用系統時鐘借助微處理器的定時器/計數器可實現電子鐘功能。然而系統時鐘誤差較大,電子鐘的積累誤差也可能較大,所以可以通過誤差修正軟件加以修正,或者在設計中加入高精度時鐘日歷芯片,以精確時間。另外很多功能不同的單片機是兼容的,這就更便于實現產品的多功能性。單片機方案設計框圖:圖2-4單片機方案設計框圖2.2.1 芯片選擇1.ds1302ds1302 是美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5v5.5v。采用三線接口與cpu

20、進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數據。ds1302內部有一個318的用于臨時性存放數據的ram寄存器。ds1302是ds1202的升級產品,與ds1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。使用時鐘芯片ds1302。它是一種高性能、低功耗、帶ram的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能。2.使用液晶(12864)進行顯示。md12864c-1漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16x16點陣)、128個字符(8x16點陣)及64x256點陣顯

21、示ram(gdram)。主要技術參數和顯示特性:電源:vdd 3.3v+5v(內置升壓電路,無需負壓);顯示內容:128列 64行顯示顏色:灰膜顯示角度:6:00鐘直視lcd類型:stn與mcu接口:8位或4位并行/3位串行配置led背光多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等3.使用18b20測溫ds18b20是美國dallas半導體公司繼ds1820之后最新推出的一種數字化單總線器件。屬于新一代適配微處理器的改進型智能溫度傳感器。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現912位的數字值讀數方式。ds18b20的性能特點如下:(1)

22、采用dallas公司獨特的單線接口方式:ds18b20與微處理器連接時僅需要一條口線即可實現微處理器與ds18b20的雙向通訊; (2)在使用中不需要任何外圍元件;(3)可用數據線供電,供電電壓范圍:+3.0v+5.5v;(4)測溫范圍:-55+125。固有測溫分辨率為0.5。當在-10+85范圍內,可確保測量誤差不超過0.5,在-55+125范圍內,測量誤差也不超過2;(5)通過編程可實現912位的數字讀數方式;(6)用戶可自設定非易失性的報警上下限值;(7)支持多點的組網功能,多個ds18b20可以并聯在唯一的三線上,實現多點測溫(8)負壓特性,即具有電源反接保護電路。當電源電壓的極性反接

23、時,能保護ds18b20不會因發(fā)熱而燒毀,但此時芯片無法正常工作;(9)ds18b20的轉換速率比較高,進行9位的溫度值轉換只需93.75ms;(10)適配各種單片機或系統;(11)內含64位激光修正的只讀存儲rom,扣除8位產品系列號和8位循環(huán)冗余校驗碼(crc)之后,產品序號占48位。出廠前產品序號存入其rom中。在構成大型溫控系統時,允許在單線總線上掛接多片ds18b206。4.單片機目前在單片機系統中,應用比較廣泛的微處理器芯片主要為8xc5x系列單片機。該系列單片機均采用標準mcs-51內核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價格低廉,貨源充足,調試和編程方便,

24、所以應用極為廣泛。at89s52單片機是一款低功耗,低電壓,高性能cmos 8位單片機,片內含8kb(可經受1000次擦寫周期)的flash可編程可反復擦寫的只讀程序存儲器(eprom),器件采用cmos工藝和atmei公司的高密度、非易失性存儲器(nuram)技術制造,其輸出引腳和指令系統都與mcs-51兼容。片內的flash存儲器允許在系統內可改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此,at89s52是一種功能強,靈活性高且價格合理的單片機,可方便的應用在各個控制領域。at89s52具有以下主要性能:1. 8kb可改編程序flash存儲器;2. 全靜態(tài)工作:024hz;3. 256

25、8字節(jié)內部ram;4. 32個外部雙向輸入/輸出(i/o)口;5. 8個中斷優(yōu)先級; 3個16位可編程定時計數器;6. 可編程串行通道;7. 片內時鐘振蕩器。此外,at89s52是用靜態(tài)邏輯來設計的,其工作頻率可下降到0hz,并提供兩種可用軟件來選擇的省電方式空閑方式(idle mode)和掉電方式(power down mode)。在空閑方式中,cpu停止工作,而ram、定時器/計數器、串行口和中斷系統都繼續(xù)工作。在掉電方式中,片內振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停,只保存片內ram中的內容,直到下一次硬件復位為止。語音報時方案語音芯片是特定的固定標準模塊,可以通過單片機最

26、少一個io口控制多達32段聲音任意調用和組合的語音標準芯片。通常最常用的控制方式是采用了模擬串行的控制方式(3個io)。如需要播放第幾個地址的內容就發(fā)送幾個脈沖,可以快速的控制多達32段地址的任意組合。3 數字鐘的硬件設計3.1 最小系統設計 單片機的最小系統是由電源、復位、晶振、/ea=1組成。圖3-1最小系統設計3.1.1 中央處理器:中央處理器(cpu)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,cpu負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出功能等操作。3.1.2 數據存儲器(ram)8052內部有128個8位用戶數據存儲單元和1

27、28個專用寄存器單元,它們是統一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的ram只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。 圖3-2 單片機8052的內部結構3.1.3 程序存儲器(rom):8052共有4096個8位掩膜rom,用于存放用戶程序,原始數據或表格。3.1.4 定時/計數器(rom):8052有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用于控制程序轉向。3.1.5 并行輸入輸出(i/o)口:8052共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數據的傳輸。3.1.6 全雙

28、工串行口:8052內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。3.1.7 中斷系統:8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3.1.8 時鐘電路:8052內置最高頻率達12mhz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數據存儲器分開的形式,即哈佛(harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數據存儲器合二為一。8052的復位方式可以是自

29、動復位,也可以是手動復位,見下圖4。此外,reset/vpd還是一復用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機內部ram的數據不丟失圖3-3 上電自動和手動復位電路圖圖 3-4 內部和外部時鐘方式圖pin30:ale/當訪問外部程序器時,ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內部程序存儲器時,ale端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ale會跳過一個脈沖。 如果單片機是eprom,在編程其間,將用于輸入編程脈沖。pin29:當訪問外部程序存儲器時,此腳輸出負脈沖選通

30、信號,pc的16位地址數據將出現在p0和p2口上,外部程序存儲器則把指令數據放到p0口上,由cpu讀入并執(zhí)行。3.2 顯示器3.2.1 液晶顯示模塊概述md12864c-1漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16x16點陣)、128個字符(8x16點陣)及64x256點陣顯示ram(gdram)。主要技術參數和顯示特性:電源:vdd 3.3v+5v(內置升壓電路,無需負壓);顯示內容:128列 64行顯示顏色:灰膜顯示角度:6:00鐘直視lcd類型:stn與mcu接口:8位或4位并行/3位串行配置led背光多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等

31、3.2.2 外形尺寸外觀尺寸:937012.5mm 視域尺寸:7339mm3.2.3 模塊引腳說明表 2模塊引腳說明3.3 時鐘芯片13023.3.1 ds1302時鐘芯片簡介ds1302 是美國dallas公司推出的一種高性能、低功耗、帶ram的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數據。ds1302內部有一個318的用于臨時性存放數據的ram寄存器。ds1302是ds1202的升級產品,與ds1202兼容,但增加了主電源/后備電源雙電源引腳

32、,同時提供了對后備電源進行涓細電流充電的能力。3.3.2結構 ds1302的引腳排列,其中vcc1為后備電源,vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。ds1302由vcc1或vcc2兩者中的較大者供電。當vcc2大于vcc1+0.2v時,vcc2給ds1302供電。當vcc2小于vcc1時,ds1302由vcc1供電。x1和x2是振蕩源,外接32.768khz晶振。rst是復位/片選線,通過把rst輸入驅動置高電平來啟動所有的數據傳送。rst輸入有兩種功能:首先,rst接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數據傳送的方法。當r

33、st為高電平時,所有的數據傳送被初始化,允許對ds1302進行操作。如果在傳送過程中rst置為低電平,則會終止此次數據傳送,i/o引腳變?yōu)楦咦钁B(tài)。上電運行時,在vcc2.0v之前,rst必須保持低電平。只有在sclk為低電平時,才能將rst置為高電平。i/o為串行數據輸入輸出端(雙向),后面有詳細說明。sclk為時鐘輸入端。 3.3.3 ds1302的工作原理ds1302工作時為了對任何數據傳送進行初始化,需要將復位腳(rst)置為高電平且將8位地址和命令信息裝入移位寄存器。數據在時鐘(sclk)的上升沿串行輸入,前8位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,讀操作時輸出數據,

34、寫操作時輸出數據。時鐘脈沖的個數在單字節(jié)方式下為8+8(8位地址+8位數據),在多字節(jié)方式下為8加最多可達248的數據。3.3.4 ds1302的寄存器和控制命令 對ds1302的操作就是對其內部寄存器的操作,ds1302內部共有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為bcd碼形式。此外,ds1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與ram相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器以外的寄存器。日歷、時間寄存器及控制字如表3所示:表3 日歷、時鐘寄存器與控制字對照表寄存器名稱6543210ram/cka4a3a2a1a0rd/w秒寄

35、存器000000分寄存器000001小時寄存器000010日寄存器000011月寄存器000100星期寄存器000101年寄存器000110寫保護寄存器000111慢充電寄存器001000時鐘突發(fā)寄存器011111(注:最后一位rd/w為“0”時表示進行寫操作,為“1”時表示讀操作。)3.3.5 ds1302內部寄存器列表如表4所示:寄存器名稱命令字取值范圍各位內容寫讀76543210秒寄存器80h81h00-59ch10secsec分寄存器82h83h00-59010minmin小時寄存器84h85h01-12或00-2312/240ahrhr日期寄存器86h87h01-28,29,30,3

36、10010datedate月份寄存器88h89h01-1200010mmonth周寄存器8ah8bh01-0700000day年份寄存器8ch8dh00-9910yearyeards1302內部的ram分為兩類,一類是單個ram單元,共31個,每個單元為一個8位的字節(jié),其命令控制字為cohfdh,其中奇數為讀操作,偶數為寫操作;再一類為突發(fā)方式下的ram,此方式下可一次性讀寫所有的ram的31個字節(jié),命令控制字為feh(寫)、ffh(讀)。我們現在已經知道了控制寄存器和ram的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。單片機是通過簡單的同步串行通訊與ds1302通訊的,每次通訊都

37、必須由單片機發(fā)起,無論是讀還是寫操作,單片機都必須先向ds1302寫入一個命令幀,這個幀的格式如表1所示,最高位bit7固定為1,bit6決定操作是針對ram還是時鐘寄存器,接著的5個bit是ram或時鐘寄存器在ds1302的內部地址,最后一個bit表示這次操作是讀操作抑或是寫操作。物理上,ds1302的通訊接口由3個口線組成,即rst,sclk,i/o。其中rst從低電平變成高電平啟動一次數據傳輸過程,sclk是時鐘線,i/o是數據線。但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感的,而且一般數據寫入有效是在上升沿,讀出有效是在下降沿(ds1302正是如此的,但是在芯片手冊

38、里沒有明確說明),如果不是特別確定,則把程序設計成這樣:平時sclk保持低電平,在時鐘變動前設置數據,在時鐘變動后讀取數據,即數據操作總是在sclk保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。3.4 ds18b20測溫系統3.4.1 ds18b20簡介ds18b20是美國dallas半導體公司繼ds1820之后最新推出的一種數字化單總線器件。屬于新一代適配微處理器的改進型智能溫度傳感器。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現912位的數字值讀數方式??梢苑謩e在93.75ms和750ms內完成9位和12位的數字量,并且從ds18b2

39、0讀出的信息或寫入ds18b20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數據總線,總線本身也可以向所掛接的ds18b20供電,而無需額外電源。因而使用ds18b20可使系統結構更趨簡單,可靠性更高。同時其“一線總線”獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統的構建引入了全新的概念。ds18b20“一線總線”數字化溫度傳感器支持“一線總線”接口,測量溫度范圍為-55+125?,F場溫度直接以“一線總線”的數字方式傳輸,用符號擴展的16位數字方式串行輸出,大大提高了系統的抗干擾性。因此,數字化單總線器件ds18b20適合于惡劣環(huán)境的現場溫度測量,如:環(huán)境控制、設備或

40、過程控制、測溫類消費電子產品等。它在測溫精度、轉換時間、傳輸距離、分辨率等方面較ds18b20都有了很大的改進,給用戶帶來了更方便和更令人滿意的效果。可廣泛用于工業(yè)、民用、軍事等領域的溫度測量及控制儀器、測控系統和大型設備中。ds18b20的性能特點如下:(1) 采用dallas公司獨特的單線接口方式:ds18b20與微處理器連接時僅需要一條口線即可實現微處理器與ds18b20的雙向通訊; (2)在使用中不需要任何外圍元件;(3)可用數據線供電,供電電壓范圍:+3.0v+5.5v;(4)測溫范圍:-55+125。固有測溫分辨率為0.5。當在-10+85范圍內,可確保測量誤差不超過0.5,在-5

41、5+125范圍內,測量誤差也不超過2;(5)通過編程可實現912位的數字讀數方式;(6)用戶可自設定非易失性的報警上下限值;(7)支持多點的組網功能,多個ds18b20可以并聯在唯一的三線上,實現多點測溫(8)負壓特性,即具有電源反接保護電路。當電源電壓的極性反接時,能保護ds18b20不會因發(fā)熱而燒毀,但此時芯片無法正常工作;(9)ds18b20的轉換速率比較高,進行9位的溫度值轉換只需93.75ms;(10)適配各種單片機或系統;(11)內含64位激光修正的只讀存儲rom,扣除8位產品系列號和8位循環(huán)冗余校驗碼(crc)之后,產品序號占48位。出廠前產品序號存入其rom中。在構成大型溫控系

42、統時,允許在單線總線上掛接多片ds18b206。3.4.2 ds18b20的內部結構及工作原理ds18b20采用3腳pr35封裝或8腳soic封裝。 圖 3-6 ds18b20封裝圖i/o為數據輸入/輸出端(即單線總線),它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。udd是可供選用的外部電源端,不用時接地,gnd為地,nc空腳。ds18b20的內部結構主要包括7部分:寄生電源、溫度傳感器、64位激光(loser)rom與單線接口、高速暫存器(即便筏式ram,用于存放中間數據)、th觸發(fā)寄存器和tl觸發(fā)寄存器,分別用來存儲用戶設定的溫度上下限值、存儲和控制邏輯、位循環(huán)冗余校驗碼(crc)

43、發(fā)生器。ds18b20是本設計中的核心部件,是用來檢測溫度的傳感器,它自身可以把檢測到的模擬信號轉換成數字信號,然后通過一根信號線將轉換好的數據直接傳輸給單片機,供應5v的電源就行了,只要對其進行一系列必要的編程,就可以實現將溫度全部讀出。 圖 3-7 ds18b20的連接電路3.5 鍵盤控制電路根據功能需要,本時鐘需要設置以下功能鍵:設置鍵,加1操作鍵,確定操作鍵,退出鍵。由于本設計中最多需要3個按鍵,若采用矩陣式鍵盤時會有按鍵浪費,故采用的是獨立式鍵盤其中k1設為確定、進入、在主界面時為時間設置進入鍵,k2設為up鍵、光標移動、在主界面時為語音演示鍵,k3為退出、主界面時進入鬧鈴設置鍵。按

44、鍵功能參見表3.5。表5 按鍵功能表按鍵鍵名功能屬性aset功能選擇設置自動復位bup數值加一操作自動復位cout退出自動復位按鍵操作說明如下:a鍵:在正常顯示時間狀態(tài)下,第一次按下后,開始校對秒,以后每次按下都會分別進入對分、時、鬧鈴分、鬧鈴時、日、月、年的校對狀態(tài)。b鍵:在校對狀態(tài)下,每次按動該鍵,都會使相應校對位進行加1操作。例如:校對小時狀態(tài),每按一下,小時位加1,當加至小時最高值23時,再按k4鍵,小時位回0。調分、秒、年、月、日與皆之相同,只是各位最高值不同。c鍵:按下該鍵,保存設置返回時間顯示狀態(tài)并且。3.6供電系統由于單片機、ds1302、ds18b20以及12864液晶顯示都

45、需要5v供電。所以決定選用usb電池盒6v作為供電系統。并且搭配一塊1.5v紐扣電池為ds1302進行單獨供電,以保證時間的穩(wěn)定,以免電池沒電或者切換電池事導致時間不正確!3.7語音報時系統本設計的語音報時系統,采用的是ny3p035ap8語音芯片,此芯片在淘寶網上購得。規(guī)格:sop8/dip8腳封裝電壓:1.8-5.5v靜態(tài)電流:2ua聲音驅動方式:pwm直接驅動8歐0.5w喇叭(所有的都可以,只是聲音大小差別)語音內容:使用說明:語音芯片可以通過單片機等其他控制設備,任意組合上面的數字,從而到達語音播報時間、星期、年、月、日、溫度、濕度等。例如:今天是2012年3月17日現在北京時間是21

46、點28分30秒。語音芯片是特定的固定標準模塊,可以通過單片機最少一個io口控制多達32段聲音任意調用和組合的語音標準芯片。通常最常用的控制方式是采用了模擬串行的控制方式(3個io)。如需要播放第幾個地址的內容就發(fā)送幾個脈沖,可以快速的控制多達32段地址的任意組合。表6 語音內容語音芯片管腳圖:圖 3-9語音芯片管腳圖單片機控制語音芯片電路圖:圖 3-10單片機控制語音芯片電路圖控制原理說明:此控制方式是采用了模擬串行的控制方式。如需要播放第幾個地址的內容就發(fā)送幾個脈沖(大于0.2ms即可,建議采用1ms左右,下同)的原理,可以快速的控制多達32段地址的任意組合。模擬串行工作時各io的作用:bu

47、sy:芯片工作時(播放聲音),輸出低電平,停止工作或者待機是,保持高電平;data:接受控制脈沖的腳位。收到幾個脈沖,就播放第幾個地址的內容;rst:任何時候,收到高電平,都可以使芯片的播放指針歸零(就是是data的腳位恢復到初始狀態(tài)),同時即刻使芯片停止,進入待機狀態(tài);工作示例:例如現在需要播放第十段聲音。單片機控制原理是:先發(fā)送一個復位脈沖到rst腳,接著發(fā)送10個脈沖到data腳。芯片即刻工作,播放第十段的聲音;如果需要播放第五段的聲音,則是:先發(fā)送一個復位脈沖到rst腳,接著發(fā)送5個脈沖到data腳。芯片即刻工作,播放第5段的聲音;例如需要連續(xù)播放第十段和第五段聲音:先發(fā)送一個復位脈沖

48、到rst腳,接著發(fā)送10個脈沖到data腳。芯片即刻工作,播放第十段的聲音,同時單片機判斷語音芯片的busy是否是高電平,如果不是則一直等待,如果是高電平,則發(fā)送一個復位脈沖到rst腳,接著發(fā)送5個脈沖到data腳。芯片即刻工作,播放第5段的聲音.依此類推。簡單測試:很多使用者初次使用時候,沒有完全了解工作原理或者連接不當,導致在系統上面調試很長時間,以至于懷疑芯片的穩(wěn)定性,現在提供最簡單的測試方式,以便了解其工作原理。同時也大大提供初次調試的成功率。3.8紅外遙控設計發(fā)射采用的是在網上2塊錢淘的21鍵超薄遙控器。1.尺寸:86*40*6.0mm2.產品內含1個cr2025紐扣電3.遙控距離:

49、 1018米 (直線無障礙距離)4.發(fā)射管紅外波長:940nm5.晶振: 振蕩頻率455khz, 紅外載波頻率: 38khz6.面貼材料:0.125mmpet,按鍵有效壽命2萬次以上.4數字鐘的軟件設計系統的軟件設計也是工具系統功能的設計。單片機軟件的設計主要包括執(zhí)行軟件(完成各種實質性功能)的設計和監(jiān)控軟件的設計。單片機的軟件設計通常要考慮以下幾個方面的問題:(1)根據軟件功能要求,將系統軟件劃分為若干個相對獨立的部分,設計出合理的總體結構,使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風格,如考慮結構化程序設計、實行模塊化、子程序化。既便于調試、鏈接,又便于移植和修改;(3)建立正確

50、的數學模型,通過仿真提高系統的性能,并選取合適的參數;(4)繪制程序流程圖;(5)合理分配系統資源;(6)為程序加入注釋,提高可讀性,實施軟件工程;(7)注意軟件的抗干擾設計,提高系統的可靠性。4.1 系統軟件設計流程圖每一個程序都需要一個獨一無二的主程序其中包含了很多的子程序。主程序不停的調用子程序來完成我們所設定的任務和運行模式。4.1.1主函數程序 流程圖和效果圖圖 4-1 主函數流程圖 顯示主界面圖4-2顯示主界面4.1.2主函數程序 編寫:#include #include ds1302.h#include lcd12864.h#include set_clock.h#include

51、 display_main_menu.h#include set_system.h#include set_temp.h#include set_alarm_clock.hvoid main()init_12864();while(1)key();display_main_menu();alarm_clock();alarm_temp();4.2 12864led顯示函數12864led作為整體模塊使用需要先用單片機進行底層驅動程序的設置,在其中加上我們要顯示的內容。而底層驅動比較復雜需要使用很多的特定函數根據時序圖進行編寫。在此過程中為了加大程序的可讀性,故改變成頭文件lcd12864.h來

52、定義變量。4.2.1顯示函數程序 流程圖圖4-3 顯示函數程序流程圖4.2.2顯示函數程序 編寫:見附錄一;4.3 ds1302函數ds1302是一塊集成時鐘芯片不僅可以設置時間還可以設置年月日。該程序主要實現對ds1302寫保護、充電,對年、月、日、時、分、秒等寄存器的讀寫操作。在讀寫操作子程序中都執(zhí)行了關中斷指令,因為在串行通信時對時序要求比較高,而且在此是用i/o口軟件模擬串行時鐘脈沖,所以在通信過程中最好保證傳輸的連續(xù)性,不要允許中斷。4.3.1 ds1302程序 流程圖圖4-4 萬年歷程序流程圖4.3.2 ds1302函數編寫見附錄二;4.4 ds18b20溫度采集ds18b20在本設計中只是作用于拓展使用。來測試室內環(huán)境溫度??梢宰屛覀儾粌H僅是看時間還可看室內當前溫度!4.4.1 ds18b20溫度采集 流程圖圖 4-5 溫度采集程序流程圖4.4.3 ds18b20函數編寫見附錄三4.5.2.1

溫馨提示

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

評論

0/150

提交評論