【正文】
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。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。在我寫本論文的過程中,馬建為老師給我提供了許多資料,并對實踐中出現(xiàn)的問題給予耐心的解答,完稿之后在百忙之中仔細(xì)閱讀,給出修改意見,在此對他表示感謝。致謝通過這一階段的努力,我的畢業(yè)論文《基于單片機(jī)的數(shù)字溫度計》終于完成了,這意味著大學(xué)生活即將結(jié)束??傊?dāng)?shù)字溫度計利用在很多領(lǐng)域。本文對其中的一些基本原理也做了簡要的概述。結(jié)論本文介紹了基于80C51單片機(jī)的數(shù)字溫度計控制系統(tǒng)的設(shè)計,對整個硬件電路和軟件程序設(shè)計做了分析,文中介紹了數(shù)字溫度計的現(xiàn)狀及發(fā)展,介紹了仿真軟件proteus及keil的基本知識,學(xué)習(xí)了proteus的仿真方法和步驟,介紹了數(shù)字溫度計的設(shè)計方案選擇及原理介紹,加深了51單片機(jī)的知識了解,介紹51單片機(jī)的結(jié)構(gòu)、特點等。驗證了設(shè)計的正確性。此時溫度為20度,在所設(shè)范圍內(nèi),兩燈都沒亮,說明溫度正常。此時溫度為5度,低于下限溫度,綠燈亮,實現(xiàn)報警。此時溫度時43度,超出上限溫度,黃燈亮,實現(xiàn)報警。設(shè)置溫度上限為37度,溫度下限為10度。該溫度計的量程為0℃~100℃,℃,實際使用一般在0℃~100℃。圖 52 DS18B20初始化流程圖 將溫度傳感器與冰水混合物接觸,經(jīng)過充分?jǐn)嚢柽_(dá)到熱平衡后調(diào)節(jié)系統(tǒng),(標(biāo)定0℃);利用氣壓計讀出當(dāng)時當(dāng)?shù)氐拇髿鈮簭?qiáng),并根據(jù)大氣壓強(qiáng)和當(dāng)?shù)刂亓铀俣扔嬎愠霎?dāng)時的實際壓強(qiáng);根據(jù)沸點與壓強(qiáng)的關(guān)系查出沸點溫度。主程序流程見圖51。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。通過本章的學(xué)習(xí)加深了51單片機(jī)的了解,熟悉了數(shù)字溫度傳感器DS18B20。介紹了80C51結(jié)構(gòu)、特點、中斷、定時/計數(shù)等。5. 在DS18B20測溫程序設(shè)計中,向DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20 接觸不好或斷線,當(dāng)程序讀該DS18B20 時,將沒有返回信號,程序進(jìn)入死循環(huán),這一點在進(jìn)行DS18B20硬件連接和軟件設(shè)計時也要給予一定的重視。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。2. 在實際使用中發(fā)現(xiàn),應(yīng)使電源電壓保持在5V 左右,若電源電壓過低,會使所測得的溫度精度降低。8. 延時30微秒。6. 延時15微秒。4. 延時15微秒。2. 延時2微秒。7. 最后將數(shù)據(jù)線拉高。 5. 將數(shù)據(jù)線拉到高電平。3. 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 DS18B20的寫操作: 1. 數(shù)據(jù)線先置低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會使程序進(jìn)入死循環(huán),所以要進(jìn)行超時控制7. 若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒?!?”。3. 數(shù)據(jù)線拉到低電平“0”。DS18B20的初始化: 1. 先將數(shù)據(jù)線置高電平“1”。主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數(shù)據(jù)的高速暫存器RAM,用于存儲用戶設(shè)定溫度上下限值的TH和TL觸發(fā)器,存儲與控制邏輯,8位循環(huán)冗余校驗碼(CRC)發(fā)生器等7部分圖47 DS18B20內(nèi)部結(jié)構(gòu) DS18B20相關(guān)介紹溫度的讀取:DS18B20在出廠時以配置為12位,讀取溫度時共讀取16位,還需要判斷正負(fù)。 4. 配置寄存器。 2. DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 ℃/LSB形式表達(dá),其中S為符號位。64位光刻ROM的排列是:開始8位 (28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。9. DS18B20可將檢測到溫度值直接轉(zhuǎn)化為數(shù)字量,并通過串行通信的方式與主控制器進(jìn)行數(shù)據(jù)通信。7. 報警搜索命令可識別和尋址哪個器件的溫度超出預(yù)定值。5. 可編輯數(shù)據(jù)為9~12位,轉(zhuǎn)換12位溫度時間為750ms(最大)。4. 測溫范圍為55℃~+125℃,在10℃~85℃范圍內(nèi)誤差為177。2. 每只DS18B20具有一個獨有的,不可修改的64位序列號,根據(jù)序列號訪問地應(yīng)的器件。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。DALLAS 半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。圖45 MAX232引腳功能圖 DS18B20介紹DS18B20引腳如圖46所示。MAX232的工作電壓只需5V,內(nèi)部有振蕩電路產(chǎn)生正負(fù)9V電位。 每個驅(qū)動器將TTL/CMOS輸入電平轉(zhuǎn)換 為 EIA/TIA232E電平。圖44 液晶與89C51的接口80C51內(nèi)部已集成通信接口URT,只需擴(kuò)展一片MAX232芯片將輸出信號轉(zhuǎn)換成RS232協(xié)議規(guī)定的電平標(biāo)準(zhǔn), 其中E是下降沿觸發(fā)的片選信號,R/W是讀寫信號,RS是寄存器選擇信號本模塊設(shè)計要點如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為57點陣,然后設(shè)置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。表41寄存器選擇控制RSR/W操作說明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù) 如圖44所示。DB7(14腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flang)。DB5(12腳):高4位三態(tài)、 雙向數(shù)據(jù)總線 5位。DB3(10腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 3位。DB1(8腳):底4位三態(tài)、 雙向數(shù)據(jù)總線 1位。E(6腳):E(或EN)端為使能(enable)端,下降沿使能。RS(4腳):RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。Vdd(2腳):接電源。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼, CGROM由8位字符碼生成5*7點陣字符160中和5*,可以查看參考文獻(xiàn)(30)中的表4. CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié),可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM但愿,LM016L液晶模塊的引腳圖如圖43所示。但對于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。 點陣圖形式液晶由 M 行N 列個顯示單元組成,假設(shè) LCD 顯示屏有64行,每行有 128列,每 8列對應(yīng) 1 個字節(jié)的 8 個位,即每行由 16 字節(jié),共 168=128個點組成,屏上 6416 個顯示單元和顯示 RAM 區(qū) 1024 個字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對應(yīng)。顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。和CRT顯示器相比,LCD的優(yōu)點是很明顯的。液晶是一種既具有液體的流動性又具有光學(xué)特性的有機(jī)化合物,它的透明程度和呈現(xiàn)的顏色受外加電場的影響,利用這特點便可做成字符顯示器。80C51單