




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要隨著現代信息化技術的飛速發展和傳統工業改造的逐步實現,能獨立工作的溫度檢測系統已廣泛應用于各種不同的領域。本文介紹了一個基于89C51單片機和數字溫度傳感器DS18B20的測溫系統,并用LED數碼管顯示溫度值,易于讀數。重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統可以方便的實現實現溫度采集和顯示,并可根據需要任意設定上下限報警溫度,它使用起來相當方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優點,適合于我們日常生活和工、農業生產中的溫度測量,也可以當作溫度處理模塊嵌入其它系統中。關鍵詞:溫度測量;DS18B20;
2、AT89C51;溫度計目錄緒論11 設計背景21.1課題背景21.2設計內容22 總體方案設計32.1 方案選擇32.2 系統原理32.3 總體設計框圖43 系統硬件設計53.1 主控制器選擇53.2 顯示電路73.3 溫度傳感器簡介73.4 DS18B20溫度傳感器與單片機的接口電路123.5 時鐘電路123.6 復位電路133.7系統總體電路圖144 軟件設計154.1 C語言簡介154.2程序編譯軟件keil介紹164.3溫度數據采集164.4主程序設計174.5 復位子程序設計194.6 讀寫程序設計195電路仿真215.1 Proteus軟件介紹215.2 智能溫度計Ptoteus仿
3、真21總結23參考文獻24附錄:源程序代碼25緒論隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便是不可否定的,各種數字系統的應用也使人們的生活更加舒適。數字化控制、智能控制為現代人的工作、生活、科研等方面帶來方便。其中數字溫度計就是一個典型的例子。 數字溫度計與傳統的溫度計相比,具有讀數方便、測溫范圍廣、測溫精確、功能多樣話等優點。其主要用于對測溫要求準確度比較高的場所,或科研實驗室使用,該設計使用AT89C51單片機作控制器,數字溫度傳感器DS18B20測量溫度,單片機接受傳感器輸出,經處理用LED數碼管實現溫度值顯示。溫度的測量對人類日常生活、工業生產、
4、氣象預報、物資倉儲等都起著極其重要的作用,因此研究溫度的測量方法和裝置具有重要的意義。近年來,溫度檢測領域發展迅速,并且隨著數字技術的發展,溫度的測控芯片也相應的登上歷史 的舞臺,能夠在工業、農業等各個領域中廣泛使用。溫度的測量的關鍵之處是溫度傳感器,其往往決定著一個溫度檢測系統的性能。傳統的溫度檢測以熱敏電阻和AD590為溫度敏感元件。熱敏電阻雖成本低, 但需信號處理電路,電路復雜,可靠性較低,測溫準確度及抗干擾能力也有一定的不足。近年來,傳感器正處于傳統型向新型傳感器轉型的發展階段。新型的溫度傳感器的特點是微型化、數字化、智能化、多功能化、系統化、網絡化,它提高了抗干擾能力和可靠性,而且使
5、系統結構更簡潔,維護方便,縮小了空間。單片機具有集成度高、功能強、體積小、價格低、抗干擾能力等優于一般CPU的優點,因此往往采用單片機作為數字控制器取代模擬控制器。1 設計背景1.1 課題背景溫度控制系統在國內各行各業的應用雖然已經十分廣泛,但從國內生產的溫度控制器來講,總體發展水平仍然不高,同日本、美國、德國等先進國家相比,仍然有著較大的差距。成熟的溫控產品主要以“點位”控制及常規的PID控制器為主,它們只能適應一般溫度系統控制,而用于較高控制場合的智能化、自適應控制儀表,國內技術還不十分成熟,形成商品化并廣泛應用的控制儀表較少。隨著我國經濟的發展及加入WTO,我國政府及企業對此都非常重視,
6、對相關企業資源進行了重組,相繼建立了一些國家、企業的研發中心,開展創新性研究,使我國儀表工業得到了迅速的發展。1.2 設計內容本設計主要是介紹了單片機控制下的溫度檢測系統,詳細介紹了其硬件和軟件設計,并對其各功能模塊做了詳細介紹,其主要功能和指標如下:(1)利用溫度傳感器(DS18B20)測量某一點環境溫度;(2)測量范圍為-5599,精度為±0.5;(3)用LED進行實際溫度值顯示。2 總體方案設計2.1 方案選擇考慮到在單片機屬于數字系統,容易想到數字溫度傳感器,可選用DS18B20數字溫度傳感器,此傳感器為單總線數字溫度傳感器,體積小、構成的系統結構簡單,它可直接將溫度轉化成串
7、行數字信號給單片機處理,即可實現溫度顯示。另外DS18B20具有3引腳的小體積封裝,測溫范圍為-55+125攝氏度,測溫分辨率可達0.0625攝氏度,其測量范圍與精度都能符合設計要求。采用51單片機控制軟件編程的自由度大,而且體積小,硬件實現簡單,安裝方便。2.2 系統原理由于單片機具有以下的很多優點,被我們選定為制作該作品的首選芯片。單片機特點:(1)高集成度,體積小,高可靠性 單片機將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最小的。芯片本身是按工業測控環境要求設計的,內部布線很短,其抗工業噪音性能優于一般通用的CPU。單片機程序指令,常數及表格等固化在ROM中不易破壞,許多
8、信號通道均在一個芯片內,故可靠性高。 (2)控制功能強 為了滿足對對象的控制要求,單片機的指令系統均有極豐富的條件:分支轉移能力,I/O口的邏輯操作及位處理能力,非常適用于專門的控制功能。 (3)低電壓,低功耗,便于生產便攜式產品 為了滿足廣泛使用于便攜式系統,許多單片機內的工作電壓僅為1.8V3.6V,而工作電流僅為數百微安。 (4)易擴展 片內具有計算機正常運行所必需的部件。芯片外部有許多供擴展用的三總線及并行、串行輸入/輸出管腳,很容易構成各種規模的計算機應用系統。 (5)優異的性能價格比 單片機的性能極高。為了提高速度和運行效率,單片機已開始使用RISC流水線和DSP等技術。單片機的尋
9、址能力也已突破64KB的限制,有的已可達到1MB和16MB,片內的ROM容量可達62MB,RAM容量則可達2MB。由于單片機的廣泛使用,因而銷量極大,各大公司的商業競爭更使其價格十分低廉,其性能價格比極高。 采用AT89S51。AT89S51片內具有8K字節程序存儲空間,256字節的數據存儲空間沒有EEPROM存儲空間,也與MCS-51系列單片機完全兼容,具有在線編程可擦除技術。兩種單片機都完全能夠滿足設計需要,STC89C51相對ATS89C52價格便宜,且抗干擾能力強。考慮到成本因素,因此選用STC89C51。2.3 總體設計框圖本方案設計的系統由單片機系統、數字溫度傳感器、LED顯示模塊
10、、按鍵控制模塊、溫度報警模塊組成,其總體架構如下圖2.1.單片機測溫電路顯示電路驅動電路按鍵輸入電路報警電路時鐘、復位電路 圖2.1 系統總體方框圖3 系統硬件設計3.1 主控制器選擇AT89C51 ATMEL公司生產的低電壓,高性能CMOS 8位單片機片內含4K byTES的可反復擦寫的只讀程序存儲器(PEROM)和128 byTES的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,與標準MCS-51指令系統及8052 產品引腳兼容,片內置通用8位中央處理器(CPU )和FLASH由存儲單元,功能強大AT89C52單片適用于許多較為復雜控制應用場合。圖3.
11、1 AT89C51引腳圖STC89C51主要功能如表3.1所示,其PDIP封裝如圖3.1所示。表3.1 STC89C51主要功能 主要功能特性兼容MCS51指令系統8K可反復擦寫Flash ROM32個雙向I/O口256x8bit內部RAM3個16位可編程定時/計數器中斷時鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設置睡眠和喚醒功能主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內振蕩電路的輸入端XTAL2(Pin20)
12、:片內振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。可編程輸入/輸出引腳(32根)STC89C51單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。P0口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準雙向I/
13、O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準雙向I/O口線,名稱為P3.0P3.73.2 顯示電路使用四位一體共陽數碼管,并外接上拉電阻,已達到較好效果,如圖3.2。圖3.2 數碼管顯示電路3.3 溫度傳感器簡介溫度傳感器的種類眾多,在應用與高精度、高可靠性的場合時DALLAS(達拉斯)公司生產的DS18B20溫度傳感器當仁不讓。超小的體積,超低的硬件開消,抗干擾能力強,精度高,附加功能強,使得DS18B20更受歡迎。對于我們普通的電子愛好者來說,DS18B20的優勢更是我們學習單片機技術和
14、開發溫度相關的小產品的不二選擇。了解其工作原理和應用可以拓寬您對單片機開發的思路。DS18B20的主要特征:(1)全數字溫度轉換及輸出。(2)先進的單總線數據通信。(3)最高12位分辨率,精度可達土0.5攝氏度。(4)12位分辨率時的最大工作周期為750毫秒。(5)可選擇寄生工作方式。(6)檢測溫度范圍為55°C +125°C (67°F +257°F)。(7)內置EEPROM,限溫報警功能。(8)64位光刻ROM,內置產品序列號,方便多機掛接。(9)多樣封裝形式,適應不同硬件系統。DS18B20的另一個功能是可以在沒有外部電源供電的情況下工作。當總線處
15、于高電平狀態,DQ與上拉電阻連接通過單總線對器件供電。同時處于高電平狀態的總線信號對內部電容(Cpp)充電,在總線處于低電平狀態時,該電容提供能量給器件。這種提供能量的形式被稱為“寄生電源”。作為替代選擇,DS18B20同樣可以通過VDD引腳連接外部電源供電。圖3.3 DS18B20方框圖 圖3.4 引腳排列引腳說明:GND地 DQ數據I/O對于單線操作:漏極開路。當工作在寄生電源模式時,用來提供電源(建“寄生電源”節)。VDD可選電源電壓NC無連接單總線信號DS18B20 需要嚴格的單總線協議以確保數據的完整性。協議包括集中單總線信號類型:復位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些
16、信號,除存在脈沖外,都是由總線控制器發出的。復位序列:復位和存在脈沖和DS18B20 間的任何通訊都需要以初始化序列開始,初始化序列見圖3.5。一個復位脈沖跟著一個存在脈沖表明 DS18B20已經準備好發送和接收數據。在初始化序列期間,總線控制器拉低總線并保持480us以發出(TX)一個復位脈沖,然后釋放總線,進入接收狀態(RX)。單總線由5K上拉電阻拉到高電平。當DS18B20探測到I/O引腳上的上升沿后,等待15-60us,然后發出一個60-240us 低電平信號構成的存在脈沖。單總線通常要求接一個約4.7K左右的上拉電阻,這樣,當總線空閑時,其狀態為高電平。圖3.5初始化時序讀/寫時序D
17、S18B20 的數據讀寫是通過時序處理位來確認信息交換的。寫時序由兩種寫時序:寫1時序和寫0時序。總線控制器通過寫1時序寫邏輯1到DS18B20,寫0時序寫邏輯0到DS18B20。所有寫時序必須最少持續60us,包括兩個寫周期之間至少1us 的恢復時間。當總線控制器把數據線從邏輯高電平拉到低電平的時候,寫時序開始(見圖3.6)。總線控制器要生產一個寫時序,必須把數據線拉到低電平然后釋放,在寫時序開 始后的15us釋放總線。當總線被釋放的時候,5K的上拉電阻將拉高總線。總控制器要生成一個寫0時序,必須把數據線拉到低電平并持續保持(至少60us)。總線控制器初始化寫時序后,DS18B20 在一個1
18、5us到60us的窗口內對I/O 線采樣。如果線上是高電平,就是寫1。如果線上是低電平,就是寫0。讀時序總線控制器發起讀時序時,DS18B20僅被用來傳輸數據給控制器。因此,總線控制器在發出讀暫存器指令BEh或讀電源模式指令B4H后必須立刻開始讀時序,DS18B20可以提供請求信息。除此之外,總線控制器在發出發送溫度轉換指令44h或召回EEPROM指令B8h之后讀時序,詳見DS18B20功能指令節。所有讀時序必須最少60us,包括兩個讀周期間至少1us的恢復時間。當總線控制器把數據線從高電平拉到低電平時,讀時序開始,數據線必須至少保持1us,然后總線被釋放(見圖3.6)。在總線控制器發出讀時序
19、后,DS18B20通過拉高或拉低總線上來傳輸1或0。當傳輸邏輯0結束后,總線將被釋放,通過上拉電阻回到上升沿狀態。從DS18B20輸出的數據在讀時序的下降沿出現后15us內有效。 因此,總線控制器在讀時序開始后必須停止把I/O腳驅動為低電平15us,以讀取I/O腳狀態。圖3.6 DS18B20讀寫時序圖3.7 DS18B20讀取溫度數值流程圖3.4 DS18B20溫度傳感器與單片機的接口電路單總線通常要求接一個約4.7K左右的上拉電阻,這樣,當總線空閑時,其狀態為高電平。圖3.8 DS18B20接線原理圖3.5 時鐘電路單片機的時鐘信號用來提供單片機內各種微操作的時間基準,時鐘電路用于產生單片
20、機工作所需要的時鐘信號。單片機內部有一個用于構成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內部方式時,電路簡單,所得的時鐘信號比較穩定,實際使用中常采用這種方式。圖3.9 時鐘電路3.6 復位電路復位電路的用途:單片機復位電路就好比電腦的重啟部分,當電腦在使用中出現死機,按下重啟按鈕電腦內部的程序從頭開始執行。單片機也一樣,當單片機系統在運行中,受到環境干擾出現程序跑飛的時候,按下復位按鈕內部的程序自動從頭開始執行。51單片機要復位只需要在第9引腳接個高電平持續2US就可以實現,那這個過程是如何實現的呢?在單片機系統中,系統上電啟動的時候復位
21、一次,當按鍵按下的時候系統再次復位,如果釋放后再按下,系統還會復位。所以可以通過按鍵的斷開和閉合在運行的系統中控制其復位。圖3.10 復位電路3.7系統總體電路圖當接通電源以后,溫度傳感器正常工作,溫度傳感器將根據被測溫度的不同來采集不同的數據,然后將所采集到的數據傳送到比較器到中,然后由比較器將采集到的數據轉變成高低電平,在送入單片機,單片機通過控制各個引腳電平的高低來來控制溫度的顯示輸出。圖3.11 總體設計圖4 軟件設計4.1 C語言簡介C語言是目前世界上流行、使用最廣泛的高級程序設計語言。C語言對操作系統和系統使用程序以及需要對硬件進行操作的場合,用C語言明顯優于其它高級語言,許多大型
22、應用軟件都是用C語言編寫的。C語言具有繪圖能力強,可移植性,并具備很強的數據處理能力,因此適于編寫系統軟件,三維,二維圖形和動畫它是數值計算的高級語言。 常用的編譯軟件有Microsoft Visual C+,Borland C+,Watcom C+ ,Borland C+, Borland C+ Builder,Borland C+ 3.1 for DOS,Watcom C+ 11.0 for DOS,GNU DJGPP C+, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等。C語言的發展歷史:C語言的發展頗為有趣。它的原型ALGOL 60語言。1
23、963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,于是產生了BCPL語言。1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統。而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BGPL的第二個字母作為這種語言的名字,這就是C語言。 為
24、了使UNIX操作系統推廣,1977年Dennis M.Ritchie發表了不依賴于具體機器系統的C語言編譯文本可移植的C語言編譯程序。 1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著The C Programming Language,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。1988年,隨著微型計算機的日益普及,出現了許多C語言版本。由于沒有統一的標準,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標準研究所(ANSI)為C語言制定了一套ANSI標準,成為現行的C語言標準3.C語言的主要特點 。C語言發展迅速,而
25、且成為最受歡迎的語言之一,主要因為它具有強大的功能。許多著名的系統軟件,如DBASEPLUS、DBASE都是由C語言編寫的。用C語言加上一些匯編語言子程序,就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。4.2程序編譯軟件keil介紹Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合
26、在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil 的優勢。4.3溫度數據采集根據DS18B20的通訊協議,單片機控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令
27、,這樣才能對DS18B20進行預定的操作,復位要求單片機將數據線下拉50微秒,然后釋放,當DS18B20受到信號后等待1660微秒左右,然后發出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。表4.1 指令與約定代碼指令約定代碼功能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址)符合ROM55表4.1 指令與約定代碼H發出此命令之后,接著發出64位ROM編碼,訪問單總線上與該編碼相對應的BS1820使之作出響應,為下一步對該DS1820的讀寫作準備。搜索ROMOFOH用于確定掛接在同一總線上DS1820的個數和識別64位ROM地址。為操作各器件作好準備。跳過RO
28、MOCCH忽略64位ROM地址,直接向DS1820發溫度變換命令。適用與單片工作。溫度變換44H啟動DS1820進行溫度轉換12位轉換時最廠為750ms(9位為93.75ms)。結果存入內部9字節RAM中。讀暫存器OBEH讀內部RAM中9字節的內容。寫暫存器4EH發出向內部RAM的3、4字節寫上、下限溫度數據命令,緊跟該命令之后,是傳送兩字節的數據。復制暫存器48H將RAM中第3、4字節的內容復制到EEPROM中重EEPROMOB8H將EEPROM中內容恢復到RAM中的第3、4字節。讀供電方式OB4H讀DS1820的供電模式。寄生東佃時DS1820發送“0”,外界電源供電DS1820發送“1”
29、。4.4主程序設計整個系統的功能是由硬件電路配合軟件來實現的,當硬件基本定型的時候軟件也基本定下拉了,從軟件的功能不同,可以分為兩的類:一是主程序,它是整個軟件的核心,專門用來協調各個執行模塊和操作者的聯系。二是子程序,它是用來完成各種實質性的工作的,如測量、計算、顯示、通訊等。每一個執行軟件就是一個小的執行模塊,這里將每一個模塊一一列出來,并為每個執行模塊進行功能定義和接口定義。各執行模塊規劃好以后,就可以規劃監控軟件了。首先要根據系統的總體功能選擇一種最合適的主程序結構,然后根據實時性的條件,合理安排監控軟件和執行軟件之間的調度關系。當DS18B20接受到溫度轉換命令后,開始啟動溫度轉換。
30、轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的0,1字節。單片機可以通過單線總線讀到該數據,讀取時低位字節在前,高位字節在后,數據格式以0.0625攝氏度/LSB形式表示。溫度值低位和高位字節格式如表5所示,其中“S”為標志位,對應的溫度計算:當符號位S=0時,直接將二進制位轉換成10進制位;當S=1時,先將二進制各位取反加一后再計算十進制值。表4.2 溫度值低/高位字節DS18B20在完成溫度轉換后,會把測得的溫度值與TH,TL作比較,若TTH或T<TL,則將該器件內的報警標志位置位,并對主機發出報警搜索命令作出響應。主程序的主要功能是負責溫度的實時顯示、
31、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖4.1所示。圖4.1主程序流程圖通過調用讀溫度子程序把存入內存儲中的整數部分與小數部分分開存放在不同的兩個單元中,然后通過調用顯示子程序顯示出來。4.5 復位子程序設計DS18B20復位時序圖參看后面芯片功能部分有詳細的介紹。在這一部分只給出程序流程圖,然后給出根據流程圖所編寫的DS18B20復位子程序。圖4.2 復位程序流程圖4.6 讀寫程序設計寫時序:對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。當主機總線 t o 時刻從高拉至低電平時,就產生寫時間隙,從t
32、o時刻開始15us 之內應將所需寫的位送到總線上。DSl820 -在t o后1560us間對總線采樣。若低電平寫入的位是0;若高電平寫入的位是1。連續寫2位間的間隙應大于 1us。DS18B20寫出子程序流程圖如圖4.3所示。讀時序:主機總線t0時刻從高拉至低電平時,總線只需保持低電平1us,之后在t1時刻將總線拉高,產生讀時間隙,讀時間隙在t1時刻后t2時刻前有效。t2距t0為15us,也就是說,t2時刻前主機必須完成讀位,并在DS18B20讀出子程序流程圖如圖4.4所示。圖4.3 DS18B20寫入子程序流程圖 圖4.4 DS18B20讀出子程序流程圖5電路仿真5.1 Proteus軟件介
33、紹Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。功能特點 Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能
34、是:1原理布圖2PCB自動或人工布線3SPICE電路仿真革命性的特點1互動的電路仿真用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設計開發環境。5.2 智能溫度計Ptoteus仿真1.首先啟動KEIL C51軟件的集成開發環境,從桌面上雙擊uVision圖標以啟動軟件。2.建立工程文件。通常單
35、片機應用系統軟件包含多個源程序文件,KEIL C51使用工程這一概念,將這些參數設置和所需的所有文件都加在一個工程中。因此,需要建立一個工程文件,并為這個工程選擇CPU,確定編譯,匯編,連接的參數,指定調試的方式。3.建立并添加源文件。使用菜單或者單擊工具欄的新建文件按鈕,出現文本便捷窗口,在該窗口中輸入新編制的源程序并保存該文件。然后,我打開已經畫好的仿真圖,再將生成的HEX文件導入單片機里,點擊開始按鈕,電路正常工作,并且能夠實現預先設想的所有功能,而且效果很好,從而驗證了我的程序的正確性。圖5.1 仿真結果圖總結此次創新實踐中,難點在于DS18B20的使用,即對它的時序控制、初始化以及字
36、節讀寫方法,任何一個環節出錯或是時序控制不到位的話就不能得到正確的數據。一旦學會了正確的使用方法,就能感覺到它帶來的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設計中,把程序按功能分模塊的話能提高編程效率,把問題一一解決,同時畫流程圖能幫助理清思路,使問題簡單化。定義變量時,盡量定義局部變量,在字符型變量能達到要求的情況下就不用定義成整形變量了,以節省內存空間。同時局部變量應避免與全局變量取同名,否則全局變量將被屏蔽或與局部變量相沖突而達不到設計的效果。另一方面,取變量名時也要講究技巧,應盡量使其見名知意,同樣地,寫程序時加注釋確是非常必要的,否則隔一段時間后,想再改進或做擴展
37、的話就比較困難了,因為即使是自己寫的程序也變得難讀難懂了。總的來說,自己從這次獨立的課程設計中收獲了一些知識與經驗,一些從書本中學之不來的東西,不是說理論無用,而這恰恰是在理論的土壤中開出的花朵,是在理論的肩膀望見的更寬廣的道路。參考文獻1孫育才.單片微型計算機及其應用.南京:東南大學出版社,20042潘新民 王燕芳.微型計算機控制技術.北京:電子工業出版社,2003 4李群芳.單片機原理及接口技術.北京:電子工業出版社,20085李光飛.單片機課程設計實例指導.北京:北京航空航天大學出版社,20046徐瑋. C51單片機高效入門(第2版).北京:機械工業出版社,2010附錄:源程序代碼#in
38、clude<reg52.h> #define ui unsigned int#define uc unsigned char /宏定義sbit DQ =P37; /定義DS18B20總線I/Obit bdata fuhao;uc qian,bai,shi,ge;uc code led=0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7;uc code led_dian=0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf7;=DS18B20=/*延時子程序*/void Delay(int n
39、um)while(num-) ;/*初始化DS18B20*/void Init_DS18B20()DQ = 1; /DQ復位Delay(8); /稍做延時DQ = 0; /單片機將DQ拉低Delay(80); /精確延時,大于480usDQ = 1; /拉高總線Delay(40);/*讀一個字節*/uc ReadOneChar()uc i=0;uc dat = 0;for (i=8;i>0;i-)DQ = 0; / 給脈沖信號dat>>=1;DQ = 1; / 給脈沖信號if(DQ)dat|=0x80;Delay(4);return(dat);/*寫一個字節*/void WriteOneChar(uc dat)uc i=0;for (i=8; i>0; i-)DQ = 0;DQ = dat&0x01;D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六一創意聚會活動方案
- 六一尋寶活動策劃方案
- 六一戲曲活動方案
- 六一機關活動方案
- 六一活動拉花活動方案
- 六一活動活動策劃方案
- 六一相親活動方案
- 六一積分活動方案
- 六一美食節活動方案
- 六一食堂活動方案
- 糧油倉儲管理員(高級)職業技能鑒定參考試題(附答案)
- 2025年中考語文常考作文押題《10個主題+15篇范文》
- 2025年新音樂節明星藝人歌手演出場費報價單
- 主要施工機械設備、勞動力、設備材料投入計劃及其保證措施
- 絲網除沫器小計算
- 制缽機的設計(機械CAD圖紙)
- 學校財務管理制度
- 三年級下冊美術課件-第15課色彩拼貼畫|湘美版(共11張PPT)
- 水稻病蟲統防統治工作總結
- 水在不同溫度下的折射率、粘度和介電常數
- 四柱特高弟子班絕密資料——席學易
評論
0/150
提交評論