三防平板方案中溫控應(yīng)用,溫度是一種最基本的環(huán)境參數(shù),和人們的生產(chǎn)、生活息息相關(guān)。例如,在工業(yè)生產(chǎn)過程中需要實時測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測量,因此研究溫度的測量方法和裝置具有重要的意義。測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個發(fā)展階段:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器和智能集成溫度傳感器。
目前,國際上新型溫度傳感器正從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展。在一些更復(fù)雜的系統(tǒng)中還涉及高精度或高速的測量、大規(guī)模巡檢、數(shù)據(jù)存儲回放、數(shù)據(jù)通信,以及設(shè)置時間等。溫度傳感器的研究既看重基礎(chǔ),又有擴展深度,并且具有很強的實用性和趣味性。
1.三防平板方案中系統(tǒng)設(shè)計任務(wù)需求
多路溫度監(jiān)控報警系統(tǒng)基本功能如下。
● 多路溫度測量并用十進制顯示,顯示誤差小于±0.5℃。
● 多路溫度測量并選擇通道或巡檢顯示。
● 可在鍵盤設(shè)置溫度上、下限,具有超限報警功能。
● 顯示溫度對應(yīng)的當前時間(時間顯示用4位LED數(shù)碼管,可用鍵盤進行時鐘調(diào)節(jié))。
多路溫度監(jiān)控報警系統(tǒng)設(shè)計的擴展功能如下。
● 數(shù)據(jù)存儲與選擇回放。
● 可通過鍵盤設(shè)定環(huán)境溫度,并控制加熱器將環(huán)境溫度調(diào)整到設(shè)定值。
● 采用RS-232/RS-485方式與PC進行通信。
2.三防平板方案中系統(tǒng)組成
通過任務(wù)的需求分析要實現(xiàn)的功能與指標,將系統(tǒng)劃分為各功能模塊,確定采用的處理器,以及各模塊之間的相互聯(lián)系,并建立系統(tǒng)的模型框圖。
典型的單片機系統(tǒng)是由多個功能模塊構(gòu)成的,通常包括傳感器(或前向通道)、人機交互、數(shù)據(jù)存儲、時鐘電路、數(shù)據(jù)處理、數(shù)據(jù)通信等??梢勒杖蝿?wù)要求對外圍各功能模塊進行選擇,確定本實例的組成框圖。多路溫度監(jiān)控報警系統(tǒng)組成框圖如圖1所示。
還需進一步確定系統(tǒng)各功能之間的聯(lián)系,采用哪家產(chǎn)品,并做進一步的比較與選擇,設(shè)計硬件電路并繪制出系統(tǒng)的電路原理圖。
圖1 多路溫度監(jiān)控報警系統(tǒng)組成框圖
3.三防平板方案中系統(tǒng)設(shè)計方案選擇分析
(1)三防平板方案中選擇合適的單片機。51系列單片機的開發(fā)經(jīng)驗已經(jīng)有幾十年的積累,外圍元器件齊全,各類資料非常完備,開發(fā)環(huán)境比較成熟。在實踐中,采用高性能、低成本的51系列單片機,可以使讀者在盡可能短的時間內(nèi)掌握單片機系統(tǒng)的學(xué)習方法和開發(fā)思路,提高學(xué)習效率,在掌握共性的同時注意其特性即可觸類旁通。當然,也可根據(jù)現(xiàn)有的開發(fā)條件選擇其他系列的嵌入式微處理器。
(2)三防平板方案中傳感器的選用。傳感器的選擇是設(shè)計計算機測控系統(tǒng)的關(guān)鍵,決定了一個系統(tǒng)的復(fù)雜度和精確度。在滿足精度的情況下,盡可能使系統(tǒng)構(gòu)架簡潔。對溫度上限和下限沒有特殊要求的場合,可以選擇集成溫度傳感器。目前常見的集成傳感器有1-wire 溫度傳感器DS18B20,SPI溫度傳感器TMDATA22,I2C溫度傳感器TMDATA00/101,以及串行STH10和DTH11溫濕度傳感器等。
DS18B20是美國Dallas公司推出的一種智能溫度傳感器,與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,通過簡單的編程可實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,可選擇0.5℃、0.25℃、0.125℃、0.0625℃不同的溫度測量分辨率,測溫范圍是-55~+125℃,而且采用單總線數(shù)字信號輸出,可以直接與單片機的端口相連,大大提高了系統(tǒng)的穩(wěn)定性。DS18B20傳感器提供了一種方便可行的選擇,也可選擇其他方案。
(3)三防平板方案中存儲器和實時時鐘。顯示某一時刻的溫度需要存儲溫度數(shù)據(jù),可采用SPI總線或I2C總線的高集成度的存儲芯片和日歷時鐘芯片,接口方便,可大大簡化電路設(shè)計。例如,SPI總線的X5045存儲芯片,三線的DS1302、DS12887實時時鐘芯片,I2C總線的AT24C02和PCF8563實時時鐘芯片等。
DS12887是常用的一種并行實時時鐘芯片,集存儲器、實時時鐘于一體,在沒有外部電源的情況下可工作10年(自帶晶體振蕩器及電池)??捎嬎愕?100年前的秒、分、小時、星期、日期、月、年七種日歷信息并帶閏年補償;用二進制碼或 BCD 碼來代表日歷和鬧鐘信息;有12和24小時兩種制式,12小時制式有AM和PM提示;可以應(yīng)用于Motorola和Intel兩種總線;數(shù)據(jù)/地址總線復(fù)用;內(nèi)建128 B的RAM,其中14 B時鐘控制寄存器,114 B通用 RAM;總線兼容中斷(IRQ);三種可編程中斷,其中時間性中斷可產(chǎn)生每秒一次到每天一次的中斷,周期性中斷的周期為122~500 ms,時鐘更新后結(jié)束中斷;并行總線操作非常簡單,降低了軟/硬件設(shè)計的難度。
(4)三防平板方案中人機交互。鍵盤與顯示電路是單片機系統(tǒng)中最常見的人機交互方式。系統(tǒng)的任務(wù),如監(jiān)測當前溫度、設(shè)置上/下限報警值、存儲溫度值、更新時鐘變化、與上位機通信,以及控制外部環(huán)境溫度等都需要用到鍵盤和顯示器。本系統(tǒng)選擇專用鍵盤顯示芯片 HD7279,單片機通過SPI總線接口與其通信。當有鍵按下時,HD7279向單片機發(fā)出中斷,通過中斷服務(wù)子程序讀取鍵值并進行相應(yīng)的處理。HD7279可接收并顯示數(shù)據(jù),而且可以自動保持LED的顯示內(nèi)容,不需要單片機連續(xù)的間隔掃描,大大降低了單片機的工作量,可以更好地分配資源和進行任務(wù)調(diào)度。同時,為獲得更好的顯示效果,本系統(tǒng)選擇LCD1602或LCD12864等液晶屏作為顯示器。
(5)三防平板方案中系統(tǒng)與外部PC的數(shù)據(jù)通信。系統(tǒng)內(nèi)部的單片機與外部PC的通信可以采用并行總線和串行總線通信方式,在實時性要求不高的系統(tǒng)中,建議采用串行總線方式,這樣可節(jié)省I/O口線的資源并降低成本。與PC通信的串行總線方式有RS-232、RS-485或USB等。
單片機與PC通信接口已經(jīng)有很多成熟的設(shè)計方案可以參考,在單片機和PC通信調(diào)試的過程中,可以暫時不編寫 PC 端程序,直接應(yīng)用串口通信軟件進行測試,如使用串行調(diào)試助手通信成功后,證明下位機程序完全正常,這時再編寫PC端的程序。
另外,還可以采用無線數(shù)據(jù)收發(fā)等通信技術(shù),如采用無線模塊收發(fā)技術(shù)或ZigBee無線網(wǎng)絡(luò)通信技術(shù)等。
4.三防平板方案中軟件設(shè)計流程
三防平板方案中對于單片機系統(tǒng)的開發(fā),除了進行硬件電路設(shè)計外,更重要的是系統(tǒng)的軟件開發(fā)。單片機之所以能廣泛應(yīng)用于各種不同需求的場合,就是因為它允許開發(fā)者根據(jù)需求編寫相應(yīng)的軟件,軟件的優(yōu)劣對系統(tǒng)的成本和穩(wěn)定性都有至關(guān)重要的影響。
在單片機程序設(shè)計中,強調(diào)程序的模塊化設(shè)計,這會讓整個程序變得清晰易懂,而且容易調(diào)試和修改。三防平板方案中軟件設(shè)計流程如圖2所示,首先設(shè)計整體流程,再編寫各個功能模塊,分別對每個模塊進行調(diào)試并修改,再將功能模塊組合并填入整體流程,不斷調(diào)試修改,完成軟件的整體設(shè)計。另外,需要注意的是,仿真調(diào)試成功并不代表程序下載到芯片以后就一定沒有故障,因為晶體振蕩器、復(fù)位電路和電路的匹配情況都會影響單片機的正常運行。
6.主要編程代碼(底層驅(qū)動)
(1)數(shù)字溫度傳感器部分的編程。DS18B20是常用的數(shù)字溫度傳感器,具有體積小、硬件開銷低、抗干擾能力強、精度高的特點。DS18B20內(nèi)部寄存器如圖10-4所示,DS18B20通信指令如表10-1所示。
圖3 DS18B20內(nèi)部寄存器結(jié)構(gòu)
表10-1 DS18B20通信指令
(2)實時時鐘芯片的編程。DS12887是美國Dallas公司推出的串行接口實時時鐘芯片,采用CMOS技術(shù)制成,具有內(nèi)部的晶體振蕩器和時鐘芯片備份鋰電池,外圍硬件十分簡單,與單片機相連之后,使用單片機對其初始化就可以正常工作了。其代碼如下。
(3)鍵盤接口部分的編程。HD7279是一片具有串行接口的鍵盤擴展接口芯片,該芯片可以連接多達64鍵的鍵盤矩陣,本系統(tǒng)鍵盤接口的編程代碼如下。
(4)LCD液晶屏接口編程。LCD1602是一種工業(yè)字符型液晶,能夠同時顯示16×2,即32個字符。LCD1602液晶屏利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就顯示,這樣就可以顯示出圖形。該模塊需要使用 RS、R/W、D7、D6、D5、D4、D3、D2、D1、D0等引腳,其接口代碼如下。
(5)RS-232串行通信接口編程。RS-232串行通信接口(即COM接口)只需要一對傳輸線就可以實現(xiàn)雙向通信,從而大大降低了成本,特別適合遠距離通信,但其傳送速率較低。單片機的串口主要需要配置波特率、端口等參數(shù)。RS-232串口通信程序參考代碼如下。
//串口代碼
//串口初始化
void UART_Init(void)
{
SCON=0x40; //串口方式1
PCON=0; //SMOD=0
REN=1; //允許接收
TMOD=0x20; //定時器1定時方式2
TR1=1; //啟動定時器
ES=1; //使能中斷
EA=1; //使能中斷
}
void send_char(unsigned char aChar)
{
SBUF=aChar;
while(TI==0); //等待,直到發(fā)送成功
TI=0;
}
在程序設(shè)計中要充分考慮每個模塊所需要的時間及其所需的靈敏度(采樣時間),在實際使用中,為了能夠讓按鍵快速響應(yīng),建議將按鍵設(shè)定為外部中斷觸發(fā),這樣能大大加快反應(yīng)速度。以上函數(shù)中,如果函數(shù)的整體執(zhí)行時間超過設(shè)計所需要的溫度采樣時間間隔,這時可以配置定時中斷,將溫度采集放置在定時中斷中執(zhí)行,保證溫度采樣率不受函數(shù)中的其他功能模塊的影響。