版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、”槪注評(píng)紀(jì)犬曝zhejiang normal university數(shù)理與信息工程學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用期末課程設(shè)計(jì)題 目 _ 智能體溫計(jì)_專(zhuān) 業(yè): _ 電子信息工程 _班 級(jí): _ 電信 061_姓 名: _學(xué) 號(hào): _指導(dǎo)老師: _成 績(jī): _目錄第1節(jié)引言.31.1智能體溫計(jì)概述.31.2本次設(shè)計(jì)要求 .41.3系統(tǒng)主要功能.4第2節(jié)系統(tǒng)主要硬件電路設(shè)計(jì) .52.1主要模塊的設(shè)計(jì)方案論證 .52.1.1溫度傳感器的選擇.52.1.2a/d轉(zhuǎn)換器的選擇.52.1.3語(yǔ)音提示模塊 .52.2總系統(tǒng)設(shè)計(jì)方案 .62.2.12.2.2系統(tǒng)設(shè)計(jì)框圖 .6系統(tǒng)整體硬件電路.62.3系統(tǒng)硬件組成 .82.
2、 3. 1電源電路模塊 .82. 3.2溫度檢測(cè)和放大模塊 .82. 3.3a/d轉(zhuǎn)換模塊.92.3. 4溫度設(shè)置、顯示及報(bào)警電路模塊 .102. 3.5串行通信模塊 .102. 3.6語(yǔ)音播放模塊.11第3節(jié)系統(tǒng)軟件設(shè)計(jì).133.1系統(tǒng)主程序設(shè)計(jì).133.2程序清單.14第4節(jié)結(jié)束語(yǔ).24參考文獻(xiàn).25智能體溫計(jì)數(shù)理與信息工程學(xué)院06電子信息工程 陶如紅指導(dǎo)教師:余水寶第 1 節(jié)引 言隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它在日 用電子產(chǎn)品中的應(yīng)用越來(lái)越廣泛, 給人帶來(lái)的方便也是不可否定的, 其中智能體溫計(jì) 就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工
3、作、科研、生活、 提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手, 一切向著數(shù)字化控制, 智能化控 制方向發(fā)展。傳統(tǒng)的溫度計(jì)有反應(yīng)速度慢、讀數(shù)麻煩、測(cè)量精度不高、誤差大等缺點(diǎn),溫度傳 感器ad590具有線性?xún)?yōu)良、性能穩(wěn)定、靈敏度高、抗干擾能力強(qiáng)、使用方便等優(yōu)點(diǎn), 廣泛應(yīng)用于冰箱、 空調(diào)器、糧倉(cāng)等日常生活中溫度的測(cè)量和控制。 本論文利用集成溫 度傳感器ad590設(shè)計(jì)并制作了一款基于at89s52的3位數(shù)碼管顯示的智能體溫計(jì),其 電路簡(jiǎn)單,軟硬件結(jié)構(gòu)模塊化,易于實(shí)現(xiàn)。1.1 智能體溫計(jì)概述隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng) 域,已經(jīng)成為一種比較成熟的技術(shù),本文將介
4、紹一種基于單片機(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完成a/d轉(zhuǎn)換,得到8位的數(shù)字信號(hào)送入單片機(jī)號(hào)傳到單片2(at89s52) 。此外溫度預(yù)置, 報(bào)警電路模塊功能也由單1(at89s52。單片機(jī)1將采集到溫度值在led數(shù)碼管上顯示出來(lái), 也通過(guò)串口通 信將溫度信片機(jī)1完成。 單片機(jī)2完成溫度值的語(yǔ)音播放功能。 通過(guò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)說(shuō)明本 設(shè)計(jì)方案切實(shí)可以,
5、 能夠完成題目所要求的基本功能部分, 并留有相應(yīng)的接口, 為完 成擴(kuò)展功能打下基礎(chǔ)。1.2 本次設(shè)計(jì)要求單片機(jī)在日用電子產(chǎn)品中的應(yīng)用越來(lái)越廣泛, 溫度則是人們?nèi)粘I钪谐3P枰?測(cè)量和控制的一個(gè)量。本論文通過(guò)at89s52單片機(jī)和溫度傳感器ad590從硬件和軟件 兩方面進(jìn)行了設(shè)計(jì)。本次設(shè)計(jì)的設(shè)計(jì)要求:(1)基本范圍0c-50 c;(2)精度誤差小于0.1 c;(3)led數(shù)碼直讀顯示;擴(kuò)展功能:(1)實(shí)現(xiàn)語(yǔ)音報(bào)溫功能;(2)實(shí)現(xiàn)報(bào)警功能;1.3 系統(tǒng)主要功能本設(shè)計(jì)完成了以下功能:(1) 溫度信號(hào)的采集與歸一化處理;(2)a/d轉(zhuǎn)換;(3) 溫度值的顯示,顯示的誤差與實(shí)際的溫度值誤差在0.1 c
6、內(nèi);(4)語(yǔ)音播報(bào)溫度與聲音報(bào)警功能。第 2 節(jié)2.1 主要模塊的設(shè)計(jì)方案論證2.1.1溫度傳感器的選擇系統(tǒng)主要硬件電路設(shè)計(jì)方案一 :采用熱敏電阻。熱敏電阻價(jià)格便宜,對(duì)溫度靈敏,原理簡(jiǎn)單,但線性度 不好,如不進(jìn)行線性補(bǔ)償,對(duì)于本設(shè)計(jì)歸一化輸出的要求,難以達(dá)到設(shè)計(jì)精度;如要 對(duì)非線性進(jìn)行補(bǔ)償,則電路結(jié)構(gòu)復(fù)雜,難以調(diào)整。故不采用。方案二 :采用熱電偶。熱電偶在測(cè)溫范圍內(nèi)熱電性質(zhì)穩(wěn)定, 不隨時(shí)間變化而變化, 電阻溫度系數(shù)小,導(dǎo)電率高,比熱小,但熱電偶一般體積較大,使用不方便,價(jià)格相 對(duì)較高。作為一個(gè)智能體溫計(jì)的溫度傳感器,要求體積小,使用方便,便于攜帶,故 此方案不合適。方案三 :采用集成溫度傳感器
7、。集成溫度傳感器一般且有具有線性好、精度高、 靈敏度高、體積小、使用方便等優(yōu)點(diǎn)。根據(jù)實(shí)驗(yàn)室現(xiàn)有材料可選取ad590。ad590的測(cè)溫范圍為-55c+150c,能滿足本設(shè)計(jì)的050度測(cè)量要求。根據(jù)相關(guān)技術(shù)資料:ad590線性電流輸出為1卩a/k,正比于絕對(duì)溫度;ad590的電源電壓范圍為4v30v,并可承受44v正向電壓和20v反向電壓,因而器件反接也不會(huì)被損壞。 該方案 能完全滿足此設(shè)計(jì)的要求,故采用此方案。2.1.2ad轉(zhuǎn)換器的選擇方案一:選用ad574。ad574的數(shù)字量位數(shù)可設(shè)成8位也可以設(shè)為12位,且 無(wú)需外接clock寸鐘,轉(zhuǎn)換時(shí)間達(dá)到25卩s,輸出模擬電壓可以是單極性的010v或0
8、20v,也可以是雙極性的土5v或土10v之間。ad574精度高,但與8位的單片 機(jī)接口較復(fù)雜, 且價(jià)格昂貴,考慮到體溫計(jì)是對(duì)溫度的測(cè)量, 其響應(yīng)時(shí)間的要求不高。 故不選用此方案。方案二:選用icl7135。這類(lèi)芯片比較適合于低速測(cè)量?jī)x器,適用于精度高,速 度要求不高的系統(tǒng)設(shè)計(jì)中。icl7135的輸出為動(dòng)態(tài)掃描bcd碼,與單片機(jī)的接口較 復(fù)雜。且它的滿量程輸入為2v電壓,如在本設(shè)計(jì)中使用要進(jìn)行衰減,較難保證轉(zhuǎn)換 精度。方案三:選用adc0809 adc0809數(shù)字量是8位,轉(zhuǎn)換時(shí)間為100卩s,輸入模 擬電壓為單極性的05v。由于本設(shè)計(jì)的要求精度不是很高,adc0809可以達(dá)到要求, 故選用此方
9、案。2.1.3語(yǔ)音提示模塊方案一:通過(guò)a/d轉(zhuǎn)換器、單片機(jī),存儲(chǔ)器,da轉(zhuǎn)換器實(shí)現(xiàn)聲音信號(hào)的采樣、 處理、存儲(chǔ)和實(shí)現(xiàn)。首先將聲音信號(hào)放大,通過(guò)ad轉(zhuǎn)換器采樣將語(yǔ)音模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并由單片機(jī)和處理存放到存儲(chǔ)器中,實(shí)現(xiàn)錄音操作。在錄、放音過(guò)程中 由單片機(jī)控制d/a轉(zhuǎn)換器,將存儲(chǔ)器中的數(shù)據(jù)轉(zhuǎn)化成聲音信號(hào)。此方案安裝調(diào)試復(fù) 雜,集成度低。方案二:采用isd2560語(yǔ)音錄放集成電路。該芯片采用多電平直接模擬量存儲(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)部包
10、括前置放大器、內(nèi)部時(shí)鐘、定時(shí)器、采樣時(shí)鐘、濾波器、 自動(dòng)增益控制、邏輯控制、模擬收發(fā)器、解碼器和480k字節(jié)的eeprom isd2560可不分段,也可按最小段長(zhǎng)為單位來(lái)任意組合分段。因此,選擇方案二。2. 2 總系統(tǒng)設(shè)計(jì)方案2.2.1系統(tǒng)設(shè)計(jì)框圖根據(jù)設(shè)計(jì)要求,可將系統(tǒng)分為若干模塊,以單片機(jī)為核心,完成多項(xiàng)功能。圖2-1系統(tǒng)框圖系統(tǒng)框圖如圖2- 1,ad590把采集的外部溫度信號(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還處理按鍵、
11、報(bào)警模塊。單片機(jī)1把溫度值通過(guò)串行通信傳送給單片 機(jī)2,控制語(yǔ)音芯片報(bào)出相對(duì)應(yīng)的溫度值。2.2.2系統(tǒng)整體硬件電路如圖2-2所示,該電路主要由電源電路,溫度檢測(cè)、放大電路,a/d轉(zhuǎn)換電路, 雙單片機(jī)串行通信電路,按鍵輸入、報(bào)警電路,數(shù)碼管掃描顯示電路以及語(yǔ)音芯片電 路組成。圖2-2系統(tǒng)電路原理圖2.3 系統(tǒng)硬件組成2.3.1電源電路模塊圖2-3電源電壓電路如圖2-3所示,220v交流電經(jīng)變壓器市降壓、橋式整流、電容濾波后經(jīng)7805、7905三端集成穩(wěn)壓管分別得到+12v、+5v、-5v電壓,給整個(gè)電路供電。2.3.2溫度檢測(cè)、放大模塊7812、圖2-4 ad590溫度檢測(cè)、放大電路圖如圖2-4
12、所示,溫度檢測(cè)、放大電路主要器件的作用:op3差分放大電路;ad590溫度傳感器;svr零位調(diào)整。op1 op2:電壓跟隨器;(1)ad590簡(jiǎn)介ad590是電流輸出型的半導(dǎo)體溫度感測(cè)組件,主要特性如下:1.具有線性輸出電流。2.寬廣的操作溫度范圍(-55c150c)。3.寬廣的工作電壓范圍(+4v+30v)。4.良好的隔離性。ad590的包裝與等效電路如圖4所示,是to-52型金屬外殼包裝。他是兩端子 的半導(dǎo)體溫度感測(cè)組件,另有一端子是外殼接腳,可接地以減少噪聲干擾。ad590如同一個(gè)隨溫度而改變輸出電流的定電流源, 輸出電流與外殼的開(kāi)氏(k)溫度成正比。開(kāi)氏溫度與攝氏溫度的單位相等,0c等
13、于273.2k,100c等于373.2k。 當(dāng)溫度為0c時(shí),ad590的輸出電流是273.2卩a。而溫度為100c時(shí),輸出電流是373.2卩a。溫度每升高1c,輸出電流增加1卩a,其溫度系數(shù)為1卩a/c。(2) 溫度檢測(cè)、放大電路原理ad590的溫度系數(shù)為1卩a/c。所以在t(c)時(shí)的電流i1(t)為l1(t)=l1(0)+1卩a/c*t(2-1)而溫度每變化1c時(shí),v2的電壓變化是為1卩a/c*10k=10mv/c,即溫度每增加1c,v2會(huì)增加10mv,在0c時(shí)v2就已經(jīng)有電壓存在,其值為v2(0)=273.2卩a *10k?=2.732v(2-2)則tc時(shí)v2(t)=v2 (0)+10mv
14、/c*t(2-3)(2-4)如圖2-3所示,op3組成差動(dòng)放大器,電壓增益為r2/r1=100k/20k=5零位調(diào)整svr1則用于抵補(bǔ)0c的電壓值,由差動(dòng)放大器的公式v0=r2/r1*(v2-v1)(2-5)可得知,若調(diào)整svr1使v1的電壓為2.732v,則0c時(shí),差動(dòng)放大器的輸出vo為0v。 也就是說(shuō),若溫度是在0c至50c之間,則差動(dòng)放大器的輸出電壓是在0v至5v之 間,亦即每0.1v的輸出代表溫度上升1c。與設(shè)計(jì)要求相符合。2.3.3a/d轉(zhuǎn)換模塊如圖2-6:adc0809把從放大電路傳送過(guò)來(lái)的模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),并行傳送給單片機(jī)的p0口,讓單片機(jī)處理。l7l7fkfkphphpi
15、2pi2pi3pi3pmpmfkfkpi7pi7f15f15phbptdihepti5pti5pdipdip p -f-fallallmi djy詔削ii ii2-12-1jreb/i応.m3.m3akakptrp3dp2!p23pa|*女2 2毎樣ax7ax7卜匚ljcljc.2-4.2-42 2書(shū).帖hhvrctltltotohihxhx:aimaimadfiadfiadcadcp2p2k4wkifc -j7i wtrtptrtp a&ta&t7 7xixix2x2reftreftrd wrrd wratws5zatws5zh0h0d q_?pnd q_?pn圖2-9錄音、
16、放音電路圖(1) 錄音、放音簡(jiǎn)介如圖2-9所示,首先通過(guò)麥克風(fēng)向語(yǔ)音isd256錄入“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)。(2) 硬件電路設(shè)計(jì)isd器件選用錄音時(shí)間為60s的isd2560器件,以單片機(jī)為處理機(jī),外接控制 每個(gè)語(yǔ)音段,錄音開(kāi)始與停止按鍵,外部存儲(chǔ)器eeprom用于保存每個(gè)語(yǔ)音首地址。isd的外圍電路及其與單片機(jī)連接的硬件電路如圖2-9所示。isd2560與at89s52的接口部分包含輸入地址線a0a9片選ce(ce=0選中isd芯片)、芯片低
17、功耗狀態(tài)控制pd、錄放音控制選擇p/r(p/r=0為錄音;p/r=1為 放音)、錄放音結(jié)束信號(hào)輸出eom,將它作為at89s51外部中斷0的輸入信號(hào),放音 時(shí)通過(guò)它告知本語(yǔ)音段結(jié)束,便于單片機(jī)立即播放另一個(gè)語(yǔ)音段。isd2560引腳封裝如圖2-10所示.aijmdaijmd匚1 1aimaim匚2b2b =|vccd=|vccd27272626nxcutnxcut2 2羈m2m2匚3 3a3/m3cza3/m3cz4 4awlawl匚a5ma5m匚5 56 6op/h2525=irsfl=irsfl2 2zips=ia=iaa an n ovfovf2121 anaana ourour2020
18、二1 1 anaana1414nascnasciaia zimcrefzimcref1717timctimc購(gòu)幽匚? ?a7ca7c&mm匸9 9a9a9匚1010auxinauxin匚1111vssonvsson1212畑匚1313sf+sf+匚14141 1 zivbcazivbcau uzi5p-zi5p-圖2-10isd2560管腳圖(3) 本方法的特點(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ǔ)音段放置在前面的段落中,允許用戶(hù)
19、錄制的放在后面, 用戶(hù)修改錄音內(nèi)容時(shí)只需修改后面的語(yǔ)音段即可,不影響廠家錄制的語(yǔ)音。 分段靈活。單片isd2560可分1600個(gè)段,若多片級(jí)聯(lián)還可更多;各個(gè)錄音段的長(zhǎng)度任意,只要總錄音時(shí)間在所用器 件的總時(shí)間之內(nèi)即可。第 3 節(jié)3.1系統(tǒng)程序流程系統(tǒng)的軟件設(shè)計(jì)如圖3-1:單片機(jī)1為主機(jī),負(fù)責(zé)溫度顯示、按鍵掃描、 送數(shù)據(jù)給單片機(jī)2。以定時(shí)器定時(shí)1ms,每定時(shí)100次即1 bcd碼轉(zhuǎn)換,串行發(fā)送2進(jìn)制數(shù)給單片機(jī)2。bcd碼轉(zhuǎn)換、串行發(fā) 秒鐘就啟動(dòng)a/d轉(zhuǎn)換、圖3-1單片機(jī)1程序主流程圖如圖3-2,3-3所示:?jiǎn)纹瑱C(jī)2為從機(jī),只負(fù)責(zé)接收數(shù)據(jù)并播報(bào)溫度,以to定 時(shí)器定時(shí),結(jié)合延時(shí)程序定時(shí)1分鐘,使每
20、1分鐘更新一次語(yǔ)音音素地址, 即每1分鐘更新一次溫度值,并在中斷程序處理過(guò)程度中報(bào)一次溫度。串口中斷i入口j更新溫度數(shù)據(jù)返回圖3-2單片機(jī)2程序主流程圖圖3-33.2程序清單單片機(jī)1程序#in elude #in elude #i nclude vintrin s.h #define uchar un sig ned char#define uint un sig ned intuchar code dis_code10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; uchardata set_data3=0 x00,
21、0 x07,0 x03; uchar dataad_data;duchar data dis_buf3=0 x00,0 x00,0 x00; uchardata bcd_buf3=0 x00,0 x00,0 x00; uchar datatimer0 num;/a/ 0, 1,2, 3/ 4, 5, 6, 7, 8, 9, off/預(yù)設(shè)37.0度轉(zhuǎn)換結(jié)果顯示緩沖區(qū)十進(jìn)制bcd碼轉(zhuǎn)換存放bit timer0_flag;bit data set_flag=0;sbit ale=p2a4;sbit oe=p2a5;sbit start=p2a6;sbit eoc=p2a7;sbit p30=p3a0
22、;sbit select0=p3a7;sbit select1=p3a6;sbit select2=p3a5;sbit k1=p2a0;sbit k2=p2a1;sbit k3=p2a2;sbit k4=p2a3;sbit bep=p3a3;sbit set_ind=p3a4;sbit p17=p1a7;/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(vo
23、id);/* /*按鍵蜂鳴函數(shù)void beep2(void) uchar data j,k;for(j=26;j0;j-)for(k=254;k0;k-); bep=!bep;小數(shù)點(diǎn)bep=1;*/*蜂鳴報(bào)警*void beep(void) uchar data j,k;for(j=100;j0;j-) for(k=254;k0;k-) bep=0; bep=1; /*/*延時(shí)1ms函數(shù)*void delay1ms(uchar t) uchar j,k;for(j=0;jt;j+) for(k=0;kset_data2)beep();else if(bcd_buf2=set_data2)/i
24、f(bcd_buf1set_data1)beep();/else if(bcd_buf1=set_data1)/if(bcd_buf0set_data0)beep();/*/*鍵盤(pán)掃描函數(shù)/*/void keyscan(void)uchar data m;if(k1=0)/k1等待轉(zhuǎn)換結(jié)束讀入轉(zhuǎn)換數(shù)據(jù)十位個(gè)位小數(shù)位報(bào)警值檢測(cè)設(shè)置鍵for(m=0;m100;m+) / display();if(k1=0) beep2(); / set_flag=!set_flag; / if(set_flag=1) /set_ind=0; / if(k2=0)/k2:for(m=0;m100;m+) / dis
25、play();if(k2=0)beep2(); /set_data2+;if(set_data2=5) set_data2=0;if(k3=0) /k3:for(m=0;m100;m+) / display();if(k3=0) beep2(); /set_data1+; if(set_data1=10)set_data1=0;if(k4=0) /k4:for(m=0;m100;m+) / display();if(k4=0) beep2(); /延時(shí)11ms按鍵時(shí)響一聲設(shè)置標(biāo)志位取反若設(shè)置鍵按下,則檢測(cè)k2-k4設(shè)置燈亮十位加1延時(shí)11ms按鍵時(shí)響一聲個(gè)位加1延時(shí)11ms按鍵時(shí)響一聲小數(shù)位加
26、1延時(shí)11msset_data0+;if(set_data0=10) set_data0=0;else set_ind=1;/*/*顯示函數(shù)/*/void display(void)if(set_flag)/dis_buf0=set_data0;dis_buf1=set_data1;dis_buf2=set_data2; else dis_buf0=bcd_buf0;dis_buf1=bcd_buf1;/dis_buf2=bcd_buf2;p1 = 0 xff;/p1 = dis_codedis_buf0;select2=1;select1=1;select0=0; delay1ms(1);p
27、1 = dis_codedis_buf1; select2=1;/select1=0;select0=1;/p17=0;/delay1ms(1);/p1 = dis_codedis_buf2;/select2=0;select1=1;select0=1;delay1ms(1); /*/*串口發(fā)送一個(gè)字符函數(shù)設(shè)置鍵按下,則顯示設(shè)置的數(shù)值否則顯示溫度值先關(guān)閉所有數(shù)碼管小數(shù)顯示代碼傳送到p1口位選延時(shí)1ms個(gè)位顯示代碼傳送到p1口延時(shí)1ms十位顯示代碼傳送到p1口延時(shí)1msvoid send_str(void) sbuf = ad_data;while(ti=0);ti = 0;/*主函數(shù)void
28、main(void)/串口發(fā)送ad轉(zhuǎn)換溫度值 等待數(shù)據(jù)傳送 清除數(shù)據(jù)傳送標(biāo)志tmod = 0 x21; /th0=15536/256;tl0=15536%256;th1 = 0 xe1;tl1 = 0 xe1;scon = 0 x50; pcon= 0 x00; ti=0;ea = 1; et0 = 1;et1=0;tr1 = 1;tr0 = 1; while(1) display();keyscan();if(timer0_flag)定時(shí)器1工作于方式2,8時(shí)50ms/波特率1000位自動(dòng)重載模式用于產(chǎn)生波特率定時(shí)器0工作于方式1,產(chǎn)生1s的ad間隔時(shí)間/t0定/清除發(fā)送中斷標(biāo)志/開(kāi)總中斷設(shè)
29、定串行口工作方式1波特率不倍增/啟動(dòng)t1/啟動(dòng)t0/開(kāi)t0中斷 timer0_flag=0; adc();bcd();send_str();/*t0中斷服務(wù)程序/*每秒鐘adc一次,串口發(fā)送一次void timer0(void) interrupt 1th0=15536/256; /tl0=15536%256;timer0_num+;if(timer0_num=20) timer0_num=0;timer0_flag=1;重裝初值單片機(jī)2程序#include #include #include #define uchar unsigned char#define uint unsigned i
30、ntuchar data bcd_buf3=0 x00,0 x00,0 x00;/十進(jìn)制bcd碼轉(zhuǎn)換存放區(qū)uchar code sound_add13=0 x00,0 x0a,0 x14,0 x1e,0 x28,0 x32,0 x3c,0 x46,0 x50,0 x5a,0 x64,0 x6e,0 x78; /0,1,2,3,4,5,/6,7,8,9,uchar data order6;uchar ad_data;uint timer_num;sbit eom=p2a0;sbit pd=p2a1;sbit ce=p2a2;uchar i;uint data temp;/*/*十進(jìn)制bcd碼轉(zhuǎn)換
31、函數(shù)/*void bcd(void)十,點(diǎn),度 存放地址 十x點(diǎn)/x/1存放接收的ad轉(zhuǎn)換數(shù)據(jù)分鐘計(jì)時(shí)bcd_buf2=(ad_data/51);/十位temp=(ad_data%51);temp=(temp*10);bcd_buf1=(temp/51); /temp=(temp%51);temp=temp*10;bcd_buf0=(temp/51); /*/*語(yǔ)音芯片報(bào)溫度函數(shù)/*調(diào)用一次報(bào)告一次溫度i*void sound_play(void) _nop_();_nop_();pd=0; / for(i=0;i6;i+) uchar data n=0;p0=sound_addorderi;/ce=0; / _nop_();_nop_();ce=1; while(eom); while(eom=0);_nop_();_nop_();/* /*主函數(shù)i*void main(void) tmod = 0 x21;/定時(shí)器1工作于方式2,8/用于產(chǎn)生波特率.定時(shí)器0th1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年臨時(shí)工派遣合同樣本
- 信托公司委托貸款合同
- 纜索吊機(jī)租賃合同樣本
- 標(biāo)準(zhǔn)家教服務(wù)合同范本
- 2024標(biāo)準(zhǔn)附期限借款合同樣本
- 2024模板采購(gòu)合同范本
- 2024工程裝修簡(jiǎn)易合同樣本
- 物業(yè)租賃合同模板
- 技術(shù)服務(wù)合同中的保密義務(wù)與條款
- 建材產(chǎn)品購(gòu)銷(xiāo)協(xié)議樣本
- 民法典講座-繼承篇
- 外包施工單位入廠安全培訓(xùn)(通用)
- 糖尿病健康知識(shí)宣教課件
- 客戶(hù)接觸點(diǎn)管理課件
- Python語(yǔ)言學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 醫(yī)學(xué)-心臟驟停急救培訓(xùn)-心臟驟停急救教學(xué)課件
- 高中英語(yǔ)-Book 1 Unit 4 Click for a friend教學(xué)課件設(shè)計(jì)
- 年產(chǎn)30萬(wàn)噸碳酸鈣粉建設(shè)項(xiàng)目可行性研究報(bào)告
- 主題班會(huì)如何對(duì)待厭學(xué)情緒(初二) 省賽獲獎(jiǎng) 省賽獲獎(jiǎng)
- 初中數(shù)學(xué)北師大版七年級(jí)上冊(cè)課件5-4 應(yīng)用一元一次方程-打折銷(xiāo)售
- 0-6歲兒童健康管理服務(wù)規(guī)范(第三版)
評(píng)論
0/150
提交評(píng)論