孫雙辰 郭烜博 白宇 文若濤
摘? 要:本文介紹一種基于AT89C2051單片機(jī)的一種溫度測(cè)量及報(bào)警電路,該電路采用DS18B20作為溫度監(jiān)測(cè)元件,測(cè)量范圍-55℃-~+125℃,使用4位LED模塊顯示,能通過鍵盤設(shè)置溫度報(bào)警上下限。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了集成溫度傳感器DS18B20的原理,AT89C2051單片機(jī)功能和應(yīng)用。該電路設(shè)計(jì)新穎、功能強(qiáng)大、結(jié)構(gòu)簡(jiǎn)單。
關(guān)鍵詞:溫度測(cè)量,DS18B20
1引言
數(shù)字溫度計(jì)(Digital Thermometer)簡(jiǎn)稱DTM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的溫度值轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的溫度計(jì)功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字溫度計(jì),由于精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便得到了廣泛的應(yīng)用。溫度是許多監(jiān)控系統(tǒng)中的一個(gè)重要參數(shù)。DS18B20直接把溫度信息轉(zhuǎn)換成相應(yīng)的數(shù)字信號(hào)。數(shù)據(jù)采集、處理模塊主要由AT89C2051單片機(jī)構(gòu)成,完成溫度數(shù)據(jù)的讀取和顯示。
本章重點(diǎn)介紹DS18B20的工作原理,尤其是其編程原理,以及由它們構(gòu)成的基于單片機(jī)的數(shù)字溫度計(jì)的工作原理。
2.系統(tǒng)原理
模擬溫度值經(jīng)過DS18B20處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,并與設(shè)置的溫度報(bào)警限比較,超過限度后通過揚(yáng)聲器報(bào)警。同時(shí)處理后的數(shù)據(jù)送到LED中顯示。
3硬件設(shè)計(jì)
3.1 輸入電路
輸入電路的作用是把不同量程的被測(cè)的電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。智能化數(shù)字溫度計(jì)所采用的單片雙積分型ADC芯片ICL7135,它要求輸入電壓0-±2V。本儀表設(shè)計(jì)是0-1000V電壓,靈敏度高所以可以不加前置放大器,只需衰減器。
3.2 A/D 轉(zhuǎn)換電路
A/D 轉(zhuǎn)換器的轉(zhuǎn)換精度對(duì)測(cè)量電路極其重要,它的參數(shù)關(guān)系到測(cè)量電路性能。本設(shè)計(jì)采用雙積A/D 轉(zhuǎn)換器,它的性能比較穩(wěn)定,轉(zhuǎn)換精度高,具有很高的抗干擾能力,電路結(jié)構(gòu)簡(jiǎn)單,其缺點(diǎn)是工作速度較低。在對(duì)轉(zhuǎn)換精度要求較高,而對(duì)轉(zhuǎn)換速度要求不高的場(chǎng)合如電壓測(cè)量有廣泛的應(yīng)用。
3.2.1雙積A/D 轉(zhuǎn)換器的工作原理
對(duì)輸入模擬電壓和基準(zhǔn)電壓進(jìn)行兩次積分,先對(duì)輸入模擬電壓進(jìn)行積分,將其變換成與輸入模擬電壓成正比的時(shí)間間隔 T1,再利用計(jì)數(shù)器測(cè)出此時(shí)間間隔,則計(jì)數(shù)器所計(jì)的數(shù)字量就正比于輸入的模擬電壓;接著對(duì)基準(zhǔn)電壓進(jìn)行同樣的處理。在常用的A/D轉(zhuǎn)換芯片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135與其余幾種有所不同,它是一種四位半的雙積分
A/D轉(zhuǎn)換器,具有精度高(精度相當(dāng)于14位二進(jìn)制數(shù))、價(jià)格低廉、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。本文介紹用單片機(jī)并行方式采集ICL7135的數(shù)據(jù)以實(shí)現(xiàn)單片機(jī)溫度計(jì)和小型智能儀表的設(shè)計(jì)方案。
3.2.1 7135的應(yīng)用
7135是采用CMOS工藝制作的單片4位半A/D轉(zhuǎn)換器,其所轉(zhuǎn)換的數(shù)字值以多工掃描的方式輸出,只要附加譯碼器,數(shù)碼顯示器,驅(qū)動(dòng)器及電阻電容等元件,就可組成一個(gè)滿量程為2V的數(shù)字溫度計(jì)。
與單片機(jī)系統(tǒng)的串行連接
在ICL7135與單片機(jī)系統(tǒng)進(jìn)行連接時(shí),使用并行采集方式,要連接BCD碼數(shù)據(jù)輸出線,可以將ICL7135的/STB信號(hào)接至AT89C52的P3.2(INT0)。
ICL7135需要外部的時(shí)鐘信號(hào),本設(shè)計(jì)采用CD4060來對(duì)4M信號(hào)進(jìn)行32分頻得到125KHz的時(shí)鐘信號(hào)。CD4060計(jì)數(shù)為14級(jí)2進(jìn)制計(jì)數(shù)器,在數(shù)字集成電路中可實(shí)現(xiàn)的分頻次數(shù)最高,而且CD4060還包含振蕩電路所需的非門,使用更為方便。
3.3單片機(jī)部分
單片機(jī)選用的是ATMEL公司新推出的AT89S52,如圖 3.2.1.1所示。該芯片具有低功耗、高性能的特點(diǎn),是采用CMOS工藝的8位單片機(jī),與AT89C51完全兼容。AT89S52還有以下主要特點(diǎn):
①采用了ATMEL公司的高密度、非易失性存儲(chǔ)器(NV-SRAM)技術(shù);
②其片內(nèi)具有256字節(jié)RAM,8KB的可在線編程(ISP)FLASH存儲(chǔ)器;
③有2種低功耗節(jié)電工作方式:空閑模式和掉電模式
3.4通訊模塊
89S52內(nèi)部已集成通信接口URT,只需擴(kuò)展一片MAX232芯片將輸出信號(hào)轉(zhuǎn)換成RS-232協(xié)議規(guī)定的電平標(biāo)準(zhǔn), MAX232 是 一 種 雙 組 驅(qū) 動(dòng) 器 / 接 收 器,每個(gè)接收器將EIA/TIA-232-E電平輸入轉(zhuǎn)換為5V? TTL/CMOS電平。每個(gè)驅(qū)動(dòng)器將TTL/CMOS輸入電平轉(zhuǎn)換 為 EIA/TIA-232-E電平。即EIA接口,就是把5V轉(zhuǎn)換為-8V到-15V電位0V轉(zhuǎn)換為8V到15V再經(jīng)RXD輸出,接收時(shí)由RXD輸入,把-8V到-15V電位轉(zhuǎn)換為5V,8V到15V轉(zhuǎn)換為0V。MAX232的工作電壓只需5V,內(nèi)部有振蕩電路產(chǎn)生正負(fù)9V電位。
4 系統(tǒng)的軟件設(shè)計(jì)
4.1主程序設(shè)計(jì)
ICL7135A/D與單片機(jī)連接電路的軟件設(shè)計(jì)系統(tǒng)的程序流程圖如圖所示。主程序一開始運(yùn)行則設(shè)置堆棧起始地址為70H,設(shè)置中斷寄存器,用來對(duì)ICL7135的中斷進(jìn)行計(jì)數(shù),每5次后清零,完成一次數(shù)據(jù)采集工作,然后設(shè)置ICL7135的STB端的中斷的優(yōu)先級(jí)。緊接著LCDM1601B進(jìn)行一次清屏,使其各個(gè)指令、數(shù)據(jù)寄存器的值進(jìn)行清空,屏幕不顯示任何字符。
4.2 A/D中斷程序設(shè)計(jì)
CL7135每一分鐘完成3次據(jù)的采集工作,1/3秒完成后向CPU申請(qǐng)中斷,CPU這時(shí)暫停工作,為中斷服務(wù).中斷響應(yīng)后關(guān)中斷,將PSW、ACC壓棧,判斷是否首次中斷,如果是首次中斷,則將正負(fù)號(hào)標(biāo)志位置入60H,再把萬位置入61H中,如果不是首次中斷,則跳到NEXT處,如果是第二次中斷,則將千位數(shù)置入62H中,如果是第三次中斷,再將百位數(shù)置入63H中,第四次中斷則將十位數(shù)置入64H中,第五次中斷則將小數(shù)點(diǎn)位置入65H中,同時(shí)個(gè)位置入66H中。同時(shí)清除中斷次數(shù)寄存器30H中的值,完成中斷后將ACC、PSW出棧,開中斷。
4.3通訊模塊程序設(shè)計(jì)
89S52單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為99H。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。
5 結(jié)束語
電壓測(cè)量通過不同的接口電路可實(shí)現(xiàn)溫度、濕度、壓力等測(cè)量,廣泛應(yīng)用于工業(yè)領(lǐng)域。本電路設(shè)計(jì)別具一格,是一種高精度、低功耗、寬量程、智能化的溫度計(jì)。可擴(kuò)展鍵盤、EEPROM、報(bào)警電路,實(shí)現(xiàn)電壓異常記錄、報(bào)警。
參考文獻(xiàn)
[1]? 徐愛鈞.《智能化測(cè)量控制儀表原理與設(shè)計(jì)》(第二版)[M].北京:北京航空航天大學(xué)出版社,2004.
[2]? 吳金戌,沈慶陽,郭庭吉.《8051單片機(jī)實(shí)踐與應(yīng)用》[M].北京:清華大學(xué)出版社,2002.
[3]? 張國勛,《縮短ICL7135A/D采樣程序時(shí)間的一種方法》[J]. 《電子技術(shù)應(yīng)用》,1993,第一期.