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