版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要本文介紹的是基于AT89S52單片機的多功能數(shù)字溫度計的設(shè)計,表達(dá)模塊化設(shè)計思想。論文重點闡述了硬件模塊如MCU模塊、溫度感應(yīng)模塊、時鐘模塊、控制模塊、顯示模塊、語音模塊的設(shè)計。實現(xiàn)溫度和時間的顯示、語音播報,時間和鬧鐘的設(shè)置。溫度傳感器采用美國DALLAS半導(dǎo)體公司制造的DS18B20,測溫范圍為-55125,最高分辨率可達(dá)。DS18B20具有本錢低和易使用的特點。關(guān)鍵詞:單片機、溫度計、語音播報、AT89S52、DS18B20ABSTRACTThis article describes the design of multi-function digital thermometer
2、based on AT89S52 Microcontroller , which reflect the modular design concept. The paper focuses on the design of hardware modules such as the MCU module, temperature sensor module ,clock module ,control module ,display module ,voice module .its can comply the temperature and time display ,voice broad
3、cast ,time and alarm settings .the temperature sensor select DS18B20 which produced by DALLAS semiconductor company of America .its temperature measurement range from -55 to 125. And the DS18B20 has the advantages of low cost and ease of useKeyword :MCU, Thermometer, Voice Broadcast,AT89S52, DS18B20
4、目錄 TOC o 1-3 h z u HYPERLINK l _Toc326093586 前言 PAGEREF _Toc326093586 h - 1 - HYPERLINK l _Toc326093587 設(shè)計任務(wù)及要求 PAGEREF _Toc326093587 h - 1 - HYPERLINK l _Toc326093588 設(shè)計任務(wù) PAGEREF _Toc326093588 h - 1 - HYPERLINK l _Toc326093589 設(shè)計要求 PAGEREF _Toc326093589 h - 1 - HYPERLINK l _Toc326093590 第二章 設(shè)計方案選擇
5、論證與設(shè)計 PAGEREF _Toc326093590 h - 1 - HYPERLINK l _Toc326093591 數(shù)字溫度計設(shè)計方案論證 PAGEREF _Toc326093591 h - 1 - HYPERLINK l _Toc326093592 2.1.1 方案一 PAGEREF _Toc326093592 h - 1 - HYPERLINK l _Toc326093593 2.1.2 方案二 PAGEREF _Toc326093593 h - 1 - HYPERLINK l _Toc326093594 2.1.3 方案二的總體設(shè)計框圖 PAGEREF _Toc326093594
6、 h - 1 - HYPERLINK l _Toc326093595 各模塊電路方案選擇與設(shè)計 PAGEREF _Toc326093595 h - 1 - HYPERLINK l _Toc326093596 2.2.1 主控系統(tǒng)電路方案及設(shè)計 PAGEREF _Toc326093596 h - 1 - HYPERLINK l _Toc326093597 時鐘電路設(shè)計 PAGEREF _Toc326093597 h - 1 - HYPERLINK l _Toc326093598 液晶顯示系統(tǒng)設(shè)計 PAGEREF _Toc326093598 h - 1 - HYPERLINK l _Toc3260
7、93599 溫度采集電路設(shè)計 PAGEREF _Toc326093599 h - 1 - HYPERLINK l _Toc326093600 2.2.5 按鍵控制模塊 PAGEREF _Toc326093600 h - 1 - HYPERLINK l _Toc326093601 2.2.6 語音播報模塊 PAGEREF _Toc326093601 h - 1 - HYPERLINK l _Toc326093602 2.2.7 程序下載模塊 PAGEREF _Toc326093602 h - 1 - HYPERLINK l _Toc326093603 2.2.8 存儲模塊 PAGEREF _To
8、c326093603 h - 1 - HYPERLINK l _Toc326093604 第三章 系統(tǒng)軟件設(shè)計 PAGEREF _Toc326093604 h - 1 - HYPERLINK l _Toc326093605 3.1 軟件設(shè)計總括 PAGEREF _Toc326093605 h - 1 - HYPERLINK l _Toc326093606 3.2 系統(tǒng)程序設(shè)計局部 PAGEREF _Toc326093606 h - 1 - HYPERLINK l _Toc326093607 3.2.1 鍵盤掃描程序設(shè)計 PAGEREF _Toc326093607 h - 1 - HYPERLI
9、NK l _Toc326093608 3.2.2 溫度傳感器程序設(shè)計 PAGEREF _Toc326093608 h - 1 - HYPERLINK l _Toc326093609 3.2.3 語音播報程序設(shè)計 PAGEREF _Toc326093609 h - 1 - HYPERLINK l _Toc326093610 3.2.4 溫度報警程序設(shè)計 PAGEREF _Toc326093610 h - 1 - HYPERLINK l _Toc326093611 3.2.5 顯示電路子程序 PAGEREF _Toc326093611 h - 1 - HYPERLINK l _Toc3260936
10、12 3.2.6 時鐘電路程序設(shè)計 PAGEREF _Toc326093612 h - 1 - HYPERLINK l _Toc326093613 3.2.7 主程序設(shè)計 PAGEREF _Toc326093613 h - 1 - HYPERLINK l _Toc326093614 第四章 結(jié)論 PAGEREF _Toc326093614 h - 1 - HYPERLINK l _Toc326093615 參考文獻(xiàn) PAGEREF _Toc326093615 h - 1 - HYPERLINK l _Toc326093616 致謝 PAGEREF _Toc326093616 h - 1 - H
11、YPERLINK l _Toc326093617 附錄A 總的原理圖 PAGEREF _Toc326093617 h - 1 - HYPERLINK l _Toc326093618 附錄B 程序清單 PAGEREF _Toc326093618 h 錯誤!未定義書簽。第一章 緒論前言隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否認(rèn)的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向開展。隨著時代的進(jìn)步和開展,單片機技術(shù)已經(jīng)普及到我
12、們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比擬成熟的技術(shù),單片機已經(jīng)在測控領(lǐng)域中獲得了廣泛的應(yīng)用。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,并且具有時鐘、鬧鐘等功能。該設(shè)計控制器使用單片機AT89S52,測溫傳感器使用DS18B20,用LCD以串口傳送數(shù)據(jù),實現(xiàn)溫度顯示,能準(zhǔn)確到達(dá)以上要求。設(shè)計任務(wù)及要求設(shè)計任務(wù) 本論文將要設(shè)計一種基于單片機的多功能數(shù)字溫度計,它具有實時溫度顯示并報溫以及時鐘顯示與報時,定時鬧鐘的功能。設(shè)計要求(1)輸出溫度和時鐘采用液晶顯示;(2)主控制器采用MCS-51系列單片機,溫度傳感器采用DS18B20;
13、3可以進(jìn)行時間調(diào)整、鬧鐘設(shè)置;4能夠?qū)囟群蜁r間進(jìn)行語音播報。第二章 設(shè)計方案選擇論證與設(shè)計數(shù)字溫度計設(shè)計方案論證 方案一由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路感溫電路比擬麻煩。而且在對采集的信號進(jìn)行放大時容易受溫度的影響從而出現(xiàn)較大的偏差。時鐘電路可以采用單片機定時器產(chǎn)生時鐘,但是它有兩個個缺點,一個是不是很準(zhǔn)確,二是程序比擬復(fù)雜。 方案二在單片機電路設(shè)計中,大多都是使用傳感器,所以可以考慮采用溫度傳感器DS18B
14、20,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,電路簡單,精度高,軟硬件都以實現(xiàn),而且使用單片機的接口便于系統(tǒng)的再擴展,滿足設(shè)計要求。在設(shè)計時鐘電路時,可以用時鐘芯片PCF8563。此芯片是I2C總線通信,可以利用一個紐扣電池為其供電,使得單片機掉電的情況下時鐘仍然在運行,無需每次單片機復(fù)位后調(diào)整時間。具有簡單方便的特點,并且很準(zhǔn)確和穩(wěn)定。從以上兩種方案,很容易看出,采用方案二,電路比擬簡單,費用較低,可靠性高,軟件設(shè)計也比擬簡單,故采用了方案二。 方案二的總體設(shè)計框圖單片機主控制芯片單片機復(fù)位電路按鍵電路穩(wěn)壓電路時鐘電路語音電路溫度采集電路液晶顯示電路溫度報警電路各模塊電路方案選擇與設(shè)計 主控
15、系統(tǒng)電路方案及設(shè)計1 方案選擇方案一:采用數(shù)字芯片搭接控制電路,此法將使得本系統(tǒng)的控制電路非常龐大且復(fù)雜,并且也較難實現(xiàn)本設(shè)計系統(tǒng)的要求。方案二:采用單片機控制,通過硬件電路及編程可實現(xiàn)本系統(tǒng)的控制電路,并且采用此方案可以使得電路更加簡潔,穩(wěn)定性更高。所以選用了此方案。這一局部是整個系統(tǒng)的信息處理局部,相當(dāng)于人的大腦。所以這局部的設(shè)計是相當(dāng)重要的。本系統(tǒng)的主控CPU經(jīng)過比擬選擇了STC公司的51內(nèi)核單片機,型號為AT89S52。AT89S52簡介:AT89S52是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1
16、000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80S52引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S52具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器RAM,32個外部雙向輸入/輸出I/O口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗WDT電路,片內(nèi)時鐘振蕩器。2單片機主控制系統(tǒng)需要包括以下電路
17、模塊: 1) 電源模塊的設(shè)計方案一:采用三只干電池作為電源。該方案的優(yōu)點是設(shè)計簡明扼要,本錢低;缺點是輸出功率不高,只能勉強驅(qū)動單片機,適合小電流負(fù)載。而且在整個系統(tǒng)工作中,電壓會隨著時間的推移不斷降低,進(jìn)而出現(xiàn)死機等情況。方案二:采用獨立的穩(wěn)壓電源。電源的穩(wěn)壓的特性較好,能夠保證整個系統(tǒng)穩(wěn)定工作。由于單片機工作電壓在5V左右,電壓過高會引起單片機工作不正常,甚至燒壞單片機,電壓過低也會引起單片機工作失常。所以為了保證單片機正常工作需要為其設(shè)計較穩(wěn)定的5V電源。綜上分析,為使系統(tǒng)調(diào)試方便,能夠穩(wěn)定工作,必須有可靠電源,所以決定選擇第二種方案。穩(wěn)壓電源電路如圖(a)圖a 5伏穩(wěn)壓電源J3是交流電
18、源引入插座,首先變壓器輸出線連接到此插座,為電源模塊提供5V以上12V以下的交流電壓,通過整流橋的整流作用后,變?yōu)槊}動的直流電,經(jīng)過C1、C3的濾波后輸入到穩(wěn)壓芯片LM7805中,從LM7805的第三腳輸出的電壓即為5V直流電壓,再通過C4、C2的再次濾波后,便能輸出較穩(wěn)定的直流電壓。其中C1、C2為瓷片電容,其可以濾除電源的高頻尖脈沖信號干擾; C3、C4為電解電容,起到平波的作用。D1為電源指示燈,電阻R1起限流作用,防止長時間電流過大工作燒壞發(fā)光二極管。此模塊的設(shè)計要注意電源的選擇,要想使得LM7805輸出+5V電壓,輸入LM7805的電壓必須大于才可以的。參數(shù)選擇: 1)整流二極管選用
19、1N4007; 2) C3、C4為電解電容分別選用470F16V和100F16V, C1、C2均選用104瓷片電容; 3)穩(wěn)壓芯片選用LM7805,正5V穩(wěn)壓輸出芯片。2) 單片機復(fù)位電路的設(shè)計方案一:采用手動復(fù)位。手動復(fù)位需要人為在復(fù)位輸入端加高電平讓系統(tǒng)復(fù)位。一般采用的方法是在RST端和正電源VCC之間接一個按鍵,當(dāng)按下按鍵后,VCC和RST端接通,RST引腳處有高電平,而且按鍵動作一般是數(shù)十毫秒、大于兩個機器周期的時間,能夠平安的讓系統(tǒng)復(fù)位。方案二:采用上電復(fù)位。上電復(fù)位電路是種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個電容到VCC,接一個電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時,復(fù)
20、位電路通過電容加到RST復(fù)位引腳一個短暫的高電平信號,這個復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)平安可靠的復(fù)位,RST引腳的高電平信號必須維持足夠長的時間。本設(shè)計采用方案二,具有上電復(fù)位和按鍵復(fù)位的雙重復(fù)位功能。復(fù)位電路圖如(b)。本復(fù)位電路采用的是電平復(fù)位方式,接通電源后,電容相當(dāng)于是短路的,單片機的復(fù)位引腳RST為高電平,通過R3對C7進(jìn)行充電,RST端電壓漸漸降低直到為零,單片機開始工作。電阻、電容的參數(shù)選擇跟所采用的晶振有關(guān),必須保證復(fù)位信號高電平持續(xù)時間大于兩個機器周期。本系統(tǒng)采用的晶振,一個機器周期的時間為約為
21、1s。所以復(fù)位的高電平持續(xù)時間必須大于2s,一般晶振電路起振時間為10ms,所以根據(jù)經(jīng)驗值選擇電阻R3為10K,C7為10F,經(jīng)驗證可以滿足本電路需求。按鍵S8可在單片機“死機時進(jìn)行手動復(fù)位。如果直接將按鍵并聯(lián)在電容兩端,按下按鍵后電容直接通過按鍵的觸點放電,將會在瞬時產(chǎn)生較大的沖擊電流,容易使按鍵的觸點氧化。為了保護(hù)按鍵,通過一個電阻R2串聯(lián)于按鍵和電容之間,這樣當(dāng)按下按鍵時,電容將通過R2放電,使得電流較小,不易使觸點氧化,而且不影響復(fù)位功能。圖(b) 單片機復(fù)位電路3) 單片機晶振電路的設(shè)計單片機的內(nèi)部時鐘的晶振頻率一般選擇在4MHz12MHz之間,外接兩個諧振電容。該電容的作用是對晶振
22、的振蕩頻率起到了微調(diào)作用。本系統(tǒng)選擇了的晶振,諧振電容選擇典型值30pF的瓷片電容。電路如圖(c)。圖(c) 單片機晶振電路AT89S52單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路設(shè)計方案一:采用DS12C887時鐘芯片。DS12C887實時時鐘芯片功能豐富,可以用來直接代替IBM PC上的時鐘日歷芯片,同時它的管腳也和MC146818B、DS12887相兼容。由于DS12C887能夠自動產(chǎn)生世紀(jì)、年、月、日、時、分、秒等時間信息,其內(nèi)部又
23、增加了世紀(jì)存放器,從而利用硬件電路解決了“千年問題;DS12C887中自帶有鋰電池,外部掉電時,其內(nèi)部時間信息還能夠保持10年之久;對于一天內(nèi)的時間記錄,有12小時制和24小時制兩種模式。在 12小時制模式中,用AM和P區(qū)分上午和下午;時間的表示方法也有兩種,一種用二進(jìn)制數(shù)表示,一種是用BCD碼表示;DS12C887中帶有128字節(jié)RAM,其中有11字節(jié)RAM用來存儲時間信息,4字節(jié)RAM用來存儲DS12C887的控制信息,稱為控制存放器,113字節(jié)通用RAM 供用戶使用,但是編程比擬復(fù)雜,芯片比擬昂貴,體積大,占用的I/O口也比擬多。方案二:采用專門的時鐘芯片PCF8563,此芯片是I2C總
24、線通信,可以利用一個紐扣電池為其供電,使得單片機掉電的情況下時鐘仍然在運行,無需每次單片機復(fù)位后調(diào)整時間,且占用I/O口少。出于節(jié)約單片機I/O口資源的考慮,本設(shè)計選用方案二較好。方案二靠硬件來自動生成,我們只是讀取里面的數(shù)值即可,簡單方便,更重要的是準(zhǔn)確和穩(wěn)定PCF8563 是PHIL IPS 公司推出的一款工業(yè)級內(nèi)含I2C 總線接口功能的具有極低功耗的多功能時鐘/ 日歷芯片, PCF8563 的多種報警功能、定時器功能、時鐘輸出功能、以及中斷輸出功能能完成各種復(fù)雜的定時效勞, 甚至可為單片機提供看門狗功能, 內(nèi)部時鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測電路(110V) 以及兩線制I2 C 總
25、線通訊方式, 不但使外圍電路簡潔, 而且也增加了芯片的可靠性, 同時每次讀寫數(shù)據(jù)后內(nèi)嵌的字地址存放器會自動產(chǎn)生增量, 時鐘00芯片PCF8563 亦解決了2000 年問題。主要的性能指標(biāo):1)寬電壓范圍 1.0-5.5V, 復(fù)位電壓標(biāo)準(zhǔn)值 Vlow=0.9V ; 2)超低功耗,典型值為 0.25uA VDD=3.0V,Tamb=25 ; 3)可編程時鐘輸出頻率為: 32.768KHz ,1024Hz, 32Hz ,1Hz ; 4)四種報警功能和定時器功能; 5)內(nèi)含復(fù)位電路,振蕩器電容和掉電檢測電路 ; 6)開漏中斷輸出 ; 7)400kHz I2C 總線(VDD=1.8-5.5V),其從地址
26、:讀,0A3H;寫,0A2H; 電路原理圖如圖。圖2.2.2 時鐘電路圖參數(shù)選擇:1時鐘芯片選用PCF8563。2外部晶振選用。3J4是備用電池的接口,也可以用大容量電容替代電池,為芯片在掉電時供電。液晶顯示系統(tǒng)設(shè)計方案一:采用LED數(shù)碼管顯示。方案二:采用液晶顯示模塊,能顯示圖形及漢字信息,使得工作狀態(tài)顯示更加直觀,內(nèi)容更加豐富。方案一此法顯示控制電路簡單本錢低,但電路設(shè)計相對復(fù)雜,顯示內(nèi)容非常有限,比擬特殊的字符,圖形等不能顯示出來,給設(shè)計帶來了極大的局限性,根據(jù)本系統(tǒng)的特點,需要顯示的信息較多,而且本系統(tǒng)需要顯示漢字,所以采用了方案二顯示方法,另外根據(jù)顯示方式和內(nèi)容的不同,液晶模塊可以分
27、為數(shù)顯液晶模塊,液晶點陣字符模塊,和點陣圖形液晶模塊種,經(jīng)過比擬,本系統(tǒng)選擇了點陣圖形液晶顯示模塊,該液晶屏具有更高的性價比,型號為QC12864B。液晶顯示器特點: 帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示84行1616點陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的
28、圖形點陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。 根本特性: 1) 低電源電壓 2) 顯示分辨率:12864點 3) 內(nèi)置漢字字庫,提供8192個1616點陣漢字(簡繁體可選) 4) 內(nèi)置 128個168點陣字符 5) 2MHZ時鐘頻率 6) 顯示方式:STN、半透、正顯 7) 驅(qū)動方式:1/32DUTY,1/5BIAS 8) 視角方向:6點 9) 背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/51/10 10)通訊方式:串行、并口可選 11)內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負(fù)壓 12)無需片選信號,簡化軟件設(shè)計 13)工
29、作溫度: 0 - +55 ,存儲溫度: -20 - +60為了使本系統(tǒng)更加具有市場,采用了液晶屏顯示工作狀態(tài),為了節(jié)省單片機端口,采用串行方式通信,此液晶可以顯示的點陣數(shù)為12864個點,一屏可顯示的漢字?jǐn)?shù)為每行8個漢字,共可以顯示4行,一屏總共可顯示32個漢字。本顯示系統(tǒng)可以顯示當(dāng)前的時間及當(dāng)前室溫,并可以顯示家用電器的工作狀態(tài),使得用戶對電器的開關(guān)狀態(tài)一目了然,另外還有一些操作提示。電路原理圖如圖。圖2.2.3 液晶顯示電路該顯示系統(tǒng)還利用一個三極管來控制液晶屏的背光,即可以通過軟件來開關(guān)背光顯示,為系統(tǒng)節(jié)電并延長液晶屏的使用壽命,防止了因長期點亮背光造成液晶屏老化加快,同時節(jié)省電量。電路
30、參數(shù)選擇:1液晶屏選用QC12864B;2POT2為液晶屏比照度調(diào)節(jié)電位器,選用10K3296封裝的精密可調(diào)電位器;3三極管為液晶屏背光控制,選用PNP型的8050;溫度采集電路設(shè)計方案一:AD590是單片集成的敏感電流源,鼓勵電壓在+4V+30V間選擇,其測量范圍為-55攝氏度-150攝氏度,所輸出的電流數(shù)值微安數(shù)等于絕對溫度K的數(shù)值。AD590具有標(biāo)準(zhǔn)化的輸出和固有的線性關(guān)系,分不同的測溫范圍和精度供設(shè)計者選用,通過微調(diào)電路對AD590的輸出進(jìn)行修正,可到達(dá)很高的測試精度。AD590不需要低電平測量設(shè)備和電橋,可以使用長導(dǎo)線,而不會因為電壓的降低和感應(yīng)的噪聲電壓而產(chǎn)生誤差;它又是一個高阻抗
31、的電流源;對鼓勵的電壓變化不夠敏感。但是AD590需要把被測溫度轉(zhuǎn)化為電流再通過放大器和A/D轉(zhuǎn)換器才能輸出數(shù)字量送給單片機進(jìn)行溫度控制。方案二:采用專門的溫度傳感器DALLAS公司的DS18B20,此芯片為TO92封裝,體積小,而且是單總線通信,只需一個I/O口即能實現(xiàn)控制,在一定程度上可以節(jié)約I/O口資源。通過比擬,溫度傳感器DS18B20具有更高的性價比,DS18B20能夠構(gòu)建經(jīng)濟的測溫網(wǎng)絡(luò)。因而在本次設(shè)計中,選用的是數(shù)字溫度傳感器DS18B20,故采用的是方案二。DALLAS公司的數(shù)字化溫度傳感器DS18B20支持單總線接口,具有單總線獨特而經(jīng)濟的特點,使用戶可以輕松的組建傳感器網(wǎng)絡(luò),
32、為測量系統(tǒng)的創(chuàng)立引入全新概念。DS18B20體積小,使用靈活,可以充分發(fā)揮單總線的優(yōu)勢。其測溫范圍為55125,在1085范圍內(nèi),精度為。支持的寬電壓,使系統(tǒng)設(shè)計更靈活,更方便。DS18B20可通過程序設(shè)置912位的分辨率。同時它具有負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。采用TO92封裝,體積只有普通三極管那么大,并可以支持用戶設(shè)定報警溫度,設(shè)置值保存于芯片自帶的EEPROM中,掉電后依然保存。并且外圍元件只需要一個的上拉電阻。下面簡單介紹下單總線。單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換控制都通過這根線完成。主機或從機通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允
33、許設(shè)備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其他設(shè)備使用總線。單總線通常要求外接一個約為的上拉電阻,當(dāng)總線閑置時,其狀態(tài)為高電平。主機和從機的通信可以分為三個步驟完成,分別為初始化 1Wire器件、識別 1Wire器件和交換數(shù)據(jù)。由于他們是主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,因此主機訪問1Wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、ROM、命令功能命令。如果出現(xiàn)序列混亂,1Wire器件將不響應(yīng)主機。所有的單總線器件都要遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。1Wire協(xié)議定義了復(fù)位脈沖、應(yīng)答脈沖、寫0、讀0和讀1時序等幾種信號類型。所有的單總線命令系列都是由這些根本的信號類型組成的。
34、在這些信號中,除了應(yīng)答脈沖外,其他均由主機發(fā)出同步信號,并且發(fā)送的所有命令和數(shù)據(jù)都是字節(jié)的低位在前。 溫度存放器中的溫度值以9位數(shù)據(jù)格式表示,最高位為符號位,其余8位以二進(jìn)制補碼形式表示溫度值。測溫結(jié)束時,這9位數(shù)據(jù)轉(zhuǎn)換到暫存存儲器的前兩個字節(jié)中,符號位占用第一字節(jié),8位溫度數(shù)據(jù)占用第二字節(jié)。本系統(tǒng)采用DALLAS公司的單總線溫度傳感器DS18B20,此傳感器只需占用單片機一個I/O口,可以在一定程度上解決單片機I/O口緊張的情況。此芯片的測溫范圍為55125,可以滿足一般的室溫測量要求,其測量精度通過軟件設(shè)置最大可到達(dá),在本系統(tǒng)中設(shè)置其測溫精度為。此芯片的連接電路非常簡單,外部電路只需要一個
35、上拉電阻即可,電路原理圖如圖(a)。圖(a) 單總線溫度傳感器電路電路參數(shù)選擇:1度傳感器為DS18B20,TO92小型封裝。2R33為上拉電阻,選。DS18B20溫度傳感器內(nèi)部結(jié)構(gòu)及溫度轉(zhuǎn)換64位ROM和1-Wire口存儲控制邏輯SCRATCHPAD溫度傳感器TH/EEPROMTL/EEPROMEEPROM8位CRC發(fā)生器寄生電源電路DQGND 內(nèi)部VDDVDD圖2.2.4(b) DS18B20的內(nèi)部根本框圖64位ROM的結(jié)構(gòu)開始位是產(chǎn)品類型的編號 ,接著是每個器件的惟一的序號,共有48位,最后位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進(jìn)行通信的原因。溫度報警觸發(fā)器和
36、,可通過軟件寫入戶報警上下限。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為字節(jié)的存儲器,結(jié)構(gòu)如圖3所示。頭個字節(jié)包含測得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時被刷新。第個字節(jié),為配置存放器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時存放器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3 所示。低位一直為,是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為,用戶要去改動,R1和0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度 LSB溫度 MS
37、BTH用戶字節(jié)1TL用戶字節(jié)2配置存放器保存保存保存CRC圖2.2.4(c) DS18B20字節(jié)定義由表可見,DS18B20溫度轉(zhuǎn)換的時間比擬長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存的第、字節(jié)保存未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進(jìn)制補碼形式存儲在高速暫存存儲器的第、字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以LSB形式表示。當(dāng)符號位時,表示
38、測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位時,表示測得的溫度值為負(fù)值,要先將補碼變成原碼,再計算十進(jìn)制數(shù)值。表(a) 是一局部溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表2.2.4(a) DS18B20溫度轉(zhuǎn)換時間表RIR0分辨率/位溫度最大轉(zhuǎn)換時間/ms009011010113751112750溫度傳感器的測溫原理:器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門翻開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫
39、度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器、溫度存放器中,計數(shù)器和溫度存放器被預(yù)置在55所對應(yīng)的一個基數(shù)值。減法計數(shù)器對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)減法計數(shù)器的預(yù)置值減到時,溫度存放器的值將加,減法計數(shù)器的預(yù)置將重新被裝入,減法計數(shù)器重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到時,停止溫度存放器的累加,此時溫度存放器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度存放器值大致等于被測溫度值。表(b)局部溫度對應(yīng)值表溫度/二進(jìn)制表示
40、十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H0000 0001 1001 00000191H0000 0000 1010 000100A2H0000 0000 0000 00100008H00000 0000 0000 10000000H1111 1111 1111 0000FFF8H1111 1111 0101 1110FF5EH1111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H另外,由于DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重
41、要。系統(tǒng)對DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20發(fā)復(fù)位脈沖發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。2.2.5 按鍵控制模塊方案一:44矩陣式鍵盤。此方案對于本系統(tǒng)來說無非是浪費I/O占用MCU的資源,不利于系統(tǒng)的擴展,這就使系統(tǒng)的實用性降低,況且本系統(tǒng)根本不需要16個按鍵。方案二:獨立式按鍵。對于獨立式按鍵來說,如果設(shè)置過多按鍵,雖然會占用較多I/O口,給布線帶來不便,此方案適用于按鍵較少的情況。在本設(shè)計中所需要的控制點數(shù)的較少,只需要幾個功能鍵,簡便、易操作、本錢低就成了首要考慮的因素。所以此時,可采用獨立式按鍵結(jié)構(gòu)。按鍵控制電路如圖。圖2.2.4 按鍵控制電
42、路 語音播報模塊方案一:通過A/D轉(zhuǎn)換器、單片機,存儲器,DA轉(zhuǎn)換器實現(xiàn)聲音信號的采樣、處理、存儲和實現(xiàn)。首先將聲音信號放大,通過AD轉(zhuǎn)換器采樣將語音模擬信號轉(zhuǎn)換成數(shù)字信號,并由單片機和處理存放到存儲器中,實現(xiàn)錄音操作。在錄、放音過程中由單片機控制D/A轉(zhuǎn)換器,將存儲器中的數(shù)據(jù)轉(zhuǎn)化成聲音信號。此方案安裝調(diào)試復(fù)雜,集成度低,本錢也不低。方案二:采用ISD1420語音錄放。ISD1420是采用模擬存取技術(shù)集成的可反復(fù)錄放的20秒語音芯片,掉電語音不喪失,最大可分160段,最小每段語音長度為125ms,每段語音都可由地址線控制輸出,每125ms為一個地址,由A0-A7八根地址線控制。該芯片采用多電平
43、直接模擬量存儲專利技術(shù),每個采樣值可直接存儲在片內(nèi)單個EEPROM單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。此外,ISD1420還省去了A/D和D/A轉(zhuǎn)換器,方便擴展更多的功能。綜上所述,選擇方案二,即ISD1420。語音播報電路原理圖如2.2.6(a)所示。圖2.2.6(a) 語音播報電路分段錄音時,ISD1420的A0-A7用作地址輸入線,A6、A7不可同時為高電平,所以地址范圍為00H-9FH,即為十進(jìn)制碼0-159 共160個數(shù)值。這說明ISD1420的EEPROM模擬存儲器最多可被劃分為160個存儲單元,也就是說ISD1420最多可存儲160個語音段,語音段的最小
44、時間長度為。不同分段的選擇是通過對A0-A7端接不同的上下電平來實現(xiàn)。ISD1420分段錄音可以通過硬件開關(guān)來實現(xiàn)也可以通過軟件編程來實現(xiàn)。圖2.2.6(b)為硬件實現(xiàn)錄音的開關(guān)控制電路。圖2.2.6(b) 硬件開關(guān)控制電路圖2.2.6(c)為ISD1420芯片引腳圖。圖2.2.6(c) ISD1420芯片引腳圖ISD1420各引腳說明如下:A0-A7地址輸入端,當(dāng)A6和A7不全為高電平時,A0-A7為分段錄音信息地址線,不同的地址對應(yīng)不同的錄音片斷。MIC話筒輸入端,話筒輸入信號通過電容交流耦合至此引腳并傳給片上預(yù)放大器,耦合電容C7的值和該端內(nèi)阻R7(10K)決定語音信號通頻帶下限頻率。
45、MICREF話筒參考輸人端,MICREF是預(yù)放大器的反相輸入端,配合外電路可使片上預(yù)放大器具有較高的噪聲抑制比和共模抑制比。ANA IN模擬信號輸人端,對于話筒輸入,ANA IN 引腳應(yīng)通過外部電容C4與ANA OUT引腳連接,耦合電容C4決定片上控制預(yù)放大器通頻帶的下限頻率。ANA OUT預(yù)放大器的輸出端,預(yù)放大器的電壓增益取決于AGC電平,對于小信號輸入電平,其增益最大為24dB,對于強信號,增益較低。AGC自動增益控制端,AGC 動態(tài)地調(diào)整預(yù)放大器增益,使加至MIC輸入端的非失真信號的范圍擴展。內(nèi)阻抗5歐和外部電容決定AGC的響應(yīng)時間,外部電容和外部電阻的RC時間常數(shù)決定AGC的釋放時間
46、。SP+、SP- 喇叭輸出端,該端可直接驅(qū)動16歐的喇叭。XCLK外接時鐘輸入端,ISD1420具有內(nèi)部時鐘,一旦接人外部時鐘,內(nèi)部時鐘會自動失去作用。改電路不用外部時鐘該引腳接地,一般不推薦使用外部時鐘,除非要求時鐘信號特別精確。RECLED工作狀態(tài)指示端,在錄音或放音時該端輸出低電平,可驅(qū)動一個LED來指示狀態(tài)。在錄音過程中指示燈一直亮著,在放音結(jié)束時,指示燈閃爍一下。PLAYE邊沿觸發(fā)放音控制端,該端輸人一低脈沖,芯片即進(jìn)入放音狀態(tài),直至遇到信息結(jié)束標(biāo)記EOM或到存儲空間的末尾時回放過程結(jié)束,電路自動進(jìn)入準(zhǔn)備狀態(tài)?;胤胚^程中PLAYE變化不會影響回放過程。PLAYL電平觸發(fā)放音控制端,該
47、端電平變?yōu)榈碗娖讲⒈3?,芯片進(jìn)入放音狀態(tài),放音過程持續(xù)到該端電平由低變高或遇到信息結(jié)束標(biāo)記EOM,結(jié)束后電路進(jìn)入準(zhǔn)備狀態(tài)。REC錄音觸發(fā)端,REC 一旦變?yōu)榈碗娖?,芯片就進(jìn)入錄音狀態(tài),REC的權(quán)限優(yōu)先于PLAYE和PLAYL,在放音期間假設(shè)遇REC 接低電平時,放音就會立即停止并轉(zhuǎn)入錄音狀態(tài)開始錄音。錄音期間REC 應(yīng)始終保持低電平,REC變高或存儲空間變滿時錄音過程結(jié)束,這時在錄音截止的地方會記錄一個信息結(jié)束標(biāo)記EOM。VCCD、VCCA數(shù)字電源正端和模擬電源正端。VSSD、VSSA數(shù)字地和模擬地。電路實現(xiàn)錄音功能說明如下,S1、S2、S3分別是控制錄音和放音按鍵,當(dāng)按下S1時開始錄音,S2
48、、S3為兩種方式的放音按鍵,當(dāng)按一下S2時開始放音,是下降沿觸發(fā)的,而S3為電平控制的,必須一直按著此鍵直至放音結(jié)束。LED和限流電阻組成錄放音指示電路,當(dāng)錄音結(jié)束、錄音超出時限存儲器溢出或放音結(jié)束時,ISD1420的25腳呈高電平,LED熄滅。對ISD1420進(jìn)行分段錄音之前要先列出語音信息與分段地址的對照表,如表所示。然后檢查電路連接、接線和電源情況。并通過對照表來設(shè)置8個開關(guān)選擇要錄音的地址,最后按下錄音鍵直至錄音結(jié)束,松開錄音鍵,重復(fù)此操作就可以將自己需要錄入的內(nèi)容全部錄入到芯片中。另外,A0和A1都需要接地,因為我們要確保分段間隔不小于,所以至少要四段,否那么錄音的信息可能會重疊,導(dǎo)
49、致放音時達(dá)不到自己的要求。用戶錄制的語音每一段結(jié)束后芯片自動設(shè)有段結(jié)束標(biāo)志EOM,芯片錄滿后設(shè)有溢出標(biāo)志OVF。表 信息與地址對照表語 音 信 息分段地址A7A6A5A4A3A2A1A0100H 0 0 0 0 0 0 0 0208H 0 0 0 0 1 0 0 0310H0 0 0 1 0 0 00418H0 0 0 1 10 00520H0 0 1 0 0 0 00628H0 0 1 0 1 0 00730H0 01 1 0 0 00838H0 01 1 1 0 00940H0 1 0 00 0 0 0十48H0 1 0 0 1 0 00度50H0 1 0 1 0 0 0 0現(xiàn)在溫度58H
50、1 0 0 1 1 0 0 0現(xiàn)在時間60H01100000年68H01101000月70H01110000日78H01111000時80H10000000分88H10001000ISD1420單片錄放時間8至20秒,音質(zhì)好。芯片采用CMOS技術(shù),內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、揚聲器驅(qū)動及EEPROM陣列。最小的錄放系統(tǒng)僅需麥克風(fēng)、喇叭、兩個按鈕、電源及少數(shù)電阻電容。在錄放操作結(jié)束后,芯片自動進(jìn)入低功耗節(jié)電模式、功耗僅。ISD1420有唯一的錄音控制和邊緣電平觸發(fā)兩種放音控制。不分段時外圍線路最簡,也可按最小段長為單位任意組合分。 程序下載模塊程序下載模塊電
51、路圖如下圖。該模塊采用了MAXIM公司生產(chǎn)的、包含兩路接收器和驅(qū)動器的IC芯片MAX232,它的內(nèi)部有一個電源電壓變壓器,可以把輸入的+5V電源電壓變換成為RS-232輸出電平所需的10V電壓,所以采用此芯片只需要單一的+5V電源就可以了。此模塊設(shè)計的時候,很容易出現(xiàn)串口的連線連接錯誤的情況,在設(shè)計時要特別注意,否那么串口不能正常工作,程序也就不能夠下載到單片機中。在實際應(yīng)用中,器件對電源噪聲很敏感,因此必須要對地加去耦電容C20,其值為。在具體電路設(shè)計時, C12、C13、C14、C15這四個電容要盡量靠近MAX232芯片,以提高抗干擾能力。圖2.2.7 程序下載模塊電路 存儲模塊存儲電路主
52、要用于存儲一段時間的測量結(jié)果,包括溫度值、年、月、日、時、分。AT24C02芯片是具有IIC總線接口的EEPROM,其存儲容量為256*8,采用這種芯片可以解決掉電數(shù)據(jù)保存問題,并可對所存數(shù)據(jù)保存100年,并可屢次擦寫,擦寫次數(shù)可達(dá)10萬次以上。AT24C02是一個2K位串行CMOS E2PROM,內(nèi)部含有256個8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實質(zhì)上減少了器件的功耗。AT24C02有一個16字節(jié)頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個專門的寫保護(hù)功能。AT24C02支持總線數(shù)據(jù)傳送協(xié)議IIC,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接收數(shù)據(jù)的器
53、件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)發(fā)送或接收的模式,通過器件地址輸入端A0、A1和A2可以實現(xiàn)將最多8個AT24C02器件連接到總線上。在本設(shè)計中A0、A1和A2都直接接地,SCL接單片機口,SDA接單片機口,并通過10K上拉電阻拉高,正常情況下高電平為總線空閑狀態(tài)。具體電路圖如圖。圖2.2.8 存儲模塊電路第三章 系統(tǒng)軟件設(shè)計3.1 軟件設(shè)計總括硬件設(shè)計是相當(dāng)簡單,因為很多的功能都已經(jīng)封裝好在一個個的芯片里面,但是要將這些功能部件完美的組合在一起,那么需要軟件的力量,底層代碼的編寫那將是一個不小
54、的工程,每個模塊傳輸數(shù)據(jù)的方法都不一樣,對應(yīng)每一個功能局部我們都寫一個.h的頭文件,將其功能函數(shù)封裝在里面,這樣,在主函數(shù)中,我們只調(diào)用這些函數(shù)就可以了,底層代碼一定要精確,對于每個部件像12864液晶,pcf8563時鐘芯片,18B20溫度傳感器這些芯片,對時序的要求是非常的嚴(yán)格的,必須不斷的調(diào)試,反復(fù)的校驗,這個必須要將對應(yīng)的手冊吃透。當(dāng)然,當(dāng)每個部件的.h文件都寫好了,再去調(diào)用那么將沒有那么吃力了,因為不再需要考慮底層的時序,而只要調(diào)用該函數(shù)就行了。一個主函數(shù)貫穿整個功能文件,簡潔的將系統(tǒng)的功能統(tǒng)一起來。各程序模塊對應(yīng)頭文件:#include reg51.h#include DS18B2
55、0.h#include ISD1420.h#include lcd.h#include myiic.h#include PCF8563.h#include usart.h#include key.h3.2 系統(tǒng)程序設(shè)計局部主程序是在程序運行的過程中必須先經(jīng)過初始化,包括鍵盤程序,測量程序,以及各個控制端口的初始化工作。系統(tǒng)在初始化完成后就進(jìn)入讀取溫度測量程序,實時的測量當(dāng)前的溫度,得到溫度后判斷溫度是否超過溫度設(shè)置的上下限。超出低于溫度上下限,調(diào)用報警子程序,再顯示在LCD上。系統(tǒng)軟件設(shè)計的總體流程圖所示。初始化開始啟動溫度轉(zhuǎn)換啟動后800ms讀取溫度數(shù)據(jù)轉(zhuǎn)換設(shè)置讀出日歷時間返回結(jié)束溫度、時間
56、設(shè)置設(shè)置完畢NYYNNNY圖3.2 系統(tǒng)軟件設(shè)計總體流程圖 鍵盤掃描程序設(shè)計對于系統(tǒng)來說,按鍵輸入程序是整個鍵盤控制應(yīng)用系統(tǒng)的核心。當(dāng)所設(shè)的功能鍵按下時,本系統(tǒng)應(yīng)完成該鍵所設(shè)的功能。按鍵閉合過程在相應(yīng)的I/O端口形成一個負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能到達(dá)穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。為了保證CPU對鍵一次閉合,僅作一次鍵輸入處理,必須去抖動影響。本設(shè)計采用軟件去抖的方法是在檢測到有按鍵按下時,執(zhí)行一個510ms的延遲程序后在確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平那么確認(rèn)為真正鍵按下的狀態(tài),從而消除了抖動影響。鍵盤子程序流程圖如下列圖
57、3.所示延時子程序未在流程圖中畫出。開始掃描鍵值是否有鍵按下延時去抖動是否有鍵按下提取鍵值調(diào)用按鍵子程序結(jié)束是是否否圖 按鍵子程序流程圖 溫度傳感器程序設(shè)計由在整個語音溫度計的設(shè)計中是以正確采集溫度為前提的,因為如果溫度采集就不正確,那么即使后續(xù)電路如顯示和報溫電路均正確,最后的結(jié)果仍然不能到達(dá)我們所要的目標(biāo),也就是不能正確的對環(huán)境溫度進(jìn)行顯示和報溫,所以關(guān)于DS18B20的溫度采集是非常重要的。DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。操作協(xié)議為:初始化DS18B20發(fā)復(fù)位脈沖發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。其測溫子程序流程圖如圖3.所示。局部
58、控制DS18B20指令功能如表3.所示:否開始初始化單總線是否應(yīng)答跳過讀序列號操作啟動溫度轉(zhuǎn)換初始化單總線是否應(yīng)答發(fā)出rom命令送出rom碼讀取溫度存放器計算并返回溫度值返回否否是是圖3. 溫度傳感器程序流程圖表3. 控制DS18B20指令表指 令 指令代碼 操 作 說 明 跳過ROMCCH忽略64位ROM編碼溫度轉(zhuǎn)換 44H啟動DS18B20進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH讀暫存器9個字節(jié)內(nèi)容 寫暫存器 4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié) 復(fù)制暫存器 48H把暫存器的TH、TL字節(jié)寫到E2RAM中 重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL中 讀電源供電方式
59、B4H啟動DS18B20發(fā)送電源供電方式的信號給主CPU 語音播報程序設(shè)計單片機語根據(jù)語音信息與分段地址的對照表和當(dāng)前溫度組合出播報當(dāng)前的溫度語音數(shù)據(jù)地址,再通過控制語音芯片放音,把處理的數(shù)據(jù)地址通過P0端口寫給語音芯片,程序流程如圖3.所示:對應(yīng)按鍵是否按下讀取公共模塊程序判斷當(dāng)前溫度時間讀取對應(yīng)語音程序結(jié)束開始是否圖3. 語音播報子程序3.2.4 溫度報警程序設(shè)計初始默認(rèn)上下限報警值,或鍵盤設(shè)定報警值,取量實時測溫度值與溫度上下限值比擬,超過報警范圍,導(dǎo)通三極管,觸發(fā)蜂鳴器與指示燈報警,當(dāng)實時溫度恢復(fù)到報警范圍內(nèi)溫度時,自動停止報警。流程圖如圖3.所示: 不報警小于0小于0大于0小于0大于
60、0大于0讀取溫度值溫度值減 上限值溫度值減 下限值報警圖3. 報警子程序流程圖3.2.5 顯示電路子程序LCD液晶顯示程序分為液晶初始化、讀忙、寫指令和寫數(shù)據(jù)操作,液晶顯示器是一塊慢器件,所以在執(zhí)行每條指令之前必須確定模塊忙標(biāo)志為低電平不忙,否側(cè)此指令無效。開始LCD初始化LCD是否為忙單片機向LCD寫命令單片機向LCD寫數(shù)據(jù)顯示數(shù)據(jù)結(jié)束否是設(shè)置顯示初始化圖3. LCD顯示程序流程圖3.2.6 時鐘電路程序設(shè)計實時時鐘所用的芯片是PCF8563, PCF8563 有 16 個 位存放器, 所有 16 個存放器設(shè)計成可尋址的8位并行存放器。具體流程圖如圖。開始時鐘芯片是否有記憶數(shù)據(jù)?按定義好的數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場技術(shù)交底管理方案
- 項目資金流動管理方案
- 管網(wǎng)安全隱患排查防治方案
- 項目團(tuán)隊溝通機制建立方案
- 工地混凝土澆筑及養(yǎng)護(hù)方案
- 隧道施工進(jìn)度管理方案
- 工地施工信訪投訴處理方案
- 2025年(集成電路設(shè)計與集成系統(tǒng))IC封裝設(shè)計技術(shù)試題及答案
- 2025年鄉(xiāng)村全科助理醫(yī)師試題及答案
- 2025年鎮(zhèn)江市招聘教師考試真題
- 南京工裝合同范本
- 登高作業(yè)監(jiān)理實施細(xì)則
- 2025食品機械行業(yè)智能化分析及技術(shù)升級趨勢與投資可行性評估報告
- 《經(jīng)濟法學(xué)》2025-2025期末試題及答案
- CAICV智能網(wǎng)聯(lián)汽車遠(yuǎn)程升級(OTA)發(fā)展現(xiàn)狀及建議
- (標(biāo)準(zhǔn))警局賠償協(xié)議書
- GB/T 20921-2025機器狀態(tài)監(jiān)測與診斷詞匯
- 護(hù)工培訓(xùn)課件內(nèi)容
- 瘦西湖景區(qū)槐泗河片區(qū)水系整治項目(二期)李莊澗環(huán)境影響報告表
- 學(xué)校維修監(jiān)控合同協(xié)議書
- 貴州省貴陽市云巖區(qū)2024-2025學(xué)年上學(xué)期八年級數(shù)學(xué)期末試題卷(原卷版+解析版)
評論
0/150
提交評論