【正文】
DS18B20介紹DS18B20引腳如圖46所示。被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可以在遠端引入,也可以采用寄生電源方式產生;多個DS18B20可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。高溫度系數晶振 隨溫度變化其振蕩率明顯改變,所產生的信號作為計數器2的脈沖輸入。2. 每只DS18B20具有一個獨有的,不可修改的64位序列號,根據序列號訪問地應的器件。5. 可編輯數據為9~12位,轉換12位溫度時間為750ms(最大)。9. DS18B20可將檢測到溫度值直接轉化為數字量,并通過串行通信的方式與主控制器進行數據通信。 2. DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以 ℃/LSB形式表達,其中S為符號位。主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數據的高速暫存器RAM,用于存儲用戶設定溫度上下限值的TH和TL觸發(fā)器,存儲與控制邏輯,8位循環(huán)冗余校驗碼(CRC)發(fā)生器等7部分圖47 DS18B20內部結構 DS18B20相關介紹溫度的讀?。篋S18B20在出廠時以配置為12位,讀取溫度時共讀取16位,還需要判斷正負。3. 數據線拉到低電平“0”。據該狀態(tài)可以來確定它的存在,但是應注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制7. 若CPU讀到了數據線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。3. 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。7. 最后將數據線拉高。4. 延時15微秒。8. 延時30微秒。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS1820操作部分最好采用匯編語言實現。介紹了80C51結構、特點、中斷、定時/計數等。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調各執(zhí)行模塊和操作者的關系。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。圖 52 DS18B20初始化流程圖 將溫度傳感器與冰水混合物接觸,經過充分攪拌達到熱平衡后調節(jié)系統(tǒng),(標定0℃);利用氣壓計讀出當時當地的大氣壓強,并根據大氣壓強和當地重力加速度計算出當時的實際壓強;根據沸點與壓強的關系查出沸點溫度。設置溫度上限為37度,溫度下限為10度。此時溫度為5度,低于下限溫度,綠燈亮,實現報警。驗證了設計的正確性。本文對其中的一些基本原理也做了簡要的概述。致謝通過這一階段的努力,我的畢業(yè)論文《基于單片機的數字溫度計》終于完成了,這意味著大學生活即將結束。Vision2一、Principle of MCUSinglechip is an integrated on a single chip a plete puter system. Even though most of his features in a small chip, but it has a need to plete the majority of puter ponents: CPU, memory, internal and external bus system, most will have the Core. At the same time, such as integrated munication interfaces, timers, realtime clock and other peripheral equipment. And now the most powerful singlechip microputer system can even voice, image, networking, input and output plex system integration on a single chip. Also known as singlechip MCU (Microcontroller), because it was first used in the field of industrial control. Only by the singlechip CPU chip developed from the dedicated processor. The design concept is the first by a large number of peripherals and CPU in a single chip, the puter system so that smaller, more easily integrated into the plex and demanding on the volume control devices. INTEL the Z80 is one of the first design in accordance with the idea of the processor, From then on, the MCU and the development of a dedicated processor parted ways. Early singlechip 8bit or all of the four. One of the most successful is INTEL39。s close on the heels of a special processor, while the ordinary price of the model dropped to one . dollars, the most highend models, only 10 . dollars. Contemporary singlechip microputer system is no longer only the baremetal environment in the development and use of a large number of dedicated embedded operating system is widely used in the full range of singlechip microputer. In PDAs and cell phones as the core processing of highend singlechip or even a dedicated direct access to Windows and Linux operating systems. More than a dedicated singlechip processor suitable for embedded systems, so it was up to the application. In fact the number of singlechip is the world39。s with the big consumer electronics product development, singlechip technology is a huge improvement. INTEL i960 Series with subsequent ARM in particular, a broad range of applications, quickly replaced by 32bit singlechip 16bit singlechip highend status, and enter the mainstream market. Traditional 8bit singlechip performance has been the rapid increase in processing power pared to the 8039。在我寫本論文的過程中,馬建為老師給我提供了許多資料,并對實踐中出現的問題給予耐心的解答,完稿之后在百忙之中仔細閱讀,給出修改意見,在此對他表示感謝??傊當底譁囟扔嬂迷诤芏囝I域。結論本文介紹了基于80C51單片機的數字溫度計控制系統(tǒng)的設計,對整個硬件電路和軟件程序設計做了分析,文中介紹了數字溫度計的現狀及發(fā)展,介紹了仿真軟件proteus及keil的基本知識,學習了proteus的仿真方法和步驟,介紹了數字溫度計的設計方案選擇及原理介紹,加深了51單片機的知識了解,介紹51單片機的結構、特點等。此時溫度為20度,在所設范圍內,兩燈都沒亮,說明溫度正常。此時溫度時43度,超出上限溫度,黃燈亮,實現報警。該溫度計的量程為0℃~100℃,℃,實際使用一般在0℃~100℃。主程序流程見圖51。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。通過本章的學習加深了51單片機的了解,熟悉了數字溫度傳感器DS18B20。5. 在DS18B20測溫程序設計中,向DS18B20 發(fā)出溫度轉換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20 接觸不好或斷線,當程序讀該DS18B20 時,將沒有返回信號,程序進入死循環(huán),這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。2. 在實際使用中發(fā)現,應使電源電壓保持在5V 左右,若電源電壓過低,會使所測得的溫度精度降低。6. 延時15微秒。2. 延時2微秒。 5. 將數據線拉到高電平。 DS18B20的寫操作: 1. 數據線先置低電平“0”。“1”。DS18B20的初始化: 1. 先將數據線置高電平“1”。 4. 配置寄存器。64位光刻ROM的排列是:開始8位 (28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。7. 報警搜索命令可識別和尋址哪個器件的溫度超出預定值。4. 測溫范圍為55℃~+125℃,在10℃~85℃范圍內誤差為177。計數器1對 低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0時,溫度寄存器的值將加1,計數器1的預置將重新被裝入,計數器1重 新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即 為所測溫度。DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數因分辨率不同而不同,且溫度轉換時的延時時間由2s 減為750ms。DALLAS 半導體公司的數字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。MAX232的工作電壓只需5V,內部有振蕩電路產生正負9V電位。其中E是下降沿觸發(fā)的片選信號,R/W是讀寫信號,RS是寄存器選擇信號本模塊設計要點如下:顯示模塊初始化:首先清屏,再設置接口數據位為8位,顯示行數為1行,字型為57點陣,然后設置為整體顯示,取消光標和字體閃爍,最后設置為正向增量方式且不移位。DB7(14腳):高4位三態(tài)、 雙向數據總線 7位(最高位)(也是busy flang)。DB3(10腳):底4位三態(tài)、 雙向數據總線 3位。E(6腳):E(或EN)端為使能(enable)端,下降沿使能。Vdd(2腳):接電源。但對于內帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據在LCD 上開始顯示的行列號及每行的列數找出顯示 RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數據。液晶是一種既具有液體的流動性又具有光學特性的有機化合物,它的透明程度和呈現的顏色受外加電場的影響,利用這特點便可做成字符顯示器。由片內特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應中斷請求;由中斷優(yōu)先級寄存器IP安排各中斷源的優(yōu)先級;同一優(yōu)先級內各中斷同時提出中斷請求時,由內部的查詢邏輯確定其響應次序。:(T1)定時/計數器1的外部計數輸入。:(RXD)串行數據發(fā)送。在訪問片外EPROM/RAM 時,它輸出高8 位地址。P1口每位能驅動4 個LS 型TTL 負載。作輸入口使用時要先寫1,這就是準雙向口的含義。此引腳的第二功能是Vpp 是對8751 片內EPROM固化編程時,作為施加較高編程電壓(一般12V~21V)的輸入端。EA/Vpp(31 腳):外部程序存儲器地址允許輸入端/固化編程電壓輸入端。PSEN 端有效,即允許讀出EPROM/ROM 中的指令碼。此引腳的第二功能PROG 在對片內帶有4KB EPROM 的8751 編程寫入(固化程序)時,作為編程脈沖輸入端。平時不訪問片外存儲器時,ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號可以用作對外輸出時鐘或定時信號。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲在RAM 中的信息不丟失,從而合復位后能繼續(xù)正常運行。在采用外部時鐘時,該引腳必須接地。【3】 80C51單片機管腳圖圖42 80C51單片機管腳圖部分引腳說明:1. 時鐘電路引腳XTAL1 和XTAL2:XTAL2(18 腳):接外部晶體和微調電容的一端;在8051 片內它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。7. 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O 口,用于實現單片機之間或單機與微機之間的串行通信。5. 兩個定時器/計數器,每個定時器/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。但也有一些單片機內部不帶ROM/EPROM,如8031,8032,80C31 等。3. I/O口和其他功能單元