




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 蘭州文理學(xué)院學(xué)生畢業(yè)論文 題 目: 數(shù)字溫度計的設(shè)計 作 者: 張睿智 指導(dǎo)老師: 鄭卓 蘭州文理學(xué)院 學(xué)院 電子信息工程 系電子信息工程技術(shù) 專業(yè) 13 級 3 年制 電子信息工程技術(shù)(1)班 2016年 4 月 主要內(nèi)容簡介:(300500字)指導(dǎo)老師姓名鄭卓職 稱論文評語成 績指導(dǎo)老師簽名總評意見: 評審人: 年 月 日注:1.評語、成績由指導(dǎo)老師填寫。 2.評語及總評意見應(yīng)包括學(xué)術(shù)價值、實際意義、達到水平、學(xué)術(shù)觀點和論證有無錯誤。 摘 要 在一些溫控系統(tǒng)電路中,廣泛采用的是通過熱電偶、熱電阻或PN結(jié)測溫電路經(jīng)過相應(yīng)的信號調(diào)理電路,轉(zhuǎn)換成AD轉(zhuǎn)換器能接收的模擬量,再經(jīng)過采樣保持電路進行
2、AD轉(zhuǎn)換,最終送入單片機及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調(diào)理電路實現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高。本文介紹單片機結(jié)合DS18B20溫度控制系統(tǒng)設(shè)計,因此,本系統(tǒng)用一種新型的可編程溫度傳感器(DS18B20),不需復(fù)雜的信號調(diào)理電路和AD轉(zhuǎn)換電路能直接與單片機完成數(shù)據(jù)采集和處理,實現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場合。關(guān)鍵詞:單片機,AT89S51,MAX232,傳感器DS18B20目 錄摘 要I第一章 緒論1 1.1 單片機概述1 1.2 選題背景及設(shè)計意義2 1.3設(shè)計方案論證3第二章 硬件設(shè)計5 2.1硬件電路的設(shè)計5 2.2各元器件介紹12第三章 系統(tǒng)軟件設(shè)計
3、17 3.1設(shè)計流程圖17 3.2匯編語言程序21第四章 調(diào) 試34 4.1終合調(diào)試34致 謝36參考文獻37附錄3838第一章 緒論1.1 單片機概述單片機的結(jié)構(gòu)特征是將組成計算機的基本部件集成在一塊晶體芯片上,構(gòu)成一臺功能獨特的單片微型計算機。一臺典型的單片機的基本組成結(jié)構(gòu)包括中央處理器(CPU),存儲器(ROM和RAM),并行I/O口,串行I/O口,定時器/計數(shù)器,定時電路及元件。由此可見,單片機在結(jié)構(gòu)上突破了常規(guī)的按邏輯功能劃分芯片。由多片構(gòu)成了微型計算機的設(shè)計思想,將構(gòu)成計算機的許多功能集成在一塊晶體芯片上。單片機的特點:1 單片機中的存儲器ROM和RAM是嚴格分工的。ROM為程序存
4、儲器,只存放程序、常數(shù)及數(shù)據(jù)表格。而RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放變量。這樣的結(jié)構(gòu)主要是考慮到單片機用于控制系統(tǒng)中,有較大的程序存儲空間,把已調(diào)試好的程序固化在ROM中,而把少量的隨機數(shù)據(jù)存放在RAM中,這樣,小容量數(shù)據(jù)存儲器能以高速RAM形式集成在單片機內(nèi),以加快單片機的執(zhí)行速度。但單片機上RAM是作為數(shù)據(jù)存儲器用,而不是當(dāng)作高速數(shù)據(jù)緩沖存儲器(Cache)用??煽啃粤己茫簡纹瑱C是按照工業(yè)控制要求設(shè)計的,其抗工業(yè)噪聲干擾優(yōu)于一般的 CPU,程序指令及常數(shù)數(shù)據(jù)都燒在ROM內(nèi),其許多信號通道均在同一芯片內(nèi),因此可靠性較高。2 采用面向控制的指令系統(tǒng)。為滿足控制的需要,單片機的邏輯控制能力
5、要優(yōu)于同等級的CPU,持別是單片機具有很強的位處理能力。單片機的運行速度也較高。3 單片機的I/O引腳通常是多功能的。由于單片機芯片上引腳數(shù)有限,了解決實際引腳數(shù)和需要的信號線數(shù)的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。4 系列齊全,功能擴展性強。單片機有內(nèi)部掩膜ROM、內(nèi)部EPROM和外接ROM等形式,并可方便地擴展外部的ROM、RAM及I/O接口,與許多通用的微機接口芯片兼容,對應(yīng)用系統(tǒng)的設(shè)計和生產(chǎn)帶來極大的方便。5 單片機的功能是通用的。單片機雖然主要作控制器用,但是功能上還是通用的,可 以象一般微處理器那樣廣泛應(yīng)用在各個方面。單片機的應(yīng)用領(lǐng)域
6、如下:1 家用電器領(lǐng)域:目前國內(nèi)各種家用電器已普遍采用單片機控制取代傳統(tǒng)的控制電路,做成單片機控制系統(tǒng)。2 辦公自動化領(lǐng)域:現(xiàn)代辦公室所使用的大量通信,信息產(chǎn)品多數(shù)采用了單片機。3 在商業(yè)營銷系統(tǒng)已廣泛使用的電子秤,收款機,條形碼閱讀器,倉庫安全監(jiān)控系統(tǒng),商場保安系統(tǒng),空氣調(diào)節(jié)系統(tǒng)等,目前已紛紛采用單片機構(gòu)成專用系統(tǒng)。4 工業(yè)自動化:如工業(yè)過程控制,過程監(jiān)測,工業(yè)控制器及機電一體化系統(tǒng)等,這些系統(tǒng)除一些小型工控機之外,許多都是以單片機為核心的單機或多機網(wǎng)絡(luò)系統(tǒng)。5 智能儀表與集成智能傳感器傳統(tǒng)的控制電路:目前各種變送器,電氣測量儀表普遍采用單片機應(yīng)用系統(tǒng)替代傳統(tǒng)的測量系統(tǒng),使測量系統(tǒng)具有各種智
7、能化功能。將單片機和傳感器相結(jié)合可以構(gòu)成新一代的智能傳感器。他將傳感器初級變換后的電量做進一步的變換,處理,輸出能滿足遠距離傳送,能與微機接口的數(shù)字信號。6 汽車電子與航空航天電子系統(tǒng):通常在這些電子系統(tǒng)中的集中顯示系統(tǒng),動力監(jiān)測控制系統(tǒng),自動駕馭系統(tǒng),通信系統(tǒng),以及運行監(jiān)視器(黑匣子)等,都要都成冗余的網(wǎng)絡(luò)系統(tǒng)。1.2 選題背景及設(shè)計意義一、選題背景最早的溫度計是在1593年由意大利科學(xué)家伽利略發(fā)明的。他的第一只溫度計是一根一端敞口的玻璃管,另一端帶有核桃大的玻璃泡。使用時先給玻璃泡加熱,然后把玻璃管插入水中。隨著溫度的變化,玻璃管中的水面就會上下移動,根據(jù)移動的多少就可以判定溫度的變化和溫
8、度的高低。這種溫度計,受外界大氣壓強等環(huán)境因素的影響較大,所以測量誤差大。荷蘭人華倫海特在1709年利用酒精,在1714年又利用水銀作為測量物質(zhì),制造了更精確的溫度計。把一定濃度的鹽水凝固時的溫度定為0,把純水凝固時的溫度定為32,把標(biāo)準(zhǔn)大氣壓下水沸騰的溫度定為212,用代表華氏溫度,這就是華氏溫度計。 二、設(shè)計意義本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實驗室使用。它具有結(jié)構(gòu)簡單,不需外接元件,采用一根I/ O 數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)、并可由用戶設(shè)置溫度報警界限等特點,可廣泛用于食品庫、冷
9、庫、糧庫等需要控制溫度的地方。該設(shè)計控制器使用單片機AT 89S51,測溫傳感器使用DS18B20,,實現(xiàn)溫度顯示,能準(zhǔn)確達到以下要求:測溫范圍-55125 精度誤差小于0.5。LED數(shù)碼管直讀顯示 可以任意設(shè)置溫度的上下限報警功能。1.3設(shè)計方案論證方案一:本電路是溫度計的設(shè)計,在測溫電路中利用熱敏電阻器件的感溫效應(yīng),將隨被測溫變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,用單片機進行數(shù)據(jù)處理,經(jīng)顯示電路就可以顯示出來。方案二:在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持,硬
10、件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。方案三:基于單片機的溫度傳感器設(shè)計的數(shù)字溫度計已經(jīng)很成熟,各種精度很高的溫度計不斷推出。數(shù)字溫度計要求檢測的精度必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。所以精度已經(jīng)成為數(shù)字溫度計的一項重要的性能參數(shù)。因此追求高精度是數(shù)字溫度計的一個目標(biāo)。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學(xué)技術(shù)領(lǐng)域無時不在進行檢測??茖W(xué)技術(shù)的發(fā)展和檢測技術(shù)的發(fā)展是密切相關(guān)的?,F(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學(xué)技術(shù)的發(fā)展水平。同時,科學(xué)技術(shù)的發(fā)展達到的水平越高,又為檢測技術(shù)、傳感器技術(shù)提供了新的前提手段。目前市場上出現(xiàn)了很多傳
11、感器,很多精度高的傳感器已經(jīng)出現(xiàn),而且精度越來越高。數(shù)字溫度計未來將會更精確、更人性化,為我們做出更多貢獻。為此我們選擇方案三的設(shè)計,框圖如下:圖1-1 時鐘結(jié)構(gòu)圖LED顯示主控制器溫 度傳感單片機復(fù)位報警點按鍵時鐘振蕩 溫度計電路設(shè)計總體設(shè)計方框圖如圖所示,控制器采用單片機AT89S51,溫度傳感器采用DS18B20,用四位LED數(shù)碼管以串行口傳送數(shù)據(jù)實現(xiàn)溫度顯示。第二章 硬件設(shè)計2.1硬件電路的設(shè)計圖2-1 硬件電路設(shè)計圖本設(shè)計系統(tǒng)共由四部分組成: AT89S51為控制裝置,負責(zé)各部分的控制和數(shù)據(jù)采集。 DB9和MAX232組成了通訊系統(tǒng),負責(zé)和上位機通訊的TTL/RS232電平轉(zhuǎn)換。 D
12、S18B20為溫度測量裝置,負責(zé)對溫度進行采集并轉(zhuǎn)換為數(shù)字信號送AT89S51進行處理。 共陽極數(shù)碼管為顯示裝置,負責(zé)顯示工作狀態(tài)和DS18B20 采集到的數(shù)據(jù)。注:LED數(shù)碼管驅(qū)動電路中采用P0 口加上拉電阻的形式,為方便焊接,本設(shè)計中電阻使用了排阻的方式,三極管使用的是S9012.1、時鐘電路時鐘電路可以簡單定義如下:1.就是產(chǎn)生象時鐘一樣準(zhǔn)確的振蕩電路。 2.任何工作都按時間順序。用于產(chǎn)生這個時間的電路就是時鐘電路。時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號,時序是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如同一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制
13、下嚴格地按時序進行工作。在AT89S51單片機內(nèi)部帶有時鐘電路,因此,只需要在片外通過XTAL1和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即可構(gòu)成一個穩(wěn)定的自激振蕩器。在AT89s51芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。在單片機的XTAL1腳和XTAL2腳之間并接一個晶體振蕩器就構(gòu)成了內(nèi)部振蕩方式。AT89S51單片機內(nèi)部有一個高增益的反相放大器,XTAL1為內(nèi)部反相放大器的輸入端,XTAL2為內(nèi)部反相放大器的輸出端,在其兩端接上晶振后,就構(gòu)成了自激振蕩電路,并產(chǎn)生振蕩脈沖,振蕩電路輸出的脈沖信號的頻率就是晶振的固有頻
14、率。在實際應(yīng)用中通常還需要在晶振的兩端和地之間各并上一個小電容。AT89S51的時鐘電路如圖2.2所示:圖中,電容器C1、C2常稱為微調(diào)電容,其作用有三個:圖2-2 AT89S51的時鐘電路快速起振、穩(wěn)定振蕩頻率、微調(diào)振蕩頻率。AT89S51單片機允許外接033M Hz的晶振,電容器C1、C2可取5pF33pF。一般情況下,使用頻率較低的晶振時,C1、C2的容量可選大一點。為了更好地保證振蕩器穩(wěn)定可靠地工作,在實際裝配電路時,晶振X和電容C1、C2應(yīng)盡可能地安裝在XTAL1、XTAL2引腳附近。內(nèi)部振蕩方式所得到時鐘信號比較穩(wěn)定,在實際電路中,一般是選用內(nèi)部振蕩方式。用晶振和電容構(gòu)成諧振電路。
15、電容大小與晶振頻率和工作電壓有關(guān)。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本實驗板采用30pF的電容作為微調(diào)電容。在設(shè)計電路板時,晶振、電容等均應(yīng)盡可能靠近芯片,以減小分布電容,保證振蕩器振蕩的穩(wěn)定性。2、復(fù)位電路復(fù)位的功能:復(fù)位是單片機的初始化操作,其目的是使CPU和系統(tǒng)中各部分處于一個確定的狀態(tài),并從這一狀態(tài)開始工作。系統(tǒng)上電路或死機后都要進行復(fù)位操作。單片機復(fù)位時,將程序計數(shù)器PC初始化為0000H,表明復(fù)位后程序從0000H地址單元開始執(zhí)行,同時復(fù)位時輸出控制信號ALE,PSEN均為高電平。復(fù)位后,P0P3口輸出高電平,且使準(zhǔn)雙向口均處于輸入狀態(tài)。復(fù)位不改變片內(nèi)RA
16、M單元的內(nèi)容,但使各特殊功能寄存器SFR回復(fù)到初始狀態(tài),復(fù)位后各特殊功能寄存器值如表26所示:表26 主要特殊功能寄存器復(fù)位初始值特殊功能寄存器 初始值特殊功能寄存器初始值A(chǔ)CC00HTCON00HB00HTMOD00HPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P3FFHTH100HPCON0XXX 0000BT2CON00HAUXRXXX0 0XX0BT2MODXXXX XX00BAUXR1XXXX XXX0BRCAP2L00HIE0X00 0000BRCAP2H00HIPXX00 0000BTL200HSCON00HTH200HSBUFXXXX XXX
17、XXBWDTRSTXXXX XXXXB表26中部分符號的含義如下:PSW=00H:表明復(fù)位后自動選擇第0組工作寄存器組為當(dāng)前工作寄存器組SP=07H:表明堆棧指針指向片內(nèi)RAM07H單元,堆棧的壓入操作為先加后壓,所以第一個被壓入的數(shù)據(jù)存放在08H單元中P0P3=FFH:表明各端口寫入1,此時各端口既可作輸入口,也可以作輸出口AUXR=XXX0 0XX0:表明ALE引腳在CPU不訪問外部存儲器期間有脈沖信號輸出AUXR1=XXXX XXX0:表明選擇DPTR0作數(shù)據(jù)指針I(yè)E=00H:表明各中斷均關(guān)閉TCON=00H:表明T0,T1 均被停止SCON=00H:表明串口處于方式0,允許發(fā)送,不允許
18、接收PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,單片機處于正常工作方式。單片機的RST引腳為復(fù)位引腳,振蕩電路正常工作后,RST端加上持續(xù)兩個機器周期的高電平后,單片機就被復(fù)位。復(fù)位電路有3種基本方式:上電復(fù)位,開關(guān)復(fù)位和看門狗復(fù)位。這里只介紹上電復(fù)位和開關(guān)復(fù)位。(1) 上電復(fù)位上電復(fù)位的含義:計算機在接通電源的時候會進行一系列的初始化操作,包括測試內(nèi)存,向內(nèi)存導(dǎo)入BIOS數(shù)據(jù),初始化寄存器,初始化各個硬件等等,統(tǒng)稱上電復(fù)位。所謂上電復(fù)位就是單片機只要一上電就自動實現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如圖1所示 圖2-3 單片機上電復(fù)位電路圖 (a) (b)圖a、圖b所示
19、電路在本質(zhì)上是一樣,它們都是RC微分復(fù)位電路。由于單片機的RST端對地存在一個等效電阻R,圖a中的微分電阻為R1與R的并聯(lián)電阻,圖b中的微分電阻取至RST端的等效電阻R。上電時,電源通過微分電阻對電容充電,由于電容兩端電壓不能突變,所以RST端出現(xiàn)一個正脈沖。過一段時間后,電容兩端電荷充滿,電容等效為開路,于是RST端所加電壓為低電平,單片機完成復(fù)位。從圖中可以看出,RST端高電平持續(xù)時間取于RC電路的充電時間常數(shù)。合理選擇C1和R1就可以實現(xiàn)上電復(fù)位。由于上電后,振蕩電路起振要經(jīng)歷一個振蕩建立時間,不同頻率的振蕩器,起振蕩建立時間不同,所以不同振蕩頻率下,上述上電復(fù)位電路的參數(shù)不同。通常要求
20、上電時RST復(fù)位高電平能持續(xù)10ms以上,R、C的取值一般為:C1=1030F,R1=1K10K當(dāng)晶振頻率為6MHz時,可取R1=1 K,C1=22F晶振頻率為12MHz時,可取C1=10F,R1=8.2 K(2)開關(guān)復(fù)位開關(guān)復(fù)位是指通過接通按鈕開關(guān),使單片機進入復(fù)位狀態(tài)。開關(guān)復(fù)位電路一般不單獨使用。在應(yīng)用系統(tǒng)設(shè)計中,若需使用開關(guān)復(fù)位電路,一般的做法是將開關(guān)復(fù)位與上電復(fù)位組合在一起形成組合復(fù)位電路,上電復(fù)位電路完成上電復(fù)位功能,開關(guān)復(fù)位電路完成人工復(fù)位。這種組合復(fù)位電路如圖2所示圖2.3-單片機組合復(fù)位電路圖單片機組合復(fù)位電路:圖中C1,R1構(gòu)成了上電復(fù)位電路。上電復(fù)位后,電源經(jīng)R1對C1充滿
21、電源,C1等效于開路,RST端為低電平;單片機正常工作。按開關(guān)K后,C1兩端電荷經(jīng)R2迅速放電,K斷開后,由C1、R1及電源完成對單片機的復(fù)位操作。在上述電路中,R2的取值一般為0200,C1、R1按上電復(fù)位電路的設(shè)計而取值。 復(fù)位電路的作用非常重要,能否成功復(fù)位關(guān)系但單片機系統(tǒng)能否正常運行的問題。如果振蕩電路正常而單片機系統(tǒng)不能正常運行,其主要原因是單片機沒有完成正常復(fù)位,程序計數(shù)器的值沒有回0,特殊功能寄存器沒有回到初始狀態(tài)。這時可以適當(dāng)?shù)卣{(diào)整上電復(fù)位電路的阻容值,增加其充電時間常數(shù)來解決問題。本文采用上電復(fù)位電路。3、LED數(shù)碼管顯示電路單片機系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Li
22、ght Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結(jié)構(gòu):段顯示(7段、米字型等)和點陣顯示(5×8、8×8點陣等)。 (1)靜態(tài)顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管必須接一個8位鎖存器用來鎖存待顯示的字形碼。送入一次字形碼顯示字形一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高。(2)動態(tài)顯示動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位
23、選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 圖2-4 七段LED顯示器使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。用共陰LED顯示器顯示16進制數(shù)的編碼已列在下表。共陰數(shù)碼
24、管碼表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 , 0x5e , 0x79 , 0x71 , 0x00v C D E F 無顯示2.2各元器件介紹AT89S51 AT89S51 是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器的低電壓、高性能 CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造計術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和輸出管腳相兼容,并有ISP管腳,只需要將單片機的ISP引腳
25、接入專用的下載線上就可以編程。由于將多功能8位CPU和閃爍存儲器組合在這個芯片中,ATMEL的 AT89S51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖2-5 AT89S51AT89S51圖如下: (1)主要特性:8031 CPU與MCS-51兼容4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán)) 全靜態(tài)工作:0Hz-24KHz三級程序存儲器保密鎖定128*8位內(nèi)部RAM32條可編程I/O線兩個16位定時/器計數(shù)器6個中斷源可編程串行通道低功耗的閑置和調(diào)電模式VCC:供電電壓 GND:接地 (2) 各引腳及功能說明P0口:P0口為一個8位漏極開路雙向I/
26、O口。P0口能用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當(dāng)FALSH進行校驗時,P0口輸出原碼,此時P0口外部必須被拉高。P1口:P1口是 一個內(nèi)部提供上拉電阻的8位雙向I/O口。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流。在FALSH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口。當(dāng)P2口被寫入“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。P2口在FLASH編
27、程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平并用作輸入。 P3口:除作I/O口使用外,還有特殊功能如圖所示P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(計時器0外部輸入)P3.5T1(計時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為編程和校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪
28、問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FALSH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6.因此它可用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如果想禁止ALE的輸出可在SFR8EH地址上置0.此時,ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外,該指令被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有校。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/
29、EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器,注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入XTAL2:來自反向振蕩器的輸出ISP:在線編程引腳P1.5、P1.6、P1.7、RST四個引腳可以作為在系統(tǒng)編程引腳(3)振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動件,XTAL2應(yīng)不接。其
30、余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證,脈沖的高低電平要求的寬度。MAX232:MAX232是一種雙組驅(qū)動器接收器,片內(nèi)含有一個電容性電壓發(fā)生器以便在單5V電源供電時提供EIA/TIA-232-E電平,每個接收器將EIA/TIA-232-E 電平輸入轉(zhuǎn)換為5 V TTL/CMOS電平。這些接收器具有1.3 V的典型門限及0.5V的典型遲滯,而且可以接收±30的輸入,每個驅(qū)動器將TTL/CMOS輸入電平轉(zhuǎn)換為 EIA/TIA-232-E電平,其主要特點為:單5V電源工作LinBiCMOSTM工藝技術(shù)兩個驅(qū)動器及兩個接收器±3
31、0V輸入電平低電源電流:典型值是8mA符合ANSI標(biāo)準(zhǔn)EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn) V.28 ESD保護大于MIL-STD-883 標(biāo)準(zhǔn)的2000VDS18B20: DS18B20基本知識DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。DS18B20產(chǎn)品的特點:(1)、只要求一個端口即可實現(xiàn)通信。(2)、在DS18B20中的每個器件上都有獨一無二的序列號。(3)、實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫。(4)、測量溫度范圍在55。
32、C到125。C之間。(5)、數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。(6)、內(nèi)部有溫度上、下限告警設(shè)置。DS18B20的引腳介紹TO92封裝的DS18B20的引腳排列見圖1,其引腳功能描述見表1。 表1DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。第三章 系統(tǒng)軟件設(shè)計3.1設(shè)計流程圖開始設(shè)備初始化PC發(fā)送工作指令開始工作(測溫、顯示)PC發(fā)送命令按照命令執(zhí)行操作PC發(fā)停機命令NYNYNY圖3-1 系統(tǒng)工作流程圖開始是否
33、中斷是否命令字符停機命令非停機命令為發(fā)送數(shù)據(jù)命令發(fā)送溫度數(shù)據(jù)結(jié)束結(jié)束結(jié)束寫入ROM關(guān)中斷,能標(biāo)志歸0錯誤,發(fā)送,E開中斷,使能標(biāo)志置1YYYYYN,發(fā)中斷N,發(fā)數(shù)據(jù)N,停機NN圖3-2 串行口中斷流程開始初值重裝從18B20讀溫度并存儲到RAM發(fā)送高溫警報到PC發(fā)送低溫警報到PC對讀取數(shù)據(jù)進行處理DS18B20存在低于報警高溫線結(jié)束高于報警低溫線YYYNYN圖3-3 T0口中斷流程圖開始DS18B20復(fù)位程序發(fā)溫度轉(zhuǎn)化指令并做750cm延遲復(fù)位DS18B20發(fā)送取溫度數(shù)據(jù)命令讀取溫度數(shù)據(jù)清DS18B20存在標(biāo)志位,數(shù)碼顯示管000.F,跳出程序DS18B20存在標(biāo)志位為1結(jié)束YN圖3-4 CE
34、T_TEMPER 子程序流程圖3.2匯編語言程序;*;* 匯編語言程序 *;*ENABLE EQU 00HDTSIGN EQU 01HSDSIGN EQU 02HHAVE EQU 03HPSHU EQU 04HLED0 EQU P0.0LED1 EQU P0.1LED2 EQU P0.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&
35、#39;WORK EQU 'W'PAUSE EQU 'P'ERR EQU 'E'ORG 0000HAJMP MAINORG 000BHAJMP T0INTORG 0023HAJMP S_INT;*;* 主程序 *;*ORG 0030HMAIN: MOV SP,#40H ; 堆棧棧底放50HMOV WARNH0,#30HMOV WARNH1,#00CALL T0INIT ;初始化T0CALL T1INIT ;初始化T1CALL SINIT ;初始化串口CLR ENABLE ;清使能標(biāo)志CLR DTSIGN ;清數(shù)據(jù)標(biāo)志JNB ENABLE,$ ;查
36、詢使能,無效則停機LCALL INT_ENLOOP: CALL DISPLY ;調(diào)用顯示子程序JNB ENABLE,$ ;查詢使能,無效則停機AJMP LOOP;T0初始化T0INIT:ORL TMOD,#01HANL TMOD,#0F1H MOV TH0,#3CH MOV TL0,#0B0H MOV R7,#15H ;軟件記數(shù)初值RET;T1初始化T1INIT:ORL TMOD,#20HANL TMOD,#02FHMOV TH1,#0FDHMOV TL0,#0FDHCLR ET1 ; 關(guān)T1中斷SETBTR1 ; T1開始計數(shù)RET;串口初始化SINIT: ANL PCON,#7FHMOV
37、SCON,#50HSETBEA ; 開全局中斷SETB ES ; 開串口中斷RET;開中斷子程序INT_EN: SETB ET0 ;開T0中斷SETB TR0RET ;T0開始計數(shù);關(guān)中斷子程序INT_DS: CLR ET0 ;關(guān)T0中斷CLR TR0 ;T0停止計數(shù)RET;*;* 顯示子程序 *;*DISPLY: PUSH ACC ;保護現(xiàn)場PUSH 06HMOV A,TEMP1 ;溫度整數(shù)部分送AMOV B,#100HDIV AB ;相除取百位MOV DIS3,A ;百位送DIS3MOV A, B ; 余數(shù)送 AMOV B,#10DIV AB ; 相除取十位MOV DIS2,A ;十位送D
38、IS2MOV DIS1,B ;個位送DIS1MOV DIS0,TEMP0 ;小數(shù)部分送DIS0MOV DPTR,#ZIXING ;送字型碼首地址MOV A,DIS0 ;取小數(shù)MOVC A,A+DPTR ;取對應(yīng)字型碼SETB LED0SETB LED1SETB LED2SETB LED3CLR LED0MOV SEG, A ;送字型碼CALL DELAY0MOV A,DIS1 ;取各位MOVC A,A+DPTR ;取對應(yīng)字型碼CLR ACC.7 ;清最高位顯示小數(shù)點SETB LED0SETB LED1SETB LED2SETB LED3CLR LED1MOV SEG, A ;送字型碼CALL
39、DELAY0MOV A, DIS2 ;取十位MOVC A,A+DPTR ;取對應(yīng)字型碼SETB LED0SETB LED1SETB LED2SETB LED3CLR LED2MOV SEG,A ;送字型碼CALL DELAY0MOV A,DIS3 ;取百位JNB FSHU,ZHENG ;判斷是否為正數(shù)MOV A,#16 ;如果不是正數(shù)送'-' ZHENG: MOVC A,A+DPTR ;取對應(yīng)字型碼SETB LED0SETB LED1SETB LED2SETB LED3CLR LED3MOV SEG, A ;送字型碼CALL DELAY0OUTDIS: POP 06HPOP A
40、CCRETZIXING: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ; 共陽數(shù)碼管字型碼DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH;延遲子程序DELAY0: MOV R6,#1FHDEL0: MOV R5,#0bhDEL1: NOPDJNZ R5,DEL1DJNZ R6,DEL0RET; *; * 串口中斷 *; *S_INT: PUSH ACCJNB T I,RINT ;若不是發(fā)送中斷則轉(zhuǎn)接收中斷處理程序CLR TI ;清發(fā)中斷標(biāo)志RINT: JBC RI,RXD ;判斷是否收中斷,若不是退出OUTSint: PO
41、P ACCRETIRXD: MOV A,SBUF ; 將輸入緩沖送AJNB DTSIGN, COMMEND0 ;判斷是否為上位機發(fā)送數(shù)據(jù)MOV R0,A ; 若是數(shù)據(jù)送A里面的數(shù)到警報溫度RAMINC R0DJNZ R6,OUTSint ; 未送完則退出等待CLR DTSIGN ; 送完,清數(shù)據(jù)標(biāo)志位AJMP OUTSintCOMMEND0:CJNE A,#SDAT,COMMEND1 ; 判斷PC是否開始發(fā)送數(shù)據(jù)SETB DTSIGN ;數(shù)據(jù)標(biāo)志位置1MOV R6,#04HMOV R0,#WARNH0 ; R0送警報溫度首地址AJMP OUTSintCOMMEND1: CJNE A,#WORK
42、,NOTWORK ;判斷是否為允許工作命令SETB ENABLE ;若允許工作使能標(biāo)志置1LCALL INT_EN ;開中斷AJMP OUTSintNOTWORK: CJNE A,#PAUSE,NOTPAU ;判斷是否為暫停工作命令CLR ENABLE ;若暫停工作使能標(biāo)志清0LCALL INT_DS ;關(guān)中斷MOV P0,0FFHMOV P1,0FFHAJMP OUTSintNOTPAU:CJNE A,#ERR,ISERR0 ;判斷數(shù)據(jù)是否錯誤JB SDSIGN,NOERR ;判斷發(fā)送數(shù)據(jù)為第一個字節(jié)還是第二個MOV R6,#02H ;若為第一個,置發(fā)送計數(shù)SETB SDSIGN ;發(fā)送標(biāo)志
43、置1MOV R0,#TEMP0 ;溫度數(shù)據(jù)指針NOERR1: MOV A,R0 ;溫度數(shù)據(jù)送AMOV SBUF ,A ;發(fā)送溫度數(shù)據(jù)INC R0 ;指針加1DJNZ R6,OUTSintCLR SDSIGN ;清發(fā)送標(biāo)志AJMP OUTSintISERR0: MOV A, #45H ;錯誤,發(fā)'E' 的ASCII碼MOV SBUF,AAJMP OUTSint; *;* T0中斷子程序 *;*T0INT: PUSH ACC ;保護現(xiàn)場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 ;不大于轉(zhuǎn)TINT2TINT1:MOV A,#'H' ;大于高溫限發(fā)送'H'到 PCMOV SBU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民法典不動產(chǎn)抵押合同(15篇)
- 雷達監(jiān)測環(huán)境變化數(shù)據(jù)處理分析
- 成都市房產(chǎn)抵押貸款合同模板
- 財務(wù)會計崗會計電算化操作培訓(xùn)勞動合同
- 車間安全生產(chǎn)事故責(zé)任認定與處理合同
- 材料力學(xué)性能測試疲勞壽命沖擊影響合同
- 水上樂園草皮鋪設(shè)與生態(tài)修復(fù)合同
- 航運公司運輸合同風(fēng)險管理與違約責(zé)任界定
- 餐館開業(yè)前裝修工程合同范本
- 美術(shù)素描兒童課件圖片
- VMware數(shù)據(jù)中心的服務(wù)器虛擬化與運維管理解決方案
- 夫妻婚內(nèi)財產(chǎn)約定協(xié)議書范本(2025年)
- 2025年中醫(yī)師承合同范本文字
- 2025年牢牢堅守廉潔與廉政職業(yè)底線專題課件
- 0-3歲嬰幼兒感覺統(tǒng)合訓(xùn)練知到智慧樹章節(jié)測試課后答案2024年秋杭州師范大學(xué)
- 抑酸藥課件教學(xué)課件
- 期末模擬卷 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊(含答案)
- 腦干神經(jīng)環(huán)路對意識的調(diào)控機制解析
- 動火作業(yè)應(yīng)急預(yù)案樣本(4篇)
- Unit 4 Plants around us(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024集裝箱儲能系統(tǒng)測試大綱
評論
0/150
提交評論