版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 第四屆電子設(shè)計(jì)大賽(論 文) 基于單片機(jī)的電子聲音報(bào)溫溫度計(jì)學(xué) 院:系別: 信息技術(shù)學(xué)院 電子系專業(yè)名稱: 電子信息工程學(xué)生姓名: 于洋、張爽學(xué)號: 0915100614、0915100625指 導(dǎo) 教 師 姓 名: 李海成、張俊芳完成日期 2013 年 6 月 15 日1 引言41.1研究背景41.2研究現(xiàn)狀42 總體設(shè)計(jì)方案52.1設(shè)計(jì)思路52.2總體設(shè)計(jì)框圖53 硬件設(shè)計(jì)73.1 單片機(jī)的選擇73.1.1 stc89c52單片機(jī)的主要特性:73.1.2 引腳功能及管腳電壓83.2 nv035a語音芯片103.3 溫度傳感器的選擇133.3.1 ds18b20的主要特性133.3.2 d
2、s18b20的實(shí)物圖143.3.3 ds18b20使用中注意事項(xiàng)143.4 溫度檢測電路153.5 復(fù)位電路163.6 時(shí)鐘電路174 軟件設(shè)計(jì)184.1 概述184.2 主程序模塊185 仿真196 綜合調(diào)試206.1焊接206.2調(diào)試21結(jié)論21致謝21參考文獻(xiàn)22附錄 源碼22摘 要:隨著現(xiàn)代化信息技術(shù)的飛速發(fā)展,單片機(jī)技術(shù)已經(jīng)十分普及,在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為核心部件來使用。本論文介紹了一種以單片機(jī)stc89c52為主要控制器件,以ds18b20為溫度傳感器通過led屏傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示的新型數(shù)字溫度計(jì)。該數(shù)字溫度計(jì)的測量范圍為-55125,顯示分辨
3、率為0.1,誤差1。由于采用了溫度傳感器ds18b20作為檢測元件,與傳統(tǒng)的溫度計(jì)相比,本文設(shè)計(jì)的數(shù)字溫度計(jì)減少了外部的硬件電路,具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合于各種環(huán)境下進(jìn)行現(xiàn)場溫度測量,可廣泛應(yīng)用于工業(yè)控溫系統(tǒng)、溫度計(jì)、消費(fèi)產(chǎn)品以及其它溫度測控系統(tǒng)。with the rapid development of modern information technology, mcs technology has been very popular, in the mcs application system for real-t
4、ime detection and automatic control, mcs is often as a core component to use.this paper introduces a single-chip microcomputer stc89c52 as the main control device, with the temperature sensor ds18b20 for transmitting the data through the led screen, the realization of a new type of digital thermomet
5、er temperature display. the measuring range of the digital thermometer is -55 125 , the display resolution is 0.1 , error less than 1 . because of the temperature sensor ds18b20 as the measuring element, compared with the traditional thermometer, digital thermometer is designed in this paper to redu
6、ce the external hardware circuit, the reading convenience, a wide range of temperature measurement, temperature measurement precision, the digital display, applicable scope wide and so on characteristics. the system has simple structure, strong anti-interference ability, suitable for all kinds of en
7、vironment on-site temperature measurement, can be widely used in industrial control system, thermometer, consumer products and other temperature measurement and control system.關(guān)鍵詞:單片機(jī)stc89c52;nv035a語音芯片;溫度傳感器ds18b20;led顯示屏等。1 引言 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),人們在生產(chǎn)過程中會(huì)越來越關(guān)注精密而實(shí)用的儀器,能夠獨(dú)立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)
8、域。其中語音數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活等提供更好更方便快捷的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。1.1研究背景目前溫度計(jì)的發(fā)展很快,從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電偶溫度計(jì)、數(shù)字溫度計(jì)、電子溫度計(jì)等等,溫度計(jì)中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計(jì)的精度、測量范圍、控制范圍和用途等。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。
9、本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn),主要用于對測溫比較準(zhǔn)確的場所或科研實(shí)驗(yàn)室使用,可廣泛用用于工業(yè)控溫系統(tǒng)、溫度計(jì)、消費(fèi)產(chǎn)品以及其它溫度測控系統(tǒng)。目前,該產(chǎn)品已在溫控系統(tǒng)中得到了廣泛使用。因此本設(shè)計(jì)就嘗試通過編程與芯片的結(jié)合來解決傳統(tǒng)數(shù)字溫度計(jì)的弊端,設(shè)計(jì)出新型語音數(shù)字溫度計(jì)。1.2研究現(xiàn)狀 溫度傳感器的發(fā)展現(xiàn)狀:溫度傳感器使用范圍廣,數(shù)量多,居各種傳感器之首,其發(fā)展大致經(jīng)歷了以下3個(gè)階段: 1、傳統(tǒng)的分立式溫度傳感器(含敏感元件)熱電偶傳感器,主要是能夠進(jìn)行非電量和電量之間轉(zhuǎn)換。2、模擬集成溫度傳感器/控制器,集成傳感器
10、是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。3、智能溫度傳感器。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ate_)的結(jié)晶。智能溫度傳感器內(nèi)部包含溫度傳感器、a/d傳感器、信號處理器、存儲(chǔ)器(或寄存器)和接口電路。2 總體設(shè)計(jì)方案2.1設(shè)計(jì)思路 本設(shè)計(jì)是一個(gè)基于單片機(jī)at89c52的數(shù)字溫度計(jì)和溫度傳感器ds18b20的設(shè)計(jì),用來測量環(huán)境溫度,測量范圍為-10120,顯示分辨率為0.1,誤差0.5.整個(gè)設(shè)計(jì)系統(tǒng)主要包括硬件電路的設(shè)計(jì)和系統(tǒng)軟件的設(shè)計(jì)。硬件電路主要包括主控制器,測溫電路和顯示電路等。主控制器采用單片機(jī)stc89c52,溫度傳感器采用美國dallas半導(dǎo)體公
11、司生產(chǎn)的ds18b20來實(shí)現(xiàn)環(huán)境溫度的采集和a/d轉(zhuǎn)換,同時(shí)因其輸出為數(shù)字形式,且為串行輸出,這就方便了單片機(jī)進(jìn)行數(shù)據(jù)處理,但同時(shí)也對編程提出了更高的要求。單片機(jī)把采集到的溫度進(jìn)行相應(yīng)的轉(zhuǎn)換后,顯示電路采用led顯示器以靜態(tài)掃描法直讀顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,寫入溫度子程序,語音播報(bào)系統(tǒng)等。2.2總體設(shè)計(jì)框圖 本系統(tǒng)采用單片機(jī)作為微控制器,如圖2.1。單片機(jī)用stc89c52、nv035a語音芯片、溫度傳感器用ds18b20,采用12mhz晶振,電源采用5v。該電路經(jīng)過設(shè)計(jì)分析、繪圖、仿真調(diào)試、制板、焊接等工作后溫度計(jì)成形。 采用數(shù)字溫度芯片ds18b20測量溫度,輸出信號
12、全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于0.1攝氏度。ds18b20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)ds18b20和微控制器stc89c52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用52單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。電源stc89c52 控制器顯示電路時(shí)鐘電路nv035a語音播報(bào)ds18b20復(fù)位電
13、路 圖2.1 總體設(shè)計(jì)框圖 2.3所用主要元器件單片機(jī)stc89c52一個(gè)、nv035a語音芯片、溫度傳感器ds18b20一個(gè)、12mhz晶振一個(gè)、二位共陽極led顯示屏一個(gè)、電源一個(gè)、排阻一個(gè)、usb一個(gè)、電阻電容及導(dǎo)線若干。3 硬件設(shè)計(jì)3.1 單片機(jī)的選擇 stc89c52作為溫度測試系統(tǒng)設(shè)計(jì)的核心器件。該器件是intel公司生產(chǎn)的mcs一5l系列單片機(jī)中的基礎(chǔ)產(chǎn)品,采是一個(gè)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-
14、51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲(chǔ)單元,stc89c52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。單片機(jī)小系統(tǒng)的電路圖如圖3-1-1所示。圖3.1 單片機(jī)小系統(tǒng)電路3.1.1 stc89c52單片機(jī)的主要特性:(1)兼容mcs-51指令系統(tǒng),4k字節(jié)可編程閃爍存儲(chǔ)器;(2)8k可反復(fù)擦寫(大于1000次)flash rom;(3)壽命為1000次寫/擦周期,數(shù)據(jù)保留時(shí)間可10年以上;(4)全靜態(tài)工作模式:0hz-33hz;(5)三級程序存儲(chǔ)器鎖定;(6)128*8位內(nèi)部ram,32可編程i/o線;(7)兩個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源;(8)全雙工串行uart通道,低功耗的閑置
15、和掉電模式;(9)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; (10)有pdip、pqfp、tqfp及plcc等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.1.2 引腳功能及管腳電壓stc89c52為8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的89s52相同。如圖3.2所示。 圖3.2 stc89c52引腳圖(1)p0口p0口是一組8位漏極開路型雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯門電路,對端口p0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線
16、復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在flash編程時(shí),p0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。(2)p1口p1是一個(gè)帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會(huì)輸出一個(gè)電流(iil)。(3)p2口p2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對端口p2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸
17、入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會(huì)輸出一個(gè)電流(iil)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movxdptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movxri指令)時(shí),p2口輸出p2鎖存器的內(nèi)容。flash編程或校驗(yàn)時(shí),p2亦接收高位地址和一些控制信號。(4)p3口p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口。p3口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對p3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的p3口將用上拉電阻輸出電流(iil)。p3口除了作為一般的
18、i/o口線外,更重要的用途是它的第二功能。p3口還接收一些用于flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號。(5)rst復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。(6)ale/prog當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ale仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ale脈沖。對flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。 如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh單元的d0
19、位置位,可禁止ale操作。該位置位后,只有一條movx和movc指令才能將ale激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ale禁止位無效。(7)psen程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號,當(dāng)at89c52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次psen有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次psen信號。(8)ea/vpp外部訪問允許。欲使cpu僅訪問外部程序存儲(chǔ)器(地址為0000hffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存ea端狀態(tài)。如ea端為高電平(接vcc端
20、),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。flash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件是使用12v編程電壓vpp。(9)xtal1振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。(10)xtal2振蕩器反相放大器的輸出端。3.2 nv035a語音芯片電壓:1.8-5.5v靜態(tài)電流:2ua聲音驅(qū)動(dòng)方式:pwm直接驅(qū)動(dòng)8歐0.5w喇叭(所有的都可以,只是聲音大小差別)語音內(nèi)容: 使用說明:語音芯片可以通過單片機(jī)等其他控制設(shè)備,任意組合上面的數(shù)字,從而到達(dá)語音播報(bào)時(shí)間、星期、年、月、日、溫度、濕度等。例如:今天是2012年3月17日現(xiàn)在北京時(shí)間是21點(diǎn)28分30秒。語
21、音芯片是特定的固定標(biāo)準(zhǔn)模塊,可以通過單片機(jī)最少一個(gè)io口控制多達(dá)32段聲音任意調(diào)用和組合的語音標(biāo)準(zhǔn)芯片。通常最常用的控制方式是采用了模擬串行的控制方式(3個(gè)io)。如需要播放第幾個(gè)地址的內(nèi)容就發(fā)送幾個(gè)脈沖,可以快速的控制多達(dá)32段地址的任意組合。單片機(jī)控制語音芯片電路圖:控制原理說明:此控制方式是采用了模擬串行的控制方式。如需要播放第幾個(gè)地址的內(nèi)容就發(fā)送幾個(gè)脈沖(大于0.2ms即可,建議采用1ms左右,下同)的原理,可以快速的控制多達(dá)32段地址的任意組合。模擬串行工作時(shí)各io的作用:busy:芯片工作時(shí)(播放聲音),輸出低電平,停止工作或者待機(jī)是,保持高電平;data:接受控制脈沖的腳位。收到
22、幾個(gè)脈沖,就播放第幾個(gè)地址的內(nèi)容;rst:任何時(shí)候,收到高電平,都可以使芯片的播放指針歸零(就是是data的腳位恢復(fù)到初始狀態(tài)),同時(shí)即刻使芯片停止,進(jìn)入待機(jī)狀態(tài);工作示例:例如現(xiàn)在需要播放第十段聲音。單片機(jī)控制原理是:先發(fā)送一個(gè)復(fù)位脈沖到rst腳,接著發(fā)送10個(gè)脈沖到data腳。芯片即刻工作,播放第十段的聲音;如果需要播放第五段的聲音,則是:先發(fā)送一個(gè)復(fù)位脈沖到rst腳,接著發(fā)送5個(gè)脈沖到data腳。芯片即刻工作,播放第5段的聲音;例如需要連續(xù)播放第十段和第五段聲音:先發(fā)送一個(gè)復(fù)位脈沖到rst腳,接著發(fā)送10個(gè)脈沖到data腳。芯片即刻工作,播放第十段的聲音,同時(shí)單片機(jī)判斷語音芯片的busy
23、是否是高電平,如果不是則一直等待,如果是高電平,則發(fā)送一個(gè)復(fù)位脈沖到rst腳,接著發(fā)送5個(gè)脈沖到data腳。芯片即刻工作,播放第5段的聲音.依此類推。簡單測試:很多使用者初次使用時(shí)候,沒有完全了解工作原理或者連接不當(dāng),導(dǎo)致在系統(tǒng)上面調(diào)試很長時(shí)間,以至于懷疑芯片的穩(wěn)定性,現(xiàn)在提供最簡單的測試方式,以便了解其工作原理。同時(shí)也大大提供初次調(diào)試的成功率。3.3 溫度傳感器的選擇ds18b20溫度傳感器是美國dallas公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且具有耐磨耐碰,體積小,使用方便,封裝形式多樣等特點(diǎn),適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域
24、。3.3.1 ds18b20的主要特性(1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電;(2)獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊;(3)ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫;(4)ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);(5)溫范圍55125,在-10+85時(shí)精度為0.5;(6)可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精
25、度測溫;(7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快;(8)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;(9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。3.3.2 ds18b20的實(shí)物圖如圖3.3圖3.3 ds18b20實(shí)物圖3.3.3 ds18b20使用中注意事項(xiàng)ds18b20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題: (1)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由
26、于ds18b20與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對ds18b20進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測溫結(jié)果。在使用pl/m、c等高級語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對 ds18b20操作部分最好采用匯編語言實(shí)現(xiàn)。 (2)在ds18b20的有關(guān)資料中均未提及單總線上所掛ds18b20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè) ds18b20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛ds18b20超過8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時(shí) 要加以注意。 (3)連接ds18b20的總線電纜是有長度限制的。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過50m時(shí),讀
27、取的 測溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正 常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用ds18b20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí)要充分考 慮總線分布電容和阻抗匹配問題。 (4)在ds18b20測溫程序設(shè)計(jì)中,向ds18b20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds1820的返回信號,一旦 某個(gè)ds18b20接觸不好或斷線,當(dāng)程序讀該ds18b20時(shí),將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行ds18b20硬件連接和軟件設(shè)計(jì)時(shí)也要給予 一定的重視。 測溫電纜線建議采用
28、屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接vcc和地線,屏蔽層在源端單點(diǎn)接地。3.4 溫度檢測電路 ds18b20最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,ds18b20的數(shù)據(jù)i/o均由同一條線來完成。ds18b20的電源供電方式有2種:外部供電方式和寄生電源方式。工作于寄生電源方式時(shí),vdd和gnd均接地,他在需要遠(yuǎn)程溫度探測和空間受限的場合特別有用,原理是當(dāng)1wire總線的信號線dq為高電平時(shí),竊取信號能量給ds18b20供電,同時(shí)一部分能量給內(nèi)部電容充電,當(dāng)dq為低電平時(shí)釋放能量為ds18b20供電。但寄生電源方式需要強(qiáng)上拉電路,軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到e2pro
29、m時(shí)),同時(shí)芯片的性能也有所降低。因此,在條件允許的場合,盡量采用外供電方式。無論是內(nèi)部寄生電源還是外部供電,i/o口線要接5k左右的上拉電。在這里采用前者方式供電。外部電源供電方式是ds18b20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。在開發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根vcc引線。在外接電源方式下,可以充分發(fā)揮ds18b20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓vcc降到3v時(shí),依然能夠保證溫度量精度。由于ds18b20只有一根數(shù)據(jù)線,因此它和主機(jī)(單片機(jī))通信是需要串行通信,而at89c52有兩個(gè)串行端口,所
30、以可以不用軟件來模擬實(shí)現(xiàn)。經(jīng)過單線接口訪問ds18b20必須遵循如下協(xié)議:初始化、rom操作命令、存儲(chǔ)器操作命令和控制操作。要使傳感器工作,一切處理均嚴(yán)格按照時(shí)序。3.4 復(fù)位電路如圖3.5所示。上電復(fù)位用rc電路,電容用10uf,電阻用10k。根據(jù)ds18b20的通訊協(xié)議,主機(jī)(單片機(jī))控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對ds18b20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對ds18b20進(jìn)行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)ds18b20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在
31、低脈沖,主cpu收到此信號表示復(fù)位成功。單片機(jī)復(fù)位是使cpu和系統(tǒng)中的其它功能部件都處在一個(gè)確定的初始狀態(tài),復(fù)位是單片機(jī)的初始化操作,其主要功能是把pc初始化為0000h,使單片機(jī)從0000h單元開始執(zhí)行程序。單片機(jī)復(fù)位的條件是:必須使rst引腳加上持續(xù)兩個(gè)機(jī)器周期的高電平,復(fù)位電路在接電瞬間,reset端的電位與vcc相同,隨著充電電流的減少,reset的電位逐漸下降。只要保證reset為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù)位。復(fù)位后pc值為0000h,表明復(fù)位后程序從0000h開始執(zhí)行,從第一個(gè)單元取指令。例如,若時(shí)鐘頻率為12mhz,每機(jī)器周期為1us,則只需2us以上的高電平,在r
32、st引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)復(fù)位期間不產(chǎn)生ale信號,即ale=1.表明單片機(jī)復(fù)位期間不會(huì)有任何取指操作。 圖3.5 復(fù)位電路3.5 時(shí)鐘電路單片機(jī)的晶振頻率低于40mhz,所用我們采用12mhz,加兩個(gè)30pf電容。如圖3.6所示。時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號,單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號控制下嚴(yán)格的按時(shí)序進(jìn)行工作。一般的晶振振蕩電路都是在一個(gè)反相放大器的兩端接入晶振,再有兩個(gè)電容分別接到晶振的兩端,另一端接地,這兩個(gè)電容串聯(lián)的容量值應(yīng)該等于負(fù)載電容。在單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,其輸入端
33、為芯片引腳xtal1,輸出端為引腳xtal2,在芯片的外部通過這兩個(gè)引腳跨接晶體震蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成一個(gè)穩(wěn)定的自激震蕩器,一般的晶振的負(fù)載電容為20pf-45pf之間,考慮到元件引腳的等效輸入電容,本設(shè)計(jì)采用兩個(gè)22pf的電容構(gòu)成晶振的振蕩電路。設(shè)計(jì)電路中所使用的是12mhz的晶振,機(jī)器周期為1us,具體的時(shí)鐘電路如圖3.7所示。圖3.6 晶振電路數(shù)字顯示溫度計(jì)的工作原理:基于stc89c52的溫度測量系統(tǒng)電路圖把溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補(bǔ)碼形式,占兩個(gè)字節(jié)),若采用帶屏蔽的雙絞電纜線,連線的長度可以達(dá)到150m,輸出腳i0直接與單片機(jī)的p34相連,r1為上拉電阻
34、,傳感器采用外部電源供電。stc89c52是整個(gè)系統(tǒng)的核心部分,內(nèi)含2 kb的flash rom,用戶程序存放在這里。顯示器模塊由二位一體的共陽數(shù)碼管組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照dsl8b20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。4 軟件設(shè)計(jì)4.1 概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、
35、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。4.2 主程序模塊主程序需要調(diào)用2個(gè)子程序,各模塊程序功能如下:(1)數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。(2)溫度測試及處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。 (3)語音播報(bào)模塊,當(dāng)按鍵時(shí)播報(bào)當(dāng)前語音。主程序流程見圖4.1: 5 仿真proteus軟件是英國labcen
36、ter electronics公司出版的eda工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic
37、10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。proteus軟件具有其它eda工具軟件的功能。這些功能是: (1)原理布圖;(2)pcb自動(dòng)或人工布線;(3)spice電路仿真。革命性的特點(diǎn):(1)互動(dòng)的電路仿真用戶甚至可以實(shí)時(shí)采用諸如ram,rom,鍵盤,馬達(dá),led,lcd,ad/da,部分spi器件,部分iic器件。(2)仿真處理器及其外圍電路可以仿真51系列、avr、pic、arm、等常用主流單片機(jī)
38、。還可以直接在基于原理圖的虛擬原型 上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。6 綜合調(diào)試6.1焊接6.1.1焊接要求(1)電阻、二極管(發(fā)光二極管除外)均采用水平安裝,緊貼印刷版。(2)電解電容等盡量插到底,元件底面離印刷版最高不能大于4毫米。(3)插件裝配要美觀、均勻、端正、整齊,不能歪斜,高矮要有序。(4)所焊出來的焊點(diǎn)要求圓滑、光亮、防止虛焊、搭焊和散錫。(5)布局合理,疏密適當(dāng)。(6)用比較好的助焊劑。6.1.2焊接方法(1)右手持電烙鐵。左手用尖嘴鉗或鑷子夾持元件或?qū)Ь€。焊接前,電烙鐵要
39、充分預(yù)熱。烙鐵頭刃面上要吃錫,即帶上一定量焊錫。(2)將烙鐵頭刃面緊貼在焊點(diǎn)處。電烙鐵與水平面大約成60角。以便于熔化的錫從烙鐵頭上流到焊點(diǎn)上。烙鐵頭在焊點(diǎn)處停留的時(shí)間控制在23秒鐘。(3)抬開烙鐵頭,左手仍持元件不動(dòng)。待焊點(diǎn)處的錫冷卻凝固后,才可松開左手。(4)用鑷子轉(zhuǎn)動(dòng)引線,確認(rèn)不松動(dòng),然后可用偏口鉗剪去多余的引線。(5)焊接時(shí)先用焊錫把導(dǎo)線接一下,一遍有毛刺,有放電現(xiàn)象。6.2調(diào)試對于整個(gè)系統(tǒng)的調(diào)試是將溫度傳感器置于被監(jiān)測溫度處,接通系統(tǒng)電源,系統(tǒng)開始運(yùn)行,隨著溫度的不斷上升,顯示溫度不斷變化,離開被監(jiān)測溫度處,顯示溫度不斷下降。 結(jié)論經(jīng)過我的努力,完成了本次課題的任務(wù)。設(shè)計(jì)制作的數(shù)字溫
40、度計(jì)led顯示屏語音播報(bào),通過仿真很好的完成了基本要求部分和發(fā)揮需要的功能,達(dá)到了預(yù)期的目的。致謝通過這次設(shè)計(jì),受益匪淺,這主要得益于認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)活潑的治學(xué)精神和深厚專業(yè)的理論水平。在撰寫論文之前,自己對論文的基本要求理解不是很充分,在老師的幫助與指導(dǎo)下,現(xiàn)在對論文有了一定的認(rèn)識,對它的基本結(jié)構(gòu)、所要論述的重點(diǎn)問題、以及撰寫論文的基本步驟和評審都達(dá)到了相當(dāng)?shù)乃?。老師無論在理論上還是在實(shí)踐中,都給予了本人很大的幫助,使自己的理論和技術(shù)水平都得到很大的提高,這對于自己以后的工作和學(xué)習(xí)都是一種巨大的鼓舞。在本系統(tǒng)的設(shè)計(jì)過程和論文編寫過程中,很多同學(xué)和朋友給予了我許多無私的幫助,給我的設(shè)
41、計(jì)和論文提出了很多寶貴的修改意見,在這里,我向這些無私幫助我的人表示衷心的感謝和良好的祝愿。至此,衷心感謝各位老師及同學(xué)多年來的辛勤培育和教導(dǎo)!參考文獻(xiàn)1.楊居義,單片機(jī)課程設(shè)計(jì)指導(dǎo)清華大學(xué)出版社,20092.張毅剛,基于proteus的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)人民郵電出版社,20123.黃友銳,單片機(jī)原理及應(yīng)用合肥工業(yè)大學(xué)出版社,20064. 高吉祥.全國大學(xué)生電子設(shè)計(jì)競賽培訓(xùn)系列教程數(shù)字系統(tǒng)與自動(dòng)控制系統(tǒng)設(shè)計(jì).北京: 電子工業(yè)出版社,2007.5. 陳梓城等.實(shí)用電子電路設(shè)計(jì)與調(diào)試.北京:中國電力出版社,2006.6. 黃智偉等.全國大學(xué)生電子設(shè)計(jì)競賽系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)
42、出版社,2008.7. 趙廣林. protel 99se 電路設(shè)計(jì)與制版. 電子工業(yè)出版社,2005. 8. 高等學(xué)校畢業(yè)設(shè)計(jì)(論文)指導(dǎo)手冊電子信息卷. 高等教育出版社. 附錄 源碼#include #define uchar unsigned char#define uint unsigned intsbit ds=p22; /ds18b20信號線sbit dula=p26; /數(shù)碼管段選線sbit wela=p27; /數(shù)碼管位選線sbit busy=p20; /判忙端接8腳sbit sda=p21; /信號端接7腳sbit rst=p22; /觸發(fā)端接6腳sbit dula1=p30;
43、 /數(shù)碼管1sbit dula2=p31; /數(shù)碼管2sbit dula3=p32; /數(shù)碼管3sbit led=p17; /工作指示燈sbit key=p37; /按鍵uchar shi,ge,fen; /溫度顯示uint temp; /溫度變float f_temp;unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; /不帶小數(shù)點(diǎn)的編碼unsigned char code table1=0x40,0x79,0x24,0x30,0x1
44、9,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e; void delay(uint a) /延時(shí)函數(shù)unsigned char i;while(a-) for(i = 0; i 0)i-; ds=1; i=4; while(i0)i-;bit tempreadbit(void) /讀1位函數(shù) uint i; bit dat; ds=0;i+; /i+ 起延時(shí)作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar tempread(void) /讀1個(gè)字節(jié) uchar i
45、,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在dat里 return(dat);void tempwritebyte(uchar dat) /向18b20寫一個(gè)字節(jié)數(shù)據(jù) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /寫 0 i=8;while(i0)i-; ds=1; i+;i+; void tempchange(void
46、) /ds18b20 開始獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0xcc); / 寫跳過讀rom指令 tempwritebyte(0x44); / 寫溫度轉(zhuǎn)換指令uint get_temp() /讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread(); /讀低8位 b=tempread(); /讀高8位 temp=b; temp0) sda=1; delay(1); sda=0; delay(1); z
47、-; /*主函數(shù)*/void main() uchar i,j,l,a8,b; a0=23;/現(xiàn)在溫度是 a1; a2=11;/十 a3; a4=13;/點(diǎn) a5; a6=20;/度 a7=25;/鈴聲 dula=0; wela=0; init_com();/ busy=1;/初始化,判忙端置1,表示不忙 sda=0;/初始化,信號端置0,表示無信號 rst=0;/初始化,觸發(fā)端置0,表示無觸發(fā) l=5;/*/ while(l-)/指示燈閃爍,表示初始化完成 led=0;delay(100);led=1;delay(100); /*8*/ while(1) b=9; j=0; tempchange(); dis_temp(get_temp();/ if(key=0)delay(10);if(key=0) while(b) while(busy=0)/判斷芯片是不是工作中,工作時(shí)指示燈亮 led=0; led=1; /不工作時(shí)指示燈滅 delay(25); if(j=8) j=0; /不斷讀取芯片132地址內(nèi)容/實(shí)時(shí)讀數(shù)/ a1=shi+1; a3=ge+1; a5=fen+1;/ music(aj); /賦值j等于幾,就播放第幾段 j+; /語音芯片地址加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 毽子里的銅錢課件
- 《心肌梗死健康宣教》課件
- 單位管理制度展示選集【職工管理】
- 單位管理制度展示大全【職員管理篇】
- 2025年家電行業(yè)策略報(bào)告:內(nèi)銷走出休息區(qū)關(guān)注外銷自主品牌
- 幼兒園組織與管理課件
- 2025物品保管合同范本
- 北大中醫(yī)養(yǎng)生學(xué)課件 飲食類養(yǎng)生
- 砂場項(xiàng)目立項(xiàng)申請報(bào)告模板
- 中國國有銀行市場全面調(diào)研及行業(yè)投資潛力預(yù)測報(bào)告
- GB/T 25279-2022中空纖維簾式膜組件
- 五年級《歐洲民間故事》知識考試題庫(含答案)
- 破產(chǎn)管理人工作履職報(bào)告(優(yōu)選.)
- 022化妝品委托加工合同
- 樁裂縫計(jì)算(自動(dòng)版)
- 高邊坡施工危險(xiǎn)源辨識及分析
- 給排水全套資料表格模版
- 萬噸鈦白粉項(xiàng)目建議
- 化妝品購銷合同范本
- 7725i進(jìn)樣閥說明書
- 銀監(jiān)會(huì)流動(dòng)資金貸款需求量測算表
評論
0/150
提交評論