DSB溫度傳感器設計方案(課程設計方案)_第1頁
DSB溫度傳感器設計方案(課程設計方案)_第2頁
DSB溫度傳感器設計方案(課程設計方案)_第3頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、作者: Pan Hongliang僅供個人學習基于DS18B20勺溫度傳感器設計摘要2009年6月14日隨著時代的進步和發展,單片機技術已經普及到我們生活、工 作、科研、各個領域,已經成為一種比較成熟的技術。本文主要介紹了一個基于 AT89C52單片機的測溫系統,詳細描述了利用液晶顯示 器件傳感器DS18B2C開發測溫系統的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統流程進行了詳盡分析,特別是數字溫度傳感DS18B20勺數據采集過程。對各部分的電路也一一進行了介紹,該系統可以方便的實現實現溫度采集和 顯示,并可根據需要任意設定上下限報警溫度,它使用起來相當方便,具有精度高、

2、量程寬、靈敏度高、體積小、功耗低等優點,適合于我們日常生活和工、農業生產中 的溫度測量,也可以當作溫度處理模塊嵌入其它系統中,作為其他主系統的輔助擴展。 DS18B20與 AT89C52結合實現最簡溫度檢測系統,該系統結構簡單,抗干擾能力強, 適合于惡劣環境下進行現場溫度測量,有廣泛的應用前景。關鍵詞:單片機AT89C51 DS18B20溫度傳感器;液晶顯示 LCD1602目錄摘要I第一章前言3.第二章設計任務及要求3.2.1設計任務3.2.2設計要求4.第三章課程設計方案及器材選用4.3.1 設計總體方案 方案論證53.1.2 系統的具體設計與實現 63.2器材選用分析 6.

3、3.2.1 DS18B20溫度傳感器 63.2.2 AT89S52 單片機介紹123.3軟件流程圖 15主程序15讀出溫度子程序153.3.3 溫度轉換命令子程序 16334 計算溫度子程序16第四章 硬件電路的設計 1.74.1 proteus 簡介1.74.2 proteus 仿真圖 1.8第五章調試性能及分析1.8總結1.9參考文獻1.9附錄1源程序20附錄2原理圖24第一章前言目前,單片機已經在測控領域中獲得了廣泛的應用, 它除了可以測量電信以 外,還可以用于溫度、濕度等非電信號的測量,能獨立工作的單片機溫度檢測、 溫度控制系統已經廣泛應用很多領域。單片機是一種特殊的計算機,它是在一塊

4、半導體的芯片上集成了 CPU存儲 器,RAM ROM及輸入與輸出接口電路,這種芯片稱為:單片機。由于單片機的 集成度高,功能強,通用性好,特別是它具有體積小,重量輕,能耗低,價格便 宜,可靠性高,抗干擾能力強和使用方便的優點,使它迅速的得到了推廣應用, 目前已成為測量控制系統中的優選機種和新電子產品中的關鍵部件。單片機已不僅僅局限于小系統的概念,現已廣泛應用于家用電器,機電產品,辦公自動化用 品,機器人,兒童玩具,航天器等領域。本次課程設計,就是用單片機實現溫度控制,傳統的溫度檢測大多以熱敏電 阻為溫度傳感器,但熱敏電阻的可靠性差,測量溫度準確率低,而且必須經過專 門的接口電路轉換成數字信號才

5、能由單片機進行處理。本次采用DS18B2C數字溫度傳感器來實現基于51單片機的數字溫度計的設計。傳統的溫度計有反應速度慢、讀數麻煩、測量精度不高、誤差大等缺點而下 面利用集成溫度傳感器AD590設計并制作了一款基于AT89C51的4位數碼管顯 示的數字溫度計,其電路簡單,軟硬件結構模塊化,易于實現。該數字溫度計利用AD590集成溫度傳感器及其接口電路完成溫度的測量并 轉換成模擬電壓信號,經由模數轉換器 ADC0804轉換成單片機能夠處理的數字 信號,然后送到單片機AT89C51中進行處理變換,最后將溫度值顯示在 D4、D3、 D2、D1共4位七段碼LED顯示器上。系統以AT89C51單片機為控

6、制核心,加 上AD590測溫電路、ADC模數轉換電路、4位溫度數據顯示電路以及外圍電源、 時鐘電路等組成。第二章設計任務及要求2.1 設計任務以MCS-51系列單片機為核心器件,組成一個數字溫度計,采用數字溫度傳感 器DS18B2C為檢測器件,進行單點溫度檢測,檢測精度為土 0.1攝氏度。溫度顯 示采用LCD1602顯示,兩位整數,一位小數如圖 2.1 0圖2.1系統總體方針圖2.2設計要求設計一個基于單片機的DS18B2C數字溫度計。課程設計要求:5V供電;溫度采集采用DS18B201602LCD液晶顯示器;設計溫度控制器原理圖,學習用 PROTE畫出該原理圖,并用proteus進行 仿真;

7、設計和繪制軟件流程圖,用 C語言進行程序編寫,然后進行調試。第三章課程設計方案及器材選用3.1設計總體方案提及到溫度的檢測,我們首先會考慮傳統的測溫元件有熱電偶和熱電阻, 而 熱電偶和熱電阻測出的一般都是電壓, 再轉換成對應的溫度,需要比較多的外部 硬件支持,硬件電路復雜,軟件調試也復雜,制作成本高。因此,本數字溫度計設計采用智能溫度傳感器 DS18B20乍為檢測元件,測溫 范圍為-55 ° C至+125° C,最大分辨率可達 0.0625 ° Co DS18B20可以直接讀出 被測量的溫度值,而采用三線制與單片機相連,減少了外部的硬件電路,具有低 成本和易使用的

8、特點。按照系統設計功能的要求,確定系統由三個模塊組成:主控制器STC89C51, 溫度傳感器DS18B20,驅動顯示電路。總體電路框圖 3.1:DS18B20<>LCD1602主控制器STC89C52報警模塊圖3.1系統總體框圖方案論證(1)溫度傳感模塊方案一:采用熱敏電阻,熱敏電阻精度、重復性、可靠性較差,對于檢測1攝氏度的信號是不適用的,也不能滿足測量范圍。在溫度測量系統中,也常采用單 片溫度傳感器,比如AD59Q LM35等。但這些芯片輸出的都是模擬信號,必須經 過A/D轉換后才能送給計算機,這樣就使測溫系統的硬件結構較復雜。另外,這種測溫系統難以實現多點測溫,也要用到復雜的

9、算法,一定程度上也增加了軟件 實現的難度。方案二:采用單總線數字溫度傳感器 DS18B20測量溫度,直接輸出數字信號。 便于單片機處理及控制,節省硬件電路。且該芯片的物理化學性很穩定,此元件 線形性能好,在0100攝氏度時,最大線形偏差小于 1攝氏度。DS18B20勺最 大特點之一采用了單總線的數據傳輸,由數字溫度計DS18B20和微控制器AT89C51構成的溫度裝置,它直接輸出溫度的數字信號到微控制器。 每只DS18B20 具有一個獨有的不可修改的64位序列號,根據序列號可訪問不同的器件。這樣 一條總線上可掛接多個DS18B20專感器,實現多點溫度測量,輕松的組建傳感網 絡。綜上分析,我們選

10、用第二種方案圖 3.2。圖3.2溫度傳感模塊仿真圖(2)顯示模塊方案一:采用8位段數碼管,將單片機得到的數據通過數碼管顯示出來。該 方案簡單易行,但所需的元件較多,且不容易進行操作,可讀性差,一旦設定后 很難再加入其他的功能,顯示格式受限制,且大耗電量大,不宜用電池給系統供 電。方案二:采用液晶顯示器件,液晶顯示平穩、省電、美觀,更容易實現題目 要求,對后續的園藝通兼容性高,只需將軟件作修改即可,可操作性強,也易于 讀數,采用RT1602兩行十六個字符的顯示,能同時顯示其它的信息如日期、時 間、星期、溫度。綜上分析,我們采用了第二個方案圖 3.3圖3.3顯示模塊仿真圖系統的具體設計與實現采用A

11、T89S52單片機作為控制核心對溫度傳感器 DS18B20控制,讀取溫度 信號并進行計算處理,并送到液晶顯示器LCD1602顯示。按照系統設計功能的 要求,確定系統由3個模塊組成:主控制器、測溫電路和顯示電路。數字溫度計 總體電路結構框圖如圖3.4所示。單片機復位| A LCD1062顯 示時鐘振蕩溫 度 傳 感 器圖3.4 總體設計方框圖3.2器材選用分析溫度傳感器1. DS18B20的特點本設計的測溫系統采用芯片 DS18B20 DS18B20是 DALLAS司的最新單線數 字溫度傳感器,它的體積更小,適用電壓更寬,更經濟。實現方法簡介DS18B20采用外接電源方式工作,一線測溫一線與ST

12、C89C51連接,測出的數據放在寄存器中,將數據經過 BCD碼轉換后送到LED顯示。DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能 溫度傳感器,與傳統的熱敏電阻等測溫元件相比, 它能直接讀出被測溫度,并且 可根據實際要求通過簡單的編程實現 912位的數字值讀數方式。DS18B20勺性 能特點如下:獨特的單線接口僅需要一個端口引腳進行通信;多個DS18B2C可以并聯在惟一的三線上,實現多點組網功能;無須外部器件;可通過數據線供電,電壓范圍為 3.05.5 V;零待機功耗;溫度以9或12位數字;用戶可定義報警設置;報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)

13、的器件;負電壓特性,電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工 作;DS18B20內部結構主要由四部分組成:64位光刻ROM溫度傳感器,非揮發的溫度 報警觸發器TH和TL,高速暫存器。DS18B20的管腳排列如圖3.5所示。64位光 刻ROM是出廠前被光刻好的,它可以看作是該DS18B2啲地址序列號。不同的器 件地址序列號不同。圖3.5 DS18B20的內部結構圖3.6 DS18B20的引腳分布圖64位ROM的結構開始8位是產品類型的編號,接著是每個器件的惟一的序 號,共有48位,最后8位是前面56位的CRC僉驗碼,這也是多個DS18B2C可以 采用一線進行通信的原因。溫度報警觸發器

14、 TH和TL,可通過軟件寫入戶報警上 下限。DS18B20溫度傳感器的內部存儲器還包括一個高速暫存 RAM和一個非易失性 的可電擦除的EERAM高速暫存RAM的結構為8字節的存儲器,結構如圖3.6所 示。頭2個字節包含測得的溫度信息,第3和第4字節TH和TL的拷貝,是易失 的,每次上電復位時被刷新。第5個字節,為配置寄存器,它的內容用于確定溫 度值的數字轉換分辨率。DS18B2C工作時寄存器中的分辨率轉換為相應精度的溫 度數值。該字節各位的定義如圖3.7所示。低5位一直為1, TM是工作模式位, 用于設置DS18B2C在工作模式還是在測試模式,DS18B2C出廠時該位被設置為0, 用戶要去改動

15、,R1和R0決定溫度轉換的精度位數,來設置分辨率。圖3.7 DS18B20的字節定義DS18B2C高速暫存器共9個存存單元,如表3-1所示:表3-1 DS18B20的引腳分布圖序號寄存器名稱作用序號寄存器名稱0溫度低字節以16位補碼形式存放4、5保留字節1、21溫度咼字節6計數器余值2TH/用戶字節1存放溫度上限7計數器/ c3HL/用戶字節2存放溫度下限8CRC以12位轉化為例說明溫度高低字節存放形式及計算:12位轉化后得到的12 位數據,存儲在18B20的兩個高低兩個8位的RAM中,二進制中的前面5位是符 號位表3-2所示。如果測得的溫度大于0,這5位為0,只要將測到的數值乘于 0.062

16、5即可得到實際溫度;如果溫度小于 0,這5位為1,測到的數值需要取反 加1再乘于0.0625才能得到實際溫度表3-2。表3-2 DS18B20的字節存放表高8位SSSSSSSS低8位232221202-12-22-32-4由圖3.7可以看到,DSI8B20的內部存儲器是由8個單元組成,其中第0、1個 存放測量溫度值,第2、3分別存放報警溫度的上下限值,第4單元為配置單元,5、 6 7單元在DSI8B20這里沒有被用到。對于第4個寄存器,用戶可以設置溫度轉換 精度,系統默認12bit轉換精度,相當于十進制的0. 0625C,其轉換時間大約為750us。圖3.7 內部存儲器結構圖 表3-3 溫度精

17、度配置R1R0轉換精度(16進制)轉換精度(十進制)轉換時間009bit0.593.75ms0110bit0.25187.5ms1011bit0.125375ms1112bit0.0625750ms由表3-3可見,DS18B2C溫度轉換的時間比較長,而且分辨率越高,所需要的溫度數據轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。高速暫存RAM的第6、7、8字節保留未用,表現為全邏輯1。第9字節讀出 前面所有8字節的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就 以16位帶符號擴展的二進制補碼形式存儲在高

18、速暫存存儲器的第1、2字節。單片機可以通過單線接口讀出該數據, 讀數據時低位在先,高位在后,數據格式以 0.0625 C/ LSB形式表示。當符號位S= 0時,表示測得的溫度值為正值,可以直接將二進制位轉換為 十進制;當符號位S= 1時,表示測得的溫度值為負值,要先將補碼變成原碼, 再計算十進制數值。表3-4是一部分溫度值對應的二進制溫度數據。表3-4溫度精度配置溫度/ C二進制表示十八進制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 00

19、00 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B2C完成溫度轉換后,就把測得的溫度值與 RAM中的TH TL字節內容 作比較。若T>TH或TVTL,則將該器件內的報警標志位置位,并對主機發出的 報警搜索命令作出響應。因此,可用多只DS18B2C同時測量溫度

20、并進行報警搜索。在64位ROM勺最高有效字節中存儲有循環冗余檢驗碼(CR) 主機ROM勺 前56位來計算CRCS,并和存入DS18B20的CRCfi作比較,以判斷主機收到的 ROM數據是否正確。DS18B20的測溫原理是這這樣的,器件中低溫度系數晶振的振蕩頻率受溫度 的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1 ;高溫度系數晶振隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入。器件中還有一個計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數進而完成溫度測量。 計數門的開啟時間由高溫度系數振蕩器 來決定,每次測量前,首先將-55C所對應

21、的一個基數分別置入減法計數器1、溫度寄存器中,計數器1和溫度寄存器被預置在-55C所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數 器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置將重新被 裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數, 如此 循環直到減法計數器計數到0時,停止溫度寄存器的累加,此時溫度寄存器中的 數值就是所測溫度值。其輸出用于修正減法計數器的預置值,只要計數器門仍未 關閉就重復上述過程,直到溫度寄存器值大致被測溫度值。另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念, 因此讀寫時序很重

22、要。系統對DS18B20勺各種操作按協議進行。操作協議為:初 使化DS18B20發復位脈沖)一發ROM功能命令一發存儲器操作命令一處理數據。由于DS18B2C采用的“一線總線”結構,所以數據的傳輸與命令的通訊只 要通過微處理器的一根雙向I /o 口就可以實現。DS18B20約定在每次通信前必 須對其復位,具體的復位時序如圖 3.8圖3.8 復位時序圖圖3.8,tRSTL為主機發出的低電平信號,本文中有 AT89S52提供,tRSTL的最 小時延為480us,然后釋放總線,檢查 DSI8B20的返回信號,看其是否已準備接 受其他操作,其中tPDHIGH時間最小為15us,過60us為DS18B2

23、0沒有準備好, 主機應繼續復位,直到檢測到返回信號變為低電平為止。表3-5 DS18B20的ROM操作指令操作指令33H55HCCHF0HECH含義讀ROM匹配ROM跳過ROM搜索ROM報警搜索ROM表3-6 DS18B20的存儲器操作指令操作指令4EHBEH48H44HD8HB4H含義寫讀內部復制溫度轉換重新調出讀電源主機一旦檢測到DS18B2的存在,根據DS18B2勺工作協議,就應對R0進行操 作,接著對存儲器操作,最后進行數據處理。在 DS18B2中規定了 5條對ROI的操 作命令。見表3-5。主機在發送完ROI操作指令之后,就可以對DS18B2內部的存儲器進行操作,同樣DS18B2規定

24、了 6條操作指令。見表3-6。DS18B20勺讀、寫時序圖見圖3.9圖3.9 DS18B20的讀寫時序圖2.DS18B20勺使用方法由于DS18B20采用的是1-Wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協議,因此,我們 必須采用軟件的方法來模擬單總線的協議時序來完成對DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序 要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機 作為主設備

25、,單圖3.10 DS18B20的復位時序圖3.11 DS18B20的讀時序圖3.12 DS18B20的寫時序總線器件作為從設備。而每一次命令和數據的傳輸都是從主機主動啟動寫時序開 始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數 據接收。數據和命令的傳輸都是低位在先。對于DS18B2啲讀時序分為讀0時序和讀1時序兩個過程圖3.11和圖3.12。對于DS18B20的讀時隙是從主機把單總線拉低之后,在 15秒之內就得釋放 單總線,以讓DS18B2C把數據傳輸到單總線上。DS18B2C在完成一個讀時序過程, 至少需要60us才能完成。DS18B20勺寫時序,對于DS18B20的

26、寫時序仍然分為寫0時序和寫1時序兩 個過程, 對于DS18B20寫 0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉 低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣10總線上 的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單線。單片機介紹1. AT89S52的主要性能與MCS-51單片機產品兼容,8K字節在系統可編程Flash存儲器、1000次 擦寫周期、全靜態操作:0Hz33Hz、三級加密程序存儲器、32個可編程I/O 口線、三個16位定時器/計數器 八個中斷源、全雙工UART串行通道、 低功 耗空閑和掉電模式、掉電后中斷可喚醒、

27、看門狗定時器、雙數據指針、掉電 標識符。2. AT89S52的功能特性AT89S52是一種低功耗、高性能CMOS位微控制器,具有8K在系統可編程 Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業 80C51 產品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統可編程,亦適于 常規編程器。在單芯片上,擁有靈巧的 8位CPU和在系統可編程Flash,使得 AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52 具有以下標準功能:8k字節Flash,256字節RAM 32位I/O 口線,看門狗 定時器,2個數據指針,三個16位 定時器/計數

28、器,一個6向量2級中斷結構, 全雙工串行口, 片內晶振及時鐘電路。另外,AT89S52可降至OHz靜態邏輯操 作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM定 時器/計數器、串口、中斷繼續工 作。掉電保護方式下,RAM內容被保存,振蕩 器被凍結, 單片機一切工作停止,直到下一個中斷或硬件復位為止。 8位微控 制器8K字節在系統可編程Flash AT89S52P0 口: P0 口是一個8位漏極開路的雙向I/O 口。作為輸出口,每位能驅動 8個TTL邏輯電平。對P0端口寫“ T時,弓I腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0 口也被作為低8位地址/數據復用。在

29、這種模式下,P0具有內部上拉電阻。在flash編程時,P0 口也用來接收指令字節;在程序校驗時,輸出指令字 節。程序校驗 時,需要外部上拉電阻。P1 口 : P1 口是一個具有內部上拉電阻的 8位雙向I/O 口,P1輸出緩沖器 能驅動4個TTL邏輯電平。對P1端口寫“ 1”時,內部上拉電阻把端口拉高, 此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的 原因,將輸出電流(IIL )。此外,P1.0和P1.2分別作定時器/計數器2的外部 計數輸入(P1.0/T2 )和時器/計數器2的觸發輸入(P1.1/T2EX),具體如下所 示。在flash編程和校驗時,P1 口接收低8位地

30、址字節。引腳號第二功能P1.0 T2 (定時器/計數器T2的外部計數輸入),時鐘輸出P1.1 T2EX (定時器/計數器T2的捕捉/重載觸發信號和方向控制)P1.5 MOSI (在系統編程用)P1.6 MISO (在系統編程用)P1.7 SCK (在系統編程用)P2 口 : P2 口是一個具有內部上拉電阻的 8位雙向I/O 口,P2輸出緩沖器 能驅動4個TTL邏輯電平。對P2端口寫“ 1”時,內部上拉電阻把端口拉高,此時可 以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因, 將輸出電流(IIL )。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVDPR

31、R時,P2 口送出高八位地址。在這種應用中, P2 口使 用很強的內部上拉發送1。在使用8位地址(如MOVX RI訪問外部數據存儲 器時,P2 口輸出P2鎖存器的內容。在flash編程和校驗時,P2 口也接收高8位地址字節和一些控制信號。P3 口 : P3 口是一個具有內部上拉電阻的 8位雙向I/O 口,p2輸出緩沖器 能驅動4個TTL邏輯電平。對P3端口寫“ 1”時,內部上拉電阻把端口拉高, 此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的 原因,將輸出電流(IIL )。P3 口亦作為AT89S52特殊功能(第二功能)使用, 如下所示。 在flash編程和校驗時,P3

32、口也接收一些控制信號。P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷 0)P3.3 INT1(外中斷 1)P3.4 T0(定時/計數器0)P3.5 T1(定時/計數器1)P3.6 WR(外部數據存儲器寫選通)P3.7 RD(外部數據存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。RST復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電 平將是單片機復位。ALE/PRO當訪問外部程序存儲器或數據存儲器時,AL(地址鎖存允許) 輸出脈沖用于鎖存地址的低8位字節。一般情況下,ALE仍以時鐘振蕩頻率的1/6 輸出固定的脈

33、沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個 ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PRO)如有必要,可通過對特殊功能寄存器(SFR區中的8EH單元的D0位置位, 可禁止ALE操作。該位置位后,只有一條MOVX口 MOV指令才能將ALE激活。此 外,該引腳會被微弱拉高,單片機執行外部程序時,應設置 ALE禁止位無效。PSEN程序儲存允許(PSEN輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效, 即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將跳過兩次

34、PSEN言號。EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為OOOOH-FFFFH,EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被 編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU則執行內部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須 是該器件是使用12V編程電壓Vpp。3.3軟件流程圖系統程序主要包括主程序、讀出溫度子程序、溫度轉換子程序、計算溫度子 程序、顯示等等。主程序主要功能是完成DS18B20的初始化工作,并進行讀溫度,將溫度轉化成為壓縮BCD碼 并在顯示器上顯示傳感器所測得的實際

35、溫度。讀岀溫度子程序讀出溫度子程序的主要功能是讀出 RAM中的9字節,在讀出時需要進行CRC 校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖3.12所示。DS18B20復位跳過ROM命令讀取溫度命令讀取操作CRC檢驗返回X/圖3.12讀出溫度子程序取值進行BCD碼的的判定,其程序流溫度轉換命令子程序溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辯率時轉換時間約為750ms在本程序設計中采用1s顯示程序延時法等待轉換的完成。流程圖如圖3.13圖3.13 溫度轉換流程圖計算溫度子程序計算溫度子程序將RAM中讀 轉換運算,并進行溫度值正負 程圖如圖3.14所示圖3.14計算溫度子

36、程序第四章硬件電路的設計程序編寫完以后,我們先對其進行仿真,初步驗證電路圖和程序的可行性和 正確性。4.1 proteus 簡介Proteus是英國Labcenter公司開發的電路分析與實物仿真軟件。它運行于 Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟 件的特點是:1實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字 電路仿真、單片機及其外圍電路組成的系統的仿真、RS232動態仿真、I2C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、 邏輯分析儀、信號發生器等。2支持主流單片機系統的仿真。目前支持的單片機類型

37、有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。3提供軟件調試功能。在硬件仿真系統中具有全速、單步、設置斷點等調試 功能,同時可以觀察各個變量、寄存器等的當前狀態,因此在該軟件仿真系統中, 也必須具有這些功能;同時支持第三方的軟件編譯和調試環境,如Keil C51uVision2、MPLAB等軟件。具有強大的原理圖繪制功能。總之,該軟件是一款 集單片機和SPICE分析于一身的仿真軟件,功能極其強大。proteus6.5是目前最好的模擬單片機外圍器件的工具,真的很不錯。可以仿真51系列、AVR,PIC等 常用的MCU

38、及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達丄ED,AD/DA,部分SPI 器件部分IIC器件,.)其實proteus與multisim比較類似,只不過它可以仿真 MCU。4.2 proteus 仿真圖開始顯示時顯示的是學號如圖 4.1所示。圖4.1顯示學號顯示正常溫度如圖4.2所示圖4.2顯示正常溫度超過設計的溫度上下限(這里設上限和下限分別為100C和90C .)蜂鳴器響報警如圖4.3所示圖4.3超過溫度線報警第五章調試性能及分析系統的性能調試以主程序為主。硬件調試比較簡單,直接插上電,軟件調試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、從程序 的編寫和調試,由于D

39、S18B20與單片機采用串行數據傳送,因此對DS18B2C進行 編程時必須嚴格地保證讀寫時序,否則將無法讀取測量結果。性能測試可用制作的溫度計和已有的成品溫度計來同時測量比較,由于 DS18B20精度較高,所以誤差指標可以限制在 0.1° C以內,另外,-55° C至+125° C的測溫范圍使得該溫度計完全適用于一般的應用場合,其低電壓供電的特性可做成電池供電的手持電子溫度計如圖 5.1。圖5.1調式結果總結本次的課程設計共五周時間,分別進行了 BS18D2C電路原理圖的設計,電路 仿真圖的設計以及實物電路板的演示三個過程。經過這次的課程設計,我們不僅加深了對 P

40、roteus仿真軟件的了解和使用,還學到了許多課本上沒有涉及知識, 練習了電路原理圖的設計和仿真運行,同時對上學期學習的單片機課程進行了一 次全面的復習和鞏固,收益很大。我們知道,課程設計一般強調能力培養為主,在獨立完成設計任務的 同時,還要注意其他幾方面能力的培養與提高,如獨立工作能力與創造力;綜合運用專業及基礎知識的能力,解決實際工程技術問題的能力;查閱圖 書資料、產品手冊和各種工具書的能力;工程繪圖的能力;書寫技術報告 和編制技術資料的能力。在專業知識與研究方法方面為日后的畢業設計乃 至畢業后的工作奠定良好的基礎這次課設讓我對單片機有了進一步的了解,而且對Proteus仿真軟件的有了 一

41、定了解。體會到了 Proteus仿真軟件的強大。通過本次課設,能夠使我們熟練掌握單片機控制電路的設計、程序編寫和系統調試,從而全面地提高我們對單片機的軟件、硬件等方面的理解,進而增強我們在實踐環節的動手操作能力。譬如,我們可以根據實驗指導書的要求,完成 DS18B2C電路的硬件設計、電路器件的選擇、單片機軟件的運行、以及整體系統 調試,并寫出完善的設計報告。在進行課設之前,要求我們具備數字電路、模擬 電路、電路基礎、微機原理、電力電子、電機學和單片機等相關課程的知識,并 具備一些基本的實踐操作水平,為以后的就業打好一定的基礎。總的來說,這次的課程設計自己還是很滿意的,感覺收獲了不少東西,相信此

42、次學到的知識在以后的生活和學習中對我會有很大的幫助!參考文獻1 張五一,張道光.微機原理與接口技術鄭州:河南科學技術出版社,20062 李廣弟.單片機基礎.北京:北京航空航天大學出版社,19943 廖常初.現場總線概述.電工技術,1999.4 倪曉軍.單片機原理與接口技術教程.北京:清華大學出版社,2009 姚年春 向華Protel99SE基礎教程.北京.人民名郵電出版社, 2009 韓穎;Proteus 在單片機技術實訓教學中的應用 J;中國科教創新導 刊;2008年31期7 周靈彬;張靖武.PROTEUS勺單片機教學與應用仿真J.單片機與嵌入式系 統應用;2008年01期8 張友德,涂時亮

43、.單片微型機原理、應用與實驗M.復旦大學出版社.9 譚浩強.C程序設計教程M.清華大學出版社,2007.10 余孟嘗.數字電子技術基礎M.高等教育出版社.11 賈振國,許琳.智能化儀器儀表原理及應用M.中國水利水電出版社.附錄1源程序#in clude<reg52.h>#in clude vintrin s.h> #defi ne uchar un sig ned char#defi ne uint un sig ned intsbit DQ=PU6;ds18b20與單片機連接口sbit RS=P1A0;sbit RW=P1A1;sbit EN=P1A2;sbit BEEP

44、= P1A7;uchar code str1=" Temperature is "uchar code str2="stude ntNO:"uchar code str3="0967112127"uchar data disdata5;uchar p=0;uint tvalue;/ 溫度值uchar tflag;/ 溫度正負標志/*lcd1602程序 *void delay1ms( uint ms)/ uint i,j; for(i=0;i<ms;i+) for(j=0;j<114;j+);*延時1毫秒扌報警程序 *voi

45、d baojin g(void)un sig ned int j;BEEP=0;for (j = 49; j > 0; j-)響 30msBEEP = BEEP; / delaylms(IO); / BEEP=0;void wr_com(uchar com)/ delay1ms(1);RS=0;RW=0;EN=0;P0=com; delay1ms(1);EN=1;delay1ms(1);EN=0;void wr_dat(uchar dat)輸出頻率800Hz延時310us寫指令寫數據 delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1);

46、EN=1; delay1ms(1); EN=0;初始化設置/void lcdni t() wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);void display(uchar *p)顯示 /while(*p!='0')wr_dat(*p); p+;delaylms(l);void ini t_play()初始化顯示lcdn it();wr_com(0x80);display(str2);wr_com(0xc0);display(str3);delay1ms(3000);lcdn it();wr_com(0x80);display(str1)

溫馨提示

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

評論

0/150

提交評論