




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
21/22目錄1引言11.1課題背景11.2課題研究的目的和意義12溫度顯示器原理22.1溫度顯示器的設(shè)計(jì)方案22.2溫度顯示器的電路原理23溫度顯示器的硬件設(shè)計(jì)33.1DS18B20溫度傳感器的基本介紹33.1.1性能簡(jiǎn)述33.1.2DS18B20溫度傳感器的存儲(chǔ)器43.1.3DS18B20存儲(chǔ)器操作命令43.1.4DS18B20的測(cè)溫原理53.1.5DS18B20使用時(shí)的注意事項(xiàng)63.1.6DS18B20的外形和部結(jié)構(gòu)63.2AT89C2051單片機(jī)的基本介紹73.2.1性能簡(jiǎn)述73.2.2AT89C2051的引腳介紹如圖所示。83.2.3AT89C2051的振蕩器特性與芯片擦除93.2.4AT89C2051與AT89C51對(duì)比103.2.56AT89C2051部結(jié)構(gòu)114溫度顯示器的軟件設(shè)計(jì)125測(cè)試155.1測(cè)試容155.2測(cè)試結(jié)果15結(jié)論與展望16致17參考文獻(xiàn)18附錄一19附錄二20附錄三221引言1.1課題背景溫度控制器是對(duì)溫度進(jìn)行控制的開(kāi)關(guān)設(shè)備。在當(dāng)今的社會(huì)中,越來(lái)越多的壞境需要對(duì)溫度進(jìn)行控制。隨著溫控器應(yīng)用領(lǐng)域和圍的日益廣泛,電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來(lái)了根本性的變化,如果說(shuō)微型計(jì)算機(jī)的的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的的飛躍,那么可編程控制器的出現(xiàn)則是給現(xiàn)代工業(yè)控制測(cè)控領(lǐng)域帶來(lái)了一次新的革命。在現(xiàn)代社會(huì)中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用作用也體現(xiàn)到了各個(gè)方面。1.2課題研究的目的和意義目的:培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),結(jié)合實(shí)際獨(dú)立完成課題的工作能力;對(duì)學(xué)生的知識(shí)面、運(yùn)用理論結(jié)合實(shí)際去處理問(wèn)題的能力、實(shí)驗(yàn)?zāi)芰M(jìn)行考核。意義:溫度控制器是使用DS18B20集成溫度傳感器,七段數(shù)碼管做顯示,AT89C2051單片機(jī)做處理控制,電路簡(jiǎn)單。該電路最大的特點(diǎn)是用可以直觀方便的調(diào)節(jié)所要限定的溫度值,溫度值是用3個(gè)7段共陽(yáng)極數(shù)碼管顯示的,上電后會(huì)顯示當(dāng)前的溫度值,按設(shè)定鍵時(shí)會(huì)閃爍顯示設(shè)定溫度值,這時(shí)可以按上/下調(diào)節(jié)鍵調(diào)整設(shè)定溫度值,再次按下設(shè)定鍵時(shí)返回當(dāng)前溫度顯示同時(shí)會(huì)對(duì)設(shè)定溫度值進(jìn)行保存,這個(gè)設(shè)定值會(huì)保存在DS18B20中,掉電后也不會(huì)丟失,下次上電時(shí),單片機(jī)會(huì)自動(dòng)讀入上次的溫度設(shè)定值。2溫度顯示器原理2.1溫度顯示器的設(shè)計(jì)方案單片機(jī)單片機(jī)AT89C2051七段數(shù)碼管顯示DS18B20溫度傳感器按鈕輸入設(shè)定溫度設(shè)計(jì)的這一款溫度控制器是使用DS18B20集成溫度傳感器,七段數(shù)碼管做顯示,AT89C2051單片機(jī)做處理控制,電路簡(jiǎn)單。特點(diǎn)是用可以直觀方便的調(diào)節(jié)所要限定的溫度值,溫度值是用3個(gè)7段共陽(yáng)極數(shù)碼管顯示的,上電后會(huì)顯示當(dāng)前的溫度值,按設(shè)定鍵時(shí)會(huì)閃爍顯示設(shè)定溫度值,這時(shí)可以按上/下調(diào)節(jié)鍵調(diào)整設(shè)定溫度值,再次按下設(shè)定鍵時(shí)返回當(dāng)前溫度顯示同時(shí)會(huì)對(duì)設(shè)定溫度值進(jìn)行保存,這個(gè)設(shè)定值會(huì)保存在DS18B20中,掉電后也不會(huì)丟失,下次上電時(shí),單片機(jī)會(huì)自動(dòng)讀入上次的溫度設(shè)定值。長(zhǎng)按設(shè)定鍵為關(guān)閉顯示和溫控,再次按下時(shí)功能再次打開(kāi)。2.2溫度顯示器的電路原理制作中DS18B20使用外接電源的供電方式,數(shù)據(jù)端用4.7K電阻上拉,并聯(lián)接到2051的11腳上。晶振選用12M的,使用簡(jiǎn)單的上電復(fù)位電路。選用共陽(yáng)極的數(shù)碼管,用S8550作位驅(qū)動(dòng),段引腳通過(guò)470歐的電限流電阻接入2051的P1口上,如選用的數(shù)碼管亮度不足可以調(diào)小限流電阻值。筆者也使用過(guò)共陰極的數(shù)碼管,在P1口用1K電阻上拉提供電流,亮度不高,但可以節(jié)省三個(gè)位驅(qū)動(dòng)IO腳,電路更是簡(jiǎn)單。電路中有三個(gè)按鍵,分別是顯示開(kāi)關(guān)/溫度設(shè)定,溫度上調(diào),溫度下調(diào),在電路上電運(yùn)行時(shí)程序初始是處于關(guān)閉狀態(tài)的,要按一下S1電路開(kāi)始顯示和監(jiān)測(cè),如再按一下S1進(jìn)入溫度設(shè)定狀態(tài),設(shè)定值每秒閃爍一次,這時(shí)可以按S2或S3進(jìn)行調(diào)節(jié),再按下S1時(shí)退回顯示當(dāng)前溫度狀態(tài)并保存溫度值到DS18B20。電路原理圖3溫度顯示器的硬件設(shè)計(jì)3.1DS18B20溫度傳感器的基本介紹DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。可以分別在93.75ms和750ms完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫(xiě),溫度變換功率來(lái)源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無(wú)需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶(hù)帶來(lái)了更方便的使用和更令人滿(mǎn)意的效果3.1.1性能簡(jiǎn)述(1)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(2)測(cè)溫圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃。(3)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定。(4)工作電源:3~5V/DC(5)在使用中不需要任何外圍元件(6)測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送(7)不銹鋼保護(hù)管直徑Φ6(8)適用于DN15~25,DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫(9)標(biāo)準(zhǔn)安裝螺紋M10X1,M12X1.5,G1/2”任選(10)PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。3.1.2DS18B20溫度傳感器的存儲(chǔ)器DS18B20溫度傳感器的部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PPRAM,后者存放高溫度和低溫度觸發(fā)器TH.T和結(jié)構(gòu)寄存器。暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的溫度信息,第一個(gè)字節(jié)的容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH.TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的容在每一次上電復(fù)位時(shí)被刷新。第六七八個(gè)字節(jié)用于部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié),詳見(jiàn)表中容。3.1.3DS18B20存儲(chǔ)器操作命令3.1.4DS18B20的測(cè)溫原理低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。1.低溫度系數(shù)振蕩器是一個(gè)對(duì)頻率隨溫度變化很小的振蕩器,為計(jì)數(shù)器1提供頻率穩(wěn)定的技術(shù)脈沖。2.高溫度系數(shù)計(jì)數(shù)器是一個(gè)對(duì)頻率對(duì)溫度很敏感的振蕩器,為計(jì)數(shù)器2提供了一個(gè)頻率隨溫度變化的技術(shù)脈沖。3.DS18B20部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號(hào);同樣,高溫系數(shù)振蕩器則將被測(cè)溫度轉(zhuǎn)換成頻率信號(hào)。當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20進(jìn)行計(jì)數(shù),計(jì)數(shù)門(mén)打開(kāi)時(shí)間高溫度系數(shù)振蕩器決定。原理圖如圖2。3.1.5DS18B20使用時(shí)的注意事項(xiàng)根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送ROM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。DS18B20使用中注意事項(xiàng),DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單,測(cè)溫精度高,連接方便,占用口線少等特點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:(1)較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此在對(duì)DS18B20進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M,C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序計(jì)時(shí),對(duì)DS18B20最好采用匯編語(yǔ)言實(shí)現(xiàn)。(2)在DS18B20的有關(guān)資料中均未提與單總線上所掛DS18B20數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè)DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20超過(guò)八個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。(3)連接DS18B20的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50M時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150M,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波產(chǎn)生畸變?cè)斐傻摹R虼?,再用DS18B20進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。(4)在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組姐VCC和地線,屏蔽層在源端單點(diǎn)接地。3.1.6DS18B20的外形和部結(jié)構(gòu)DS18B20部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形與管腳排列如下圖1:DS18B20引腳定義:(1)DQ為數(shù)字信號(hào)輸入/輸出端;
(2)GND為電源地;
(3)VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。圖1:DS18B20外形與引腳排列圖圖2:DS18B20部結(jié)構(gòu)圖3.2AT89C2051單片機(jī)的基本介紹AT89C2051是由ATMEL公司推出的一種小型單片機(jī)。95年出現(xiàn)在中國(guó)市場(chǎng)。其主要特點(diǎn)為采用Flash存貯器技術(shù),降低了制造成本,其軟件、硬件與MCS-51完全兼容,可以很快被中國(guó)廣大用戶(hù)接受,其程序的電可擦寫(xiě)特性,使得開(kāi)發(fā)與試驗(yàn)比較容易。對(duì)于一些不大復(fù)雜的控制電路我們就可以增加少量元件來(lái)實(shí)現(xiàn),例如,對(duì)溫度的控制,過(guò)壓的控制等。3.2.1性能簡(jiǎn)述1、和MCS-51產(chǎn)品兼容;2、2KB可重編程FLASH存儲(chǔ)器(10000次);3、2.7-6V電壓圍;4、全靜態(tài)工作:0Hz-24MHz;5、2級(jí)程序存儲(chǔ)器鎖定;6、128*8位部RAM;7、15條可編程I/O線;8、兩個(gè)16位定時(shí)器/計(jì)數(shù)器;9、6個(gè)中斷源;10、可編程串行通道;11、高精度電壓比較器(P1.0,P1.1,P3.6);12、直接驅(qū)動(dòng)LED的輸出端口。3.2.2AT89C2051的引腳介紹如圖所示。(1)VCC:電源電壓。(2)GND:接地。(3)P1口:P1口是一個(gè)8位雙向I/O口??谝_P1.2~P1.7提供部上拉電阻,P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片精密模擬比較器的同相輸入(ANI0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流并能直接驅(qū)動(dòng)LED顯示。當(dāng)P1口引腳寫(xiě)入“1”時(shí),其可用作輸入端,當(dāng)引腳P1.2~P1.7用作輸入并被外部拉低時(shí),它們將因部的寫(xiě)入“1”時(shí),其可用作輸入端。當(dāng)引腳P1.2~P1.7用作輸入并被外部拉低時(shí),它們將因部的上拉電阻而流出電流。(4)P3口:P3口的P3.0~P3.5、P3.7是帶有部上拉電阻的七個(gè)雙向I/O口引腳。P3.6用于固定輸入片比較器的輸出信號(hào)并且它作為一通用I/O引腳而不可訪問(wèn)。P3口緩沖器可吸收20mA電流。當(dāng)P3口寫(xiě)入“1”時(shí),它們被部上拉電阻拉高并可用作輸入端。用作輸入時(shí),被外部拉低的P3口腳將用上拉電阻而流出電流。P3口還用于實(shí)現(xiàn)AT89C2051的各種第二功能,如下表所示。P3口還接收一些用于閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。引腳口功能P3.0RXD串行輸入端口P3.1TXD串行輸出端口P3.2INT0外中斷0P3.3INT1外中斷1P3.4T0定時(shí)器0外部輸入P3.5T1定時(shí)器1外部輸入(5)RST:復(fù)位輸入。RST一旦變成高電平所有的I/O引腳就復(fù)位到“1”。當(dāng)振蕩器正在運(yùn)行時(shí),持續(xù)給出RST引腳兩個(gè)機(jī)器周期的高電平便可完成復(fù)位。每一個(gè)機(jī)器周期需12個(gè)振蕩器或時(shí)鐘周期。(6)XTAL1:作為振蕩器反相器的輸入和部時(shí)鐘發(fā)生器的輸入。(7)XTAL2:作為振蕩器反相放大器的輸出。3.2.3AT89C2051的振蕩器特性與芯片擦除1.振蕩器特性
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。2.芯片擦除
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片振蕩器。石晶振蕩和瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。3.2.4AT89C2051與AT89C51對(duì)比AT89C2051AT89C512KB可編程Flash存儲(chǔ)器(可擦寫(xiě)1000次)4KB可編程Flash存儲(chǔ)器(可擦寫(xiě)1000次)兩級(jí)程序存儲(chǔ)器三級(jí)程序存儲(chǔ)器靜態(tài)工作頻率:0Hz-24MHz靜態(tài)工作頻率:0Hz-24MHz128字節(jié)部RAM128字節(jié)部RAM2個(gè)16位定時(shí)/計(jì)數(shù)器2個(gè)16位定時(shí)/計(jì)數(shù)器一個(gè)串行通訊口一個(gè)串行通訊口6個(gè)中斷源6個(gè)中斷源15條I/O引線32條I/O引線1個(gè)片模擬比較器片時(shí)種振蕩器AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。啊T89C2051是精簡(jiǎn)版的51單片機(jī),精簡(jiǎn)掉了P0口和P2口,只有20引腳,但其部集成了一個(gè)很實(shí)用的模擬比較器,特別適合開(kāi)發(fā)精簡(jiǎn)的51應(yīng)用系統(tǒng),畢竟很多時(shí)候我們開(kāi)發(fā)簡(jiǎn)單的產(chǎn)品時(shí)用不了全部32個(gè)I/O口,用AT89C2051更合適。1.兩者的不同點(diǎn)AT89C2051可以看作AT89C51的簡(jiǎn)化版。如果不需要擴(kuò)展片外RAM,ROM主要區(qū)別有:
(1)AT89C51有4KB的ROM,而AT89C2051只有2KB的ROM。(2)AT89C51有4個(gè)8位I/O口,而AT89C2051只有2個(gè)8位I/O口(P3.6沒(méi)有引腳)。
由于AT89C2051的IO線很少,導(dǎo)致它無(wú)法外加RAM和程序ROM,片F(xiàn)lash存儲(chǔ)器也少,但它的體積比AT89C51小很多.2.兩者的共同點(diǎn)兩者不是同一種芯片,但有一樣的指令集,因?yàn)閮烧叨际腔贛CS-51硬核的。3.2.56AT89C2051部結(jié)構(gòu)AT89C2051部結(jié)構(gòu)圖AT89C2051是一帶有2K字節(jié)閃速可編程可擦除只讀存儲(chǔ)器(EEPROM)的低電壓,高性能8位CMOS微處理器。它采用ATMEL的高密非易失存儲(chǔ)技術(shù)制造并和工業(yè)標(biāo)準(zhǔn)MCS-51指令集和引腳結(jié)構(gòu)兼容。通過(guò)在單塊芯片上組合通用的CPLI和閃速存儲(chǔ)器,ATMEL的AT89C2051是一強(qiáng)勁的微型處理器,它對(duì)許多嵌入式控制應(yīng)用提供一定高度靈活和成本低的解決辦法。AT89C2051提供以下標(biāo)準(zhǔn)功能:2K字節(jié)閃速存儲(chǔ)器,128字節(jié)RAM,15根I/O口,兩個(gè)16位定時(shí)器,一個(gè)五向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行口,一個(gè)精密模擬比較器以與兩種可選的軟件節(jié)電工作方式??臻e方停止CPU工作但允許RAM、定時(shí)器/計(jì)數(shù)器、串行工作口和中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM容但振蕩器停止工作并禁止有其它部件的工作到下一個(gè)硬件復(fù)位。4溫度顯示器的軟件設(shè)計(jì)這個(gè)溫度控制器制作的最大難點(diǎn)應(yīng)該算是2051程序的編寫(xiě)和調(diào)試。因在電路中有數(shù)字顯示,按鍵設(shè)定,數(shù)據(jù)采集和繼電器控制。首先要考慮的是在電路中3個(gè)數(shù)碼管的陰極是接在P1上的,也就是說(shuō)要使用動(dòng)態(tài)顯示的編程方法,在程序中使用了一個(gè)定時(shí)中斷去處理顯示,定時(shí)器的定時(shí)值為20毫秒,每間隔20毫秒程序但會(huì)執(zhí)行定時(shí)中斷顯示所要顯示的數(shù)字,同時(shí)在這個(gè)定時(shí)中斷中還會(huì)去掃描按鍵,看是否有鍵被按下并對(duì)其結(jié)果進(jìn)行處理。在這20ms的時(shí)間里程序還會(huì)完成溫度數(shù)據(jù)的采集和轉(zhuǎn)換和對(duì)當(dāng)前溫度和設(shè)置溫度的對(duì)比等等。在編寫(xiě)采集DS18B20數(shù)據(jù)的函數(shù)時(shí)運(yùn)用了DS18B20的單總線協(xié)議,在讀寫(xiě)DS18B20時(shí)IO口的電平時(shí)序上應(yīng)盡可能做到與資料上提供的數(shù)據(jù)相一致。下面為溫度傳感器的讀取溫度程序://mega87.3728MHzgcc編譯通過(guò),_delay_us(us)_delay_ms(ms)調(diào)用庫(kù)函數(shù)
//初始化把dq設(shè)置為輸出
#defineds18b20_dqPC5
#defineset_ds18b20_dq_ddr()DDRC|=1<<ds18b20_dq
#defineset_ds18b20_dq()PORTC|=1<<ds18b20_dq
#defineclr_ds18b20_dq()PORTC&=~(1<<ds18b20_dq)
#defineclr_ds18b20_dq_ddr()DDRC&=~(1<<ds18b20_dq)
#definein_ds18b20_dq()PINC&(1<<ds18b20_dq)
#defineds18b20_read_rom0x33
#defineds18b20_match_rom0x55
#defineds18b20_skip_rom0xcc
#defineds18b20_search_rom0xf0
#defineds18b20_alarm_search_rom0xec
#defineds18b20_write_ram0x4e
#defineds18b20_read_ram0xbe
#defineds18b20_copy_ram0x48
#defineds18b20_convert_tem0x44
#defineds18b20_eecall_eeprom0xb8
#defineds18b20_read_power_supply0xb4
voidreset_ds18b20(void)
{
clr_ds18b20_dq();
_delay_us(198);//100us
_delay_us(198);//100us
_delay_us(198);//100us
_delay_us(198);//100us
set_ds18b20_dq();
_delay_us(38);//20us
}
voidack_ds18b20(void)
{
while(in_ds18b20_dq());
while(!(in_ds18b20_dq()));
_delay_us(38);//20us
}
ucharread_ds18b20(void)
{
uchardata=0;
uchari=0;
for(i=0;i<8;i++)
{
data>>=1;
clr_ds18b20_dq();
_delay_us(1);//1us
set_ds18b20_dq();
_delay_us(2);//2us
if(in_ds18b20_dq())data|=0x80;
_delay_us(118);//60us
}
return(data);
}
voidwrite_ds18b20(uchardata)
{
uchari=0;
for(i=0;i<8;i++)
{
if(data&0x01){
clr_ds18b20_dq();
_delay_us(14);//8us
set_ds18b20_dq();
_delay_us(108);//55us
}
else
{
clr_ds18b20_dq();
_delay_us(108);//55us
set_ds18b20_dq();
_delay_us(14);//8us
}
data>>=1;
}
}
voidconvert_ds18b20(void)
{
reset_ds18b20();
ack_ds18b20();
_delay_ms(1);
write_ds18b20(ds18b20_skip_rom);
write_ds18b20(ds18b20_convert_tem);
}
voidread_temperature(void)
{
reset_ds18b20();
ack_ds18b20();
_delay_ms(1);
write_ds18b20(ds18b20_skip_rom);
write_ds18b20(ds18b20_read_ram);
temperature_low=read_ds18b20();
temperature_high=read_ds18b20();
}詳細(xì)源程序見(jiàn)附錄二5測(cè)試5.1測(cè)試容測(cè)試點(diǎn)容說(shuō)明1是否顯示當(dāng)前溫度值上電后會(huì)顯示當(dāng)前的溫度值2是否可以進(jìn)行溫度設(shè)定并保存按設(shè)定鍵時(shí)會(huì)閃爍顯示設(shè)定溫度值,這時(shí)可以按上/下調(diào)節(jié)鍵調(diào)整設(shè)定溫度值,再次按下設(shè)定鍵時(shí)返回當(dāng)前溫度顯示同時(shí)會(huì)對(duì)設(shè)定溫度值進(jìn)行保存3超出溫度值時(shí)LED燈是否點(diǎn)亮當(dāng)當(dāng)前溫度超出設(shè)定溫度時(shí)LED1被點(diǎn)亮4啟動(dòng)/關(guān)閉顯示和溫控長(zhǎng)按設(shè)定鍵為關(guān)閉顯示和溫控,再次按下時(shí)功能再次打開(kāi)。5.2測(cè)試結(jié)果從X1接入5V±0.5V直流電源(注意正負(fù)極),按一下S1電路顯示當(dāng)前的溫度值,再按下S1進(jìn)入溫度設(shè)定狀態(tài),這時(shí)可以按S2或S3調(diào)整設(shè)定溫度值,再次按下S1時(shí)返回當(dāng)前溫度顯示同時(shí)會(huì)對(duì)設(shè)定溫度值進(jìn)行保存,這個(gè)設(shè)定值會(huì)保存在DS18B20中,掉電后也不會(huì)丟失,下次上電時(shí),單片機(jī)會(huì)自動(dòng)讀入上次的溫度設(shè)定值。長(zhǎng)按S1為關(guān)閉顯示和溫控,再次按下時(shí)功能再次打開(kāi)。電路中還設(shè)計(jì)了一路控制輸出,當(dāng)當(dāng)前溫度超出設(shè)定溫度時(shí)LED1被點(diǎn)亮,同時(shí)從X2輸出5V電壓,可驅(qū)動(dòng)5V繼電器等。結(jié)論與展望隨著社會(huì)的發(fā)展,科技的進(jìn)步,以與測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已經(jīng)是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近年來(lái),溫度控制系統(tǒng)已經(jīng)應(yīng)用到人們生活的各個(gè)方面,但溫度控制卻一直是一個(gè)未開(kāi)發(fā)的領(lǐng)域,卻又是一個(gè)與人們生活息息相關(guān)的一個(gè)實(shí)際問(wèn)題。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)變得越來(lái)越廣泛,在許多電子產(chǎn)品中也已經(jīng)用到了溫度的檢測(cè)與控制。隨著溫度控制器應(yīng)用圍的日趨廣泛與多樣,各種適用于不同場(chǎng)合的溫度控制器也應(yīng)運(yùn)而生。隨著該裝置應(yīng)用圍的擴(kuò)大,我們也會(huì)不斷將裝置進(jìn)行改進(jìn),以適應(yīng)更多場(chǎng)合的要求。致在老師和同學(xué)的幫助下做完了畢業(yè)設(shè)計(jì)的工作,由于自己知識(shí)的缺乏與能力的有限,仍沒(méi)有能夠?qū)崿F(xiàn)像開(kāi)題報(bào)告中描述的那樣完美。但是通過(guò)這次的畢業(yè)設(shè)計(jì),我能運(yùn)用已學(xué)的知識(shí)解決我在設(shè)計(jì)中遇到的問(wèn)題,使自己的動(dòng)手能力和思考問(wèn)題的能力得到了很大的提高。在做設(shè)計(jì)時(shí),我復(fù)習(xí)了很多專(zhuān)業(yè)課的知識(shí),單片機(jī),傳感器,步進(jìn)電機(jī),驅(qū)動(dòng)器等。書(shū)上的知識(shí)只是很簡(jiǎn)略的闡述,很多東西要靠自己來(lái)提升,為此高見(jiàn)老師上網(wǎng)查閱了并下載了大量視頻教程并做了重點(diǎn)介紹,彌補(bǔ)了我們專(zhuān)業(yè)知識(shí)的不足。有了老師的幫助和指導(dǎo)我順利完成了本次畢業(yè)設(shè)計(jì),也讓我在這次畢業(yè)設(shè)計(jì)中受益匪淺,在此謹(jǐn)向高見(jiàn)老師致以深切的意!最后,感在整個(gè)畢業(yè)設(shè)計(jì)期間和我密切合作的同學(xué),在大學(xué)生活即將結(jié)束的最后的日子里,我們?cè)僖淮窝堇[了團(tuán)結(jié)就是力量這一永恒不變的真理,大家聚在一起集思廣義,從想法到雛形,最后到成品。參考文獻(xiàn)廖德榮《自動(dòng)控制溫度的方法》航空航天大學(xué)2006.2軍《檢測(cè)技術(shù)與儀表》中國(guó)輕工業(yè)2008.7第二版廣弟朱月秀冷祖奇《單片機(jī)基礎(chǔ)》航空航天大學(xué)2008.1第三版亮鵬《自動(dòng)控制原理》工業(yè)大學(xué)2003.6第二版志?!秵纹瑱C(jī)的C語(yǔ)言程序設(shè)計(jì)與應(yīng)用[M]》電子工業(yè)2008.《傳感器原理與其應(yīng)用》.清華大學(xué),2011.9《數(shù)字電子技術(shù)基礎(chǔ)》·余孟嘗·高等教育·2012年《單片機(jī)原理與接口技術(shù)》·徐煜明·雁.電子工業(yè)·2011年附錄一附錄二#include<reg52.h>#include<stdio.h>#defineuintunsignedint#defineucharunsignedcharsbitds=P2^2;//溫度傳感器信號(hào)線sbitdula=P2^6;//數(shù)碼管段選sbitwela=P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市靜安區(qū)、青浦區(qū)2024-2025學(xué)年高三下學(xué)期入學(xué)考試題生物試題文試題含解析
- 吉林省五地六市聯(lián)盟2025屆高三下學(xué)期第二次高考模擬語(yǔ)文試題含解析
- 江西省撫州市臨川2024-2025學(xué)年初三下學(xué)期一模考試數(shù)學(xué)試題含解析
- 吉林省白城市洮北區(qū)第一中學(xué)2025屆高考診斷性測(cè)試物理試題含解析
- 溫州市蒼南縣重點(diǎn)中學(xué)2024-2025學(xué)年初三第五次調(diào)研考試語(yǔ)文試題含解析
- 云南省昆明市晉寧縣2025屆數(shù)學(xué)四下期末預(yù)測(cè)試題含解析
- 山東省臨沂市蘭山區(qū)2025屆初三第二次教學(xué)質(zhì)量檢測(cè)試題語(yǔ)文試題含解析
- 米蘭家居全屋定制合同范本
- 吉林省通化市梅河口五中2025屆高三上學(xué)期12月月考-物理試題(含答案)
- 員工股權(quán)激勵(lì)合同
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目竣工驗(yàn)收第三方服務(wù)采購(gòu)項(xiàng)目
- AQ 2001-2018 煉鋼安全規(guī)程(正式版)
- 醫(yī)院護(hù)理培訓(xùn)課件:《安全注射》
- 2024年415全民國(guó)家安全教育日知識(shí)競(jìng)賽及答案
- 再生資源消防安全培訓(xùn)
- 高考地理二輪復(fù)習(xí)課件專(zhuān)題3S技術(shù)
- 安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)主要任務(wù)
- 2024年贛州市章貢區(qū)文化旅游發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 同等學(xué)力申碩-同等學(xué)力(政治學(xué))筆試(2018-2023年)真題摘選含答案
- 親子鑒定報(bào)告樣本
- 六年級(jí)下冊(cè)數(shù)學(xué)應(yīng)用題練習(xí)100題及答案
評(píng)論
0/150
提交評(píng)論