版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)的電子體溫計(jì)電路設(shè)計(jì)基于單片機(jī)的電子體溫計(jì)電路設(shè)計(jì) 摘摘 要要 溫度作為一個(gè)重要的物理量,是工業(yè)生產(chǎn)過(guò)程中最普遍、最常用的測(cè)量及被控參 數(shù)之一。隨著社會(huì)的發(fā)展、科學(xué)技術(shù)的不斷更新,溫度的測(cè)量范圍要求不斷擴(kuò)大,同 時(shí)溫度的測(cè)量準(zhǔn)確性要求不斷提高。它直接影響燃燒、化學(xué)反應(yīng)、發(fā)酵、烘烤、蒸餾、 濃度、擠壓成形、結(jié)晶以及空氣流動(dòng)等物理和化學(xué)過(guò)程。溫度控制失誤就可能引起生 產(chǎn)安全、產(chǎn)品質(zhì)量、產(chǎn)品產(chǎn)量等一系列問(wèn)題。因此對(duì)溫度測(cè)量的意義就越來(lái)越大。 電子體溫計(jì)電路采用 at89s52 作為核心器件實(shí)現(xiàn)對(duì)系統(tǒng)的自動(dòng)控制。外界溫度經(jīng) ds18b20 集成溫度傳感器采集,溫度變化最終轉(zhuǎn)換為可被單片機(jī)識(shí)別
2、的數(shù)字信號(hào),單 片機(jī)將采集到的溫度值在 led 數(shù)碼管上顯示出來(lái)。當(dāng)采集到的溫度不在-55c125 c 時(shí),啟動(dòng)報(bào)警裝置,提醒相關(guān)工作人員采取措施。當(dāng)采集到的溫度在 35c40c 時(shí),啟動(dòng)語(yǔ)音播報(bào)功能,提醒溫度正常,溫度偏高,溫度偏低等。 傳統(tǒng)所使用的溫度計(jì)通常都是精度為 1c 和 0.1c 的水銀、煤油或酒精溫度計(jì)。 這些溫度計(jì)的刻度間隔通常都緊密,不容易準(zhǔn)確分辨,讀數(shù)困難,而且他們的熱容量 還比較大,達(dá)到熱平衡所需的時(shí)間較長(zhǎng),因此很難讀準(zhǔn),并且使用非常不方便。電子 體溫計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫速度快、測(cè)溫準(zhǔn)確、 攜帶方便等優(yōu)點(diǎn)。 關(guān)鍵詞:關(guān)鍵詞:?jiǎn)纹瑱C(jī);電子體溫
3、計(jì);溫度傳感器;報(bào)警;語(yǔ)音播報(bào) the design of the electronic thermometer based on microcontroller abstract temperature as an important physics, is the most common industrial production process, the most commonly used one of measuring and controlled parameter. with the development of society, the science and technol
4、ogy unceasing renewal, temperature measurement range requirements, at the same time expanding temperature measurement accuracy requirement enhances unceasingly. it directly affects combustion, chemical reaction, fermentation, roasted, distillation, concentration, extrusion, crystallization and air f
5、low etc physical and chemical processes. temperature control error could cause a production safety, product quality, product yield and so on. so the significance of temperature measurement is more and more big. electronic thermometers circuit uses at89s52 devices as the core device implements to the
6、 system automatic control. the temperature outside temperature sensors to collect by ds18b20 integration, the temperature change finally converted to can be microcontroller identification digital signal, microcontroller will to collect in led digital tube temperature displayed. when the collected c
7、temperature is not - 55 125 c - start alarm device, remind relevant working personnel take measures. when the collected in 35 c temperature of 40 c - start speech function, remind temperature normal higher temperature, temperature, low, etc. traditional use thermometer is usually accuracy 0.1 c and
8、1 c of mercury, kerosene or alcohol thermometer. the thermometer calibration interval are usually close, not easy accurate resolution, reading difficulties, and their heat capacity is bigger, the time needed to reach thermal equilibrium is long, so it is difficult to read accurate, and use very inco
9、nvenient. electronic thermometers and compared with traditional thermometer readings, convenient, measuring temperature range, temperature measuring speed, temperature measurement accurate, easy to carry, etc. keywords: microcontroller; electronic thermometers; temperature sensors; alarm; speech bro
10、adcast 目錄目錄 引引 言言1 第第 1 章章 緒論緒論 .2 第第 2 章章 硬件部分的設(shè)計(jì)硬件部分的設(shè)計(jì) .4 2.1 at89s52 單片機(jī)及其晶振電路 .4 2.2 看門(mén)狗復(fù)位電路 .7 2.3 溫度信號(hào)采集模塊 .10 2.4 鍵盤(pán)與顯示電路 .13 2.5 語(yǔ)音提示電路.16 2.6 報(bào)警電路 .17 2.7 輸出驅(qū)動(dòng)接口電路 .18 第第 3 章章 軟件程序設(shè)計(jì)軟件程序設(shè)計(jì) 19 3.2 定時(shí)器中斷服務(wù)程序流程圖設(shè)計(jì).19 3.3 ds18b20 子程序流程圖 .21 3.4 看門(mén)狗程序流程圖的設(shè)計(jì) .24 結(jié)論與展望結(jié)論與展望. 26 致致 謝謝. 27 參考文獻(xiàn)參考文獻(xiàn)
11、. 28 附錄附錄 a 總體電路圖總體電路圖 29 附錄附錄 b 外文文獻(xiàn)及譯文外文文獻(xiàn)及譯文 30 附錄附錄 c 參考文獻(xiàn)題錄及摘要參考文獻(xiàn)題錄及摘要 34 附錄附錄 d 源程序源程序.36 插圖清單插圖清單 圖 2-1 總體電路框圖.3 圖 2-2 at89s52 的引腳圖. .4 圖 2-3 內(nèi)部振蕩電路連接圖.6 圖 2-4 外部振蕩電路連接圖. .6 圖 2-5 x5045 的引腳圖. .7 圖 2-6 x5045 與 at89s52 單片機(jī)連接電路圖.9 圖 2-7 ds18b20 引腳圖. .10 圖 2-8 寫(xiě)“0”和寫(xiě)“1”時(shí)隙. .12 圖 2-9 讀0讀和1時(shí)隙. .12
12、 圖 2-10 溫度傳感器 ds18b20 與單片機(jī)的連接.13 圖 2-11 74ls164 引腳圖. .14 圖 2-12 顯示電路的連接.15 圖 2-13 按鍵對(duì)單片機(jī)的接口電路圖.15 圖 2-14 語(yǔ)音模塊與單片機(jī)的接口電路.17 圖 2-15 報(bào)警電路圖.17 圖 2-16 驅(qū)動(dòng)電路與單片機(jī)的連接.18 圖 3-1 主流程圖.19 圖 3-2 鍵盤(pán)掃描流程圖.20 圖 3-3 中斷程序流程圖.21 圖 3-4 ds18b20 的讀程序流程圖. .22 圖 3-5 ds18b20 的寫(xiě)程序流程圖.23 圖 3-6 溫度采集程序流程圖.23 圖 3-7 x5045 讀寫(xiě)程序流程圖.
13、.25 表格清單表格清單 表 2-1 p1 口引腳的第二功能.5 表 2-2 p3 口引腳的第二功能.5 表 2-3 引腳功能描述.7 表 2-4 x5045 狀態(tài)寄存器各位定義.8 表 2-5 wd1、wd0 組合定義.8 表 2-6 bl1、bl0 組合定義.8 表 2-7 x5045 內(nèi)部指令.9 表 2-8 溫度和數(shù)字量的關(guān)系.10 表 2-9 ds18b20 內(nèi)部存儲(chǔ)器. .11 表 2-10 溫度存儲(chǔ)格式與配置寄存器控制字格式.11 表 2-11 存儲(chǔ)器中邏輯地址定義.11 表 2-12 74ls164 的真值表. .12 引引 言言 在現(xiàn)代化的工業(yè)生產(chǎn)中,溫度是常用的測(cè)量及被控參
14、數(shù)。溫度測(cè)量在物理實(shí)驗(yàn)、 醫(yī)療衛(wèi)生、食品生產(chǎn)等領(lǐng)域,尤其在熱學(xué)實(shí)驗(yàn)中,有特別重要的意義。隨著時(shí)代的進(jìn) 步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研各個(gè)領(lǐng)域,已經(jīng)成為一種有 力的工具。傳統(tǒng)所使用的溫度計(jì)通常都是精度為1c和0.1c的水銀、煤油或酒精溫度 計(jì)。這些溫度計(jì)的刻度間隔通常都緊密,不容易準(zhǔn)確分辨,讀數(shù)困難,而且他們的熱 容量還比較大,達(dá)到熱平衡所需的時(shí)間較長(zhǎng),因此很難讀準(zhǔn),并且使用非常不方便。 電子體溫計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫速度快、測(cè)溫準(zhǔn) 確、攜帶方便等優(yōu)點(diǎn),其輸出溫度采用數(shù)字顯示,主要用于對(duì)溫度比較準(zhǔn)確的場(chǎng)所, 或科研實(shí)驗(yàn)室使用。本文將介紹一種基于單
15、片機(jī)控制的電子溫度計(jì),它克服了傳統(tǒng)的 水銀溫度計(jì)測(cè)溫速度慢、環(huán)境污染嚴(yán)重、攜帶不方便等缺點(diǎn)。具有體積小、可靠性高、 抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。 該設(shè)計(jì)是以單片機(jī)為核心,配合溫度傳感器,以及相關(guān)的電路組成??梢越邮账?測(cè)環(huán)境和人體的溫度信號(hào),檢測(cè)人員可以通過(guò)儀器的數(shù)碼顯示數(shù)據(jù),實(shí)時(shí)監(jiān)控環(huán)境的 溫度情況。所有的測(cè)量操作都可以通過(guò)主機(jī)控制軟件來(lái)實(shí)現(xiàn)。由溫度傳感器得到的測(cè) 量信號(hào),經(jīng)電路轉(zhuǎn)換為電信號(hào),然后通過(guò)一定的放大,再通過(guò) a/d 轉(zhuǎn)換送到單片機(jī)進(jìn) 行數(shù)據(jù)處理,經(jīng)軟件分析處理后送顯示裝置,cpu 根據(jù)檢測(cè)到的溫度結(jié)果,判斷溫度, 是否在界定的范圍內(nèi),由此啟動(dòng)
16、系統(tǒng)的報(bào)警,并進(jìn)行自動(dòng)調(diào)節(jié),直到溫度達(dá)到標(biāo)準(zhǔn)范 圍之內(nèi)為止。 第第 1 1 章章 緒論緒論 溫度計(jì)的發(fā)展很快,從原始的玻璃管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電 偶溫度計(jì)、半導(dǎo)體集成數(shù)字溫度計(jì)等。在電子式溫度計(jì)中,傳感器是它的重要組成部 分,傳感器的精度、靈敏度基本決定了溫度計(jì)的精度、測(cè)量范圍、控制范圍和用途等。 溫度傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型溫度傳感器,從而構(gòu)成性能優(yōu)良 的溫度監(jiān)控系統(tǒng)13 。 由于水銀體溫計(jì)使用方便、精度高,因而應(yīng)用很廣。再加上測(cè)溫方法及其結(jié)構(gòu)都 已成熟,沒(méi)多大改進(jìn)余地,人們對(duì)它的研究失去了信心,至今幾乎沒(méi)有什么進(jìn)展。由 于用水銀體溫計(jì)進(jìn)行體溫監(jiān)測(cè)很不方便
17、,水銀的污染可能也很?chē)?yán)重等,為了正確測(cè)量 人體局部溫度,促使人們開(kāi)發(fā)了各種不同的測(cè)溫儀器和測(cè)溫方法。雖然水銀體溫計(jì)仍 不愧是一個(gè)精度高、便宜、使用方便的測(cè)溫儀器,現(xiàn)在已有許多醫(yī)院采用了電子體溫 計(jì),用其它電子儀器測(cè)量體溫也日益普及。這一事實(shí)至少表明,電子測(cè)溫儀器的性能 已接近水銀溫度計(jì)的性能。它在穩(wěn)定性及響應(yīng)時(shí)間上比傳統(tǒng)的水銀體溫計(jì)有著顯著的 優(yōu)勢(shì),精度要求也能和傳統(tǒng)的水銀體溫計(jì)相媲美。 在本設(shè)計(jì)中單片機(jī)是系統(tǒng)的控制核心,所以單片機(jī)的性能關(guān)系到整個(gè)系統(tǒng)的好壞。 因此單片機(jī)的選擇,對(duì)所設(shè)計(jì)系統(tǒng)的實(shí)現(xiàn)以及功能的擴(kuò)展有著很大的影響。單片機(jī)種 類(lèi)很多,在眾多51系列單片機(jī)中,較為常用的是atmel公司
18、at89c51和at89s52單片機(jī), at89c51片內(nèi)4krom是flash工藝的,使用專(zhuān)用的編程器自己就可以隨時(shí)對(duì)單片機(jī)進(jìn)行 電擦除和改寫(xiě),片內(nèi)有128字節(jié)的ram。而at89s52含有在系統(tǒng)可編程的flash存儲(chǔ)器, 片內(nèi)有8k閃存,ram的容量也較at89c51大,為256字節(jié)。顯然這種單片機(jī)優(yōu)點(diǎn)更多, 開(kāi)發(fā)時(shí)間也大為縮短。因此,在本次設(shè)計(jì)中選用了atmel公司的at89s52單片機(jī)2。 在本設(shè)計(jì)中,溫度信號(hào)的采集為模擬信號(hào),而單片機(jī)接收的為數(shù)字信號(hào),因此需 要進(jìn)行 a/d 轉(zhuǎn)換,在需要進(jìn)行多路 a/d 轉(zhuǎn)換時(shí),目前常采用多通道 a/d 轉(zhuǎn)換器,如 adc0809、ad574 等。這
19、些轉(zhuǎn)換器多為 8 通道,電路較為復(fù)雜。智能溫度傳感器 ds18b20,它是將溫度傳感器、a/d 轉(zhuǎn)換器、寄存器集成在一塊芯片中,所以在溫度 的采集中就不需要另外添加 a/d 轉(zhuǎn)換器了7。 報(bào)警電路很簡(jiǎn)單,當(dāng)顯示的溫度超過(guò)設(shè)定的溫度值時(shí),單片機(jī)就會(huì)從 int1 引腳發(fā) 出一連串脈沖,驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警聲。 在本設(shè)計(jì)中,鍵盤(pán)接口電路較為簡(jiǎn)單,而顯示部分有兩種方案供選擇:一種為 lcd,一種為 led。lcd 液晶顯示的像素單元是整合在同一塊液晶版當(dāng)中分隔出來(lái)的 小方格。通過(guò)數(shù)碼控制這些極小的方格進(jìn)行顯像。顯示非常細(xì)膩但是造價(jià)很高。而 led 數(shù)碼顯示中每一個(gè)像素單元就是一個(gè)發(fā)光二極管,如果是單色,
20、一般是紅色發(fā)光 二極管。如果是彩色,一般是三個(gè)三原色小二極管組成的一個(gè)大二極管。這些二極管 組成的矩陣由數(shù)碼控制實(shí)時(shí)顯示文字或圖象,造價(jià)相對(duì)低廉,顯示效果也較好。 由于單片機(jī)工作現(xiàn)場(chǎng)存在著各種干擾,為保證系統(tǒng)的可靠工作,本設(shè)計(jì)選擇了常 用的看門(mén)狗芯片 x5045,以實(shí)現(xiàn)對(duì)單片機(jī)的復(fù)位,監(jiān)控等功能6 。程序的設(shè)計(jì)也考慮 了抗干擾措施。 在設(shè)計(jì)初期找了很多溫度傳感器,在智能化的溫度傳感器中,大多是同步串行總 線(xiàn)技術(shù),如 i(philips) 、smbus(intel)、spi(motorola)、microwire/plus(nsc)等串行總 線(xiàn)協(xié)議,而 ds18b20 采用的是 1-wire 總
21、線(xiàn)協(xié)議。1-wire 是 dallas 公司的一項(xiàng)專(zhuān) 有技術(shù),它采用一根信號(hào)線(xiàn)實(shí)現(xiàn)信號(hào)的雙向傳輸,具有接口簡(jiǎn)單、節(jié)省 i/o 口線(xiàn)、便 于擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。為此最終確定使用美國(guó)達(dá)拉斯(dallas)半導(dǎo)體公司推出的智能 溫度傳感器 ds18b20,它是將溫度傳感器、a/d 轉(zhuǎn)換器、寄存器、極口電路集成在一塊 芯片中,可實(shí)現(xiàn)直接數(shù)字化輸出和測(cè)試。 語(yǔ)音提示模塊采用 isd2560 語(yǔ)音錄放集成電路14。這是一種永久記憶型語(yǔ)音錄放 電路,其集成度較高,內(nèi)部包括前置放大器、內(nèi)部時(shí)鐘、定時(shí)器、采樣時(shí)鐘、濾波器、 自動(dòng)增益控制、邏輯控制、模擬收發(fā)器、譯碼器和 480k 字節(jié)的 eeprom,應(yīng)用更方 便
22、。也可以通過(guò) a/d 轉(zhuǎn)換器、單片機(jī)、存儲(chǔ)器、d/a 轉(zhuǎn)換器實(shí)現(xiàn)聲音信號(hào)的采樣、處 理、存儲(chǔ),首先要將聲音信號(hào)放大,通過(guò) a/d 轉(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),此方案復(fù)雜,集成度低,我選擇 isd2560 來(lái)實(shí)現(xiàn)。 系統(tǒng)主要由以上元器件組成,通過(guò)硬件電路和軟件程序的設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)的基本 功能。以下就分別對(duì)系統(tǒng)的硬件以及軟件方面做一詳細(xì)介紹。 第第 2 2 章章 硬件部分的設(shè)計(jì)硬件部分的設(shè)計(jì) 對(duì)于硬件部分的設(shè)計(jì),本著簡(jiǎn)單可靠的思想。本次設(shè)計(jì)的對(duì)象是針對(duì)一個(gè)應(yīng)用系
23、統(tǒng),是對(duì)環(huán)境溫度或是人體溫度的檢測(cè),其系統(tǒng)構(gòu)圖如圖 2-1 所示。系統(tǒng)中主要用到: at89s52 單片機(jī)與晶振時(shí)鐘電路;看門(mén)狗復(fù)位電路;溫度傳感器 ds18b20;鍵盤(pán)輸入; led 顯示與報(bào)警電路;語(yǔ)音提示模塊等??傮w電路框圖如下: 單 片 機(jī) 晶振電路 測(cè)溫電路 復(fù)位電路 顯示電路 鍵盤(pán)報(bào)警電路 輸出驅(qū)動(dòng)電路 語(yǔ)音提示電路 圖 2-1 總體電路框圖 2.1 at89s52 單片機(jī)及其晶振電路 2.1.1 功能特性描述 at89s52 是一種低功耗、高性能 cmos 八位微控制器,具有 8k 在系統(tǒng)可編程 flash 存儲(chǔ)器,使用 atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80
24、c51 產(chǎn) 品指令和引腳完全兼容。片上 flash 允許 rom 在系統(tǒng)可編程,亦適于常規(guī)編程器。在單 芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng)可編程 flash,使其為眾多嵌入式控制應(yīng)用系 統(tǒng)提供靈活的解決方案。 其主要特性為: 與 mcs-51 單片機(jī)產(chǎn)品兼容; 8k 字節(jié)在系統(tǒng)可編程 flash 存儲(chǔ)器; 1000 次擦寫(xiě)周期; 全靜態(tài)操作:0hz33hz; 三級(jí)加密程序存儲(chǔ)器; 32 個(gè)可編程 i/o 口線(xiàn); 三個(gè) 16 位定時(shí)器/計(jì)數(shù)器; 八個(gè)中斷源; 全雙工 uart 串行通道; 低功耗空閑和掉電模式; 掉電后中斷可喚醒; 看門(mén)狗定時(shí)器; 雙數(shù)據(jù)指針; 掉電標(biāo)識(shí)符。 at89s
25、52 芯片的引腳見(jiàn)圖 2-2 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 3.0/rxd 10 3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal1 18 xtal2 19 vss 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale 30 ea 31 p0.7 32 p0.6 33 p0.5
26、34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 圖 2-2 at89s52 的引腳圖 vcc:電源 vss:地 p0 口:8 位漏極開(kāi)路的雙向 i/o 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) ttl 邏輯電平。 對(duì) p0 端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0 口 也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0 具有內(nèi)部上拉電阻。 在 flash 編程時(shí),p0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程 序校驗(yàn)時(shí),需要外部上拉電阻。 p1 口:具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 輸出緩
27、沖器能驅(qū)動(dòng) 4 個(gè) ttl 邏輯 電平。對(duì) p1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。 作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。此外, p1.0 和 p1.2 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(p1.0/t2)和定時(shí)器/計(jì)數(shù)器 2 的 觸發(fā)輸入(p1.1/t2ex) ,具體如表 2-1 所示。在 flash 編程和校驗(yàn)時(shí),p1 口接收低 8 位地址字節(jié)。 p2 口:具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè) ttl 邏輯 電平。對(duì) p2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸
28、入口使用。 作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。在訪問(wèn) 外部程序存儲(chǔ)器或用 16 位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),p2 口送出高八位地址。在這種 應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), p2 口輸出 p2 鎖存器的內(nèi)容。 表 2-1 p1 口引腳的第二功能 引腳號(hào)第二功能 p1.0t2(定時(shí)器/計(jì)數(shù)器 t2 的外部計(jì)數(shù)輸入) ,時(shí)鐘輸出 p1.1t2ex(定時(shí)器/計(jì)數(shù)器 t2 的捕捉/重載觸發(fā)信號(hào)和方向控制) p1.5mosi(在系統(tǒng)編程用) p1.6miso(在系統(tǒng)編程用) p1.7sck(在系統(tǒng)編程用) 在
29、flash 編程和校驗(yàn)時(shí),p2 口也接收高 8 位地址字節(jié)和一些控制信號(hào)。 p3 口:p3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng)四 個(gè) ttl 邏輯電平。對(duì) p3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸 入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 (iil) 。 p3 口亦作為 at89s52 特殊功能(第二功能)使用,如下表 2-2 所示。在 flash 編 程和校驗(yàn)時(shí),p3 口也接收一些控制信號(hào)。 表 2-2 p3 口引腳的第二功能 引腳號(hào)第二功能 p3.0rxd(串行輸入) p3.1txd(串行輸出) p
30、3.2 (外部中斷 0)0int p3.3 (外部中斷 1)1int p3.4t0(定時(shí)器 0 外部輸入) p3.5t1(定時(shí)器 1 外部輸入) p3.6 (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)wr p3.7 (外部數(shù)據(jù)存儲(chǔ)器讀選通)rd rst:復(fù)位輸入。晶振工作時(shí),rst 腳持續(xù) 2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。 看門(mén)狗計(jì)時(shí)完成后,rst 腳輸出 96 個(gè)晶振周期的高電平。特殊寄存器 auxr(地址 8eh)上的 disrto 位可以使此功能無(wú)效。disrto 默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ale/:控制信號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸prog 出脈沖。在 flash 編
31、程時(shí),此引腳()也用作編程輸入脈沖。prog 在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器 或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), ale 脈沖將會(huì)跳過(guò)。 如果需要,通過(guò)將地址為 8eh 的 sfr 的第 0 位置“1”,ale 操作將無(wú)效。這一位置 “1”,ale 僅在執(zhí)行 movx 或 movc 指令時(shí)有效。否則,ale 將被微弱拉高。這個(gè) ale 使能標(biāo)志位(地址為 8eh 的 sfr 的第 0 位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下 無(wú)效。 :外部程序存儲(chǔ)器選通信號(hào)。當(dāng) 89s52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen 在每個(gè)機(jī)器周
32、期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。psenpsen /vpp:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從 0000h 到 ffffh 的外部程序ea 存儲(chǔ)器讀取指令,必須接地。為執(zhí)行內(nèi)部程序指令,應(yīng)該接 vcc。eaea 在 flash 編程期間,也接收 12 伏 vpp電壓。ea xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 xtal2:振蕩器反相放大器的輸出端。 2.1.2 at89s52 與晶振連接電路 at89s52 單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,xtal1 和 xtal2 分別 是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來(lái)一起構(gòu)成自激振
33、蕩器。 從外部時(shí)鐘源驅(qū)動(dòng)器件的話(huà),xtal2 可以不接,而從 xtal1 接入,如圖 2-4。在本設(shè)計(jì) 系統(tǒng)中采用的是內(nèi)部振蕩電路連接法,如圖 2-3 所示。 c2 c1 xtal2 xtal1 gnd xtal2 xtal1 gnd nc 外部振蕩信號(hào) 圖 2-3 內(nèi)部振蕩電路連接圖 圖 2-4 外部振蕩電路連接圖 (石英晶振 c1,c2=30pf10pf 陶瓷諧振器 c1,c2=40pf10pf) 2.2 看門(mén)狗復(fù)位電路 當(dāng)系統(tǒng) cpu 不能正常工作時(shí),有可能會(huì)造成死機(jī)、信息丟失、運(yùn)行不穩(wěn)定等故障。 為了解決這些問(wèn)題,實(shí)現(xiàn)系統(tǒng)安全可靠、穩(wěn)定、實(shí)時(shí)運(yùn)行,可以采用集可編程看門(mén)狗、 電壓監(jiān)控、e
34、2prom 等功能于一身的 x5045 芯片。這種組合設(shè)計(jì)有效地減少了硬件電路 的復(fù)雜程度。 x5045 中的看門(mén)狗對(duì)系統(tǒng)提供了保護(hù)功能。當(dāng)系統(tǒng)發(fā)生故障而超過(guò)設(shè)置時(shí)間時(shí),電 路中的看門(mén)狗將通過(guò) reset 信號(hào)向 cpu 做出反應(yīng)。x5045 提供了三個(gè)時(shí)間值供用戶(hù)選 擇使用。它所具有的電壓監(jiān)控功能還可以保護(hù)系統(tǒng)免受低電壓的影響,當(dāng)電源電壓降 到允許范圍以下時(shí),系統(tǒng)將復(fù)位,直到電源電壓返回到穩(wěn)定值為止。x5045 的存儲(chǔ)器與 cpu 可通過(guò)串行通信方式接口。 引腳介紹:x5045 的引腳圖可參見(jiàn)圖 2-5。它共有 8 個(gè)引腳: vcc reset wp vss cs si sck so x50
35、45 圖 2-5 x5045 的引腳圖 表 2-3 引腳功能描述 引 腳 名稱(chēng) 功能描述 1 /cs wdi 芯片選擇輸入:當(dāng)是高電平時(shí),芯片末選中,并將 so 置為高阻態(tài)。cs 器件處于標(biāo)準(zhǔn)的功耗模式,除非一個(gè)向非易失單元寫(xiě)的周期開(kāi)始。在 是高電平時(shí),將拉低將使器件處于選擇狀態(tài),器件將工作于cscs 功耗狀態(tài)。在上電后任何操作之前,必須要有一個(gè)高變低的過(guò)程。cs 看門(mén)狗輸入:在看門(mén)狗定時(shí)器超時(shí)并產(chǎn)生復(fù)位之前,一個(gè)加在 wdi 引 腳上的由高到低的電平變化將復(fù)位看門(mén)狗定時(shí)器。 2so 串行輸出:so 是一個(gè)推/拉串行數(shù)據(jù)輸出引腳,在讀數(shù)據(jù)時(shí),數(shù)據(jù)在 sck 脈沖的下降沿由這個(gè)引腳送出。 3 w
36、p寫(xiě)保護(hù):當(dāng)引腳是低電平時(shí),向 x5045 中寫(xiě)的操作被禁止,但是wp 其它的功能正常。當(dāng)引腳是高電平時(shí),所有操作正常,包括寫(xiě)操作。 如果在是低的時(shí)候,變?yōu)榈碗娖?,則會(huì)中斷向 x5045 中寫(xiě)的cswp 操作,但是,如果此時(shí)內(nèi)部的非易失性寫(xiě)周期己經(jīng)初始化了,變wp 為低電平不起作用。 4vss 地。 5si 串行輸入:si 是串行數(shù)據(jù)輸入端,指令碼、地址、數(shù)據(jù)都通過(guò)這個(gè)引 腳進(jìn)行輸入。在 sck 的上升沿進(jìn)行數(shù)據(jù)的輸入,并且高位(msb)在前。 6sck 串行時(shí)鐘:串行時(shí)鐘的上升沿通過(guò) si 引腳進(jìn)行數(shù)據(jù)的輸入,下降沿通 過(guò) so 引腳進(jìn)行數(shù)據(jù)的輸出。 7reset 復(fù)位輸出:reset 下是
37、一個(gè)開(kāi)漏型輸出引腳。只要 vcc 下降到最小允 許 vcc 值,這個(gè)引腳就會(huì)輸出高電平,一直到 vcc 上升超過(guò)最小允許 值之后 200ms 。同時(shí)它也受看門(mén)狗定時(shí)器控制,只要看門(mén)狗處于激活 狀態(tài),并且 wdi 引腳上電平保持為高或者為低超過(guò)了定時(shí)的時(shí)間,就 會(huì)產(chǎn)生復(fù)位信號(hào)。引腳上的一個(gè)下降沿將會(huì)復(fù)位看門(mén)狗定時(shí)器。cs 由于這是一個(gè)開(kāi)漏型的輸出引腳,所以使用時(shí)必須接上拉電阻。 8vcc 正電源。 x5045 的狀態(tài)寄存器描述了器件的當(dāng)前狀態(tài),各位意義如下所示: 表 2-4 x5045 狀態(tài)寄存器各位定義 76543210 00wd1wd0bl1bl0welwip 其中,wd1、wd0 是看門(mén)狗
38、定時(shí)時(shí)間設(shè)置位;bl1、bl0 是存儲(chǔ)單元寫(xiě)保護(hù)區(qū)設(shè)置位; wel 是只讀標(biāo)志,1 表明寫(xiě)使能開(kāi)關(guān)打開(kāi);wip 也是只讀標(biāo)志,1 代表芯片內(nèi)部正處于 寫(xiě)周期。電復(fù)位時(shí),各位都被清零。 x5045 芯片功能包括以下 4 種: (1)上電復(fù)位控制。在對(duì) x5045 通電時(shí),reset 引腳輸出有效的復(fù)位信號(hào),并保持 至少 200ms,使 cpu 有效復(fù)位。 (2)電源電壓監(jiān)控。當(dāng)檢測(cè)到電源電壓低于內(nèi)部門(mén)檻電壓 vtrip時(shí),reset 輸出復(fù) 位信號(hào),直至電源電壓高于 vtrip并保持至少 200ms,復(fù)位信號(hào)才被撤消。vtrip的出廠 值根據(jù)芯片型號(hào)不同共有 5 個(gè)級(jí)別的電壓范圍。對(duì)于需要電源電
39、壓精確監(jiān)控的應(yīng)用, 用戶(hù)可以搭建編程電路,對(duì)芯片內(nèi) vtrip電壓進(jìn)行微調(diào)。 (3)看門(mén)狗定時(shí)器。芯片內(nèi)部狀態(tài)寄存器的 wd1、wd0 是看門(mén)狗定時(shí)設(shè)置位,通過(guò) 狀態(tài)寄存器寫(xiě)指令 wrsr 修改這兩個(gè)標(biāo)志位,就能在三種定時(shí)間隔中進(jìn)行選擇或關(guān)閉定 時(shí)器。對(duì)看門(mén)狗的復(fù)位由輸入電平的下降沿完成。下表是 wd1、wd0 組合的含義。cs 表 2-5 wd1、wd0 組合定義 wd1wd0 看門(mén)狗定時(shí)值 001.4s 01600ms 10200ms 11 禁止看門(mén)狗工作 (4)串行 e2prom。芯片片內(nèi)含 512 字節(jié)存儲(chǔ)單元,10 萬(wàn)次可擦寫(xiě),數(shù)據(jù)保持時(shí)間 100 年,并設(shè)計(jì)了 3 種保護(hù)方式防止誤
40、寫(xiě)。包括:寫(xiě)保護(hù)引腳,當(dāng)引腳被拉低時(shí),wp 內(nèi)部存儲(chǔ)單元狀態(tài)寄存器都禁止寫(xiě)入;存儲(chǔ)區(qū)域?qū)懕Wo(hù)模式,通過(guò)對(duì)狀態(tài)寄存器的 bl1、bl0 位的設(shè)置,可以選擇對(duì)不同的存儲(chǔ)區(qū)域進(jìn)行寫(xiě)保護(hù);在進(jìn)行任何寫(xiě)操作前 都必須打開(kāi)寫(xiě)使能開(kāi)關(guān),而且在上電初始化寫(xiě)操作完成時(shí),寫(xiě)使能開(kāi)關(guān)自動(dòng)關(guān)閉。顯 然,在幾方面的保護(hù)之下,產(chǎn)生誤寫(xiě)的可能性極小,下表是 bl1、bl0 組合的含義。 表 2-6 bl1、bl0 組合定義 bl1bl0 寫(xiě)保護(hù)的單元地址 00 沒(méi)有保護(hù) 01 180h1ffh 10 100h1ffh 11 000h1ffh (1)wren 和 wrdi 是寫(xiě)使能開(kāi)關(guān)的開(kāi)/關(guān)指令。它們都是單字節(jié)指令。 (2
41、)rdsr 和 wrsr 是狀態(tài)寄存器的讀/寫(xiě)指令。在從 si 輸入指令后,rdsr 的執(zhí)行 結(jié)果,即狀態(tài)寄存器內(nèi)容須從 so 讀出;而 wrsr 需要緊接著輸入修改數(shù)據(jù)。 (3)read 和 write 是存儲(chǔ)單元的讀/寫(xiě)指令。輸入指令后(指令的位三用于選擇存 儲(chǔ)器的上半?yún)^(qū)和下半?yún)^(qū)),接著輸入低八位地址,最后就可以連續(xù)讀出或?qū)懭霐?shù)據(jù)。 其中,讀指針和寫(xiě)指針的工作方式完全不同,讀指針的全部 8 位用來(lái)計(jì)數(shù),0ffh 溢出 后變成 00h;寫(xiě)指針只用最低兩位計(jì)數(shù),xxxxxx11b 溢出后變成 xxxxxx00b,所以連續(xù) 寫(xiě)的實(shí)際結(jié)果是在 4 個(gè)單元中反復(fù)寫(xiě)入。另外,由于 e2prom 的寫(xiě)入
42、時(shí)間長(zhǎng),所以在連 續(xù)兩條寫(xiě)指令之間應(yīng)讀取 wip 狀態(tài),只有內(nèi)部寫(xiě)周期結(jié)束時(shí)才可輸入下一條寫(xiě)指令。 芯片內(nèi)部共有 6 條指令,如下表 2-7 所示。 表 2-7 x5045 內(nèi)部指令 命令名稱(chēng)命令格式內(nèi) 容 wren0000 0110 打開(kāi)寫(xiě)使能開(kāi)關(guān) wrdi0000 0100 關(guān)閉寫(xiě)使能開(kāi)關(guān) rdsr0000 0101 讀狀態(tài)寄存器 wrsr0000 0001 寫(xiě)狀態(tài)寄存器 read0000 a8011 讀存儲(chǔ)單元 write0000 a8010 寫(xiě)存儲(chǔ)單元 對(duì) x5045 的操作是通過(guò) 4 根口線(xiàn)、sck、si 和 so 進(jìn)行同步串行通信來(lái)完成的。cs x5045 與 at89s52 單片
43、機(jī)的連接電路圖見(jiàn)圖 2-6。sck 是外部輸入的同步時(shí)鐘信號(hào),在 對(duì)芯片進(jìn)行寫(xiě)入指令或數(shù)據(jù)時(shí),時(shí)鐘前沿將 si 引腳信號(hào)輸入;在讀取數(shù)據(jù)時(shí),時(shí)鐘后 沿將數(shù)據(jù)位輸出到 so 引腳上。數(shù)據(jù)的輸入、輸出都是高位在先。 vcc reset vcc reset wp vss cs si sck so x5045 4.7k r1 p1.0 p1.1 p1.2 p1.3 圖 2-6 x5045 與 at89s52 單片機(jī)連接電路圖 綜上所述,并基于電路產(chǎn)生復(fù)位信號(hào)的條件,只要滿(mǎn)足以下任意一個(gè)條件,就將 使系統(tǒng)產(chǎn)生復(fù)位,迫使程序從起點(diǎn)執(zhí)行。 (1)該芯片在其上電后自產(chǎn)生復(fù)位信號(hào),這樣就實(shí)現(xiàn)單片機(jī)的上電自動(dòng)復(fù)位
44、; (2)當(dāng)電源 vcc低于規(guī)定值時(shí), (如 vcc=5v,則規(guī)定值為 4.252.5v) ,將產(chǎn)生復(fù) 位信號(hào)。這樣就實(shí)現(xiàn)系統(tǒng)電源的掉電復(fù)位; (3)當(dāng)程序在編程選擇的時(shí)間里沒(méi)有訪問(wèn) x5045 時(shí),即沒(méi)有一個(gè)喂狗語(yǔ)句,則看 門(mén)狗(wdt)將起作用,rst 將產(chǎn)生復(fù)位信號(hào),迫使單片機(jī)復(fù)位。 2.3 溫度信號(hào)采集模塊 2.3.1 ds18b20 的芯片簡(jiǎn)介 ds18b20 是美國(guó)達(dá)拉斯(dallas)半導(dǎo)體公司推出的應(yīng)用單總線(xiàn)技術(shù)的數(shù)字溫度傳感 器。該器件將半導(dǎo)體溫敏器件、a/d 轉(zhuǎn)換器、存儲(chǔ)器等做在一個(gè)很小的集成電路芯片上。 本設(shè)計(jì)中溫度傳感器之所以選擇單總線(xiàn)數(shù)字器件 ds18b20,是在經(jīng)過(guò)
45、多方面比較和考慮 后決定的,主要有以下幾方面的原因: (1)系統(tǒng)的特性:測(cè)溫范圍為-55+125 ,測(cè)溫精度為士 0.1;溫度轉(zhuǎn)換精 度 912 位可變,能夠直接將溫度轉(zhuǎn)換值以 16 位二進(jìn)制數(shù)碼的方式串行輸出;12 位精 度轉(zhuǎn)換的最大時(shí)間為 750ms;可以通過(guò)數(shù)據(jù)線(xiàn)供電,具有超低功耗工作方式。 (2)系統(tǒng)成本:由于計(jì)算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,新型大規(guī)模集成電路功能 越來(lái)越強(qiáng)大,體積越來(lái)越小,而價(jià)格也越來(lái)越低。一支 ds18b20 的體積與普通三極管 相差無(wú)幾,價(jià)格只有十元人民幣左右。 (3)系統(tǒng)復(fù)雜度:由于 ds18b20 是單總線(xiàn)器件,微處理器與其接口時(shí)僅需占用 1 個(gè) i/o 端口且
46、一條總線(xiàn)上可以?huà)旖訋资畟€(gè) ds18b20,測(cè)溫時(shí)無(wú)需任何外部元件,因此, 與模擬傳感器相比,可以大大減少接線(xiàn)的數(shù)量,降低系統(tǒng)的復(fù)雜度,減少工程的施工 量。使測(cè)溫系統(tǒng)的線(xiàn)路結(jié)構(gòu)設(shè)計(jì)和硬件開(kāi)銷(xiāo)大為簡(jiǎn)化。 (4)系統(tǒng)的調(diào)試和維護(hù):由于引線(xiàn)的減少,使得系統(tǒng)接口大為簡(jiǎn)化,給系統(tǒng)的調(diào) 試帶來(lái)方便。同時(shí)因?yàn)?ds18b20 是全數(shù)字元器件,故障率很低,抗干擾性強(qiáng),因此, 減少了系統(tǒng)的日常維護(hù)工作。 ds18b20 采用 3 腳封裝如圖 2-7 所示: ds18b20 圖 2-7 ds18b20 引腳圖 引腳說(shuō)明: 1.gnd 接地 2.dq 數(shù)字輸入/輸出 3.vdd 可選的電源 2.3.2 ds18b20
47、 的溫度測(cè)量 ds18b20 的核心功能是其數(shù)字溫度傳感器,其溫度與數(shù)字量的關(guān)系如表 2-8 所示。 溫度傳感器的測(cè)量結(jié)果被用戶(hù)定義為 9,10,11 或 12 位,其各自的準(zhǔn)確度為 0.5、0.25、0.125、0. 0625。ds18b20 測(cè)得溫度數(shù)據(jù)在溫度寄存器中被存為帶標(biāo)志位 的 16 位數(shù),標(biāo)志位 s 表示溫度是正是負(fù),為正則 s=0,為負(fù)則 s=1, 如果 ds18b20 設(shè) 定為 12 位結(jié)果,溫度寄存器中所有位將包含有數(shù)據(jù);對(duì)于 11 位結(jié)果,0 位未定義;10 位結(jié)果,0 位和 1 位未定義;9 位結(jié)果位 2、位 1 和位 0 未定義。表 2-9 是 ds18b20 內(nèi) 部
48、存儲(chǔ)器,表 2-10 是 ds18b20 溫度存儲(chǔ)格式與配置寄存器控制字的格式。由表 2-8 可 知,檢測(cè)溫度由兩個(gè)字節(jié)組成,字節(jié) 1 的高 5 位 s 代表符號(hào)位,字節(jié) 0 的低 4 位是小 數(shù)部分,中間 7 位是整數(shù)部分。字節(jié) 4 是配置寄存器控制字的格式,當(dāng)主機(jī)發(fā)出溫度 轉(zhuǎn)換命令(44h)時(shí),啟動(dòng)溫度轉(zhuǎn)換過(guò)程,轉(zhuǎn)換時(shí)間最長(zhǎng) 750 ms。主機(jī)通過(guò)讀寄存器命 令(beh) ,將溫度值讀出。通過(guò)寫(xiě)寄存器功能命令,改變分辨率的設(shè)置。 表 2-8 溫度和數(shù)字量的關(guān)系 溫 度 數(shù)字輸出(二進(jìn)制) 數(shù)字輸出(十六進(jìn)制) +1250c0000 0111 1101 0000b07d0h +850c000
49、0 0101 0101 0000b0550h +25.06250c0000 0001 1001 0001b0191h 表 2-9 ds18b20 內(nèi)部存儲(chǔ)器 字 節(jié) romram 0產(chǎn)品代號(hào)(28h)溫度低 8 位 148 位器件序列號(hào)溫度高 8 位 248 位器件序列號(hào) th 348 位器件序列號(hào) tl 448 位器件序列號(hào)配置寄存器 548 位器件序列號(hào)保留 648 位器件序列號(hào)保留 7 crc 保留 8 crc 表 2-10 溫度存儲(chǔ)格式與配置寄存器控制字格式 bite7bite6bite5bite4bite3bite2bite1bite0 字節(jié) 0232221202-12-22-32-
50、4 字節(jié) 1sssss2-62-52-4 字節(jié) 40r1r011111 2.3.3 溫度報(bào)警信號(hào) ds18b20 完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與 th,tl 作比較。若 tth 或 ttl, 則將該器件內(nèi)的報(bào)警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,多只 ds18b20 同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索,一旦某測(cè)溫點(diǎn)越限,主機(jī)利用報(bào)警搜索命令, 即可識(shí)別正在報(bào)警的器件,并讀出其序列號(hào)。 2.3.4 溫度傳感器的登記 每一個(gè) ds18b20 在接入系統(tǒng)工作前,必須先進(jìn)行登記注冊(cè)。在每臺(tái)分機(jī)上都有一 個(gè)登記注冊(cè)端口,ds18b20 在接入系統(tǒng)前,先接到登記注冊(cè)端口,確認(rèn)后,cpu 將 d
51、s18b20 的物理位址(8 個(gè) byte)讀出, 然后存入到 e2prom 中剛才設(shè)定的邏輯地址上, ds18b20 在 e2prom 中邏輯地址定義見(jiàn)表 2-11。 表 2-11 存儲(chǔ)器中邏輯地址定義 表中各位表示的意義如下: a15、a14 存儲(chǔ)操作標(biāo)志(為固定值 00) a13、a12、a11 口地址 a10、a9、a8 線(xiàn)地址 a7、a6、a5、a4 點(diǎn)地址 a3、a2、a1、a0 存儲(chǔ)區(qū)域 2.3.5 ds18b20 的通信協(xié)議 數(shù)字式溫度傳感器和模擬傳感器最大的區(qū)別,是將溫度信號(hào)直接轉(zhuǎn)化成數(shù)字信號(hào), 然后通過(guò)串行通信的方式輸出。因此掌握 ds18b20 的通信協(xié)議是使用該器件的關(guān)
52、鍵。 所有的 ds18b20 器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了 幾種信號(hào)類(lèi)型:復(fù)位脈沖、應(yīng)答脈沖時(shí)隙;寫(xiě)“0”寫(xiě)“1”時(shí)隙;讀“0”讀“1” 時(shí) 隙。與 ds18b20 的通信,是通過(guò)操作時(shí)隙完成單總線(xiàn)上的數(shù)據(jù)傳輸。發(fā)送所有的命令 和數(shù)據(jù)時(shí),都是字節(jié)的低位在前,高位在后。 (1)復(fù)位和應(yīng)答脈沖時(shí)隙 每個(gè)通信周期起始于微控制器發(fā)出的復(fù)位脈沖,其后跟 ds18b20 發(fā)出的應(yīng)答脈沖。 在寫(xiě)時(shí)隙期間,主機(jī)向 ds18b20 器件寫(xiě)入數(shù)據(jù),而在讀時(shí)隙期間,主機(jī)讀入來(lái)自 18b20 的數(shù)據(jù)。在每一個(gè)時(shí)隙,總線(xiàn)只能傳輸一位數(shù)據(jù)。 (2)寫(xiě)時(shí)隙 當(dāng)主機(jī)將單總線(xiàn) dq 從邏輯高(空
53、閑狀態(tài))拉為邏輯低時(shí),即啟動(dòng)一個(gè)寫(xiě)時(shí)隙。所 有的寫(xiě)時(shí)隙必須在 60120us 完成,且在每個(gè)循環(huán)之間至少需要 1us 的恢復(fù)時(shí)間。寫(xiě) 0 和寫(xiě) 1 時(shí)隙如圖 2-8 所示。在寫(xiě) 0 時(shí)隙期間,微控制器在整個(gè)時(shí)隙中將總線(xiàn)拉低,而 寫(xiě) 1 時(shí)隙期間,微控制器將總線(xiàn)拉低,然后在時(shí)隙起始后 15us 之后釋放總線(xiàn)。 寫(xiě)“0”時(shí)隙 1 ustrec 1 us 寫(xiě)“1”時(shí)隙 60120 us vp e2prom th tl 配置寄存器 a15a14a13a12a11a10a9a8a7a6a5a4a3a2a1a0 00p1p2p3l1l2l3d1d2d3d4xxxx gnd ds18b20 采樣 ds18b
54、20 采樣 15 us 45 us 15 us 45 us 圖 2-8 寫(xiě)“0”和寫(xiě)“1”時(shí)隙 (3)讀時(shí)隙 ds18b20 器件僅在主機(jī)發(fā)出讀時(shí)隙時(shí)才向主機(jī)傳輸數(shù)據(jù),所以在主機(jī)發(fā)出讀數(shù)據(jù)命 令后,必須馬上產(chǎn)生讀時(shí)隙,以便 ds18b20 能夠傳輸數(shù)據(jù)。所有讀時(shí)隙至少需要 60us,且在兩次獨(dú)立的讀時(shí)隙之間,至少需要 1us 的恢復(fù)時(shí)間。每個(gè)讀時(shí)隙都有主機(jī) 發(fā)起,至少拉低總線(xiàn) 1us。讀時(shí)隙如圖 2-9 所示,在主機(jī)發(fā)起讀時(shí)隙之后,ds18b20 器 件才開(kāi)始在總線(xiàn)上發(fā)送“0”或“1” ,若 ds18b20 發(fā)送“1” ,則保持總線(xiàn)為高電平。若 發(fā)送“0” ,則拉低總線(xiàn)當(dāng)發(fā)送“0”時(shí),ds18
55、b20 在該時(shí)隙結(jié)束后,釋放總線(xiàn),由上拉 電阻將總線(xiàn)拉回至空閑高電平狀態(tài)。ds18b20 發(fā)出的數(shù)據(jù),在起始時(shí)限之后保持有效時(shí) 間 15us。因而主機(jī)在讀時(shí)隙期間,必須釋放總線(xiàn),并且在時(shí)隙起始后的 15us 之內(nèi)采樣 總線(xiàn)狀態(tài)。 1 ustrec 讀“0”時(shí)隙 讀“1”時(shí)隙 vp 主機(jī)采樣 1 us 主機(jī)采樣 1 us 15 us 45 us 15 us 圖 2-9 讀0和1時(shí)隙 2.3.6 ds18b20 與單片機(jī)的接口電路 ds18b20 只有三根外引線(xiàn):?jiǎn)尉€(xiàn)數(shù)據(jù)傳輸總線(xiàn)端口 dq ,外供電源線(xiàn) vdd ,共用地 線(xiàn) gnd。ds18b20 有兩種供電方式:一種為數(shù)據(jù)線(xiàn)供電方式,此時(shí) vd
56、d 接地,它是通過(guò) 內(nèi)部電容在空閑時(shí)從數(shù)據(jù)線(xiàn)獲取能量,來(lái)完成溫度轉(zhuǎn)換,相應(yīng)的完成溫度轉(zhuǎn)換的時(shí)間 較長(zhǎng)。這種情況下,用單片機(jī)的一個(gè) i/o 口來(lái)完成對(duì) ds18b20 總線(xiàn)的上拉。另一種是 外部供電方式(vdd 接+5v),相應(yīng)的完成溫度測(cè)量的時(shí)間較短。 在本設(shè)計(jì)中采用外部供電方式實(shí)現(xiàn) ds18b20 傳感器與單片機(jī)的連接,其接口電路 如圖 2-10 所示。 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00
57、 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 at89s52 vcc vcc 1 2 3 ds18b20 r10 圖 2-10 溫度傳感器 ds18b20 與單片機(jī)的連接 2.4 鍵盤(pán)與顯示電路 2.4.1 led 顯示電路設(shè)計(jì) 在單片機(jī)系統(tǒng)中,發(fā)光二極管(led)常常作為重要的顯示手段,它既可以顯示系統(tǒng) 的狀態(tài),又可以顯示數(shù)字和字符。由于 led 顯示器的驅(qū)動(dòng)電
58、路簡(jiǎn)單,易于實(shí)現(xiàn)且價(jià)格 低廉,因此是工業(yè)儀表和實(shí)驗(yàn)室儀器常用的一種輸出顯示設(shè)備。led 顯示器,它是將多 個(gè)發(fā)光二極管集中在一塊,構(gòu)成阿拉伯?dāng)?shù)字筆畫(huà)的形狀。這些發(fā)光二極管共用一個(gè)或 兩個(gè)公共極,為數(shù)字信息的顯示提供了方便。led 顯示器的驅(qū)動(dòng)方法分靜態(tài)和動(dòng)態(tài)兩種。 所謂動(dòng)態(tài)是指 led 顯示器上的信息是通過(guò)不斷地刷新(即周期性的驅(qū)動(dòng))維持的。動(dòng)態(tài) 驅(qū)動(dòng)的優(yōu)點(diǎn)是連線(xiàn)比靜態(tài)方式大為減少,它是數(shù)碼顯示器常用的一種方式。靜態(tài)驅(qū)動(dòng), 編程簡(jiǎn)單,但占用 i/o 口較多。本設(shè)計(jì)采用 74ls164 驅(qū)動(dòng) 4 位 led 顯示的動(dòng)態(tài)掃描驅(qū) 動(dòng)方式。 1、芯片介紹 74ls164 是 8 位串入并出移位寄存器,
59、其芯片引腳如圖 2-11 所示。 a 1 b 2 q0 3 q1 4 q2 5 q3 6 q4 10 q5 11 q6 12 q7 13 clk 8 mr 9 74ls164 圖 2-11 74ls164 引腳圖 引腳功能如下: a 與 b串行數(shù)據(jù)輸入,每個(gè)輸入可以作為另一個(gè)輸入的高電平有效輸入,在使用 時(shí),兩個(gè)輸入端必須相連,而不同輸入端必須接高電平。 clk時(shí)鐘信號(hào),高電平有效。 mr/清零復(fù)位端,低電平有效。 q0q7數(shù)據(jù)輸出端。 74ls164 的真值表為表 2-12 示: 表 2-12 74ls164 的真值表 輸入輸出 mr/clkabqaqbqcqdqeqfqgqh lxxxll
60、llllll hlxxqa0qb0qc0qd0qe0qf0qg0qh0 hhhhqanqbnqcnqdnqenqfnqgn hlxlqanqbnqcnqdnqenqfnqgn hxllqanqbnqcnqdnqenqfnqgn 在使用時(shí)將 a、b 并接作為數(shù)據(jù)的串行輸入端 dio,clk 作為時(shí)鐘端。串行輸入時(shí), 先將數(shù)據(jù)在 a、b 端準(zhǔn)備好,在 clk 端產(chǎn)生一上升沿,則一位數(shù)據(jù)移至最低位 q0;再將 下一位數(shù)據(jù)準(zhǔn)備好后,在 clk 端產(chǎn)生下一上升沿,則下一位數(shù)據(jù)移至次低位 q1,其余 位順次從低位到高位移動(dòng)。這種時(shí)序符合串行器件特性,即把 74ls164 當(dāng)成一典型串 行外設(shè),用具有串行外
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 老舊房產(chǎn)買(mǎi)賣(mài)合同書(shū)
- 鋼板焊管購(gòu)銷(xiāo)合同
- 采購(gòu)合同采購(gòu)訂單
- 農(nóng)產(chǎn)品購(gòu)銷(xiāo)合同模板大全
- 2025合法的政府間借款合同樣板
- 2025建設(shè)工程施工合同(電力)
- 商鋪二房東租房合同范本
- 2025合同模板電子商務(wù)產(chǎn)業(yè)孵化園企業(yè)入駐協(xié)議范本
- 風(fēng)險(xiǎn)投資擔(dān)保合同
- 合同范本之電桿運(yùn)輸合同
- 醫(yī)院消防安全培訓(xùn)課件
- 醫(yī)藥高等數(shù)學(xué)知到章節(jié)答案智慧樹(shù)2023年浙江中醫(yī)藥大學(xué)
- 第4章操作臂的雅可比
- 學(xué)校網(wǎng)絡(luò)信息安全管理辦法
- 中國(guó)古代文學(xué)史 馬工程課件(下)21第九編晚清文學(xué) 緒論
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(語(yǔ)文)試題庫(kù)含答案解析
- 外科學(xué)-第三章-水、電解質(zhì)代謝紊亂和酸堿平衡失調(diào)課件
- 人事測(cè)評(píng)理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學(xué) 三年級(jí) 科學(xué)《觀測(cè)風(fēng)》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論