




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、題目: 基于基于 AT89S52 智能智能語語音溫度音溫度計(jì)計(jì)的的設(shè)計(jì)設(shè)計(jì)Title: Design of intelligent sound thermometer based on AT89S52 院系名稱: 學(xué)生姓名: 學(xué)生學(xué)號(hào): 專 業(yè): 指導(dǎo)老師: 完成時(shí)間: 聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)(論文)是本人在指導(dǎo)教師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。其中除加以標(biāo)注和致謝的地方,以及法律規(guī)定允許的之外,不包含其他人已經(jīng)發(fā)表或撰寫完成并以某種方式公開過的研究成果,也不包含為獲得其他教育機(jī)構(gòu)的學(xué)位或證書而作的材料。其他同志對(duì)本研究所做的任何貢獻(xiàn)均已在文中作了明確的說明并表示謝意。本畢
2、業(yè)設(shè)計(jì)(論文)成果是本人在江西師范大學(xué)讀書期間在指導(dǎo)教師指導(dǎo)下取得的,成果歸江西師范大學(xué)所有。特此聲明。聲明人(畢業(yè)設(shè)計(jì)(論文)作者)學(xué)號(hào):聲明人(畢業(yè)設(shè)計(jì)(論文)作者)簽名: 簽名日期:年月日摘要以AT89S52為核心,選用DS18B20單總線數(shù)字溫度傳感器,RT1602液晶顯示器實(shí)現(xiàn),液晶顯示當(dāng)前日期、時(shí)間和溫度。當(dāng)測量溫度超過設(shè)定的溫度上下限時(shí),啟動(dòng)蜂鳴器和指示燈報(bào)警。溫度顯示穩(wěn)定,且溫度測量誤差1,溫度值小數(shù)部分保留兩位有效數(shù)字。增加了攝氏溫度與華氏溫度轉(zhuǎn)換對(duì)比顯示功能,設(shè)定了整點(diǎn)語音自動(dòng)播報(bào)時(shí)間溫度,手動(dòng)實(shí)時(shí)播報(bào)時(shí)間溫度功能。關(guān)鍵詞:DS18B20;液晶顯示;語音播報(bào);聲光報(bào)警Abs
3、tractAT89S52 as the core, choose to single bus digital temperature sensor DS18B20, DS1302 serial clock chip, RT1602 LCD monitor realization, LCD display the current date, time, weeks and temperature. When measuring temperature over set temperature fluctuation limit, start with light alarm buzzer. Te
4、mperature display stability, and temperature measurement error acuities 1, plus or minus temperature the decimal part retained two significant digits. Increased Celsius temperature conversion contrast with Fahrenheit and sets up a display function beep voice automatically broadcast time temperature,
5、 manual real-time broadcast time temperature function.Keyword:DS18B20;LCD;speech function;sounding and light alarm.目錄摘要.IIABSTRACT.III1 引言.12 設(shè)計(jì)要求.13 方案論證.13.1 電源模塊.23.2 溫度傳感器模塊.23.3 顯示模塊.23.4 鍵盤控制模塊.33.5 語音播報(bào)模塊.34 設(shè)計(jì)原理.4.4.44.1.2 單片機(jī)外圍電路設(shè)計(jì).64.1.3 AT89S52 復(fù)位電路 .74.1.4 AT89S52 時(shí)鐘電路 .84.2 電源模塊.9.94.3.
6、1 DS18B20 的測溫原理 .104.3.2 DS18B20 與 AT89S52 的接口電路設(shè)計(jì) .11.11.12.13.144.7.1 ISD1420 語音芯片錄放音電路設(shè)計(jì) .144.7.2 ISD1420 與 AT89S52 接口電路設(shè)計(jì) .175 軟件部分.185.1 開發(fā)工具介紹.18.18.19.20.21.22.23.246 仿真結(jié)果數(shù)據(jù)分析.25.257 結(jié)束語.25參考文獻(xiàn).27附錄一:電路圖.28附錄二:源程序.291 引言21 世紀(jì)是人類全面進(jìn)入信息電子化的時(shí)代,現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。隨著人類
7、探知領(lǐng)域和空間的拓展,使得人們需要獲得的電子信息種類日益增加,需要信息傳遞的速度加快,信息處理能力增強(qiáng),因此要求與此相對(duì)應(yīng)的信息采集技術(shù)傳感技術(shù)必須跟上信息化發(fā)展的需要。傳感器技術(shù)是人類探知自然界信息的觸覺,為人們認(rèn)識(shí)和控制相應(yīng)的對(duì)象提供條件和依據(jù)。它屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量居各種傳感器之首。近百年來,溫度傳感器的發(fā)展大致經(jīng)歷了以下三個(gè)階段:(1)傳統(tǒng)的分立式溫度傳感器 (含敏感元件);(2)模擬集成溫度傳感器控制器;(3)智能溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。作為現(xiàn)代
8、信息技術(shù)的三大核心技術(shù)之一的傳感技術(shù),將是二十一世紀(jì)世界各國在高新技術(shù)發(fā)展方面爭奪的一個(gè)重要領(lǐng)域。2 設(shè)計(jì)要求1顯示當(dāng)前日期、時(shí)間、溫度。2當(dāng)測量溫度超過設(shè)定溫度時(shí),啟動(dòng)報(bào)警模塊報(bào)警。3手動(dòng)實(shí)時(shí)播報(bào)溫度,時(shí)間。4溫度顯示穩(wěn)定,誤差1。3 方案論證分析本題,根據(jù)設(shè)計(jì)要求先確定了本系統(tǒng)的整體設(shè)計(jì)原理框圖如圖所示 圖 3.1 原理框圖 溫度采集 鍵盤控制微控制器模塊顯示模塊 報(bào)警模塊 語音錄放 電源模塊3.1 電源模塊方案一:采用三只干電池作為電源。該方案的優(yōu)點(diǎn)是設(shè)計(jì)簡明扼要,成本低;缺點(diǎn)是輸出功率不高,只能勉強(qiáng)驅(qū)動(dòng)單片機(jī),適合小電流負(fù)載。而且在整個(gè)系統(tǒng)工作中,電壓會(huì)隨著時(shí)間的推移不斷降低,進(jìn)而出現(xiàn)
9、死機(jī)等情況。方案二:采用獨(dú)立的穩(wěn)壓電源。電源的穩(wěn)壓的特性較好,能夠保證整個(gè)系統(tǒng)穩(wěn)定工作。綜上分析,為使系統(tǒng)調(diào)試方便,能夠穩(wěn)定工作,必須有可靠電源,所以決定選擇第二種方案。3.2 溫度傳感器模塊方案一:AD590 是單片集成的敏感電流源,激勵(lì)電壓在+4V+30V 間選擇,其測量范圍為-55 攝氏度-150 攝氏度,所輸出的電流數(shù)值(微安數(shù))等于絕對(duì)溫度 K 的數(shù)值。AD590 具有標(biāo)準(zhǔn)化的輸出和固有的線性關(guān)系,分不同的測溫范圍和精度供設(shè)計(jì)者選用,通過微調(diào)電路對(duì) AD590 的輸出進(jìn)行修正,可達(dá)到很高的測試精度。AD590 不需要低電平測量設(shè)備和電橋,可以使用長導(dǎo)線,而不會(huì)因?yàn)殡妷旱慕档秃透袘?yīng)的噪
10、聲電壓而產(chǎn)生誤差;它又是一個(gè)高阻抗的電流源;對(duì)激勵(lì)的電壓變化不夠敏感。但是 AD590 需要把被測溫度轉(zhuǎn)化為電流再通過放大器和 A/D 轉(zhuǎn)換器才能輸出數(shù)字量送給單片機(jī)進(jìn)行溫度控制。方案二:DS18B20 是美國達(dá)拉斯半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器。它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可以將溫度直接轉(zhuǎn)化成串行數(shù)字量供微處理器處理。因此,在溫度測量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問題的有效方案,新型數(shù)字溫度傳感器 DS18B20 具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)優(yōu)點(diǎn),在實(shí)際測溫的過程中取得了良好的測
11、量效果。其供電方式簡單,可用數(shù)據(jù)線供電,所需的外圍器件較少,甚至不需要外圍器件。通過比較,溫度傳感器 DS18B20 具有更高的性價(jià)比,DS18B20 能夠構(gòu)建經(jīng)濟(jì)的測溫網(wǎng)絡(luò)。因而在本次設(shè)計(jì)中,選用的是數(shù)字溫度傳感器 DS18B20,故采用的是方案二。3.3 顯示模塊方案一:采用八位數(shù)碼管,將單片機(jī)的數(shù)據(jù)通過數(shù)碼管顯示出來。該方案簡單易行,但所需的元器件較多,且不容易進(jìn)行操作,可讀性較差,一旦設(shè)定后,很難加入其它的功能,顯示格式受控制,且耗電量大。方案二:采用 LCD 顯示屏進(jìn)行顯示。LCD 顯示屏是一種低壓、微功耗的顯示器件,只要 2-3 伏就可以工作了,工作電流僅為幾微安,是其它顯示器無法
12、比擬的,同時(shí)可以顯示大量信息,除數(shù)字外,還可以顯示字母,曲線,比傳統(tǒng)的 LED 數(shù)碼顯示器的畫面有了質(zhì)的提高。雖然 LCD 顯示器的價(jià)格比傳統(tǒng)的 LED數(shù)碼管要貴些,但它的顯示效果更好,是當(dāng)今顯示器的主流,所以采用 LCD 作為顯示器。采用 LCD,更容易實(shí)現(xiàn)題目的要求,對(duì)后續(xù)的功能兼容性高,只需將軟件修改即可,可操作性強(qiáng),易于度數(shù),采用 RT1602 兩行十六字符的顯示,能同時(shí)顯示時(shí)間,溫度。綜上分析,采用第二種方案。3.4 鍵盤控制模塊方案一:44 矩陣式鍵盤。此方案對(duì)于本系統(tǒng)來說無非是浪費(fèi) I/O 占用MCU 的資源,不利于系統(tǒng)的擴(kuò)展,這就使系統(tǒng)的實(shí)用性降低,況且本系統(tǒng)根本不需要 16
13、個(gè)按鍵。方案二:獨(dú)立式按鍵。對(duì)于獨(dú)立式按鍵來說,如果設(shè)置過多按鍵,雖然會(huì)占用較多 I/O 口,給布線帶來不便,此方案適用于按鍵較少的情況。在本設(shè)計(jì)中所需要的控制點(diǎn)數(shù)的較少,只需要幾個(gè)功能鍵,簡便、易操作、成本低就成了首要考慮的因素。所以此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。3.5 語音播報(bào)模塊方案一:通過 A/D 轉(zhuǎn)換器、單片機(jī),存儲(chǔ)器,DA 轉(zhuǎn)換器實(shí)現(xiàn)聲音信號(hào)的采樣、處理、存儲(chǔ)和實(shí)現(xiàn)。首先將聲音信號(hào)放大,通過 AD 轉(zhuǎn)換器采樣將語音模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并由單片機(jī)和處理存放到存儲(chǔ)器中,實(shí)現(xiàn)錄音操作。在錄、放音過程中由單片機(jī)控制 D/A 轉(zhuǎn)換器,將存儲(chǔ)器中的數(shù)據(jù)轉(zhuǎn)化成聲音信號(hào)。此方案安裝調(diào)試復(fù)雜,集成
14、度低,成本也不低。方案二:采用 ISD1420 語音錄放。ISD1420 是采用模擬存取技術(shù)集成的可反復(fù)錄放的 20 秒語音芯片,掉電語音不丟失,最大可分 160 段,最小每段語音長度為 125ms,每段語音都可由地址線控制輸出,每 125ms 為一個(gè)地址,由 A0-A7 八根地址線控制。該芯片采用多電平直接模擬量存儲(chǔ)專利技術(shù),每個(gè)采樣值可直接存儲(chǔ)在片內(nèi)單個(gè) EEPROM 單元中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。此外,ISD1420 還省去了 A/D 和 D/A 轉(zhuǎn)換器,方便擴(kuò)展更多的功能。綜上所述,選擇方案二,即 ISD1420。4 設(shè)計(jì)原理本系統(tǒng)選用的模塊包括:單片機(jī)
15、系統(tǒng),電源模塊,LCD 顯示模塊,語音播報(bào)模塊,溫度傳感器模塊,鍵盤控制模塊,具體的電路圖參照附錄二。此次的畢業(yè)設(shè)計(jì)的核心部分是單片機(jī)的控制,給以相關(guān)的命令,按照人們的意愿執(zhí)行相應(yīng)的操作,這次選用的是 ATMEL 公司生產(chǎn)的常用芯片 AT89S52,主要是他的價(jià)格便宜,而且是我們通用性較強(qiáng),容易獲得。單片機(jī)介紹CPU 即中央處理器的簡稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU 由運(yùn)算器和控制器兩部分電路組成。 a. 運(yùn)算器電路 運(yùn)算器電路包括 ALU(算術(shù)邏輯單元) 、ACC(累加器) 、B 寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。 b
16、. 控制器電路控制器電路包括程序計(jì)數(shù)器 PC、PC 加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針 DPTR、堆棧指針 SP、緩沖器以及定時(shí)與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。 c. 定時(shí)器/計(jì)數(shù)器 MCS52單片機(jī)片內(nèi)有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,即定時(shí)器0和定時(shí)器1。它們可以用于定時(shí)控制、延時(shí)以及對(duì)外部事件的計(jì)數(shù)和檢測等。 d. 存儲(chǔ)器 MCS52系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,其主要特點(diǎn)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是相互獨(dú)立的,物理結(jié)構(gòu)也不相同。 e. 并行 I/O 口 MCS52單片機(jī)共有4個(gè)8位的 I/O 口(P0、P1、P2和 P3)
17、,每一條 I/O 線都能獨(dú)立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個(gè) TTL 門電路,P1、P2和 P3口為準(zhǔn)雙向口,負(fù)載能力為4個(gè) TTL 門電路。 f. 串行 I/O 口 MCS521單片機(jī)具有一個(gè)采用通用異步工作方式的全雙工串行通信接口,可以同時(shí)發(fā)送和接收數(shù)據(jù)。 g. 中斷控制系統(tǒng) 8051共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。 h. 時(shí)鐘電路 MCS52芯片內(nèi)部有時(shí)鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,振蕩器的頻率范圍為1.2MHz12MHz,典型取值為6MHz。 i.總線 以上所有組成部分都是通過總線連接起來,從而構(gòu)
18、成一個(gè)完整的單片機(jī)。系統(tǒng)的地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)都是通過總線傳送的,總線結(jié)構(gòu)減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。 選用單片機(jī)的結(jié)構(gòu): 1 一個(gè)8 位算術(shù)邏輯單元 2 32 個(gè) I/O 口4 組8 位端口可單獨(dú)尋址 3 兩個(gè)16 位定時(shí)計(jì)數(shù)器 4 全雙工串行通信 5 6 個(gè)中斷源兩個(gè)中斷優(yōu)先級(jí) 6 128 字節(jié)內(nèi)置 RAM 7 獨(dú)立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū) 每個(gè)8051 處理周期包括12 個(gè)振蕩周期每12 個(gè)振蕩周期用來完成一項(xiàng)操作如取指令和計(jì)算指令執(zhí)行時(shí)間可把時(shí)鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時(shí)鐘是11.059MHz 除以12 后就得到了
19、每秒執(zhí)行的指令個(gè)數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時(shí)間1.085ms 。AT89S52的管腳圖如圖4.1所示: 圖4.1 AT89S52管腳圖 單片機(jī)外圍電路設(shè)計(jì) 本設(shè)計(jì)選用的 AT89S52 是一個(gè)低功耗,高性能 CMOS 8 位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲(chǔ)器,器件采用 ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及 80S52 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 AT
20、89S52 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S52 具有如下特點(diǎn):40 個(gè)引腳,4k Bytes Flash 片內(nèi)程序存儲(chǔ)器,128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM) ,32 個(gè)外部雙向輸入/輸出(I/O)口,5 個(gè)中斷優(yōu)先級(jí) 2 層中斷嵌套中斷,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52 設(shè)計(jì)和配置了振蕩頻率,并可通過軟件設(shè)置省電模式??臻e模式下,CPU 暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中
21、斷激活或硬件復(fù)位。同時(shí)該芯片還具有 PDIP、TQFP 和 PLCC 等三種封裝形式。AT89S52 單片機(jī)綜合了微型處理器的基本功能。當(dāng) AT89S52 芯片接到來自溫度傳感器的信號(hào)時(shí),其內(nèi)部程序?qū)⒏鶕?jù)信號(hào)的類型進(jìn)行處理,并且將處理的結(jié)果送到顯示模塊、報(bào)警模塊、語音播報(bào)模塊,發(fā)送控制信號(hào)控制各模塊。該模塊在硬件設(shè)計(jì)方面,其外圍電路提供能使之工作的晶振脈沖、復(fù)位按鍵,四個(gè) I/O 口分別用于外圍設(shè)備連接。單片機(jī)AT89S52 硬件連接圖如圖 4.2 所示,其中 P0 接口外接上拉電阻以保證高低電平的準(zhǔn)確性。單片機(jī) AT89S52 的 I/O 端口具體分配與下表 4.1: AT89S52 的 I
22、/O 端口具體分配AT89S52 的 IO 端口外接點(diǎn)LCD 顯示地址端口語音芯片播音地址端口DS18b20 通道連接鍵盤控制端口連接報(bào)警器端口開始播音口LCD 讀/寫選擇端LCD 數(shù)據(jù)/命令端LCD 使能端4.1.3 AT89S52 復(fù)位電路系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下即單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的初態(tài)開始運(yùn)行。AT89S52 的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳 RST 通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。手動(dòng)復(fù)位:手動(dòng)復(fù)位需要人為在復(fù)位輸入端加高電平讓
23、系統(tǒng)復(fù)位。一般采用的方法是在 RST 端和正電源 VCC 之間接一個(gè)按鍵,當(dāng)按下按鍵后,VCC 和 RST端接通,RST 引腳處有高電平,而且按鍵動(dòng)作一般是數(shù)十毫秒、大于兩個(gè)機(jī)器周期的時(shí)間,能夠安全的讓系統(tǒng)復(fù)位。上電復(fù)位:上電復(fù)位電路是種簡單的復(fù)位電路,只要在 RST 復(fù)位引腳接一個(gè)電容到 VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過電容加到 RST 復(fù)位引腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù)位信號(hào)隨著 VCC 對(duì)電容的充電過程而回落,所以 RST 引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST 引腳的高電平信號(hào)必須維持足夠長的時(shí)間。在本
24、設(shè)計(jì)中復(fù)位電路的設(shè)計(jì)是采用簡單,用得比較廣的復(fù)位電路接法,如圖 4.3 所示,它具有上電復(fù)位和按鍵復(fù)位的雙重復(fù)位功能。圖 4.3 復(fù)位電路4.1.4 AT89S52 時(shí)鐘電路示:圖 4.4 時(shí)鐘電路圖AT89S52 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。4.24.2 電源模塊電源模塊鑒于系統(tǒng)使用的單片機(jī) AT89S52 和各芯片工作電壓在 5V 左右。我們選擇了 5V 穩(wěn)壓電源給單片機(jī)和各芯片供電。電路由簡單實(shí)用的三端穩(wěn)壓器構(gòu)成,輸入電壓
25、5V,滿足大部分電路的要求,電源電路圖如下圖 4.5 所示,由于使用了全橋,電壓輸入既可以使用交流輸入,又可以使用正負(fù)直流輸入,能夠防止由于極性接反造成的事故。濾波電容使用電解電容與小電容并聯(lián)的方式,能夠有效消除高頻自激現(xiàn)象。發(fā)光二極管接到電源與地之間,如果電源輸出不正常,發(fā)光二極管都會(huì)出現(xiàn)工作異常,提示電源部分故障。圖 4.5 電源電路圖4.3 溫度傳感器模塊本模塊主要作用是進(jìn)行溫度采集,然后經(jīng)采集的數(shù)據(jù)送入 AT89S52 里進(jìn)行分析處理。在本次設(shè)計(jì)中采用了 DS18B20 作為數(shù)據(jù)采集器,它的精度最少可以精確到 0.0625,完全可以用來進(jìn)行環(huán)境溫度的測量。DS18B20 是美國 DAL
26、LAS 公司生產(chǎn)的單總線數(shù)字溫度傳感器,可把溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字信號(hào)供微處理器處理,而且可以在一條總線上掛接任意多個(gè) DS18B20 芯片,構(gòu)成多點(diǎn)溫度檢測系統(tǒng)無需任何外加硬件。DS18B20 數(shù)字溫度傳感器可提供 912 位溫度讀數(shù),讀取或?qū)懭?DS18B20 的信息僅需一根總線,總線本身可以向所有掛接的DS18B20 芯片提供電源,而不需額外的電源。由 DS18B20 這一特點(diǎn),非常適合于多點(diǎn)溫度檢測系統(tǒng),硬件結(jié)構(gòu)簡單,方便聯(lián)網(wǎng),在倉儲(chǔ)管理、工農(nóng)業(yè)生產(chǎn)制造、氣象觀測、科學(xué)研究以及日常生活中被廣泛應(yīng)用。 DS18B20 的測溫原理。溫度轉(zhuǎn)換后以 16bit 格式存入便箋式 RAM,可以
27、用讀便箋式 RAM命令(BEH) 通過 1 - Wire 接口讀取溫度信息,數(shù)據(jù)傳輸時(shí)低位在前,高位在后。內(nèi)部溫度數(shù)據(jù)格式如圖 4.6 所示。溫度/數(shù)字對(duì)應(yīng)關(guān)系如表 4.2 所示(分辨率為12bit 時(shí)) 。由于 DS18B20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。操作協(xié)議為:初始化 DS18B20(發(fā)復(fù)位脈沖)發(fā) ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。 表 溫度和數(shù)據(jù)對(duì)應(yīng)表溫度二進(jìn)制數(shù)據(jù)十六進(jìn)制數(shù)據(jù)+125C0000 0111 1101 000007D0h+85C*0000 0101 0101 00000550h+25.0625C0000 0001 1001
28、00010191h+10.125C0000 0000 1010 001000A2h+0.5C0000 0000 0000 10000008h0C0000 0000 0000 00000000h-0.5C1111 1111 1111 1000FFF8h-10.125C1111 1111 0101 1110FF5Eh-25.0625C1111 1110 0110 1111FE6Fh-55C1111 1100 1001 0000FC90h DS1820B 內(nèi)部溫度數(shù)據(jù)格式 DS18B20 與 AT89S52 的接口電路設(shè)計(jì)DS18B20 可以從單總線上得到能量并儲(chǔ)存在內(nèi)部電容中,該能量是當(dāng)信號(hào)線處于
29、低電平期間消耗,在信號(hào)線為高電平時(shí)能量得到補(bǔ)充,這種供電方式稱為寄生電源供電。DS18B20 也可以由 35.5V 的外部電源供電。所以在硬件上,DS18B20 與單片機(jī)的連接有兩種方法,一種是 VCC 接外部電源,GND 接地,I/O 與單片機(jī)的 I/O 線相連;另一種是用寄生電源供電,此時(shí) UDD、GND 接地,I/O 接單片機(jī) I/O。無論是內(nèi)部寄生電源還是外部供電,I/O 口線要接 5K 左右的上拉電阻.我們采用的是第一種連接方法, 如圖 4.7 所示:把 DS18B20 數(shù)據(jù)線與 AT89S52 的 P2.0,再加上上拉電阻。圖 4.7 DS18B20 與 AT89S52 的接口電路
30、4.4 鍵盤控制模塊按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的 I/O 端口形成一個(gè)負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。本系統(tǒng)中用到四個(gè)功能控制按鍵,用 P2 的 4 個(gè) I/O 口接 4 個(gè)獨(dú)立式按鍵即可滿足需要,軟件消除抖動(dòng),當(dāng)發(fā)現(xiàn)有鍵按下時(shí),延時(shí)10-20ms再查詢是否有鍵按下,若沒有鍵按下,說明上次查詢結(jié)果為干擾或抖動(dòng);若沒有鍵按下,說明上次查詢結(jié)果為干擾或抖動(dòng);若仍有鍵按下,則說明閉合鍵已穩(wěn)定。準(zhǔn)確判斷去執(zhí)行相應(yīng)的程序。電路圖如圖 4.8 所示。圖 4.8 鍵盤控制電路4.5 報(bào)警模
31、塊報(bào)警模塊的工作原理是當(dāng)溫度傳感器檢測到的溫度高于溫度的上限或低于溫度的下限設(shè)定值時(shí)單片機(jī)的發(fā)出高電平信號(hào)促使 PNP 三極管導(dǎo)通點(diǎn)亮發(fā)光二極管,蜂鳴器也發(fā)出響聲,產(chǎn)生聲光報(bào)警。電路圖如圖 4.9 所示。 報(bào)警電路該模塊是由 RT1602 液晶顯示器件組成, 第 3 腳: VL 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對(duì)比度。第 4 腳:RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第 5 腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng) RS 和 RW 共
32、同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 RW 為高電平時(shí)可以讀忙信號(hào),當(dāng) RS 為高電平 RW 為低電平時(shí)可以寫入數(shù)據(jù)。第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第 714 腳:D0D7 為8 位雙向數(shù)據(jù)線。由上可知 1602 基本操作時(shí)序如表 4。其第 1516 腳:背光電源腳。RT1602 與單片機(jī)的應(yīng)用連接電路圖如圖 4.10 所示。表 4.3 LCD1602 基本操作時(shí)序基本時(shí)序操作輸入輸出讀狀態(tài)RS=L,R/W=H,E=HDOD7=狀態(tài)讀數(shù)據(jù)RS=H,R/W=H,E=H無寫指令RS=L,R/W=L,E=高脈沖,DOD7=指令碼D
33、OD7=數(shù)據(jù)讀指令RS=H,R/W=L,E=高脈沖,DOD7=數(shù)據(jù)無 圖 4.10 液晶顯示模塊接口電路本模塊采用的核心語音芯片 ISD1402 語音芯片是美國 ISD(Information Storage Device)公司的產(chǎn)品。它包括時(shí)鐘振蕩器、128K 可編程電擦除只讀存儲(chǔ)器(EEPROM)、低噪前置放大器、自動(dòng)增益控制電路、抗干擾濾波器、差分功率放大器等電路。ISD1400 系列語音芯片采用直接存儲(chǔ)模擬信號(hào),自動(dòng)待機(jī)省電,可編程電擦除只讀存儲(chǔ)和總線技術(shù)。ISD1400 是一種具有高保真、錄音數(shù)據(jù)永久保存、省電、適用于同單片機(jī)接口特點(diǎn)的新一代語音芯片。ISD1420是 ISD1400
34、 系列中錄音時(shí)長為 20s 語音芯片。ISD1420 是采用模擬存取技術(shù)集成的可反復(fù)錄放的 20 秒語音芯片,掉電語音不丟失,最大可分 160 段,最小每段語音長度為 125ms,每段語音都可由地址線控制輸出,每 125ms 為一個(gè)地址,由 A0-A7 八根地址線控制。4.7.1 ISD1420 語音芯片錄放音電路設(shè)計(jì)分段錄音時(shí),ISD1420 的 A0-A7 用作地址輸入線,A6、A7 不可同時(shí)為高電平,所以地址范圍為 00H-9FH,即為十進(jìn)制碼 0-159 共 160 個(gè)數(shù)值。這表明ISD1420 的 EEPROM 模擬存儲(chǔ)器最多可被劃分為 160 個(gè)存儲(chǔ)單元,也就是說ISD1420 最
35、多可存儲(chǔ) 160 個(gè)語音段,語音段的最小時(shí)間長度為。不同分段的選擇是通過對(duì) A0-A7 端接不同的高低電平來實(shí)現(xiàn)。ISD1420 分段錄音可以通過硬件(開關(guān))來實(shí)現(xiàn)也可以通過軟件編程來實(shí)現(xiàn)。為硬件實(shí)現(xiàn)錄音和放音的電路圖。圖 4.11 語音芯片錄音和放音電路其中 ISD1420 各引腳說明如下:A0-A7地址輸入端,當(dāng) A6 和 A7 不全為高電平時(shí),A0-A7 為分段錄音信息地址線,不同的地址對(duì)應(yīng)不同的錄音片斷。MIC話筒輸入端,話筒輸入信號(hào)通過電容交流耦合至此引腳并傳給片上預(yù)放大器,耦合電容 C7 的值和該端內(nèi)阻 R7(10K)決定語音信號(hào)通頻帶下限頻率。 MICREF話筒參考輸人端,MIC
36、REF 是預(yù)放大器的反相輸入端,配合外電路可使片上預(yù)放大器具有較高的噪聲抑制比和共模抑制比。ANA IN模擬信號(hào)輸人端,對(duì)于話筒輸入,ANA IN 引腳應(yīng)通過外部電容C4與ANA OUT引腳連接,耦合電容C4決定片上控制預(yù)放大器通頻帶的下限頻率。ANA OUT預(yù)放大器的輸出端,預(yù)放大器的電壓增益取決于 AGC 電平,對(duì)于小信號(hào)輸入電平,其增益最大為 24dB,對(duì)于強(qiáng)信號(hào),增益較低。AGC自動(dòng)增益控制端,AGC 動(dòng)態(tài)地調(diào)整預(yù)放大器增益,使加至 MIC 輸入端的非失真信號(hào)的范圍擴(kuò)展。內(nèi)阻抗(5 歐)和外部電容決定 AGC 的響應(yīng)時(shí)間,外部電容和外部電阻的 RC 時(shí)間常數(shù)決定 AGC 的釋放時(shí)間。S
37、P+、SP- 喇叭輸出端,該端可直接驅(qū)動(dòng) 16 歐的喇叭。XCLK外接時(shí)鐘輸入端,ISD1420 具有內(nèi)部時(shí)鐘,一旦接人外部時(shí)鐘,內(nèi)部時(shí)鐘會(huì)自動(dòng)失去作用。改電路不用外部時(shí)鐘該引腳接地,一般不推薦使用外部時(shí)鐘,除非要求時(shí)鐘信號(hào)特別精確。RECLED工作狀態(tài)指示端,在錄音或放音時(shí)該端輸出低電平,可驅(qū)動(dòng)一個(gè)LED 來指示狀態(tài)。在錄音過程中指示燈一直亮著,在放音結(jié)束時(shí),指示燈閃爍一下。PLAYE邊沿觸發(fā)放音控制端,該端輸人一低脈沖,芯片即進(jìn)入放音狀態(tài),直至遇到信息結(jié)束標(biāo)記(EOM)或到存儲(chǔ)空間的末尾時(shí)回放過程結(jié)束,電路自動(dòng)進(jìn)入準(zhǔn)備狀態(tài)?;胤胚^程中 PLAYE 變化不會(huì)影響回放過程。PLAYL電平觸發(fā)放
38、音控制端,該端電平變?yōu)榈碗娖讲⒈3郑酒M(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,在放音期間若遇 REC 接低電平時(shí),放音就會(huì)立即停止并轉(zhuǎn)入錄音狀態(tài)開始錄音。錄音期間 REC 應(yīng)始終保持低電平,REC 變高或存儲(chǔ)空間變滿時(shí)錄音過程結(jié)束,這時(shí)在錄音截止的地方會(huì)記錄一個(gè)信息結(jié)束標(biāo)記(EOM)。VCCD、VCCA數(shù)字電源正端和模擬電源正端。VSSD、VSSA數(shù)字地和模擬地。電路實(shí)現(xiàn)錄音功能說明如下,S1、S2、S3 分別是控制錄音和放
39、音按鍵,當(dāng)按下 S1 時(shí)開始錄音,S2、S3 為兩種方式的放音按鍵,當(dāng)按一下 S2 時(shí)開始放音,是下降沿觸發(fā)的,而 S3 為電平控制的,必須一直按著此鍵直至放音結(jié)束。LED和限流電阻組成錄放音指示電路,當(dāng)錄音結(jié)束、錄音超出時(shí)限(存儲(chǔ)器溢出)或放音結(jié)束時(shí),ISD1420 的 25 腳呈高電平,LED 熄滅。對(duì) ISD1420 進(jìn)行分段錄音之前要先列出語音信息與分段地址的對(duì)照表,如表 4.4 所示。然后檢查電路連接、接線和電源情況。并通過對(duì)照表來設(shè)置 8 個(gè)開關(guān)選擇要錄音的地址,最后按下錄音鍵直至錄音結(jié)束,松開錄音鍵,重復(fù)此操作就可以將自己需要錄入的內(nèi)容全部錄入到芯片中。另外,A0 和 A1 都需
40、要接地,因?yàn)槲覀円_保分段間隔不小于,所以至少要四段,否則錄音的信息可能會(huì)重疊,導(dǎo)致放音時(shí)達(dá)不到自己的要求。用戶錄制的語音每一段結(jié)束后芯片自動(dòng)設(shè)有段結(jié)束標(biāo)志(EOM) ,芯片錄滿后設(shè)有溢出標(biāo)志(OVF) 。表 4.4 分段語音信息與地址對(duì)照表語 音 信 息分段地址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
41、 0 00 0 0 0十48H0 1 0 0 1 0 00攝氏度50H0 1 0 1 0 0 0 0現(xiàn)在溫度是58H1 0 0 1 1 0 0 04.7.2 ISD1420 與 AT89S52 接口電路設(shè)計(jì)ISD1420 錄音和放音電路可以通過硬件開關(guān)控制。本設(shè)計(jì)錄音是用硬件控制,但是播報(bào)溫度放音是通過 AT89S52 來控制的。單片機(jī)某一段的起始地址進(jìn)行放音操作,遇到段結(jié)束標(biāo)志(EOM)即自動(dòng)停止放音,單片機(jī)收到段結(jié)束標(biāo)志(EOM)就開始觸發(fā)下一段語音的起始地址,如此控制,即可以將很多、不同段的語音組合在一起成一句話放音出來,實(shí)現(xiàn)語音的自動(dòng)組合。ISD1420 與AT89S52 的接口連接入
42、下:AT89S52 的 P1 端口連接地址線 ISD1420 的 A0-A7,ISD1420 放音電路通過 AT89S52 的口控制 PLAYER 放音。具體連接圖見圖4.11。5 軟件部分5.1 開發(fā)工具介紹 單片的使用除了硬件,同樣也要軟件的使用,我們寫匯編程序編程 CPU 可執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,一種是機(jī)器匯編。機(jī)器匯編通過匯編軟件變?yōu)闄C(jī)器碼,用于 MSC-51 單片機(jī)的匯編軟件有早期的 A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從使用普通匯編語言到高級(jí)語言的不斷發(fā)展,Keil 是目前最流行開發(fā) MCS-51 系列單片機(jī)的軟件。Keil c51 匯編,PLM 語言和 C 語
43、言的程序設(shè)計(jì),界面友好。Keil 是美國 keil software 公司出品的 52 系列兼容單片機(jī) c 語言開發(fā)系統(tǒng)。用過匯編語言后再使用 C 語言來開發(fā),體會(huì)更加深刻。 Keil C51 軟件提供豐富的庫,與匯編相比,C 語言在功能上,結(jié)構(gòu)上,可讀性,可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點(diǎn),只要看一下編譯后生產(chǎn)的匯編代碼,就能體會(huì)到 KeilC51DE 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解,在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。5.2 系統(tǒng)的主程序設(shè)計(jì)主程序是在程序運(yùn)行的過程中必須先經(jīng)
44、過初始化,包括鍵盤程序,測量程序,以及各個(gè)控制端口的初始化工作。系統(tǒng)在初始化完成后就進(jìn)入讀取溫度測量程序,實(shí)時(shí)的測量當(dāng)前的溫度,得到溫度后判斷溫度是否超過溫度設(shè)置的上下限。超出(低于)溫度上下限,調(diào)用報(bào)警子程序。再顯示電路在 LCD初始化判斷溫度在設(shè)定范圍顯示溫度子程序報(bào)警子程序顯示時(shí)間子程序測量溫度子程序判斷顯示模式子程序顯示溫度上下限子程序鍵盤掃描子程序圖 5.1 主程序流程圖5.2.1 鍵盤掃描子程序?qū)τ谙到y(tǒng)來說,鍵輸入程序是整個(gè)鍵盤控制應(yīng)用系統(tǒng)的核心。當(dāng)所設(shè)的功能鍵按下時(shí),本系統(tǒng)應(yīng)完成該鍵所設(shè)的功能。本系統(tǒng)具體實(shí)現(xiàn)功能如下表5.1。按鍵閉合過程在相應(yīng)的 I/O 端口形成一個(gè)負(fù)脈沖。閉合
45、和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。為了保證 CPU 對(duì)鍵一次閉合,僅作一次鍵輸入處理,必須去抖動(dòng)影響。本設(shè)計(jì)采用軟件去抖的辦法是在檢測到有按鍵按下時(shí),執(zhí)行一個(gè)510ms(延時(shí)子程序未在流程圖中畫出) 。表 5.1 按鍵功能表按鍵實(shí)現(xiàn)功能開機(jī)SW5 按下一次進(jìn)入時(shí)間秒設(shè)置模式SW5 按下二次進(jìn)入時(shí)間分設(shè)置模式SW5 按下三次進(jìn)入時(shí)間時(shí)設(shè)置模式SW5 按下四次進(jìn)入溫度上限設(shè)置模式SW5 按第五次進(jìn)入溫度下限設(shè)置模式SW5 按下第六次退出設(shè)置模式SW6 按下一次在設(shè)置模式下對(duì)應(yīng)數(shù)值加一SW7 按下一次在設(shè)置模式下對(duì)應(yīng)數(shù)值減一SW8 按下
46、一次播報(bào)當(dāng)時(shí)溫度值鍵盤開始掃描ct=0;P1=ct; SW5 按下SW6 按下SW7 按下SW8 按下ct+;if(ct5)ct=0;if(ct=4|ct=5)顯示溫度上下限子程序;else 顯示時(shí)間子程序If(ct=0)無效;If(ct=1)秒加 1;If(ct=2)分加 1;If(ct=3) 時(shí)加 1If(ct=4)上限加 1If(ct=5)下限加 1語音播報(bào)子程序If(ct=0)無效;If(ct=1)秒減 1;If(ct=2)分減 1;If(ct=3) 時(shí)減 1If(ct=4)上限加減If(ct=5)下限減 1圖 5.2 鍵盤子程序流程圖5.測量溫度子程序設(shè)計(jì)由在整個(gè)語音溫度計(jì)的設(shè)計(jì)中是
47、以正確采集溫度為前提的,因?yàn)槿绻麥囟炔杉筒徽_,那么即使后續(xù)電路如顯示和報(bào)溫電路均正確,最后的結(jié)果仍然不能達(dá)到我們所要的目標(biāo),也就是不能正確的對(duì)環(huán)境溫度進(jìn)行顯示和報(bào)溫,所以關(guān)于 DS18B20 的溫度采集是非常重要的。DS18B20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā) ROM 功能命令發(fā)存儲(chǔ)器操作命令。部分控制DS18B20 指令功能如表 5.2 所示:初始化寫跳過 ROM 指令寫啟動(dòng)溫度轉(zhuǎn)換指令延時(shí)初始化寫跳過 ROM 指令寫讀溫度轉(zhuǎn)換指令讀取溫度圖 5.3 測溫度子程序流程圖表 5.2 控制 DS18B20
48、指令表指 令 指令代碼 操 作 說 明 跳過 ROMCCH忽略 64 位 ROM 編碼溫度轉(zhuǎn)換 44H啟動(dòng) DS18B20 進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH讀暫存器 9 個(gè)字節(jié)內(nèi)容 寫暫存器 4EH將數(shù)據(jù)寫入暫存器的 TH、TL 字節(jié) 復(fù)制暫存器 48H把暫存器的 TH、TL 字節(jié)寫到 E2RAM 中 重新調(diào) E2RAMB8H把 E2RAM 中的 TH、TL 字節(jié)寫到暫存器TH、TL 中 讀電源供電方式 B4H啟動(dòng) DS18B20 發(fā)送電源供電方式的信號(hào)給主 CPU報(bào)警子程序 不報(bào)警小于 0小于0大于 0小于 0大于 0大于0讀取溫度值溫度值減上限值溫度值減下限值報(bào)警圖 5.4 報(bào)警子程序流程圖
49、實(shí)現(xiàn)時(shí)鐘功能的程序設(shè)計(jì)本系統(tǒng)的時(shí)鐘直接用單片機(jī)的定時(shí)器編程以實(shí)現(xiàn)時(shí)鐘,節(jié)省硬件。TMOD=0 x01 定時(shí)器 T0 初始化方式 1。定時(shí)時(shí)間=(65536-T0 初值)*時(shí)鐘周期*12。本設(shè)計(jì)中定時(shí)時(shí)間 50ms,時(shí)鐘周期為 12M,顧 TH0=0 x3c;TL0=0 xb0 時(shí)鐘實(shí)現(xiàn)流程圖如圖 15.5 所示:定時(shí)器 T0 初始化(方式 1)判斷 mstcnt=20 判斷 Seconde=60Seconde +Mstcnt+Hour+判斷 Hour =24Hour=0 時(shí)鐘功能實(shí)現(xiàn)流程圖顯示程序設(shè)計(jì)本設(shè)計(jì)使用的 LCD1602 基本操作時(shí)序如下表 4.2。清楚基本操作時(shí)序就可以完成寫指令和寫
50、數(shù)據(jù)到 LCD 中的子函數(shù)設(shè)計(jì)。在子函數(shù)中為了使液晶顯示更加穩(wěn)定,可以最簡短的延時(shí)。顯示模式包括當(dāng)前溫度顯示,時(shí)間顯示模式,溫度上下限,他們實(shí)現(xiàn)都是先初始化調(diào)用顯示字符串子程序后再調(diào)用顯示指定位置字符子程序,具體看顯示當(dāng)前溫度子程序流程圖如圖 5.6 所示:當(dāng)前檢測溫度數(shù)據(jù)移入顯示寄存器LCD 初始化顯示字符temp: . oC-顯示當(dāng)前溫度圖 5.6 顯示當(dāng)前溫度子程序流程圖 語音播放子程序單片機(jī)語根據(jù)語音信息與分段地址的對(duì)照表和當(dāng)前溫度組合出播報(bào)當(dāng)前的溫度語音數(shù)據(jù)地址,再通過控制語音芯片放音,把處理的數(shù)據(jù)地址通過 P1 端口寫給語音芯片,程序流程如圖 5.7 所示:播報(bào)“現(xiàn)在溫度是”,播報(bào)
51、溫度值的個(gè)位溫度值10播報(bào)“度”個(gè)位為零播報(bào)溫度值的十位播報(bào)“十”播報(bào)溫度值個(gè)位播報(bào)“度”個(gè)位不為零播報(bào)溫度值的十位播報(bào)“十”播報(bào)“度”圖 5.7 語音播放子程序6 仿真結(jié)果數(shù)據(jù)分析各項(xiàng)功能仿真方法及仿真結(jié)果如下表 6.1 各項(xiàng)功能仿真方法及結(jié)果類別仿真項(xiàng)目仿真方法仿真結(jié)果(1)正常開機(jī)有嘟聲開機(jī)實(shí)現(xiàn) 仿真實(shí)現(xiàn)(2)測量范圍開機(jī)顯示,調(diào)整 DS18B20的溫度是否都可以顯示仿真實(shí)現(xiàn)(3)顯示時(shí)間和溫度開機(jī)顯示仿真實(shí)現(xiàn)(4)調(diào)整時(shí)間、日期,設(shè)定最低、最高溫度按 SW5 進(jìn)入時(shí)間、最低、最高溫度調(diào)整功能,SW6加 1,SW7 減 1,最后按SW5 確認(rèn)溫度設(shè)定結(jié)束 仿真實(shí)現(xiàn)(5)報(bào)警功能調(diào)整 DS
52、18B20 溫度分別超過上限與下限,啟動(dòng)蜂鳴器與指示燈仿真實(shí)現(xiàn)基本部分(6)語音播放功能觀察連接語音芯片 P1 和高低電平的變化仿真實(shí)現(xiàn)7 結(jié)束語本文設(shè)計(jì)的語音溫度計(jì),即可用于人民生活中的日常用品,還可以單獨(dú)作為系統(tǒng)為了保證某特定環(huán)境溫度維持在設(shè)定的范圍內(nèi),以保證工作系統(tǒng)在穩(wěn)定的狀態(tài)下工作。本文設(shè)計(jì)的語音溫度計(jì)成本很低,如果采用大批量生產(chǎn)的話,生產(chǎn)成本會(huì)更低,可以帶來一定的經(jīng)濟(jì)效益。經(jīng)過這段時(shí)間的方案論證、系統(tǒng)的硬件和軟件的設(shè)計(jì)、系統(tǒng)的仿真和調(diào)試。查閱了大量的關(guān)于傳感器、單片機(jī)及其接口電路、以及控制方面的理論。經(jīng)過了一番特殊的體驗(yàn)后,靠用所學(xué)的專業(yè)知識(shí)來解決問題。檢查了自己的知識(shí)水平,使我對(duì)自
53、己有一個(gè)全新的認(rèn)識(shí)。通過這次畢業(yè)設(shè)計(jì),不僅鍛煉自己分析問題、處理問題的能力,還提高了自己的動(dòng)手能力。這些培養(yǎng)和鍛煉對(duì)于我們這些即將走向工作崗位的大學(xué)生來說,是很重要的。這次畢業(yè)設(shè)計(jì)基本的完成了任務(wù)書的要求,實(shí)現(xiàn)了溫度的控制和語音播報(bào)。通過仿真表明系統(tǒng)的設(shè)計(jì)是正確的,可行的。但是由于設(shè)計(jì)者的設(shè)計(jì)經(jīng)驗(yàn)和知識(shí)水平有限,本文設(shè)計(jì)的語音溫度計(jì)還存在許多不足和缺陷。參考文獻(xiàn)1 余小平等.電子系統(tǒng)設(shè)計(jì)M .北京航空航天大學(xué)出版社.2007 133-1352 何立民等.單片機(jī)中級(jí)教程原理與應(yīng)用M.北京航空航天大學(xué)出版 社.1999 345678 Dallas 公司. DS18B20 Resolution On
54、e Wire Digital Thermometer. G.20009 ISD 公司Datebook of Voice Recoding&Playback Ics G200011DALLAS. High Precision l-wire Digital ThermometerEB/OL. : / dalsemi .10DALLAS. Understanding and Using Cyclic Redundancy Checks with Dallas Semiconductor iButtonTM ProductsEB/OL. :/ dalsemi .附錄一:電路圖附錄二:源程序/*
55、語音溫度計(jì)*/*以下源代碼是主程序部分 main.c*/#include #include LCD1602.h#include clock.h#include key.h#include DS18B20.h#include temp.h#include BEEP.h#include ISD1420.h#include speakTEMP.hvoid delayMs(unsigned int ms) /延時(shí) unsigned char j;while(ms-)for(j=0; j top_temp | temp (char)bottom_temp) beep();displayTemp(); /
56、顯示溫度子函數(shù)if(DisplayTimeFlag) /判斷顯示模式displayClock(); /顯示時(shí)間子函數(shù)elsedisplayTempLim(); /顯示溫度上下限子函數(shù)delayMs(10);/*以下源代碼是顯示子程序 部分*/#ifndef_LCD1602_H_#define _LCD1602_H_#include #include #define BUSY 0 x80 /lcd 忙檢測標(biāo)志#define DATAPORT P0sbit LCM_RS=P37;/數(shù)據(jù)/命令端sbit LCM_RW=P36;/讀/寫選擇端sbit LCM_EN=P27; /LCD 使能信號(hào)void
57、 delay_LCM(unsigned int); /LCD 延時(shí)子程序延時(shí) msvoid initLCM(void); /LCD 初始化子程序void lcd_wait(void); /LCD 檢測忙子程序void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC); /寫指令到 ICM 子函數(shù)void WriteDataLCM(unsigned char WDLCM); /寫數(shù)據(jù)到 LCM 子函數(shù)void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char D
58、Data); /顯示指定坐標(biāo)的一個(gè)字符子函數(shù)void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData); /顯示指定坐標(biāo)的一串字符子函數(shù) unsigned int i,j; for(i=0;ik;i+) for(j=0;j60;j+) ; void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC)/寫指令到 LCM 子函數(shù) if(BusyC)lcd_wait();DATAPORT=WCLCM; LCM_RS=0; / 選中指令寄存器
59、 LCM_RW=0; / 寫模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); LCM_EN=0; void WriteDataLCM(unsigned char WDLCM) / 寫數(shù)據(jù)到 LCM 子函數(shù) lcd_wait( ); /檢測忙信號(hào) DATAPORT=WDLCM; LCM_RS=1; / 選中數(shù)據(jù)寄存器 LCM_RW=0; / 寫模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); LCM_EN=0;void lcd_wait(void) / lcm 內(nèi)部等待函數(shù) DATAPORT=0 xff; LCM_EN=1;LCM_RS
60、=0; LCM_RW=1; _nop_(); _nop_(); _nop_(); while(DATAPORT&BUSY) LCM_EN=0;_nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); LCM_EN=0;void initLCM( ) / LCM 初始化子函數(shù) DATAPORT=0;delay_LCM(15);WriteCommandLCM(0 x38,0); /三次顯示模式設(shè)置,不檢測忙信號(hào) delay_LCM(5); WriteCommandLCM(0 x38,0); delay_LCM(5); WriteCommandLCM(0 x38,0); delay_LCM(5); W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借用模具合同范本
- 賣房按揭付款合同范本
- 農(nóng)用設(shè)備維護(hù)合同范本
- 主板維修培訓(xùn)合同范本
- 務(wù)工承攬合同范例
- 代理報(bào)稅公司合同范本
- 出版補(bǔ)充協(xié)議合同范本
- 中介裝修出售合同范本
- 公司雕刻外包合同范本
- 單位退休合同范本
- 2025年公務(wù)員考試《行測》模擬題及答案(詳細(xì)解析)
- 2024年黑龍江省牡丹江市中考?xì)v史試卷
- 滬科版八年級(jí)物理知識(shí)點(diǎn)總結(jié)
- 孫權(quán)勸學(xué)(原卷版)-2024年中考語文之文言文對(duì)比閱讀
- 高速公路日常清掃與養(yǎng)護(hù)方案
- 風(fēng)電epc合同模板
- 2024年新人教版一年級(jí)數(shù)學(xué)下冊(cè)《第2單元第5課時(shí) 20以內(nèi)的退位減法解決問題(1)》教學(xué)課件
- 2022年陜西省普通高校職業(yè)教育單獨(dú)招生統(tǒng)一考試語文甲(A)試題
- 失業(yè)保險(xiǎn)待遇申領(lǐng)表
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)第二冊(cè)河北大學(xué)版(第3版)教學(xué)設(shè)計(jì)合集
- 期末測試卷(一)(試題)2023-2024學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)蘇教版
評(píng)論
0/150
提交評(píng)論