大連計算機職業(yè)中專 梁 偉
DS18B20數(shù)字溫度計提供9至12位的攝氏溫度測量,并具有易失性的用戶可編程報警功能。DS18B20單總線與中央微處理器進行通信,溫度測溫范圍為-55~+125℃。DS18B20消除外部電源需要,能夠直接將溫度轉(zhuǎn)化,從數(shù)據(jù)線導(dǎo)出,可以應(yīng)用于空調(diào)環(huán)境控制,建筑物內(nèi)的溫度監(jiān)控系統(tǒng)和過程監(jiān)控控制系統(tǒng),具有微型化、低功耗、高性能等優(yōu)點。
運用單片機與計算機通信,實現(xiàn)建筑物內(nèi)溫度監(jiān)控平臺包括單片機BST-V51開發(fā)板、Keil C51單片機與C語言軟件、1602液晶顯示模塊、DS18B20數(shù)字溫度計、計算機與VC++ 6.0軟件,下面介紹調(diào)試方法,分四個步驟。
1602LCD主要技術(shù)參數(shù):顯示容量:16×2個字符,芯片工作電壓:4.5—5.5V,采用標(biāo)準的16腳帶背光接口,內(nèi)部的控制器共有11條控制指令,1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的,基本操作按照讀寫操作時序圖進行,打開Keil C51單片機軟件編寫1602LCD初始化函數(shù)void lcdInit()、寫指令函數(shù)void lcdWritComm(uchar comm)、寫數(shù)據(jù)函數(shù)void lcdWritData(uchar dat)、1602液晶顯示函數(shù)void display(int v)等操作代碼,啟動stc-isp-15xx-v6.85F燒寫應(yīng)用軟件,燒寫代碼,實現(xiàn)1602液晶顯示字母和數(shù)字。
DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器,溫度傳感器的精度為0.0625℃,在上電狀態(tài)下默認的精度為12位。DS18B20啟動后保持低功耗等待狀態(tài);當(dāng)需要執(zhí)行溫度測量和AD轉(zhuǎn)換時,總線控制器發(fā)出[44h] 溫度轉(zhuǎn)換指令,產(chǎn)生的溫度數(shù)據(jù)以兩個字節(jié)的形式被存儲到高速暫存器的溫度寄存器RAM中。編寫DS 18B20復(fù)位函數(shù)void dsInit(),溫度轉(zhuǎn)換函數(shù)void tempChangeCmd(),讀RAM溫度數(shù)據(jù)函數(shù)void tempReadCmd()等操作代碼,實現(xiàn)液晶顯示溫度如圖1所示。
編寫單片機串口通信初始化函數(shù)void serInit(void),串口通信函數(shù)void serComm(char *ptr),打開串口調(diào)試助手應(yīng)用軟件,實現(xiàn)STC89C52單片機與PC機串口通信如圖所示。
MSComm是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。MSComm 控件常用的屬性有,CommPort設(shè)置并返回通信端口號; Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位; PortOpen設(shè)置并返回通訊端口的狀態(tài),也可以打開和關(guān)閉端口; Input 從接收緩沖區(qū)返回和刪除字符; Output 向傳輸緩沖區(qū)寫一個字符串等屬性。
在計算機打開VC,新建文件,建立工程,工程取名為temperature_dis。打開“Project->Add To Project->Components and Controls->Registered Activex Controls”,然后選擇控件:Microsoft Communication Control,version 6.0插入到當(dāng)前的工程中。
將CMSComm 的相關(guān)文件 mscomm.cpp 和 mscomm.h加入到工程中。選擇控件工具條中的串口控件,增加OnOn-CommMscomm1() 函數(shù)。選擇控件工具條中的編輯框控件abl,為編輯框和串口選擇關(guān)聯(lián)變量m_tempDat和m_temp-Comm,在OnInitDialog() 函數(shù)加入代碼。
圖1
圖2
可視化PC機控制界面能夠?qū)崟r顯示建筑物內(nèi)的當(dāng)前溫度如圖2所示。
在單片機組成的溫度監(jiān)控系統(tǒng)中,一般由單片機作為下位機,完成數(shù)據(jù)采集、狀態(tài)判別、輸出控制溫度參數(shù),上位機PC機完成采集數(shù)據(jù)信息的存儲與分析,以實現(xiàn)對溫度的實時監(jiān)控。
[1]郭天祥.數(shù)字電子技術(shù)基礎(chǔ)[M.]電子工業(yè)出版社.
[2]BST-V51單片機開發(fā)板教程. 深圳市亞博智能科技有限公司.
[3]DS18B20中英文數(shù)據(jù)手冊.