電子產(chǎn)品設(shè)計(jì)論文_第1頁(yè)
電子產(chǎn)品設(shè)計(jì)論文_第2頁(yè)
電子產(chǎn)品設(shè)計(jì)論文_第3頁(yè)
電子產(chǎn)品設(shè)計(jì)論文_第4頁(yè)
電子產(chǎn)品設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子產(chǎn)品設(shè)計(jì)題 目 智能體溫計(jì) 姓 名 xxx 學(xué) 號(hào) xxx 專(zhuān)業(yè)班級(jí) xxx 所在學(xué)院 信電分院 指導(dǎo)教師(職稱) 楊鋯 二一六 年 六 月 十九 日28摘要電子產(chǎn)品設(shè)計(jì)智能體溫計(jì)摘 要 智能體溫計(jì)采用AT89S52作為核心器件實(shí)現(xiàn)對(duì)系統(tǒng)的自動(dòng)控制,采用雙單片機(jī)串行處理結(jié)構(gòu)。外界溫度經(jīng)AD590集成溫度傳感器采集,溫度變化轉(zhuǎn)換為線性電壓信號(hào),再經(jīng)由OP07構(gòu)成高精度低溫漂的放大電路處理后,作為ADC0809的模擬輸入信號(hào),由ADC0809完成AD轉(zhuǎn)換,得到8位的數(shù)字信號(hào)送入單片機(jī)1(AT89S52)。單片機(jī)1將采集到溫度值在LED數(shù)碼管上顯示出來(lái),也通過(guò)串口通信將溫度信號(hào)傳到單片2(AT8

2、9S52)。此外溫度預(yù)制,報(bào)警電路模塊功能也由單片機(jī)1完成。單片機(jī)2完成溫度值的語(yǔ)音播放功能。通過(guò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)說(shuō)明本設(shè)計(jì)方案切實(shí)可以,能夠完成題目所要求的基本功能部分,并留有相應(yīng)的接口,為完成擴(kuò)展功能打下基礎(chǔ)。關(guān)鍵字:?jiǎn)纹瑱C(jī) AD590 ADC0809 ISD2560AbstractElectronic product designElectronic thermometerAbstract Intelligent temperature meter adopts AT89S52 as the core device to realize the automatic control of

3、the system, using the serial processing structure. Outside temperature by integrated temperature sensor AD590 acquisition, temperature conversion into the linear voltage signal, and then through the OP07 constitute high precision and low temperature drift of amplification circuits, as ADC0809 analog

4、 input signal, by the ADC0809 complete a / D conversion and get 8 bit digital signal into the microcontroller 1 (AT89S52). SCM 1 will be collected to the temperature value in the LED digital tube display, but also through the serial communication to the temperature signal to the monolithic 2 (AT89S5

5、2). In addition to the temperature, the alarm circuit module function is completed by the MCU 1. SCM 2 to complete the temperature value of the voice player. Through the design and implementation of the system, this design can be realized, can complete the basic functional requirements of the title,

6、 and leave the corresponding interface, for the completion of the extension function to lay the foundation.Key word: single chip microcomputer ADC0809 ISD2560 AD590浙江大學(xué)城市學(xué)院畢業(yè)論文圖目錄目錄摘 要1第1章緒論11.1背景11.2設(shè)計(jì)目的1第2章原理分析22.1設(shè)計(jì)總原理22.1.1溫度傳感器的選擇22.1.2AD轉(zhuǎn)換器的選擇32.1.3語(yǔ)音提示模塊32.2原理分析32.3系統(tǒng)電路原理圖3第3章主要電路設(shè)計(jì)與參數(shù)計(jì)算43.1電

7、源電路模塊43.2溫度檢測(cè)、放大模塊53.2.1換成DS18B20溫度模塊怎么改53.2.2AD590簡(jiǎn)介53.2.3圖5溫度檢測(cè)、放大電路原理63.3A/D轉(zhuǎn)換模塊63.4溫度設(shè)制、顯示及報(bào)警電路模塊73.5串行通信模塊83.6語(yǔ)音播放模塊93.6.1錄音、放音簡(jiǎn)介93.6.2ISD2560簡(jiǎn)介93.6.3芯片工作原理113.6.4硬件電路設(shè)計(jì)123.6.5本方法的特點(diǎn)12第4章系統(tǒng)軟件設(shè)計(jì)134.1系統(tǒng)程序流程圖13第5章系統(tǒng)測(cè)試145.1硬件測(cè)試145.1.1單元模塊的測(cè)試145.1.2系統(tǒng)整體測(cè)試155.1.3軟件測(cè)試155.1.4硬件與軟件的聯(lián)機(jī)測(cè)試15第6章利用的程序:16第7章參

8、考文獻(xiàn)25圖目錄圖 1 系統(tǒng)框圖2圖 2 系統(tǒng)電路原理圖4圖 3 電源電路圖5圖 4 AD590溫度檢測(cè)、放大電路圖6圖 5 AD590包裝與等效電路圖8圖 6 A/D轉(zhuǎn)換電路圖9圖 7 溫度設(shè)制、顯示及報(bào)警電路圖10圖 8 串行通信電路圖10圖 9 錄音、放音電路圖11圖 10 ISD2560管腳圖12圖 11 單片機(jī)1程序主流程圖 圖 12 單片機(jī)2程序主流程圖15圖 13 單片機(jī)2的T0中斷程序流程圖16浙江大學(xué)城市學(xué)院畢業(yè)論文 參考文獻(xiàn)第1章 緒論1.1 背景溫度是一個(gè)十分重要的物理量,對(duì)它的測(cè)量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對(duì)生活環(huán)境要求的提高,人們也迫切需要

9、檢測(cè)與控制溫度。溫度控制電路在工農(nóng)業(yè)生產(chǎn)中有著廣泛的應(yīng)用。日常生活中也可以見(jiàn)到,如電冰箱的自動(dòng)制冷,空調(diào)器的自動(dòng)控制等等。利用熱敏電阻器和惠斯通電橋制作一個(gè)電子體溫計(jì),也可以演示自動(dòng)控制電路的工作原理?,F(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。因此傳感器在此電子體溫計(jì)的制作中起了重要的作用。1.2 設(shè)計(jì)目的 傳統(tǒng)的玻璃水銀(汞)體溫計(jì)不僅使用不便,而且還存在著安全隱患。這種體溫計(jì)依靠體溫的傳導(dǎo)使汞柱的熱脹冷縮的影響下伸縮而發(fā)

10、生長(zhǎng)度變化,因此其惰性大,獲取體溫平衡值的等待時(shí)間較為長(zhǎng)久。嬰幼兒好動(dòng),測(cè)量體溫大多不愿默契配合,用玻璃水銀體溫計(jì)給嬰幼兒測(cè)量體溫具有一定的危險(xiǎn)性。體溫計(jì)水銀囊的玻殼薄脆易碎,一旦被不慎咬碎,極易導(dǎo)致汞的外泄污染與中毒。一支普通水銀體溫計(jì)內(nèi)的汞含量約為2g,足以污染800L的水;汞只需0.3g的微量便能對(duì)成人的身體贊成致命的傷害。人體一旦吸入大量的甲基汞,將有喪命之虞,如果攝入遭到汞污染的水或食物,將嚴(yán)懲損害神經(jīng)系統(tǒng),孕婦也將因此而產(chǎn)下畸形兒鑒于水銀體溫計(jì)破裂會(huì)危及人體健良乃至寶貴的生命,歐美各國(guó)從上世紀(jì)末就已紛紛宣布禁止使用與銷(xiāo)售水銀體溫計(jì),并換代升級(jí)為安全環(huán)保的電子體溫計(jì)。電子體溫計(jì)在國(guó)內(nèi)

11、也正在逐漸成為水銀體溫計(jì)的升級(jí)替代品。2003年以來(lái)流行的“非典”、“甲流”等呼吸系統(tǒng)傳染性疾病給中國(guó)和世界帶來(lái)了無(wú)盡的痛苦和災(zāi)難。這類(lèi)疾病的主要病征之一就是發(fā)燒。為此,許多車(chē)站、碼頭、學(xué)校、企事業(yè)單位、醫(yī)務(wù)點(diǎn)均以測(cè)量體溫作為判斷是否得了“甲流”等疾病的前提。而數(shù)字體溫計(jì)以使用方便、檢測(cè)時(shí)間短、精確度高、顯示清晰、直觀、安全性好、價(jià)格合理等優(yōu)點(diǎn)將會(huì)得到更廣泛的應(yīng)用。第2章 原理分析2.1 設(shè)計(jì)總原理 圖 1 系統(tǒng)框圖2.1.1 溫度傳感器的選擇采用集成溫度傳感器。集成溫度傳感器一般且有具有線性好、精度高、靈敏度高、體積小、使用方便等優(yōu)點(diǎn)。根據(jù)實(shí)驗(yàn)室現(xiàn)有材料可選取AD590。AD590的測(cè)溫范圍

12、為-55+150,能滿足本設(shè)計(jì)的050度測(cè)量要求。根據(jù)相關(guān)技術(shù)資料:AD590線性電流輸出為1A/K,正比于絕對(duì)溫度;AD590的電源電壓范圍為4V30V,并可承受44V正向電壓和20V反向電壓,因而器件反接也不會(huì)被損壞。該方案能完全滿足此設(shè)計(jì)的要求,故采用此方案。2.1.2 AD轉(zhuǎn)換器的選擇選用ADC0809。ADC0809數(shù)字量是8位,轉(zhuǎn)換時(shí)間為100s,輸入模擬電壓為單極性的05V。由于本設(shè)計(jì)的要求精度不是很高,ADC0809可以達(dá)到要求,故選用此方案。2.1.3 語(yǔ)音提示模塊 采用ISD2560語(yǔ)音錄放集成電路。這是一種永久記憶型語(yǔ)音錄放電路,錄音時(shí)間為60S,可重復(fù)錄放10萬(wàn)次。該芯

13、片采用多電平直接模擬量存儲(chǔ)專(zhuān)利技術(shù),每個(gè)采樣值可直接存儲(chǔ)在片內(nèi)單個(gè)EEPROM單元中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂(lè)、音調(diào)和效果聲。此外,ISD2560還省去了A/D和D/A轉(zhuǎn)換器。其集成度較高,內(nèi)部包括前置放大器、內(nèi)部時(shí)鐘、定時(shí)器、采樣時(shí)鐘、濾波器、自動(dòng)增益控制、邏輯控制、模擬收發(fā)器、解碼器和480K 字節(jié)的EEPROM。ISD2560內(nèi)部EEPROM存儲(chǔ)單元均勻分為600行,有600個(gè)地址單元,每個(gè)地址單元指向其中一行,每一個(gè)地址單元的地址分辨率為100ms 。ISD2560可不分段,也可按最小段長(zhǎng)為單位來(lái)任意組合分段。因此,選擇方案二。 2.2 原理分析系統(tǒng)框圖如圖1,AD590

14、把采集的外部溫度信號(hào)轉(zhuǎn)換成相應(yīng)的電壓,再經(jīng)過(guò)OP07運(yùn)放放大后作為ADC0809的模擬輸入信號(hào),ADC0809將此模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過(guò)并口送入到單片機(jī)1。單片機(jī)1把這些信號(hào)處理后通過(guò)LED數(shù)碼管顯示出來(lái)。同時(shí)單片機(jī)1還處理按鍵、報(bào)警模塊。單片機(jī)1把溫度值通過(guò)串行通信傳送給單片機(jī)2,控制語(yǔ)音芯片報(bào)出相對(duì)應(yīng)的溫度值。2.3 系統(tǒng)電路原理圖圖 2 系統(tǒng)電路原理圖如圖2所示,該電路主要由電源電路,溫度檢測(cè)、放大電路,AD轉(zhuǎn)換電路,雙單片機(jī)串行通信電路,按鍵輸入、報(bào)警電路,數(shù)碼管掃描顯示電路以及語(yǔ)音芯片電路組成。第3章 主要電路設(shè)計(jì)與參數(shù)計(jì)算3.1 電源電路模塊圖 3 電源電路圖如圖3所示,22

15、0V交流電經(jīng)變壓器市降壓、橋式整流、電容濾波后由7812、7805、7905三端集成穩(wěn)壓管分別得到12V、+5V、-5V電壓。給整個(gè)電路供電。3.2 溫度檢測(cè)、放大模塊圖 4 AD590溫度檢測(cè)、放大電路圖3.2.1 換成DS18B20溫度模塊怎么改如圖4所示,溫度檢測(cè)、放大電路主要器件的作用:OP1:電壓跟隨器;OP2:電壓跟隨器;OP3:差分放大電路;AD590:溫度傳感器;SVR:零位調(diào)整。3.2.2 AD590簡(jiǎn)介AD590是電流輸出型的半導(dǎo)體溫度感測(cè)組件,主要特性如下:1.具有線性輸出電流。2.寬廣的操作溫度范圍(-55150)。3.寬廣的工作電壓范圍(+4V+30V)。4.良好的隔

16、離性。AD590的包裝與等效電路如圖4所示,是TO-52型金屬外殼包裝。他是兩端子的半導(dǎo)體溫度感測(cè)組件,另有一端子是外殼接腳,可接地以減少噪聲干擾。AD590如同一個(gè)隨溫度而改變輸出電流的定電流源,輸出電流與外殼的開(kāi)氏(K)溫度成正比。開(kāi)氏溫度與攝氏溫度的單位相等,0等于273.2K,100等于373.2K。當(dāng)溫度為0時(shí),AD590的輸出電流是273.2A。而溫度為100時(shí),輸出電流是373.2A。溫度每升高1,輸出電流增加1A,及溫度系數(shù)為1A/。圖 5 AD590包裝與等效電路圖3.2.3 溫度檢測(cè)、放大電路原理AD590當(dāng)溫度增加1時(shí),其輸出電流會(huì)增加1A。即AD590的溫度系數(shù)為1A/

17、。所以在T()時(shí)的電流I1(T)為,而溫度每變化1時(shí),V2的電壓變化是為,表示溫度每增加1,V2會(huì)增加10mV。在0時(shí)V2就已經(jīng)有電壓存在,其值為,則T()時(shí),。如圖3所示,OP3組成差動(dòng)放大器,電壓增益為。零位調(diào)整SVR1則用于抵補(bǔ)0的電壓值,由差動(dòng)放大器的公式可得知,若調(diào)整SVR1使V1的電壓為2.732V,則0時(shí),差動(dòng)放大器的輸出VO為0V。也就是說(shuō),若溫度是在0至50之間,則差動(dòng)放大器的輸出電壓是在0V至5V之間,亦即每0.1V的輸出代表溫度上升1。與設(shè)計(jì)要求相符合。3.3 A/D轉(zhuǎn)換模塊 如圖6:ADC0809把從放大電路傳送過(guò)來(lái)的模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),并行傳送給單片機(jī)的P0口,讓

18、單片機(jī)處理。 圖 6 A/D轉(zhuǎn)換電路圖3.4 溫度設(shè)制、顯示及報(bào)警電路模塊如圖7:通過(guò)按鍵可以事先設(shè)定報(bào)警溫度值,當(dāng)顯示的溫度值超過(guò)設(shè)定的溫度值時(shí),單片機(jī)就會(huì)從INT0腳發(fā)出一連串脈沖,驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警聲。圖 7 溫度設(shè)制、顯示及報(bào)警電路圖加上LED報(bào)警,紅色表示高溫,綠色表示正常,黃色表示低溫3.5 串行通信模塊如圖8所示,單片機(jī)1把溫度值發(fā)送數(shù)據(jù)到單片機(jī)2,單片機(jī)2接收數(shù)據(jù)并控制語(yǔ)音芯片報(bào)出當(dāng)前的溫度值。圖 8 串行通信電路圖3.6 語(yǔ)音播放模塊 語(yǔ)音播放模塊如圖9所示。主要由單片機(jī)AT89S51與語(yǔ)音芯片ISD2560組成。圖 9 錄音、放音電路圖3.6.1 錄音、放音簡(jiǎn)介如圖9所示,

19、首先通過(guò)麥克風(fēng)向語(yǔ)音芯片ISD2560錄入“0,1,2,3,4,5,6,7,8,9,10,點(diǎn),度”等音符。當(dāng)單片機(jī)2接收到單片機(jī)串行發(fā)送過(guò)來(lái)的溫度值時(shí),就會(huì)自動(dòng)地去尋找相對(duì)應(yīng)音符的地址,并把這些音符通過(guò)揚(yáng)聲器播放出來(lái)。3.6.2 ISD2560簡(jiǎn)介ISD2560為28腳的DIP器件封裝,如圖10.圖 10 ISD2560管腳圖各引腳功能如下: 17:A0/M0A6/M6地址/模式選擇; 810: A7A9輸入地址線 ;11: AUX IN輔助輸入 ;12、13 :VSSD、VSSA數(shù)字地和模擬地 14、15 :SP 、SP-揚(yáng)聲器輸出 .16 :VCCA模擬信號(hào)電源正極 17、18:M IC、

20、MIC REF 麥克風(fēng)輸入端和輸入?yún)⒖级?19 、AGC自動(dòng)增益控制 20、21 ANA IN、ANA OUT 模擬信號(hào)輸入和輸出 22、 OUF 溢出 23 、CE 片選(低電平允許芯片工作)24 、PD 芯片低功耗狀態(tài)控制 25 、EOM 錄放音結(jié)束信號(hào)輸出 26、 XCLK 外部時(shí)鐘 27、P/R 錄/放控制選擇 28 、VCCD 數(shù)字信號(hào)電源正極3.6.3 芯片工作原理 ISD2560有10個(gè)地址輸入端A0A9,錄址能力可達(dá)1024位,地址空間為01023。其分配情況是:地址0299作為分段用,地址600767未使用,地址7681023為工作模式選擇(即A8、A9均為高)。2500系列

21、的地址線有兩種用途,一是作為工作模式控制,二是作為分段錄放音的起始段地址。當(dāng)最高位地址(MSB)A8、A9都為高電平時(shí)(即地址7681023),地址端A0A6就作為工作模式選擇端M0M6,對(duì)應(yīng)7種工作模式。當(dāng)A8、A9任一位為低或都為低時(shí)(即地址0599),只要在分段錄/放音操作前(不少于300ns)給地址A0A9賦值,操作就從該地址開(kāi)始。 ISD2560將480K的EEPROM分為600個(gè)信息段,每段800個(gè)字節(jié)。作為一個(gè)整體單位進(jìn)行尋址和控制,應(yīng)給每個(gè)信息段分配一個(gè)供外部控制的地址,而不是對(duì)每個(gè)字節(jié)進(jìn)行尋址,否則至少需要19個(gè)地址端口。這樣,大大減少了信息檢索所需要的地址線。對(duì)較長(zhǎng)的語(yǔ)音信

22、號(hào)可以跨越多個(gè)信息段進(jìn)行錄音,不受內(nèi)部存儲(chǔ)信息段的限制,且內(nèi)部的信息段址會(huì)自動(dòng)增加。在每個(gè)語(yǔ)音段的尾部自動(dòng)增加一個(gè)結(jié)束標(biāo)志EOM,組合放音時(shí),通過(guò)檢測(cè)EOM來(lái)控制各語(yǔ)音段的結(jié)束和下一段的開(kāi)始。 每個(gè)信息段的錄放音時(shí)間等于總時(shí)間除以600。如ISD2560的總時(shí)間為60s,則每個(gè)信息段的錄放音時(shí)間為100ms;ISD25120的總時(shí)間為120s,則每個(gè)信息段的時(shí)間為200ms。因此可以利用該時(shí)間長(zhǎng)度作為一個(gè)段地址,通過(guò)單片機(jī)定時(shí)器的計(jì)時(shí)平行地映射信息段的地址,從而得到每段錄音的起始地址。這樣,就需要設(shè)置一個(gè)地址計(jì)數(shù)器。一般錄音從0地址開(kāi)始,首先通過(guò)CPU將它賦給A0A9,然后通過(guò)單片機(jī)控制ISD

23、啟動(dòng)錄音,同時(shí)啟動(dòng)單片機(jī)的定時(shí)器開(kāi)始計(jì)時(shí),每到一個(gè)信息段的時(shí)間,就給地址計(jì)數(shù)加1。當(dāng)單片機(jī)停止控制ISD錄音時(shí),同時(shí)停止定時(shí)器計(jì)時(shí)。此時(shí)地址計(jì)數(shù)器的值即為該段語(yǔ)音的未地址,加1即為下一段語(yǔ)音的首地址,并將它存在EEPROM中,為下一將放音提供的地址信息。通過(guò)CPU將該地址賦給A0A9,即可錄制下一段語(yǔ)音。依次下去,即可在錄制完所有語(yǔ)音段的同時(shí)得到各段的起始地址。如果不是從0地址開(kāi)始的語(yǔ)音段,只需將初始地址賦給A0A9,加上地址計(jì)數(shù)器的值,即可得到語(yǔ)音段的末地址。這里不用同時(shí)保存各語(yǔ)音段的起始地址和結(jié)束地址,因?yàn)楦鱾€(gè)段是相鄰的,前一段的末地址加1即是本段的起始地址,且每個(gè)語(yǔ)音段的結(jié)尾均有EOM標(biāo)

24、志,并可發(fā)出中斷。放音時(shí)利用它和保存在EEPROM中各語(yǔ)音段的起始地址即可按任意順序組合各個(gè)語(yǔ)音段。 3.6.4 硬件電路設(shè)計(jì) ISD器件選用錄音時(shí)間為60s的ISD2560器件,以單片機(jī)為處理機(jī),外接控制每個(gè)語(yǔ)音段錄音開(kāi)始與停止按鍵,外部存儲(chǔ)器EEPROM用于保存每個(gè)語(yǔ)音首地址。ISD的外圍電路及其與單片機(jī)連接的硬件電路如圖9所示。ISD2560與AT89S52的接口部分包含輸入地址線A0A9、片選CE(CE=0選中ISD芯片)、芯片低功耗狀態(tài)控制PD、錄放音控制選擇P/R(P/R=0為錄音;P/R=1為放音)、錄放音結(jié)束信號(hào)輸出EOM,將它作為AT89S51外部中斷0的輸入信號(hào),放音時(shí)通過(guò)

25、它告知本語(yǔ)音段結(jié)束,便于單片機(jī)立即播放另一個(gè)語(yǔ)音段。 3.6.5 本方法的特點(diǎn)能進(jìn)行在系統(tǒng)現(xiàn)場(chǎng)錄音,隨錄隨放,修改語(yǔ)音方便。 修改錄音內(nèi)容時(shí),可以從其中任意一段開(kāi)始,修改其后的所有錄音內(nèi)容,不必從第一段開(kāi)始全部修改。這對(duì)一些需要廠家固定一些語(yǔ)音段的系統(tǒng)很有好處,將固定的語(yǔ)音段放置在前面的段落中,允許用戶錄制的放在后面,用戶修改錄音內(nèi)容時(shí)只需修改后面的語(yǔ)音段即可,不影響廠家錄制的語(yǔ)音。分段靈活。單片ISD2560可分1600個(gè)段,若多片級(jí)聯(lián)還可更多;各個(gè)錄音段的長(zhǎng)度任意,只要總錄音時(shí)間在所用器件的總時(shí)間之內(nèi)即可。第4章 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)程序流程圖 圖 11 單片機(jī)1程序主流程圖 圖 12

26、 單片機(jī)2程序主流程圖如圖11:?jiǎn)纹瑱C(jī)1為主機(jī),負(fù)責(zé)溫度顯示、按鍵掃描、BCD碼轉(zhuǎn)換、串行發(fā)送數(shù)據(jù)給單片機(jī)2。以定時(shí)器定時(shí)1ms,每定時(shí)100次即1秒鐘就啟動(dòng)A/D轉(zhuǎn)換、BCD碼轉(zhuǎn)換,串行發(fā)送2進(jìn)制數(shù)給單片機(jī)2。如圖12、13所示:?jiǎn)纹瑱C(jī)2為從機(jī),只負(fù)責(zé)接收數(shù)據(jù)并播報(bào)溫度,以T0定時(shí)器定時(shí),結(jié)合延時(shí)程序定時(shí)1分鐘,使每1分鐘更新一次語(yǔ)音音素地址,即每1分鐘更新一次溫度值 ,并在中斷程序處理過(guò)程度中報(bào)一次溫度。圖 13 單片機(jī)2的T0中斷程序流程圖第5章 系統(tǒng)測(cè)試5.1 硬件測(cè)試5.1.1 單元模塊的測(cè)試(A)電源測(cè)試:用數(shù)字萬(wàn)用表電壓檔測(cè)量各三端穩(wěn)壓管輸出的電壓值是否正常。測(cè)試相關(guān)測(cè)試點(diǎn),三路

27、電壓正常。電源設(shè)計(jì)成功。 (B) 溫度采集模塊的測(cè)試:調(diào)節(jié)溫度變化,測(cè)試點(diǎn)的電壓值是否有相對(duì)應(yīng)的改變。當(dāng)溫度變化時(shí),測(cè)試點(diǎn)的電壓與溫度之間的線性關(guān)系比較好,如表1所示,達(dá)到設(shè)計(jì)要求。(C)AD轉(zhuǎn)換模塊的測(cè)試:當(dāng)輸入為0V和5V以及中間若干電壓輸入時(shí),測(cè)試A/D轉(zhuǎn)換是否正常。測(cè)試發(fā)現(xiàn)當(dāng)輸入為0V時(shí),ADC0809的輸出為00H,為+5V時(shí)為0FFH,當(dāng)輸入為2.5V時(shí),輸出為0EFH,測(cè)試結(jié)果表明AD轉(zhuǎn)換的功能完全實(shí)現(xiàn)。(D)語(yǔ)音播放??斓臏y(cè)試:通過(guò)撥碼開(kāi)關(guān)人工給語(yǔ)音芯片選地址,測(cè)試不同的地址是否有不同的發(fā)音,以檢驗(yàn)語(yǔ)音是否正確錄入及能否正常播放。根據(jù)設(shè)定,將12個(gè)語(yǔ)音信號(hào)分別放到指定的行地址上

28、,當(dāng)按相應(yīng)的行地址撥開(kāi)關(guān)給ISD2560時(shí),能夠正常播放設(shè)定的12個(gè)語(yǔ)音,說(shuō)明語(yǔ)音芯片的錄用存貯工作成功。接入系統(tǒng),編程輸出相應(yīng)的行地址,ISD2560能夠正常播放各個(gè)語(yǔ)音,說(shuō)明語(yǔ)音播放??斓挠布O(shè)計(jì)可行。5.1.2 系統(tǒng)整體測(cè)試測(cè)試方法以水溫代替人的體溫,用一根水銀溫度計(jì)與所制作的體溫計(jì)探頭(捆綁)同時(shí)接觸被測(cè)熱水的同一點(diǎn)。(A)準(zhǔn)備一杯0攝氏度的冰水混合物和一杯熱水。從0度開(kāi)始記錄測(cè)試點(diǎn)的電壓值與溫度計(jì)對(duì)比較。記完一個(gè)數(shù)后,往杯中加熱水,這樣,每測(cè)一次,記錄一次數(shù)據(jù),再加一次熱水,這樣使水溫漸漸升高,一直測(cè)到水溫為50攝氏度。測(cè)試結(jié)果如表1所示,說(shuō)明數(shù)碼管顯示的數(shù)值是否與測(cè)試點(diǎn)所測(cè)值在誤差

29、允許范圍內(nèi)是成歸一化關(guān)系的。(B)檢測(cè)水溫高于50攝氏度時(shí)測(cè)試點(diǎn)的電壓值??词欠駷?V。結(jié)果顯示為+5V,說(shuō)明保護(hù)電路可行。5.1.3 軟件測(cè)試將各功能子程序進(jìn)行KAIL C系統(tǒng)進(jìn)行軟件仿真,全部通過(guò),再進(jìn)行硬件仿真,也能全部實(shí)現(xiàn)所要求實(shí)現(xiàn)的功能。 (1)數(shù)碼管顯示的測(cè)試:把放大器的輸出連接到ADC0809的輸入端,ADC0809與單片機(jī)相連接,觀察數(shù)碼管顯示的數(shù)值是否與測(cè)試點(diǎn)所測(cè)值成歸一化關(guān)系。(2)雙機(jī)串行通信的測(cè)試:從主機(jī)發(fā)送一個(gè)8位的二進(jìn)制數(shù),用示波器觀察從機(jī)是否接收到。5.1.4 硬件與軟件的聯(lián)機(jī)測(cè)試根據(jù)前面的測(cè)試,說(shuō)明系統(tǒng)設(shè)計(jì)的軟、硬件設(shè)計(jì)基本取得成功。將把程序經(jīng)編譯、下載到相應(yīng)的

30、AT89S51芯片中,構(gòu)建電路測(cè)試,比較數(shù)碼管顯示的數(shù)值與溫度計(jì)的值和測(cè)試點(diǎn)的值。第6章 利用的程序:#include <reg52.h>#include <absacc.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar code dis_code10=0xc0,0xf9,0xa4,0xb0,/ 0, 1, 2, 30x99,0x92,0x82,0xf8,0x80,0x90; / 4, 5, 6, 7, 8, 9, off uchar data se

31、t_data3=0x00,0x07,0x03; /預(yù)設(shè)37.0度uchar data ad_data; /AD轉(zhuǎn)換結(jié)果uchar data dis_buf3=0x00,0x00,0x00; / 顯示緩沖區(qū)uchar data bcd_buf3=0x00,0x00,0x00; /十進(jìn)制BCD碼轉(zhuǎn)換存放區(qū)uchar data TIMER0_NUM;bit TIMER0_flag;bit data set_flag=0;sbit ALE=P24;sbit OE=P25;sbit START=P26;sbit EOC=P27;sbit P30=P30;sbit select0=P37;sbit sel

32、ect1=P36;sbit select2=P35;sbit K1=P20;sbit K2=P21;sbit K3=P22;sbit K4=P23;sbit bep=P33;sbit SET_IND=P34;sbit P17=P17; /小數(shù)點(diǎn)uint data temp;/*/*函數(shù)聲明/*/void delay1ms(uchar t); void adc(void);void BCD(void);void keyscan(void);void send_str(void);void beep(void);void display(void);/*/*按鍵蜂鳴函數(shù)/*/void beep2(

33、void) uchar data j,k; for(j=26;j>0;j-) for(k=254;k>0;k-); bep=!bep; bep=1; /*/*蜂鳴報(bào)警/*/void beep(void) uchar data j,k; for(j=100;j>0;j-) for(k=254;k>0;k-) bep=0; bep=1; /關(guān)蜂鳴器 /*/*延時(shí)1ms函數(shù)/*/void delay1ms(uchar t) uchar j,k; for(j=0;j<t;j+) for(k=0;k<120;k+);/*/*AD轉(zhuǎn)換函數(shù)/*/void adc(void

34、) ALE=1; _nop_(); _nop_(); ALE=0; START=1; _nop_(); _nop_(); START=0; _nop_(); _nop_(); _nop_(); _nop_(); while(EOC=0); /等待轉(zhuǎn)換結(jié)束 OE=1; ad_data=P0; /讀入轉(zhuǎn)換數(shù)據(jù) OE=0;/*/*十進(jìn)制BCD碼轉(zhuǎn)換函數(shù)/*/void BCD(void) bcd_buf2=(ad_data/51); /十位 temp=(ad_data%51); temp=(temp*10); bcd_buf1=(temp/51); /個(gè)位 temp=(temp%51); temp=t

35、emp*10; bcd_buf0=(temp/51); /小數(shù)位 if(bcd_buf2>set_data2) /報(bào)警值檢測(cè) beep(); else if(bcd_buf2=set_data2) if(bcd_buf1>set_data1) beep(); else if(bcd_buf1=set_data1) if(bcd_buf0>set_data0) beep(); /*/*鍵盤(pán)掃描函數(shù)/*/void keyscan(void) uchar data m; if(K1=0) /K1設(shè)置鍵 for(m=0;m<100;m+) /延時(shí)11msdisplay(); i

36、f(K1=0) beep2(); /按鍵時(shí)響一聲 set_flag=!set_flag; /設(shè)置標(biāo)志位取反 if(set_flag=1) /若設(shè)置鍵按下,則檢測(cè)K2-K4 SET_IND=0; /設(shè)置燈亮 if(K2=0) /K2:十位加1 for(m=0;m<100;m+) /延時(shí)11ms display(); if(K2=0) beep2(); /按鍵時(shí)響一聲 set_data2+; if(set_data2=5) set_data2=0; if(K3=0) /K3:個(gè)位加1 for(m=0;m<100;m+) /延時(shí)11ms display(); if(K3=0) beep2

37、(); /按鍵時(shí)響一聲 set_data1+; if(set_data1=10) set_data1=0; if(K4=0) /K4:小數(shù)位加1 for(m=0;m<100;m+) /延時(shí)11ms display(); if(K4=0) beep2(); /按鍵時(shí)響一聲 set_data0+; if(set_data0=10) set_data0=0; else SET_IND=1;/*/*顯示函數(shù)/*/void display(void) if(set_flag) /設(shè)置鍵按下,則顯示設(shè)置的數(shù)值 dis_buf0=set_data0; dis_buf1=set_data1; dis_b

38、uf2=set_data2; else /否則顯示溫度值 dis_buf0=bcd_buf0; dis_buf1=bcd_buf1; dis_buf2=bcd_buf2; P1 = 0xff; / 先關(guān)閉所有數(shù)碼管P1 = dis_codedis_buf0; / 小數(shù)顯示代碼傳送到P1口select2=1;select1=1;select0=0;/ 位選delay1ms(1); /延時(shí)1msP1 = dis_codedis_buf1; / 個(gè)位顯示代碼傳送到P1口select2=1;select1=0;select0=1;/ P17=0;delay1ms(1); /延時(shí)1msP1 = dis_

39、codedis_buf2; / 十位顯示代碼傳送到P1口select2=0;select1=1;select0=1;/ delay1ms(1); /延時(shí)1ms/*/*串口發(fā)送一個(gè)字符函數(shù)/*/void send_str(void)SBUF = ad_data; /串口發(fā)送AD轉(zhuǎn)換溫度值while(TI=0); / 等待數(shù)據(jù)傳送TI = 0; / 清除數(shù)據(jù)傳送標(biāo)志/*/*主函數(shù)/*/void main(void) TMOD = 0x21; / 定時(shí)器1工作于方式2,8位自動(dòng)重載模式, 用于產(chǎn)生波特率 / 定時(shí)器0工作于方式1,產(chǎn)生1s的AD間隔時(shí)間 TH0=15536/256; /T0定時(shí)50m

40、s TL0=15536%256; TH1 = 0xe1; / 波特率1000TL1 = 0xe1;SCON = 0x50; / 設(shè)定串行口工作方式1PCON = 0x00; / 波特率不倍增TI=0; /清除發(fā)送中斷標(biāo)志EA = 1; / 開(kāi)總中斷ET0 = 1; /開(kāi)T0中斷ET1=0;TR1 = 1; / 啟動(dòng)T1 TR0 = 1; /啟動(dòng)T0 while(1) display(); keyscan(); if(TIMER0_flag) TIMER0_flag=0;adc();BCD(); send_str(); /*/*T0中斷服務(wù)程序/*每秒鐘ADC一次,串口發(fā)送一次/*/void t

41、imer0(void) interrupt 1 TH0=15536/256; /重裝初值 TL0=15536%256; TIMER0_NUM+; if(TIMER0_NUM=20) TIMER0_NUM=0;TIMER0_flag=1; /*Project Name : 智能體溫計(jì)程序_從機(jī)Designed By : sc.DaiDate : 2007.5.30*/#include <reg52.h>#include <absacc.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuchar data bcd_buf3=0x00,0x00,0x00; /十進(jìn)制BCD碼轉(zhuǎn)換存放區(qū)/uchar code sound_add13=0x00,0x14,0x28,0x3c,0x50,0x64,0x78, /0x8c,0xa0,0xb4,0xc8,0xdc,0xf0; /0,1,2,3,4,5, /6,7,8,9,十,點(diǎn),度 存放地址uchar code sound_add13=0x00,0x0a,0x14,0x1e,0x28,0x32,0x3c, 0x46,0x50,0x5a,0x64,0x6e,0x78; /0,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論