李 華,魏光杏
(滁州職業(yè)技術(shù)學(xué)院 信息工程系,安徽 滁州 239000)
基于AT89S52單片機(jī)的數(shù)字溫度報警器實現(xiàn)
李 華,魏光杏
(滁州職業(yè)技術(shù)學(xué)院 信息工程系,安徽 滁州 239000)
設(shè)計了一種基于AT89S52單片機(jī)和DS18B20溫度傳感器的數(shù)字溫度報警器,該報警器可以對溫度進(jìn)行采集和顯示,并可以設(shè)定上下限報警溫度.該數(shù)字報警器具有精確度高、測量廣、靈敏度高、體積小、功耗低等特點.經(jīng)實驗結(jié)果表明,對溫度的采集和顯示效果較好,對高低溫的報警較靈敏,在工農(nóng)業(yè)生產(chǎn)中具有一定的應(yīng)用前景.
溫度顯示;溫度傳感器;AT89S52單片機(jī)
在日常生活、工業(yè)生產(chǎn)中,關(guān)注溫度的變化顯得尤其重要.不同的溫度條件下電子器件和機(jī)械部件的特征是不同的,需要時刻關(guān)注著這些溫度,以及了解電子器件和機(jī)械部件的實時狀態(tài).如今人們生活水平一日高于一日,人們對數(shù)字溫度報警器的要求也愈來愈高,經(jīng)常處于測量采集溫度信息、處理溫度信息、發(fā)出相關(guān)信息去控制其他功能模塊,這就需要數(shù)字化控制、智能化控制.本文所實現(xiàn)的數(shù)字溫度報警器,能夠準(zhǔn)確測溫,方便讀數(shù),測量溫度范圍值較大,并且數(shù)字化顯示所輸出的溫度,應(yīng)用前景廣闊.
1.1 系統(tǒng)設(shè)計要求
圖1 數(shù)字報警器硬件框圖
數(shù)字溫度報警器采用AT89S52型單片機(jī)作為主控制器件,選用DS18B20作為測溫傳感器器件,通過3個共陽極數(shù)碼管實現(xiàn)顯示被檢測溫度值,直接通過DS18B20測溫傳感器元件獲取所測溫度,從而進(jìn)行數(shù)據(jù)轉(zhuǎn)換,能通過按鍵設(shè)定來控制溫度報警的上下限值,環(huán)境溫度超出設(shè)定范圍時,驅(qū)動蜂鳴器發(fā)出提示音,發(fā)光二極管紅色閃爍.系統(tǒng)結(jié)構(gòu)圖如圖1所示,硬件原理圖如圖2所示.
1.2 AT89S52單片機(jī)
AT89S52單片機(jī)是由ATMEL公司的高密度非易失性存儲器技術(shù)制造,完全兼容80C51單片機(jī)指令集.AT89S52微控制器的Flash存儲器容量達(dá)到8 KB,具有高性能、低功耗特點.在單芯片上,擁有的處理器和可編程的8 KB存儲器,被大量的嵌入式控制應(yīng)用系統(tǒng)所使用,有效的解決控制系統(tǒng)應(yīng)用方案.另外AT89S52還具有32位的輸入輸出口線,看門狗定時器,2個數(shù)據(jù)指針,3個16位定時器/計數(shù)器等標(biāo)準(zhǔn)功能.
圖2 硬件設(shè)計圖
1.3 DS18B20測溫傳感器
DS18B20是常用的溫度傳感器,抗干擾能力強(qiáng),提供方便的接口,體積較小,獲得溫度精確度高.主要特點有:
(1)適合3.0~5.5 V范圍的電壓,使用更經(jīng)濟(jì);
(2)可直接利用串口或其他輸入輸出接口與外界設(shè)備相連;
(3)芯片內(nèi)部高度集成了數(shù)模轉(zhuǎn)換電路以及溫度傳感器元器件;
(4)對測出溫度的范圍較大,最高與最低溫度差可達(dá)到180 ℃.
(5)溫度值的數(shù)模轉(zhuǎn)換速度快,可達(dá)到90 ms內(nèi)轉(zhuǎn)換成功;
2.1 主程序流程框圖
主程序流程主要包括:設(shè)定初始值、讀取溫度值、數(shù)碼管顯示溫度值、判斷溫度限值以及報警等幾個分支,主程序流程框架圖如圖3所示.
圖3 主程序流程框圖
2.2 讀ds18b20的溫度值函數(shù)readtmpds18B20()
/***************************************
*入口:溫度數(shù)組te[2],te[1]為溫度的小數(shù)部分,te[0]為溫度的整數(shù)部分
***************************************/
void readtmpds18B20()
{
uchar temL,temH,tmp;
initds18B20();
writebyteds18B20(0xCC);
writebyteds18B20(0x44);
delay(300);
initds18B20();
writebyteds18B20(0xCC);
writebyteds18B20(0xBE);
temL=readbyteds18B20(); ∥溫度低八位
temH=readbyte18B20();∥溫度高八位
if((temH&0xf8)!=0x00)
{
temL=~temL;
temH=~temH;
tmp=temL+1;
temL=tmp;
if(tmp>255)
temH++;
}
EA=1;∥開總中斷,開顯示,防止讀寫18b20后關(guān)閉顯示,導(dǎo)致數(shù)碼管不能顯示
te =(((temL>>4)|(( temH<<4) & 0x70))*10)+df_Table[temL & 0x0F];∥整數(shù)部分*10+小數(shù)部分得到溫度值的10倍
}
2.3 數(shù)碼管顯示函數(shù)show()
voidshow(uint t)
{
C0=0; ∥ 第一位數(shù)碼管使能
P0=a[t/100];∥顯示溫度的十位
delay(2);∥延時
C0=1;
P0=0xff;∥消隱
C1=0;
P0=a[(t/10)%10];∥顯示溫度值的個位
port=0; ∥顯示小數(shù)點
delay(2);
C1=1;
port=1;
P0=0xff;
C2=0;
P0=a[t%10]; ∥顯示溫度值的小數(shù)
delay(2);
C2=1;
P0=0xff;
}
3.1 編譯鏈接預(yù)處理
在編寫代碼的KEIL軟件中單擊“Project”菜單,在彈出的菜單中選擇“Build target”進(jìn)行源代碼編譯,在沒出現(xiàn)錯誤并且沒出現(xiàn)警告的情況下,生成HEX可執(zhí)行文件,就完成了使用KEIL軟件將C語言程序編譯生成單片機(jī)可以執(zhí)行的文件(hex文件)的所有工作.接著把該生成的hex文件導(dǎo)入進(jìn)來,進(jìn)行仿真測試.
3.2 仿真測試
(1)在正常溫度下,仿真結(jié)果如圖4所示.
(2)在低溫報警下,仿真結(jié)果如圖5所示.
(3)在高溫報警下,仿真結(jié)果如圖6所示.
圖4 正常溫度仿真結(jié)果圖
圖5 低溫報警仿真結(jié)果圖
圖6 高溫報警仿真結(jié)果圖
本文給出了基于AT89S52單片機(jī)的數(shù)字溫度報警器的一種設(shè)計方案,該數(shù)字報警器使用的是測溫傳感器DS18B20硬件設(shè)備對溫度進(jìn)行采集,處理后通過數(shù)碼管顯示,顯示效果及對高低溫的報警靈敏度較好,并且可以通過開關(guān)設(shè)定的溫度上下限值來報警.該報警器使用起來具有精確度高、測量廣、靈敏度高、體積小、功耗低等特點,可用于日常生活和工農(nóng)業(yè)生產(chǎn)中的溫度測量,具有一定的實際意義.
[1] 侯玉寶.基于Proteus的51系列單片機(jī)設(shè)計與仿真[M].北京:電子工業(yè)出版社,2008.
[2] 楊振江,馮軍.單片機(jī)原理與實踐指導(dǎo)[M].西安:西安電子科技大學(xué)出版社,2008.
[3] 樓然苗,李光飛.單片機(jī)課程設(shè)計指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2008.
[4] 于曉東.80C51單片機(jī)原理、開發(fā)與應(yīng)用實例[M].北京:中國電力出版社,2008.
[5] 卜錫濱.電路與模擬電子技術(shù)[M].北京:人民郵電出版社,2009.
[責(zé)任編輯 王新奇]
Realization of Digital Temperature AlarmBased on AT89S52 Single Chip Microcomputer
LI Hua, WEI Guang-xing
(Department of Information Engineering, ChuZhou Vocational and Technology College, ChuZhou 239000, China)
In this paper, a digital temperature alarm based on AT89S52 single chip microcomputer and DS18B20 temperature sensor is designed. It can capture and display the temperature, and may set the upper and lower temperature alarm. The features of the digital temperature alarm are high accuracy, wide measurement, high sensitivity, small size, low power consumption and so on. The experimental results show that the quality of temperature acquisition and display is much better and the high and low temperature alarm is more sensitive. It has certain application prospect in industrial and agricultural production.
temperature display; temperature sensor; AT89S52 single chip microcomputer
1008-5564(2016)06-0030-05
2016-06-25
安徽省質(zhì)量工程建設(shè)項目(20101425);安徽省高校自然科學(xué)重點項目(KJ2015A402)
李 華(1973—),女,安徽宿州人,滁州職業(yè)技術(shù)學(xué)院信息工程系講師,主要從事計算機(jī)應(yīng)用研究.
TP399
A