數字溫度計的設計說明_第1頁
數字溫度計的設計說明_第2頁
數字溫度計的設計說明_第3頁
數字溫度計的設計說明_第4頁
數字溫度計的設計說明_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 2008 屆畢業(yè)設計(說明書)題目: 數字溫度計的設計 班 級:08高職機電二班 學 號:4 姓 名: 1235 指導教師: 55464 2011年4月數字溫度計的設計學生: 4 學 號:4 專 業(yè):機電一體化技術 班 級:4 指導教師: 4 完成日期: 4 摘 要在一些溫控系統(tǒng)電路中,廣泛采用的是通過熱電偶、熱電阻或PN結測溫電路經過相應的信號調理電路,轉換成AD轉換器能接收的模擬量,再經過采樣保持電路進行AD轉換,最終送入單片機及其相應的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調理電路實現復雜、易受干擾、不易控制且精度不高。本文介紹單片機結合DS18B20溫度控制系統(tǒng)設計,因此,本系統(tǒng)用一

2、種新型的可編程溫度傳感器(DS18B20),不需復雜的信號調理電路和AD轉換電路能直接與單片機完成數據采集和處理,實現方便、精度高,可根據不同需要用于各種場合。關鍵詞:單片機,AT89S51,MAX232,傳感器DS18B20目 錄摘 要I第一章 緒論1 1.1 單片機概述1 1.2 選題背景及設計意義2 1.3設計方案論證3第二章 硬件設計5 2.1硬件電路的設計5 2.2各元器件介紹12第三章 系統(tǒng)軟件設計17 3.1設計流程圖17 3.2匯編語言程序21第四章 調 試34 4.1終合調試34致 36參考文獻37附錄38第一章 緒論1.1 單片機概述單片機的結構特征是將組成計算機的基本部件

3、集成在一塊晶體芯片上,構成一臺功能獨特的單片微型計算機。一臺典型的單片機的基本組成結構包括中央處理器(CPU),存儲器(ROM和RAM),并行I/O口,串行I/O口,定時器/計數器,定時電路及元件。由此可見,單片機在結構上突破了常規(guī)的按邏輯功能劃分芯片。由多片構成了微型計算機的設計思想,將構成計算機的許多功能集成在一塊晶體芯片上。單片機的特點:1 單片機中的存儲器ROM和RAM是嚴格分工的。ROM為程序存儲器,只存放程序、常數及數據表格。而RAM則為數據存儲器,用作工作區(qū)及存放變量。這樣的結構主要是考慮到單片機用于控制系統(tǒng)中,有較大的程序存儲空間,把已調試好的程序固化在ROM中,而把少量的隨機

4、數據存放在RAM中,這樣,小容量數據存儲器能以高速RAM形式集成在單片機,以加快單片機的執(zhí)行速度。但單片機上RAM是作為數據存儲器用,而不是當作高速數據緩沖存儲器(Cache)用。可靠性良好:單片機是按照工業(yè)控制要求設計的,其抗工業(yè)噪聲干擾優(yōu)于一般的 CPU,程序指令及常數數據都燒在ROM,其許多信號通道均在同一芯片,因此可靠性較高。2 采用面向控制的指令系統(tǒng)。為滿足控制的需要,單片機的邏輯控制能力要優(yōu)于同等級的CPU,持別是單片機具有很強的位處理能力。單片機的運行速度也較高。3 單片機的I/O引腳通常是多功能的。由于單片機芯片上引腳數有限,了解決實際引腳數和需要的信號線數的矛盾,采用了引腳功

5、能復用的方法,引腳處于何種功能,可由指令來設置或由機器狀態(tài)來區(qū)分。4 系列齊全,功能擴展性強。單片機有部掩膜ROM、部EPROM和外接ROM等形式,并可方便地擴展外部的ROM、RAM及I/O接口,與許多通用的微機接口芯片兼容,對應用系統(tǒng)的設計和生產帶來極大的方便。5 單片機的功能是通用的。單片機雖然主要作控制器用,但是功能上還是通用的,可 以象一般微處理器那樣廣泛應用在各個方面。單片機的應用領域如下:1 家用電器領域:目前國各種家用電器已普遍采用單片機控制取代傳統(tǒng)的控制電路,做成單片機控制系統(tǒng)。2 辦公自動化領域:現代辦公室所使用的大量通信,信息產品多數采用了單片機。3 在商業(yè)營銷系統(tǒng)已廣泛使

6、用的電子秤,收款機,條形碼閱讀器,倉庫安全監(jiān)控系統(tǒng),商場保安系統(tǒng),空氣調節(jié)系統(tǒng)等,目前已紛紛采用單片機構成專用系統(tǒng)。4 工業(yè)自動化:如工業(yè)過程控制,過程監(jiān)測,工業(yè)控制器及機電一體化系統(tǒng)等,這些系統(tǒng)除一些小型工控機之外,許多都是以單片機為核心的單機或多機網絡系統(tǒng)。5 智能儀表與集成智能傳感器傳統(tǒng)的控制電路:目前各種變送器,電氣測量儀表普遍采用單片機應用系統(tǒng)替代傳統(tǒng)的測量系統(tǒng),使測量系統(tǒng)具有各種智能化功能。將單片機和傳感器相結合可以構成新一代的智能傳感器。他將傳感器初級變換后的電量做進一步的變換,處理,輸出能滿足遠距離傳送,能與微機接口的數字信號。6 汽車電子與航空航天電子系統(tǒng):通常在這些電子系統(tǒng)

7、中的集中顯示系統(tǒng),動力監(jiān)測控制系統(tǒng),自動駕馭系統(tǒng),通信系統(tǒng),以及運行監(jiān)視器(黑匣子)等,都要都成冗余的網絡系統(tǒng)。1.2 選題背景及設計意義一、選題背景最早的溫度計是在1593年由意大利科學家伽利略發(fā)明的。他的第一只溫度計是一根一端敞口的玻璃管,另一端帶有核桃大的玻璃泡。使用時先給玻璃泡加熱,然后把玻璃管插入水中。隨著溫度的變化,玻璃管中的水面就會上下移動,根據移動的多少就可以判定溫度的變化和溫度的高低。這種溫度計,受外界大氣壓強等環(huán)境因素的影響較大,所以測量誤差大。荷蘭人華倫海特在1709年利用酒精,在1714年又利用水銀作為測量物質,制造了更精確的溫度計。把一定濃度的鹽水凝固時的溫度定為0,

8、把純水凝固時的溫度定為32,把標準大氣壓下水沸騰的溫度定為212,用代表華氏溫度,這就是華氏溫度計。 二、設計意義本設計所介紹的數字溫度計與傳統(tǒng)的溫度計相比,具有讀數方便,測溫圍廣,測溫準確,其輸出溫度采用數字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。它具有結構簡單,不需外接元件,采用一根I/ O 數據線既可供電又可傳輸數據、并可由用戶設置溫度報警界限等特點,可廣泛用于食品庫、冷庫、糧庫等需要控制溫度的地方。該設計控制器使用單片機AT 89S51,測溫傳感器使用DS18B20,,實現溫度顯示,能準確達到以下要求:測溫圍-55125 精度誤差小于0.5。LED數碼管直讀顯示 可以任意

9、設置溫度的上下限報警功能。1.3設計方案論證方案一:本電路是溫度計的設計,在測溫電路中利用熱敏電阻器件的感溫效應,將隨被測溫變化的電壓或電流采集過來,進行A/D轉換后,用單片機進行數據處理,經顯示電路就可以顯示出來。方案二:在日常生活及工農業(yè)生產中經常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉換成對應的溫度,需要比較多的外部硬件支持,硬件電路復雜,軟件調試復雜,制作成本高。方案三:基于單片機的溫度傳感器設計的數字溫度計已經很成熟,各種精度很高的溫度計不斷推出。數字溫度計要求檢測的精度必須高于控制的精確度,否則無從實現控制的精度要求。所以精度

10、已經成為數字溫度計的一項重要的性能參數。因此追求高精度是數字溫度計的一個目標。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學技術領域無時不在進行檢測??茖W技術的發(fā)展和檢測技術的發(fā)展是密切相關的。現代化的檢測手段能達到的精度、靈敏度及測量圍等,在很大程度上決定了科學技術的發(fā)展水平。同時,科學技術的發(fā)展達到的水平越高,又為檢測技術、傳感器技術提供了新的前提手段。目前市場上出現了很多傳感器,很多精度高的傳感器已經出現,而且精度越來越高。數字溫度計未來將會更精確、更人性化,為我們做出更多貢獻。為此我們選擇方案三的設計,框圖如下:圖1-1 時鐘結構圖LED顯示主控制器溫 度傳感單片機復位報警點按

11、鍵時鐘振蕩 溫度計電路設計總體設計方框圖如圖所示,控制器采用單片機AT89S51,溫度傳感器采用DS18B20,用四位LED數碼管以串行口傳送數據實現溫度顯示。第二章 硬件設計2.1硬件電路的設計圖2-1 硬件電路設計圖本設計系統(tǒng)共由四部分組成: AT89S51為控制裝置,負責各部分的控制和數據采集。 DB9和MAX232組成了通訊系統(tǒng),負責和上位機通訊的TTL/RS232電平轉換。 DS18B20為溫度測量裝置,負責對溫度進行采集并轉換為數字信號送AT89S51進行處理。 共陽極數碼管為顯示裝置,負責顯示工作狀態(tài)和DS18B20 采集到的數據。注:LED數碼管驅動電路中采用P0 口加上拉電阻

12、的形式,為方便焊接,本設計中電阻使用了排阻的方式,三極管使用的是S9012.1、時鐘電路時鐘電路可以簡單定義如下:1.就是產生象時鐘一樣準確的振蕩電路。 2.任何工作都按時間順序。用于產生這個時間的電路就是時鐘電路。時鐘電路用于產生單片機工作所需的時鐘信號,時序是指令執(zhí)行中各信號之間的相互關系。單片機本身就如同一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。在AT89S51單片機部帶有時鐘電路,因此,只需要在片外通過XTAL1和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即可構成一個穩(wěn)定的自激振蕩器。在AT89s51芯片部有一個高增

13、益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調電容。在單片機的XTAL1腳和XTAL2腳之間并接一個晶體振蕩器就構成了部振蕩方式。AT89S51單片機部有一個高增益的反相放大器,XTAL1為部反相放大器的輸入端,XTAL2為部反相放大器的輸出端,在其兩端接上晶振后,就構成了自激振蕩電路,并產生振蕩脈沖,振蕩電路輸出的脈沖信號的頻率就是晶振的固有頻率。在實際應用常還需要在晶振的兩端和地之間各并上一個小電容。AT89S51的時鐘電路如圖2.2所示:圖中,電容器C1、C2常稱為微調電容,其作用有三個:圖2-2 AT89S51的時鐘電路快速起振、穩(wěn)定振蕩頻率、微調振蕩頻率

14、。AT89S51單片機允許外接033M Hz的晶振,電容器C1、C2可取5pF33pF。一般情況下,使用頻率較低的晶振時,C1、C2的容量可選大一點。為了更好地保證振蕩器穩(wěn)定可靠地工作,在實際裝配電路時,晶振X和電容C1、C2應盡可能地安裝在XTAL1、XTAL2引腳附近。部振蕩方式所得到時鐘信號比較穩(wěn)定,在實際電路中,一般是選用部振蕩方式。用晶振和電容構成諧振電路。電容大小與晶振頻率和工作電壓有關。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本實驗板采用30pF的電容作為微調電容。在設計電路板時,晶振、電容等均應盡可能靠近芯片,以減小分布電容,保證振蕩器振蕩的穩(wěn)定性。2、復位

15、電路復位的功能:復位是單片機的初始化操作,其目的是使CPU和系統(tǒng)中各部分處于一個確定的狀態(tài),并從這一狀態(tài)開始工作。系統(tǒng)上電路或死機后都要進行復位操作。單片機復位時,將程序計數器PC初始化為0000H,表明復位后程序從0000H地址單元開始執(zhí)行,同時復位時輸出控制信號ALE,PSEN均為高電平。復位后,P0P3口輸出高電平,且使準雙向口均處于輸入狀態(tài)。復位不改變片RAM單元的容,但使各特殊功能寄存器SFR回復到初始狀態(tài),復位后各特殊功能寄存器值如表26所示:表26 主要特殊功能寄存器復位初始值特殊功能寄存器 初始值特殊功能寄存器初始值ACC00HTCON00HB00HTMOD00HPSW00HT

16、L000HSP07HTH000HDPTR0000HTL100HP0P3FFHTH100HPCON0XXX 0000BT2CON00HAUXRXXX0 0XX0BT2MODXXXX XX00BAUXR1XXXX XXX0BRCAP2L00HIE0X00 0000BRCAP2H00HIPXX00 0000BTL200HSCON00HTH200HSBUFXXXX XXXXXBWDTRSTXXXX XXXXB表26中部分符號的含義如下:PSW=00H:表明復位后自動選擇第0組工作寄存器組為當前工作寄存器組SP=07H:表明堆棧指針指向片RAM07H單元,堆棧的壓入操作為先加后壓,所以第一個被壓入的數據

17、存放在08H單元中P0P3=FFH:表明各端口寫入1,此時各端口既可作輸入口,也可以作輸出口AUXR=XXX0 0XX0:表明ALE引腳在CPU不訪問外部存儲器期間有脈沖信號輸出AUXR1=XXXX XXX0:表明選擇DPTR0作數據指針I(yè)E=00H:表明各中斷均關閉TCON=00H:表明T0,T1 均被停止SCON=00H:表明串口處于方式0,允許發(fā)送,不允許接收PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,單片機處于正常工作方式。單片機的RST引腳為復位引腳,振蕩電路正常工作后,RST端加上持續(xù)兩個機器周期的高電平后,單片機就被復位。復位電路有3種基本方式:上電復

18、位,開關復位和看門狗復位。這里只介紹上電復位和開關復位。(1) 上電復位上電復位的含義:計算機在接通電源的時候會進行一系列的初始化操作,包括測試存,向存導入BIOS數據,初始化寄存器,初始化各個硬件等等,統(tǒng)稱上電復位。所謂上電復位就是單片機只要一上電就自動實現復位操作。常用的上電復位電路如圖1所示 圖2-3 單片機上電復位電路圖 (a) (b)圖a、圖b所示電路在本質上是一樣,它們都是RC微分復位電路。由于單片機的RST端對地存在一個等效電阻R,圖a中的微分電阻為R1與R的并聯電阻,圖b中的微分電阻取至RST端的等效電阻R。上電時,電源通過微分電阻對電容充電,由于電容兩端電壓不能突變,所以RS

19、T端出現一個正脈沖。過一段時間后,電容兩端電荷充滿,電容等效為開路,于是RST端所加電壓為低電平,單片機完成復位。從圖中可以看出,RST端高電平持續(xù)時間取于RC電路的充電時間常數。合理選擇C1和R1就可以實現上電復位。由于上電后,振蕩電路起振要經歷一個振蕩建立時間,不同頻率的振蕩器,起振蕩建立時間不同,所以不同振蕩頻率下,上述上電復位電路的參數不同。通常要求上電時RST復位高電平能持續(xù)10ms以上,R、C的取值一般為:C1=1030F,R1=1K10K當晶振頻率為6MHz時,可取R1=1 K,C1=22F晶振頻率為12MHz時,可取C1=10F,R1=8.2 K(2)開關復位開關復位是指通過接

20、通按鈕開關,使單片機進入復位狀態(tài)。開關復位電路一般不單獨使用。在應用系統(tǒng)設計中,若需使用開關復位電路,一般的做法是將開關復位與上電復位組合在一起形成組合復位電路,上電復位電路完成上電復位功能,開關復位電路完成人工復位。這種組合復位電路如圖2所示圖2.3-單片機組合復位電路圖單片機組合復位電路:圖中C1,R1構成了上電復位電路。上電復位后,電源經R1對C1充滿電源,C1等效于開路,RST端為低電平;單片機正常工作。按開關K后,C1兩端電荷經R2迅速放電,K斷開后,由C1、R1及電源完成對單片機的復位操作。在上述電路中,R2的取值一般為0200,C1、R1按上電復位電路的設計而取值。 復位電路的作

21、用非常重要,能否成功復位關系但單片機系統(tǒng)能否正常運行的問題。如果振蕩電路正常而單片機系統(tǒng)不能正常運行,其主要原因是單片機沒有完成正常復位,程序計數器的值沒有回0,特殊功能寄存器沒有回到初始狀態(tài)。這時可以適當地調整上電復位電路的阻容值,增加其充電時間常數來解決問題。本文采用上電復位電路。3、LED數碼管顯示電路單片機系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結構:段顯示(7段、米字型等)和點陣顯示(5×8、8×8點陣等

22、)。 (1)靜態(tài)顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數碼管必須接一個8位鎖存器用來鎖存待顯示的字形碼。送入一次字形碼顯示字形一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。(2)動態(tài)顯示動態(tài)顯示的特點是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。這樣一來,就沒有必要每一位數碼管配一個鎖存器,從而大簡化了硬件電路。選亮數碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼

23、管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。 圖2-4 七段LED顯示器使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數字或字符,必須對數字或字符進行編碼。七段數碼管加上一個小數點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。用共陰LED顯示器顯示16進制數的編碼已列在下表。共陰數碼管碼表v 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,v 0 1 2 3 4 5v 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,v 6 7 8 9 A Bv 0x39

24、, 0x5e , 0x79 , 0x71 , 0x00v C D E F 無顯示2.2各元器件介紹AT89S51 AT89S51 是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器的低電壓、高性能 CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造計術制造,與工業(yè)標準的 MCS-51指令集和輸出管腳相兼容,并有ISP管腳,只需要將單片機的ISP引腳接入專用的下載線上就可以編程。由于將多功能8位CPU和閃爍存儲器組合在這個芯片中,ATMEL的 AT89S51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖2-5 AT89S51AT89S51圖如下: (1)主要特性

25、:8031 CPU與MCS-51兼容4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán)) 全靜態(tài)工作:0Hz-24KHz三級程序存儲器鎖定128*8位部RAM32條可編程I/O線兩個16位定時/器計數器6個中斷源可編程串行通道低功耗的閑置和調電模式VCC:供電電壓 GND:接地 (2) 各引腳及功能說明P0口:P0口為一個8位漏極開路雙向I/O口。P0口能用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FALSH進行校驗時,P0口輸出原碼,此時P0口外部必須被拉高。P1口:P1口是 一個部提供上拉電阻的8位雙向I/O口。P1口管腳寫入

26、1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流。在FALSH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個部上拉電阻的8位雙向I/O口。當P2口被寫入“1”時,其管腳被部上拉電阻拉高,且作為輸入。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口。當P3口寫入“1”后,它們被部上拉為高電平并用作輸入。 P3口:除作I/O口使用外,還有特殊功能如圖所示P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.

27、2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(計時器0外部輸入)P3.5T1(計時器1外部輸入)P3.6/WR(外部數據存儲器寫選通)P3.7/RD(外部數據存儲器讀選通)P3口同時為編程和校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FALSH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6.因此它可用作外部數據存儲器時,將跳過一個ALE脈沖。如果想禁止ALE的輸出可在

28、SFR8EH地址上置0.此時,ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外,該指令被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有校。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有部程序存儲器,注意加密方式1時,/EA將部鎖定為RESET;當/EA端保持高電平時,此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振

29、蕩放大器的輸入及部時鐘工作電路的輸入XTAL2:來自反向振蕩器的輸出ISP:在線編程引腳P1.5、P1.6、P1.7、RST四個引腳可以作為在系統(tǒng)編程引腳(3)振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時鐘源驅動件,XTAL2應不接。其余輸入至部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證,脈沖的高低電平要求的寬度。MAX232:MAX232是一種雙組驅動器接收器,片含有一個電容性電壓發(fā)生器以便在單5V電源供電時提供EIA/TIA-232-E電平,每個接收器將EIA/TI

30、A-232-E 電平輸入轉換為5 V TTL/CMOS電平。這些接收器具有1.3 V的典型門限及0.5V的典型遲滯,而且可以接收±30的輸入,每個驅動器將TTL/CMOS輸入電平轉換為 EIA/TIA-232-E電平,其主要特點為:單5V電源工作LinBiCMOSTM工藝技術兩個驅動器及兩個接收器±30V輸入電平低電源電流:典型值是8mA符合ANSI標準EIA/TIA-232-E及ITU推薦標準 V.28 ESD保護大于MIL-STD-883 標準的2000VDS18B20: DS18B20基本知識DS18B20數字溫度計是DALLAS公司生產的1Wire,即單總線器件,具

31、有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。DS18B20產品的特點:(1)、只要求一個端口即可實現通信。(2)、在DS18B20中的每個器件上都有獨一無二的序列號。(3)、實際應用中不需要外部任何元器件即可實現測溫。(4)、測量溫度圍在55。C到125。C之間。(5)、數字溫度計的分辨率用戶可以從9位到12位選擇。(6)、部有溫度上、下限告警設置。DS18B20的引腳介紹TO92封裝的DS18B20的引腳排列見圖1,其引腳功能描述見表1。 表1DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數據

32、輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。第三章 系統(tǒng)軟件設計3.1設計流程圖開始設備初始化PC發(fā)送工作指令開始工作(測溫、顯示)PC發(fā)送命令按照命令執(zhí)行操作PC發(fā)停機命令NYNYNY圖3-1 系統(tǒng)工作流程圖開始是否中斷是否命令字符停機命令非停機命令為發(fā)送數據命令發(fā)送溫度數據結束結束結束寫入ROM關中斷,能標志歸0錯誤,發(fā)送,E開中斷,使能標志置1YYYYYN,發(fā)中斷N,發(fā)數據N,停機NN圖3-2 串行口中斷流程開始初值重裝從18B20讀溫度并存儲到RAM發(fā)送高溫警報到PC發(fā)送低溫警報到PC對

33、讀取數據進行處理DS18B20存在低于報警高溫線結束高于報警低溫線YYYNYN圖3-3 T0口中斷流程圖開始DS18B20復位程序發(fā)溫度轉化指令并做750cm延遲復位DS18B20發(fā)送取溫度數據命令讀取溫度數據清DS18B20存在標志位,數碼顯示管000.F,跳出程序DS18B20存在標志位為1結束YN圖3-4 CET_TEMPER 子程序流程圖3.2匯編語言程序;*;* 匯編語言程序 *;*ENABLE EQU 00HDTSIGN EQU 01HSDSIGN EQU 02HHAVE EQU 03HPSHU EQU 04HLED0 EQU P0.0LED1 EQU P0.1LED2 EQU P

34、0.2LED3 EQU P0.3WR1820 EQU P1.1SEG EQU P2WARNH0 EQU 31HWARNH1 EQU 32HTEMP0 EQU 34HTEMP1 EQU 35HDIS0 EQU 36HDIS1 EQU 37HDIS2 EQU 38HDIS3 EQU 39HSDAT EQU 'D'WORK EQU 'W'PAUSE EQU 'P'ERR EQU 'E'ORG 0000HAJMP MAINORG 000BHAJMP T0INTORG 0023HAJMP S_INT;*;* 主程序 *;*ORG 0030H

35、MAIN: MOV SP,#40H ; 堆棧棧底放50HMOV WARNH0,#30HMOV WARNH1,#00CALL T0INIT ;初始化T0CALL T1INIT ;初始化T1CALL SINIT ;初始化串口CLR ENABLE ;清使能標志CLR DTSIGN ;清數據標志JNB ENABLE,$ ;查詢使能,無效則停機LCALL INT_ENLOOP: CALL DISPLY ;調用顯示子程序JNB ENABLE,$ ;查詢使能,無效則停機AJMP LOOP;T0初始化T0INIT:ORL TMOD,#01HANL TMOD,#0F1H MOV TH0,#3CH MOV TL0

36、,#0B0H MOV R7,#15H ;軟件記數初值RET;T1初始化T1INIT:ORL TMOD,#20HANL TMOD,#02FHMOV TH1,#0FDHMOV TL0,#0FDHCLR ET1 ; 關T1中斷SETBTR1 ; T1開始計數RET;串口初始化SINIT: ANL PCON,#7FHMOV SCON,#50HSETBEA ; 開全局中斷SETB ES ; 開串口中斷RET;開中斷子程序INT_EN: SETB ET0 ;開T0中斷SETB TR0RET ;T0開始計數;關中斷子程序INT_DS: CLR ET0 ;關T0中斷CLR TR0 ;T0停止計數RET;*;*

37、 顯示子程序 *;*DISPLY: PUSH ACC ;保護現場PUSH 06HMOV A,TEMP1 ;溫度整數部分送AMOV B,#100HDIV AB ;相除取百位MOV DIS3,A ;百位送DIS3MOV A, B ; 余數送 AMOV B,#10DIV AB ; 相除取十位MOV DIS2,A ;十位送DIS2MOV DIS1,B ;個位送DIS1MOV DIS0,TEMP0 ;小數部分送DIS0MOV DPTR,#ZIXING ;送字型碼首地址MOV A,DIS0 ;取小數MOVC A,A+DPTR ;取對應字型碼SETB LED0SETB LED1SETB LED2SETB L

38、ED3CLR LED0MOV SEG, A ;送字型碼CALL DELAY0MOV A,DIS1 ;取各位MOVC A,A+DPTR ;取對應字型碼CLR ACC.7 ;清最高位顯示小數點SETB LED0SETB LED1SETB LED2SETB LED3CLR LED1MOV SEG, A ;送字型碼CALL DELAY0MOV A, DIS2 ;取十位MOVC A,A+DPTR ;取對應字型碼SETB LED0SETB LED1SETB LED2SETB LED3CLR LED2MOV SEG,A ;送字型碼CALL DELAY0MOV A,DIS3 ;取百位JNB FSHU,ZHEN

39、G ;判斷是否為正數MOV A,#16 ;如果不是正數送'-' ZHENG: MOVC A,A+DPTR ;取對應字型碼SETB LED0SETB LED1SETB LED2SETB LED3CLR LED3MOV SEG, A ;送字型碼CALL DELAY0OUTDIS: POP 06HPOP ACCRETZIXING: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ; 共陽數碼管字型碼DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH;延遲子程序DELAY0: MOV R6,#1FHDEL0: MOV R5

40、,#0bhDEL1: NOPDJNZ R5,DEL1DJNZ R6,DEL0RET; *; * 串口中斷 *; *S_INT: PUSH ACCJNB T I,RINT ;若不是發(fā)送中斷則轉接收中斷處理程序CLR TI ;清發(fā)中斷標志RINT: JBC RI,RXD ;判斷是否收中斷,若不是退出OUTSint: POP ACCRETIRXD: MOV A,SBUF ; 將輸入緩沖送AJNB DTSIGN, COMMEND0 ;判斷是否為上位機發(fā)送數據MOV R0,A ; 若是數據送A里面的數到警報溫度RAMINC R0DJNZ R6,OUTSint ; 未送完則退出等待CLR DTSIGN ;

41、 送完,清數據標志位AJMP OUTSintCOMMEND0:CJNE A,#SDAT,COMMEND1 ; 判斷PC是否開始發(fā)送數據SETB DTSIGN ;數據標志位置1MOV R6,#04HMOV R0,#WARNH0 ; R0送警報溫度首地址AJMP OUTSintCOMMEND1: CJNE A,#WORK,NOTWORK ;判斷是否為允許工作命令SETB ENABLE ;若允許工作使能標志置1LCALL INT_EN ;開中斷AJMP OUTSintNOTWORK: CJNE A,#PAUSE,NOTPAU ;判斷是否為暫停工作命令CLR ENABLE ;若暫停工作使能標志清0LC

42、ALL INT_DS ;關中斷MOV P0,0FFHMOV P1,0FFHAJMP OUTSintNOTPAU:CJNE A,#ERR,ISERR0 ;判斷數據是否錯誤 SDSIGN,NOERR ;判斷發(fā)送數據為第一個字節(jié)還是第二個MOV R6,#02H ;若為第一個,置發(fā)送計數SETB SDSIGN ;發(fā)送標志置1MOV R0,#TEMP0 ;溫度數據指針NOERR1: MOV A,R0 ;溫度數據送AMOV SBUF ,A ;發(fā)送溫度數據INC R0 ;指針加1DJNZ R6,OUTSintCLR SDSIGN ;清發(fā)送標志AJMP OUTSintISERR0: MOV A, #45H ;

43、錯誤,發(fā)'E' 的ASCII碼MOV SBUF,AAJMP OUTSint; *;* T0中斷子程序 *;*T0INT: PUSH ACC ;保護現場PUSH 06HPUSH 05HMOV TL0,#0B0H ;初值重裝MOV TH0,#3CHDJNZ R7, OUTSintMOV R7, #15HLCALL GET_TEMPER ;讀取溫度JNB HAVE,OUTT0intMOV A,TEMP1CLR CSUBB A,WARNH0 ;將讀取的溫度與高溫限比較TINT0: JNC TINT1 ;判斷是否大于高溫限AJMP TINT2 ;不大于轉TINT2TINT1:MOV A,#'H' ;大于高溫限發(fā)送'H'到 PCMOV SBUF,AAJMP TINT4TINT2: SUBB A,WARNH1 ;將讀取的溫度與低溫限比較JC TINT3 ;判斷是否小于低溫限AJMP TINT4 ;不小于轉TINT4TINT3: MOV A,#'L' ;小于低溫限發(fā)送 'L'到PCMOV SBUF,ATINT4: CALL PRO ; 處理數據OUTT0int: POP 05HPOP 06HPOP ACCRETI; *; * 從18B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論