摘 要 文章設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),該系統(tǒng)以PHILIPS公司的ARM核心微控制器LPC2103作為主控制器件,采用Keil uVision4進(jìn)行軟件編程。該系統(tǒng)采用8只單總線溫度傳感器DS18B20對(duì)溫度進(jìn)行監(jiān)測(cè),使用LCD12864液晶顯示器對(duì)溫度信息進(jìn)行顯示,通過按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在存儲(chǔ)器24C02中,實(shí)現(xiàn)斷電存儲(chǔ),系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由LED發(fā)光二極管指示及蜂鳴器進(jìn)行報(bào)警,系統(tǒng)具有友好的人機(jī)界面。該系統(tǒng)用于實(shí)時(shí)溫度監(jiān)控及報(bào)警系統(tǒng)中,用一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器,極大的節(jié)約了I/O口,在I/O口不夠用的情況下占有非常大的優(yōu)勢(shì)。系統(tǒng)采用8點(diǎn)測(cè)溫可提高測(cè)量及控制的精度,具有可擴(kuò)展性和開放性,滿足多種場(chǎng)合的要求,具有廣泛的應(yīng)用。
關(guān)鍵詞 ARM;8路溫度采集;溫度監(jiān)控;LCD12864
中圖分類號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)16-0010-02
溫度是工業(yè)生產(chǎn)中應(yīng)用最重要、最普遍的變量之一。在工業(yè)生產(chǎn)中,許多化學(xué)反應(yīng)或物理反應(yīng)都必須在規(guī)定的溫度下才能正常安全地進(jìn)行,否則,將得不到合格的產(chǎn)品,甚至可能造成生產(chǎn)的事故。因此,溫度的檢測(cè)與控制是保證產(chǎn)品質(zhì)量和確保生產(chǎn)安全的重要手段。在工業(yè)環(huán)境中常常要對(duì)多點(diǎn)溫度進(jìn)行實(shí)時(shí)監(jiān)控,并且很多場(chǎng)合需要精確測(cè)量,為此設(shè)計(jì)了基于ARM7的8路溫度監(jiān)控系統(tǒng),并且可將系統(tǒng)擴(kuò)展到更多路溫度的測(cè)量。隨著生產(chǎn)的發(fā)展,ARM7控制器因其具有高速度、高可靠性、功能強(qiáng)、體積小、成本低、功耗低等優(yōu)點(diǎn)而得到廣泛應(yīng)用。
1 系統(tǒng)概述
基于ARM的8路溫度監(jiān)控系統(tǒng)結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由LPC2103控制模塊、LCD128X64液晶顯示模塊、8路DS18B20溫度采集模塊、存儲(chǔ)模塊、LED指示模塊、蜂鳴器報(bào)警模塊及鍵盤設(shè)置模塊組成。本系統(tǒng)采用模塊化和層次化設(shè)計(jì),設(shè)計(jì)靈活,可在本系統(tǒng)基礎(chǔ)上增加溫度采集的點(diǎn)數(shù),擴(kuò)展性與開放性強(qiáng)。
LPC2103是基于一個(gè)支持實(shí)時(shí)仿真的ARM7TDMI-S處理器,最高工作速度可達(dá)70MHz,具有8K的片內(nèi)靜態(tài)RAM和32KB的片內(nèi)FLASH程序存儲(chǔ)器。通過片內(nèi)boot裝載程序?qū)崿F(xiàn)ISP/IAP編程,128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。LPC2103的10位A/D轉(zhuǎn)換器提供8路模擬輸入,低功耗實(shí)時(shí)時(shí)鐘具有獨(dú)立的電源和特定的32768HZ時(shí)鐘輸入,多個(gè)32位和16位的定時(shí)器和32個(gè)快速 GPIO使其特別具有廣泛的應(yīng)用。
DS18B20是一種一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;內(nèi)置EEPROM,限溫報(bào)警功能。64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。
本設(shè)計(jì)采用Proteus 7.10軟件進(jìn)行仿真,Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),其處理器模型支持8051、HC11、ARM、AVR、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。編譯器采用keil uvision4(ARM-MDK),最新的Keil μVision4,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開發(fā)。μVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。μVision4在μVision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能。
2 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的硬件電路圖如圖2所示,系統(tǒng)硬件組成及功能介紹如下。
1)LCP2103控制模塊:由LCP2103處理器、晶振電路、復(fù)位電路、電源電路組成,是系統(tǒng)處理核心器件,主要識(shí)別及采集溫度數(shù)據(jù),并將實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)傳送到LCD128X64液晶顯示器,實(shí)現(xiàn)人機(jī)交換界面,處理鍵盤輸入設(shè)定報(bào)警值,并將設(shè)定溫度值存儲(chǔ)到24C02中,對(duì)超溫報(bào)警輸出相應(yīng)LED指示及蜂鳴器報(bào)警。
2)8路DS18B20溫度采集模塊:由8只溫度傳感器組成,作為溫度采集器件,采集溫度數(shù)據(jù)并傳送給處理器。DS18B20只需要接到控制器(ARM)的一個(gè)I/O口上,由于單總線為開漏所以需要外接一個(gè)4.7K的上拉電阻。如要采用寄生工作方式,只要將VDD電源引腳與單總線并聯(lián)即可。但在程序設(shè)計(jì)中,寄生工作方式將會(huì)對(duì)總線狀態(tài)有些特殊要求。
3)液晶顯示器模塊:由液晶顯示器LCD128X64組成,作為人機(jī)界面器件,主要用于顯示實(shí)時(shí)溫度值、設(shè)定的報(bào)警溫度值等。
4)鍵盤設(shè)置模塊:由4個(gè)按鍵組成,作為輸入器件,主要用于設(shè)定8路溫度報(bào)警值,默認(rèn)超溫報(bào)警值為30℃。在這里每一個(gè)按鍵接一個(gè)上拉電阻,上拉電阻把不確定的信號(hào)通過一個(gè)電阻鉗位在高電平,通常在1K到10K之間選取,本設(shè)計(jì)取4.7K。先按“setup”設(shè)置鍵,此時(shí)顯示進(jìn)入設(shè)置界面,可以看到默認(rèn)設(shè)定溫度值。在設(shè)置界面“*”號(hào)前的溫度代表處于設(shè)置狀態(tài)的溫度,按“+”或“-”鍵設(shè)置超溫報(bào)警值,設(shè)置好一路溫度后,再按住“select”選擇鍵,這時(shí)跳到下一路溫度設(shè)置報(bào)警值,直到8路溫度設(shè)置好才退出。
5)LED指示、蜂鳴器報(bào)警模塊:由發(fā)光二極管、蜂鳴器組成,作為報(bào)警器件,8路溫度中哪一路溫度超過設(shè)定值,由相應(yīng)的發(fā)光二極管指示,同時(shí),無論哪一路溫度超過設(shè)定值,都由蜂鳴器發(fā)出聲音報(bào)警。
6)存儲(chǔ)模塊:主要由24C02組成,實(shí)現(xiàn)斷電保存設(shè)定的溫度報(bào)警值。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì),下面介紹一些主要的軟件設(shè)計(jì)。
1)系統(tǒng)的主程序設(shè)計(jì)。系統(tǒng)的主程序是本設(shè)計(jì)整個(gè)軟件設(shè)計(jì)的主干線,其流程圖如圖3所示,首先進(jìn)行系統(tǒng)的初始化,
主要包括端口的定義、分配、中斷的定義、液晶的初始化、液晶清屏等。主程序的循環(huán)中包括:讀出8路溫度值、顯示8路溫度值,8路溫度值分別與設(shè)定溫度值比較,如果大于設(shè)定值,點(diǎn)亮相應(yīng)的發(fā)光二極管進(jìn)行指示,同時(shí),通過蜂鳴器發(fā)出聲音報(bào)警。
2)系統(tǒng)中斷服務(wù)子程序設(shè)計(jì)。系統(tǒng)中斷服務(wù)子程序流程圖如圖4所示,本程序的功能主要是進(jìn)行溫度的設(shè)定。進(jìn)入中斷后,首先關(guān)閉LED指示和蜂鳴器報(bào)警,然后掃描鍵盤,并進(jìn)行相應(yīng)的處理,其中K1鍵的功能是溫度值加1,K2鍵的功能是溫度值減1,K3鍵的功能是由第一路溫度設(shè)定值順序切換到第八路溫度設(shè)定值。當(dāng)?shù)诎寺窚囟戎翟O(shè)定完之后,退出中斷,將設(shè)定的8路溫度值存儲(chǔ)到24C02,之后中斷返回。
4 結(jié)束語
本文設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),對(duì)系統(tǒng)硬件電路、軟件進(jìn)行了設(shè)計(jì),實(shí)現(xiàn)了通過一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器進(jìn)行采集和監(jiān)控,極大的節(jié)約了I/O口。系統(tǒng)通過LCD12864液晶顯示器溫度信息,由按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在24C02中,實(shí)現(xiàn)斷電存儲(chǔ)。系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由相應(yīng)的LED指示,蜂鳴器實(shí)現(xiàn)超溫報(bào)警。由于本系統(tǒng)具有可擴(kuò)展性和開放性,可通過另外的I/O口掛載更多的溫度傳感器,實(shí)現(xiàn)更多點(diǎn)溫度監(jiān)控,能滿足生產(chǎn)過程中需要進(jìn)行溫度監(jiān)控的多種場(chǎng)合的應(yīng)用要求。
參考文獻(xiàn)
[1]張大波.新編嵌入式系統(tǒng)原理:設(shè)計(jì)與應(yīng)用[M].清華大學(xué)出版社,2010.
[2]付慧敏.數(shù)字式多路溫度采集系統(tǒng)的設(shè)計(jì)[J].煤碳技術(shù),2008.
作者簡(jiǎn)介
朱名強(qiáng)(1985-),男,漢族,廣西柳州人,廣西理工職業(yè)技術(shù)學(xué)院教師,工學(xué)碩士,檢測(cè)技術(shù)與自動(dòng)化裝置專業(yè),講師,研究方向:自動(dòng)控制技術(shù)。endprint
摘 要 文章設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),該系統(tǒng)以PHILIPS公司的ARM核心微控制器LPC2103作為主控制器件,采用Keil uVision4進(jìn)行軟件編程。該系統(tǒng)采用8只單總線溫度傳感器DS18B20對(duì)溫度進(jìn)行監(jiān)測(cè),使用LCD12864液晶顯示器對(duì)溫度信息進(jìn)行顯示,通過按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在存儲(chǔ)器24C02中,實(shí)現(xiàn)斷電存儲(chǔ),系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由LED發(fā)光二極管指示及蜂鳴器進(jìn)行報(bào)警,系統(tǒng)具有友好的人機(jī)界面。該系統(tǒng)用于實(shí)時(shí)溫度監(jiān)控及報(bào)警系統(tǒng)中,用一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器,極大的節(jié)約了I/O口,在I/O口不夠用的情況下占有非常大的優(yōu)勢(shì)。系統(tǒng)采用8點(diǎn)測(cè)溫可提高測(cè)量及控制的精度,具有可擴(kuò)展性和開放性,滿足多種場(chǎng)合的要求,具有廣泛的應(yīng)用。
關(guān)鍵詞 ARM;8路溫度采集;溫度監(jiān)控;LCD12864
中圖分類號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)16-0010-02
溫度是工業(yè)生產(chǎn)中應(yīng)用最重要、最普遍的變量之一。在工業(yè)生產(chǎn)中,許多化學(xué)反應(yīng)或物理反應(yīng)都必須在規(guī)定的溫度下才能正常安全地進(jìn)行,否則,將得不到合格的產(chǎn)品,甚至可能造成生產(chǎn)的事故。因此,溫度的檢測(cè)與控制是保證產(chǎn)品質(zhì)量和確保生產(chǎn)安全的重要手段。在工業(yè)環(huán)境中常常要對(duì)多點(diǎn)溫度進(jìn)行實(shí)時(shí)監(jiān)控,并且很多場(chǎng)合需要精確測(cè)量,為此設(shè)計(jì)了基于ARM7的8路溫度監(jiān)控系統(tǒng),并且可將系統(tǒng)擴(kuò)展到更多路溫度的測(cè)量。隨著生產(chǎn)的發(fā)展,ARM7控制器因其具有高速度、高可靠性、功能強(qiáng)、體積小、成本低、功耗低等優(yōu)點(diǎn)而得到廣泛應(yīng)用。
1 系統(tǒng)概述
基于ARM的8路溫度監(jiān)控系統(tǒng)結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由LPC2103控制模塊、LCD128X64液晶顯示模塊、8路DS18B20溫度采集模塊、存儲(chǔ)模塊、LED指示模塊、蜂鳴器報(bào)警模塊及鍵盤設(shè)置模塊組成。本系統(tǒng)采用模塊化和層次化設(shè)計(jì),設(shè)計(jì)靈活,可在本系統(tǒng)基礎(chǔ)上增加溫度采集的點(diǎn)數(shù),擴(kuò)展性與開放性強(qiáng)。
LPC2103是基于一個(gè)支持實(shí)時(shí)仿真的ARM7TDMI-S處理器,最高工作速度可達(dá)70MHz,具有8K的片內(nèi)靜態(tài)RAM和32KB的片內(nèi)FLASH程序存儲(chǔ)器。通過片內(nèi)boot裝載程序?qū)崿F(xiàn)ISP/IAP編程,128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。LPC2103的10位A/D轉(zhuǎn)換器提供8路模擬輸入,低功耗實(shí)時(shí)時(shí)鐘具有獨(dú)立的電源和特定的32768HZ時(shí)鐘輸入,多個(gè)32位和16位的定時(shí)器和32個(gè)快速 GPIO使其特別具有廣泛的應(yīng)用。
DS18B20是一種一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;內(nèi)置EEPROM,限溫報(bào)警功能。64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。
本設(shè)計(jì)采用Proteus 7.10軟件進(jìn)行仿真,Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),其處理器模型支持8051、HC11、ARM、AVR、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。編譯器采用keil uvision4(ARM-MDK),最新的Keil μVision4,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開發(fā)。μVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。μVision4在μVision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能。
2 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的硬件電路圖如圖2所示,系統(tǒng)硬件組成及功能介紹如下。
1)LCP2103控制模塊:由LCP2103處理器、晶振電路、復(fù)位電路、電源電路組成,是系統(tǒng)處理核心器件,主要識(shí)別及采集溫度數(shù)據(jù),并將實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)傳送到LCD128X64液晶顯示器,實(shí)現(xiàn)人機(jī)交換界面,處理鍵盤輸入設(shè)定報(bào)警值,并將設(shè)定溫度值存儲(chǔ)到24C02中,對(duì)超溫報(bào)警輸出相應(yīng)LED指示及蜂鳴器報(bào)警。
2)8路DS18B20溫度采集模塊:由8只溫度傳感器組成,作為溫度采集器件,采集溫度數(shù)據(jù)并傳送給處理器。DS18B20只需要接到控制器(ARM)的一個(gè)I/O口上,由于單總線為開漏所以需要外接一個(gè)4.7K的上拉電阻。如要采用寄生工作方式,只要將VDD電源引腳與單總線并聯(lián)即可。但在程序設(shè)計(jì)中,寄生工作方式將會(huì)對(duì)總線狀態(tài)有些特殊要求。
3)液晶顯示器模塊:由液晶顯示器LCD128X64組成,作為人機(jī)界面器件,主要用于顯示實(shí)時(shí)溫度值、設(shè)定的報(bào)警溫度值等。
4)鍵盤設(shè)置模塊:由4個(gè)按鍵組成,作為輸入器件,主要用于設(shè)定8路溫度報(bào)警值,默認(rèn)超溫報(bào)警值為30℃。在這里每一個(gè)按鍵接一個(gè)上拉電阻,上拉電阻把不確定的信號(hào)通過一個(gè)電阻鉗位在高電平,通常在1K到10K之間選取,本設(shè)計(jì)取4.7K。先按“setup”設(shè)置鍵,此時(shí)顯示進(jìn)入設(shè)置界面,可以看到默認(rèn)設(shè)定溫度值。在設(shè)置界面“*”號(hào)前的溫度代表處于設(shè)置狀態(tài)的溫度,按“+”或“-”鍵設(shè)置超溫報(bào)警值,設(shè)置好一路溫度后,再按住“select”選擇鍵,這時(shí)跳到下一路溫度設(shè)置報(bào)警值,直到8路溫度設(shè)置好才退出。
5)LED指示、蜂鳴器報(bào)警模塊:由發(fā)光二極管、蜂鳴器組成,作為報(bào)警器件,8路溫度中哪一路溫度超過設(shè)定值,由相應(yīng)的發(fā)光二極管指示,同時(shí),無論哪一路溫度超過設(shè)定值,都由蜂鳴器發(fā)出聲音報(bào)警。
6)存儲(chǔ)模塊:主要由24C02組成,實(shí)現(xiàn)斷電保存設(shè)定的溫度報(bào)警值。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì),下面介紹一些主要的軟件設(shè)計(jì)。
1)系統(tǒng)的主程序設(shè)計(jì)。系統(tǒng)的主程序是本設(shè)計(jì)整個(gè)軟件設(shè)計(jì)的主干線,其流程圖如圖3所示,首先進(jìn)行系統(tǒng)的初始化,
主要包括端口的定義、分配、中斷的定義、液晶的初始化、液晶清屏等。主程序的循環(huán)中包括:讀出8路溫度值、顯示8路溫度值,8路溫度值分別與設(shè)定溫度值比較,如果大于設(shè)定值,點(diǎn)亮相應(yīng)的發(fā)光二極管進(jìn)行指示,同時(shí),通過蜂鳴器發(fā)出聲音報(bào)警。
2)系統(tǒng)中斷服務(wù)子程序設(shè)計(jì)。系統(tǒng)中斷服務(wù)子程序流程圖如圖4所示,本程序的功能主要是進(jìn)行溫度的設(shè)定。進(jìn)入中斷后,首先關(guān)閉LED指示和蜂鳴器報(bào)警,然后掃描鍵盤,并進(jìn)行相應(yīng)的處理,其中K1鍵的功能是溫度值加1,K2鍵的功能是溫度值減1,K3鍵的功能是由第一路溫度設(shè)定值順序切換到第八路溫度設(shè)定值。當(dāng)?shù)诎寺窚囟戎翟O(shè)定完之后,退出中斷,將設(shè)定的8路溫度值存儲(chǔ)到24C02,之后中斷返回。
4 結(jié)束語
本文設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),對(duì)系統(tǒng)硬件電路、軟件進(jìn)行了設(shè)計(jì),實(shí)現(xiàn)了通過一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器進(jìn)行采集和監(jiān)控,極大的節(jié)約了I/O口。系統(tǒng)通過LCD12864液晶顯示器溫度信息,由按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在24C02中,實(shí)現(xiàn)斷電存儲(chǔ)。系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由相應(yīng)的LED指示,蜂鳴器實(shí)現(xiàn)超溫報(bào)警。由于本系統(tǒng)具有可擴(kuò)展性和開放性,可通過另外的I/O口掛載更多的溫度傳感器,實(shí)現(xiàn)更多點(diǎn)溫度監(jiān)控,能滿足生產(chǎn)過程中需要進(jìn)行溫度監(jiān)控的多種場(chǎng)合的應(yīng)用要求。
參考文獻(xiàn)
[1]張大波.新編嵌入式系統(tǒng)原理:設(shè)計(jì)與應(yīng)用[M].清華大學(xué)出版社,2010.
[2]付慧敏.數(shù)字式多路溫度采集系統(tǒng)的設(shè)計(jì)[J].煤碳技術(shù),2008.
作者簡(jiǎn)介
朱名強(qiáng)(1985-),男,漢族,廣西柳州人,廣西理工職業(yè)技術(shù)學(xué)院教師,工學(xué)碩士,檢測(cè)技術(shù)與自動(dòng)化裝置專業(yè),講師,研究方向:自動(dòng)控制技術(shù)。endprint
摘 要 文章設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),該系統(tǒng)以PHILIPS公司的ARM核心微控制器LPC2103作為主控制器件,采用Keil uVision4進(jìn)行軟件編程。該系統(tǒng)采用8只單總線溫度傳感器DS18B20對(duì)溫度進(jìn)行監(jiān)測(cè),使用LCD12864液晶顯示器對(duì)溫度信息進(jìn)行顯示,通過按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在存儲(chǔ)器24C02中,實(shí)現(xiàn)斷電存儲(chǔ),系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由LED發(fā)光二極管指示及蜂鳴器進(jìn)行報(bào)警,系統(tǒng)具有友好的人機(jī)界面。該系統(tǒng)用于實(shí)時(shí)溫度監(jiān)控及報(bào)警系統(tǒng)中,用一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器,極大的節(jié)約了I/O口,在I/O口不夠用的情況下占有非常大的優(yōu)勢(shì)。系統(tǒng)采用8點(diǎn)測(cè)溫可提高測(cè)量及控制的精度,具有可擴(kuò)展性和開放性,滿足多種場(chǎng)合的要求,具有廣泛的應(yīng)用。
關(guān)鍵詞 ARM;8路溫度采集;溫度監(jiān)控;LCD12864
中圖分類號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)16-0010-02
溫度是工業(yè)生產(chǎn)中應(yīng)用最重要、最普遍的變量之一。在工業(yè)生產(chǎn)中,許多化學(xué)反應(yīng)或物理反應(yīng)都必須在規(guī)定的溫度下才能正常安全地進(jìn)行,否則,將得不到合格的產(chǎn)品,甚至可能造成生產(chǎn)的事故。因此,溫度的檢測(cè)與控制是保證產(chǎn)品質(zhì)量和確保生產(chǎn)安全的重要手段。在工業(yè)環(huán)境中常常要對(duì)多點(diǎn)溫度進(jìn)行實(shí)時(shí)監(jiān)控,并且很多場(chǎng)合需要精確測(cè)量,為此設(shè)計(jì)了基于ARM7的8路溫度監(jiān)控系統(tǒng),并且可將系統(tǒng)擴(kuò)展到更多路溫度的測(cè)量。隨著生產(chǎn)的發(fā)展,ARM7控制器因其具有高速度、高可靠性、功能強(qiáng)、體積小、成本低、功耗低等優(yōu)點(diǎn)而得到廣泛應(yīng)用。
1 系統(tǒng)概述
基于ARM的8路溫度監(jiān)控系統(tǒng)結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由LPC2103控制模塊、LCD128X64液晶顯示模塊、8路DS18B20溫度采集模塊、存儲(chǔ)模塊、LED指示模塊、蜂鳴器報(bào)警模塊及鍵盤設(shè)置模塊組成。本系統(tǒng)采用模塊化和層次化設(shè)計(jì),設(shè)計(jì)靈活,可在本系統(tǒng)基礎(chǔ)上增加溫度采集的點(diǎn)數(shù),擴(kuò)展性與開放性強(qiáng)。
LPC2103是基于一個(gè)支持實(shí)時(shí)仿真的ARM7TDMI-S處理器,最高工作速度可達(dá)70MHz,具有8K的片內(nèi)靜態(tài)RAM和32KB的片內(nèi)FLASH程序存儲(chǔ)器。通過片內(nèi)boot裝載程序?qū)崿F(xiàn)ISP/IAP編程,128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。LPC2103的10位A/D轉(zhuǎn)換器提供8路模擬輸入,低功耗實(shí)時(shí)時(shí)鐘具有獨(dú)立的電源和特定的32768HZ時(shí)鐘輸入,多個(gè)32位和16位的定時(shí)器和32個(gè)快速 GPIO使其特別具有廣泛的應(yīng)用。
DS18B20是一種一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;內(nèi)置EEPROM,限溫報(bào)警功能。64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。
本設(shè)計(jì)采用Proteus 7.10軟件進(jìn)行仿真,Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),其處理器模型支持8051、HC11、ARM、AVR、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。編譯器采用keil uvision4(ARM-MDK),最新的Keil μVision4,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開發(fā)。μVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。μVision4在μVision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能。
2 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的硬件電路圖如圖2所示,系統(tǒng)硬件組成及功能介紹如下。
1)LCP2103控制模塊:由LCP2103處理器、晶振電路、復(fù)位電路、電源電路組成,是系統(tǒng)處理核心器件,主要識(shí)別及采集溫度數(shù)據(jù),并將實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)傳送到LCD128X64液晶顯示器,實(shí)現(xiàn)人機(jī)交換界面,處理鍵盤輸入設(shè)定報(bào)警值,并將設(shè)定溫度值存儲(chǔ)到24C02中,對(duì)超溫報(bào)警輸出相應(yīng)LED指示及蜂鳴器報(bào)警。
2)8路DS18B20溫度采集模塊:由8只溫度傳感器組成,作為溫度采集器件,采集溫度數(shù)據(jù)并傳送給處理器。DS18B20只需要接到控制器(ARM)的一個(gè)I/O口上,由于單總線為開漏所以需要外接一個(gè)4.7K的上拉電阻。如要采用寄生工作方式,只要將VDD電源引腳與單總線并聯(lián)即可。但在程序設(shè)計(jì)中,寄生工作方式將會(huì)對(duì)總線狀態(tài)有些特殊要求。
3)液晶顯示器模塊:由液晶顯示器LCD128X64組成,作為人機(jī)界面器件,主要用于顯示實(shí)時(shí)溫度值、設(shè)定的報(bào)警溫度值等。
4)鍵盤設(shè)置模塊:由4個(gè)按鍵組成,作為輸入器件,主要用于設(shè)定8路溫度報(bào)警值,默認(rèn)超溫報(bào)警值為30℃。在這里每一個(gè)按鍵接一個(gè)上拉電阻,上拉電阻把不確定的信號(hào)通過一個(gè)電阻鉗位在高電平,通常在1K到10K之間選取,本設(shè)計(jì)取4.7K。先按“setup”設(shè)置鍵,此時(shí)顯示進(jìn)入設(shè)置界面,可以看到默認(rèn)設(shè)定溫度值。在設(shè)置界面“*”號(hào)前的溫度代表處于設(shè)置狀態(tài)的溫度,按“+”或“-”鍵設(shè)置超溫報(bào)警值,設(shè)置好一路溫度后,再按住“select”選擇鍵,這時(shí)跳到下一路溫度設(shè)置報(bào)警值,直到8路溫度設(shè)置好才退出。
5)LED指示、蜂鳴器報(bào)警模塊:由發(fā)光二極管、蜂鳴器組成,作為報(bào)警器件,8路溫度中哪一路溫度超過設(shè)定值,由相應(yīng)的發(fā)光二極管指示,同時(shí),無論哪一路溫度超過設(shè)定值,都由蜂鳴器發(fā)出聲音報(bào)警。
6)存儲(chǔ)模塊:主要由24C02組成,實(shí)現(xiàn)斷電保存設(shè)定的溫度報(bào)警值。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì),下面介紹一些主要的軟件設(shè)計(jì)。
1)系統(tǒng)的主程序設(shè)計(jì)。系統(tǒng)的主程序是本設(shè)計(jì)整個(gè)軟件設(shè)計(jì)的主干線,其流程圖如圖3所示,首先進(jìn)行系統(tǒng)的初始化,
主要包括端口的定義、分配、中斷的定義、液晶的初始化、液晶清屏等。主程序的循環(huán)中包括:讀出8路溫度值、顯示8路溫度值,8路溫度值分別與設(shè)定溫度值比較,如果大于設(shè)定值,點(diǎn)亮相應(yīng)的發(fā)光二極管進(jìn)行指示,同時(shí),通過蜂鳴器發(fā)出聲音報(bào)警。
2)系統(tǒng)中斷服務(wù)子程序設(shè)計(jì)。系統(tǒng)中斷服務(wù)子程序流程圖如圖4所示,本程序的功能主要是進(jìn)行溫度的設(shè)定。進(jìn)入中斷后,首先關(guān)閉LED指示和蜂鳴器報(bào)警,然后掃描鍵盤,并進(jìn)行相應(yīng)的處理,其中K1鍵的功能是溫度值加1,K2鍵的功能是溫度值減1,K3鍵的功能是由第一路溫度設(shè)定值順序切換到第八路溫度設(shè)定值。當(dāng)?shù)诎寺窚囟戎翟O(shè)定完之后,退出中斷,將設(shè)定的8路溫度值存儲(chǔ)到24C02,之后中斷返回。
4 結(jié)束語
本文設(shè)計(jì)了基于ARM的8路溫度監(jiān)控系統(tǒng),對(duì)系統(tǒng)硬件電路、軟件進(jìn)行了設(shè)計(jì),實(shí)現(xiàn)了通過一個(gè)I/O口掛載8個(gè)DS18B20溫度傳感器進(jìn)行采集和監(jiān)控,極大的節(jié)約了I/O口。系統(tǒng)通過LCD12864液晶顯示器溫度信息,由按鍵設(shè)定報(bào)警溫度值并存儲(chǔ)在24C02中,實(shí)現(xiàn)斷電存儲(chǔ)。系統(tǒng)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè),若溫度超過設(shè)定報(bào)警值,由相應(yīng)的LED指示,蜂鳴器實(shí)現(xiàn)超溫報(bào)警。由于本系統(tǒng)具有可擴(kuò)展性和開放性,可通過另外的I/O口掛載更多的溫度傳感器,實(shí)現(xiàn)更多點(diǎn)溫度監(jiān)控,能滿足生產(chǎn)過程中需要進(jìn)行溫度監(jiān)控的多種場(chǎng)合的應(yīng)用要求。
參考文獻(xiàn)
[1]張大波.新編嵌入式系統(tǒng)原理:設(shè)計(jì)與應(yīng)用[M].清華大學(xué)出版社,2010.
[2]付慧敏.數(shù)字式多路溫度采集系統(tǒng)的設(shè)計(jì)[J].煤碳技術(shù),2008.
作者簡(jiǎn)介
朱名強(qiáng)(1985-),男,漢族,廣西柳州人,廣西理工職業(yè)技術(shù)學(xué)院教師,工學(xué)碩士,檢測(cè)技術(shù)與自動(dòng)化裝置專業(yè),講師,研究方向:自動(dòng)控制技術(shù)。endprint