版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
xx大學(xué)本科畢業(yè)論文(設(shè)計)PAGE41DS18B20數(shù)字溫度計設(shè)計xx大學(xué)工程技術(shù)學(xué)院,xxxx摘要:本文介紹了利用美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感DS18B20和ATMEL公司生產(chǎn)的AT89C2051,結(jié)合四位共陽型LED,采用動態(tài)顯示的方法實現(xiàn)室內(nèi)溫度的檢測和讀數(shù)。本文設(shè)計的數(shù)字溫度計基于DS18B20單線總線結(jié)構(gòu),與單片機的接口電路簡單無須外部電路,同時由于DS18B20能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,因而使得整體設(shè)計思路簡單,可以實現(xiàn)-55~+125゜C的溫度測量,精度誤差在0.1゜C以內(nèi)。本文給出了具體的硬件電路和軟件設(shè)計。關(guān)鍵詞:單片機DS18B20智能溫度傳感器DS18B20DIGITALTHERMOMETERDESIGNxxxxxCollegeofEngineeringandTechnology,SouthwestUniversity,ChongqingAbstract:ThispaperpresentsthemethodforadigitalthermometerdesignmadeofDS18B20,anewly-productofadvacedProgrammableResolution1-Wire?DigitalThermometer(DALLAS),andAT89C2051(ATMEL).ThisdesignadoptsdynamicdispaymethodwithfourLEDtomeasureroomtemperature.ThisdigitalthermometerisbasedontheonewireconfigurationofDS18B20,andnoexternalcircuitisrequired.SincethemeasuredtemperaturecanbedirectlyreadbyDS18B20and9-12digitsreadingcanbeimplementedthroughsimpleprogramming,theoveralldesignconceptissimple.Temperaturewithin-55~+125゜Ccanbemeasuredwithanerrorof+/-0.1゜C.Detailedcircuitsandsoftwaredesignaregivenhere.KeyWords:single-chipcomputerDS18B20smarttemperaturesensor文獻(xiàn)綜述自動控制領(lǐng)域中,溫度檢測與控制占有很重要地位。溫度測控系統(tǒng)在工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和在人們的生活領(lǐng)域,也得到了廣泛應(yīng)用。因此,溫度傳感器的應(yīng)用數(shù)量居各種傳感器之首。目前,溫度傳感器正從模擬式向數(shù)字集成式方向飛速發(fā)展。溫度傳感器,使用范圍廣,數(shù)量多,居各種傳感器之首。溫度傳感器的發(fā)展大致經(jīng)歷了以下3個階段:①傳統(tǒng)的分立式溫度傳感器(含敏感元件),主要是能夠進(jìn)行非電量和電量之間轉(zhuǎn)換②模擬集成溫度傳感器/控制器③智能溫度傳感器目前,國際上新型溫度傳感器正從模擬式想數(shù)字式、集成化向智能化及網(wǎng)絡(luò)化的方向發(fā)展。一、溫度傳感器簡介目前,溫度傳感器沒有統(tǒng)一的分類方法。按輸出量分類有模擬式溫度傳感器和數(shù)字式溫度傳感器。按測溫方式分類有接觸式溫度傳感器和非接觸式溫度傳感器。按類型分類有分立式溫度傳感器(含敏感元件)、模擬集成溫度傳感器和智能溫度傳感器(即數(shù)字溫度傳感器)。模擬式溫度傳感器輸出的是隨溫度變化的模擬量信號。其特點是輸出響應(yīng)速度較快和MPU(微處理器)接口較復(fù)雜。數(shù)字式溫度傳感器輸出的是隨溫度變化的數(shù)字量,同模擬輸出相比,它輸出速度響應(yīng)較慢,但容易與MPU接口。溫度傳感器與被測介質(zhì)的接觸方式分為兩大類:接觸式和非接觸式。接觸式溫度傳感器需要與被測介質(zhì)保持熱接觸,使兩者進(jìn)行充分的熱交換而達(dá)到同一溫度。這一類傳感器主要有電阻式、熱電偶、PN結(jié)溫度傳感器等。非接觸式溫度傳感器無需與被測介質(zhì)接觸,而是通過被測介質(zhì)的熱輻射或?qū)α鱾鞯綔囟葌鞲衅鳎赃_(dá)到測溫的目的。這一類傳感器主要有紅外測溫傳感器。這種測溫方法的主要特點是可以測量運動狀態(tài)物質(zhì)的溫度(如慢速行使的火車的軸承溫度,旋轉(zhuǎn)著的水泥窯的溫度)及熱容量小的物體(如集成電路中的溫度分布)下面對工程中常用的溫度傳感器做簡單介紹。1.傳統(tǒng)的分立式溫度傳感器1.1熱敏電阻溫度傳感器熱敏電阻是利用電阻值隨溫度變化而構(gòu)成的溫度傳感器,這類電阻的材料選用錳、鎳、鈷等金屬氧化物,電阻值隨溫度變化較大,易于批量生產(chǎn)、價格低廉,但電阻值/溫度特性為非線性關(guān)系,測溫范圍限于-100~+400℃。根據(jù)其溫度特性的不同,熱敏電阻大致分為三類,即負(fù)溫度系數(shù)的熱敏電阻NTC、正溫度系數(shù)的熱敏電阻PTC以及臨界溫度系數(shù)熱敏電阻CTR,其中,NTC對于溫度的線性升高,電阻值以對數(shù)形式減小,作為各種溫度傳感器應(yīng)用極其廣泛。PTC在工作溫度范圍內(nèi)電阻值隨溫度升高而顯著增大。CTR表示對于特定的溫度其電阻值急劇增大。1.2熱電阻式溫度傳感器利用熱電阻溫度系數(shù)隨溫度變化的特性而制成的溫度傳感器,稱為熱電阻溫度傳感器。對于大多數(shù)金屬導(dǎo)體,其電阻值都具有隨溫度升高而增大的特性。由于純金屬的溫度系數(shù)比合金的高,因此均采用純金屬作為熱電阻組件。常用的金屬導(dǎo)體材料有鉑、銅、鐵和鎳。下面介紹鉑電阻溫度傳感器。鉑電阻的特點是精度高,穩(wěn)定性好,重復(fù)性好,這是由金屬鉑的物理及化學(xué)性能所決定的,因此它是目前制造熱電阻溫度傳感器最理想的材料,可用做標(biāo)準(zhǔn)電阻溫度計,被廣泛應(yīng)用于作為溫度的基準(zhǔn)。1.3熱電偶式溫度傳感器熱電偶是一種傳統(tǒng)的溫度傳感器,其測溫范圍一般為-50℃~+1600℃,最高可達(dá)+2800℃,并且有較高的測量精度。另外,熱電偶產(chǎn)品已實現(xiàn)標(biāo)準(zhǔn)化、系列化,使用時易于選擇,可方便地用計算機線性補償,因此,至今在測溫領(lǐng)域仍被廣泛使用。它的理論基礎(chǔ)是建立在熱電效應(yīng)上,將熱能轉(zhuǎn)化為電能。2.模擬集成溫度傳感器/控制器集成溫度傳感器是采用硅半導(dǎo)體集成工藝而制成的,因此亦稱硅傳感器和單片集成傳感器。模擬集成溫度傳感器是在20世紀(jì)80年代問世的。它是將溫度傳感器集成在一個芯片、可完成溫度測量及模擬信號輸出功能的專用IC,它屬于最簡單的一種集成溫度傳感器,主要特點是功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗,適合遠(yuǎn)距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單,是目前國內(nèi)應(yīng)用較為普遍的一種集成傳感器。根據(jù)輸出方式的不同,模擬集成溫度傳感器可劃分成以下5種類型:①電流輸出式集成溫度傳感器②電壓輸出式集成溫度傳感器③周期輸出式集成溫度傳感器④頻率輸出式集成溫度傳感器⑤比率輸出式集成溫度傳感器3.智能溫度傳感器智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。智能溫度傳感器是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)的結(jié)晶,它也是集成溫度傳感器領(lǐng)域中最具活力和發(fā)展前途的一種產(chǎn)品。目前,國際上許多著名的集成電路生產(chǎn)廠家已開發(fā)出上百種智能溫度傳感器產(chǎn)品。智能溫度傳感器具有以下三個顯著特點:第一,能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);第二,能以最簡方式構(gòu)成高性價比、多功能的智能化溫度測控系統(tǒng);第三,它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。智能溫度傳感器采用了數(shù)字化技術(shù),能以數(shù)據(jù)形式輸出被測溫度值。其測溫誤差小、分辨率高、抗干擾能力強,能遠(yuǎn)程傳輸數(shù)據(jù),用戶可設(shè)定溫度上、下限,具有越限自動報警功能并且?guī)Т锌偩€接口,適配各種微控制器。按照串行總線來劃分,有單線總線(1-Wire)、二線總線(含SMBus、I2C總線)和四線總線(含SPI總線)幾種類型。典型產(chǎn)品有DS18B20(單線總線)、LM75(I2C總線)LM74(SPI總線)。二、智能溫度傳感器發(fā)展的新趨勢進(jìn)入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。1.提高測溫精度和分辨力在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達(dá)到1℃。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是9~12位A/D轉(zhuǎn)換器,分辨力一般可達(dá)0.5~0.0625℃。由美國DALLAS半導(dǎo)體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進(jìn)制數(shù)據(jù),其分辨力高達(dá)0.03125℃,測溫精度為±0.2℃。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。以AD7817型5通道智能溫度傳感器為例,它對本地傳感器、每一路遠(yuǎn)程傳感器的轉(zhuǎn)換時間分別僅為27μS、9μS。2.增加測試功能新型智能溫度傳感器的測試功能也在不斷增強。例如,DS1629型單線智能溫度傳感器增加了實時日歷時鐘(RTC),使其功能更加完善。DS1624還增加了存儲功能,利用芯片內(nèi)部256字節(jié)的E2PROM存儲器,可存儲用戶的短信息。另外,智能溫度傳感器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。智能溫度傳感器都具有多種工作模式可供選擇,主要包括單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換模式、待機模式,有的還增加了低溫極限擴展模式,操作非常簡便。對某些智能溫度傳感器而言,主機(外部微處理器或單片機)還可通過相應(yīng)的寄存器來設(shè)定其A/D轉(zhuǎn)換速率(典型產(chǎn)品為MAX6654),分辨力及最大轉(zhuǎn)換時間(典型產(chǎn)品為DS1624)。智能溫度控制器是在智能溫度傳感器的基礎(chǔ)上發(fā)展而成的。典型產(chǎn)品有DS1620、DS1623、TCN75、LM76、MAX6625。智能溫度控制器適配各種微控制器,構(gòu)成智能化溫控系統(tǒng);它們還可以脫離微控制器單獨工作,自行構(gòu)成一個溫控儀。3.總線技術(shù)的標(biāo)準(zhǔn)化與規(guī)范化目前,智能溫度傳感器的總線技術(shù)也實現(xiàn)了標(biāo)準(zhǔn)化、規(guī)范化,所采用的總線主要有單線(1-Wire)總線、I2C總線、SMBus總線和SPI總線。4.可靠性及安全性設(shè)計傳統(tǒng)的A/D轉(zhuǎn)換器大多采用積分式或逐次比較式轉(zhuǎn)換技術(shù),其噪聲容限低,抑制混疊噪聲及量化噪聲的能力比較差。新型智能溫度傳感器(例如TMP03/04、LM74、LM83)普遍采用了高性能的Σ-Δ式A/D轉(zhuǎn)換器,它能以很高的采樣速率和很低的采樣分辨力將模擬信號轉(zhuǎn)換成數(shù)字信號,再利用過采樣、噪聲整形和數(shù)字濾波技術(shù),來提高有效分辨力。Σ-Δ式A/D轉(zhuǎn)換器不僅能濾除量化噪聲,而且對外圍元件的精度要求低。為了避免在溫控系統(tǒng)受到噪聲干擾時產(chǎn)生誤動作,在AD7416/7417/7817、LM75/76、MAX6625/6626等智能溫度傳感器的內(nèi)部,都設(shè)置了一個可編程的“故障排隊(faultqueue)”計數(shù)器,專用于設(shè)定允許被測溫度值超過上、下限的次數(shù)。僅當(dāng)被測溫度連續(xù)超過上限或低于下限的次數(shù)達(dá)到或超過所設(shè)定的次數(shù)n(n=1~4)時,才能觸發(fā)中斷端。若故障次數(shù)不滿足上述條件或故障不是連續(xù)發(fā)生的,故障計數(shù)器就復(fù)位而不會觸發(fā)中斷端。這意味著假定n=3時,那么偶然受到一次或兩次噪聲干擾,都不會影響溫控系統(tǒng)的正常工作。LM76型智能溫度傳感器增加了溫度窗口比較器,非常適合設(shè)計一個符合ACPI(AdvancedConfigurationandPowerInterface,即“先進(jìn)配置與電源接口”)規(guī)范的溫控系統(tǒng)。這種系統(tǒng)具有完善的過熱保護(hù)功能,可用來監(jiān)控筆記本電腦和服務(wù)器中CPU及主電路的溫度。微處理器最高可承受的工作溫度規(guī)定為tH,臺式計算機一般為75℃,高檔筆記本電腦的專用CPU可達(dá)100℃。一旦CPU或主電路的溫度超出所設(shè)定的上、下限時,INT端立即使主機產(chǎn)生中斷,再通過電源控制器發(fā)出信號,迅速將主電源關(guān)斷起到保護(hù)作用。此外,當(dāng)溫度超過CPU的極限溫度時,嚴(yán)重超溫報警輸出端(T_CRIT_A)也能直接關(guān)斷主電源,并且該端還可通過獨立的硬件關(guān)斷電路來切斷主電源,以防主電源控制失靈。上述三重安全性保護(hù)措施已成為國際上設(shè)計溫控系統(tǒng)的新觀念。為防止因人體靜電放電(ESD)而損壞芯片。一些智能溫度傳感器還增加了ESD保護(hù)電路,一般可承受1000~4000V的靜電放電電壓。通常是將人體等效于由100PF電容和1.2K歐姆電阻串聯(lián)而成的電路模型,當(dāng)人體放電時,TCN75型智能溫度傳感器的串行接口端、中斷/比較器信號輸出端和地址輸入端均可承受1000V的靜電放電電壓。LM83型智能溫度傳感器則可承受4000V的靜電放電電壓。最新開發(fā)的智能溫度傳感器(例如MAX6654、LM83)還增加了傳感器故障檢測功能,能自動檢測外部晶體管溫度傳感器(亦稱遠(yuǎn)程傳感器)的開路或短路故障。MAX6654還具有選擇“寄生阻抗抵消”(ParasiticResistanceCancellation,英文縮寫為PRC)模式,能抵消遠(yuǎn)程傳感器引線阻抗所引起的測溫誤差,即使引線阻抗達(dá)到100歐姆,也不會影響測量精度。遠(yuǎn)程傳感器引線可采用普通雙絞線或者帶屏蔽層的雙絞線。5.虛擬溫度傳感器和網(wǎng)絡(luò)溫度傳感器(1)虛擬傳感器虛擬傳感器是基于傳感器硬件和計算機平臺、并通過軟件開發(fā)而成的。利用軟件可完成傳感器的標(biāo)定及校準(zhǔn),以實現(xiàn)最佳性能指標(biāo)。最近,美國B&K公司已開發(fā)出一種基于軟件設(shè)置的TEDS型虛擬傳感器,其主要特點是每只傳感器都有唯一的產(chǎn)品序列號并且附帶一張軟盤,軟盤上存儲著對該傳感器進(jìn)行標(biāo)定的有關(guān)數(shù)據(jù)。使用時,傳感器通過數(shù)據(jù)采集器接至計算機,首先從計算機輸入該傳感器的產(chǎn)品序列號,再從軟盤上讀出有關(guān)數(shù)據(jù),然后自動完成對傳感器的檢查、傳感器參數(shù)的讀取、傳感器設(shè)置和記錄工作。(2)網(wǎng)絡(luò)溫度傳感器網(wǎng)絡(luò)溫度傳感器是包含數(shù)字傳感器、網(wǎng)絡(luò)接口和處理單元的新一代智能傳感器。數(shù)字傳感器首先將被測溫度轉(zhuǎn)換成數(shù)字量,再送給微控制器作數(shù)據(jù)處理。最后將測量結(jié)果傳輸給網(wǎng)絡(luò),以便實現(xiàn)各傳感器之間、傳感器與執(zhí)行器之間、傳感器與系統(tǒng)之間的數(shù)據(jù)交換及資源共享,在更換傳感器時無須進(jìn)行標(biāo)定和校準(zhǔn),可做到“即插即用(Plug&Play)”,這樣就極大地方便了用戶。6.單片測溫系統(tǒng)單片系統(tǒng)(SystemOnChip)是21世紀(jì)一項高新科技產(chǎn)品。它是在芯片上集成一個系統(tǒng)或子系統(tǒng),其集成度將高達(dá)108~109元件/片,這將給IC產(chǎn)業(yè)及IC應(yīng)用帶來劃時代的進(jìn)步。半導(dǎo)體工業(yè)協(xié)會(SIA)對單片系統(tǒng)集成所作的預(yù)測見表。目前,國際上一些著名的IC廠家已開始研制單片測溫系統(tǒng),相信在不久的將來即可面市。1引言溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)和科學(xué)實驗中一個非常重要的參數(shù)。物質(zhì)的許多物理現(xiàn)象和化學(xué)性質(zhì)都與溫度有關(guān)。它一般約占生產(chǎn)過程中全部過程參數(shù)的50%左右,許多生產(chǎn)過程都是在一定的溫度范圍內(nèi)進(jìn)行的。因此,溫度檢測仍有很重要的地位。溫度計是日常生活,工業(yè)控制中常見的測溫儀器,測量溫度的關(guān)鍵部件是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個階段:①傳統(tǒng)的分立式溫度傳感器,如NTC(熱敏電阻)測溫技術(shù)、半導(dǎo)體溫度傳感器測溫技術(shù)、鉑電阻(RTD)測溫技術(shù)、熱電偶測溫技術(shù);②模擬集成溫度傳感器,如AD590(電流輸出型的集成溫度傳感器),AN6701;③智能集成溫度傳感器,如美國DALLAS公司生產(chǎn)的DS1620,DS1820,DS18B20等。各種測溫技術(shù)各有優(yōu)缺點,在不同的領(lǐng)域都有其最適合的應(yīng)用之處。本文擬采用美國DALLAS公司生產(chǎn)的數(shù)字溫度測控器DS18B20和ATMEL公司生產(chǎn)的AT89C2051,采用LED動態(tài)顯示設(shè)計一個數(shù)字溫度計。2系統(tǒng)方案選擇與論證2.1設(shè)計功能要求數(shù)字式溫度計要求測量范圍為-55~+125゜C,精度誤差在0.1゜C以內(nèi),LED數(shù)碼管直接顯示溫度。2.2系統(tǒng)基本方案方案一:在以往的溫度測控系統(tǒng)中,大多采用對溫度傳感器采集到的信號放大,經(jīng)A/D轉(zhuǎn)換,然后送入單片機進(jìn)行處理,要提高精度,就必須采用高精度的放大器和A/D轉(zhuǎn)換器。這種電路硬件結(jié)構(gòu)復(fù)雜,調(diào)試繁雜,精度易受元器件參數(shù)影響。這類溫度計的方案可以統(tǒng)一表示為圖2.1所示的原理框圖。溫度傳感器與被測介質(zhì)的接觸方式分為兩大類:接觸式和非接觸式。接觸式溫度傳感器需要與被測介質(zhì)保持熱接觸,使兩者進(jìn)行充分的熱交換而達(dá)到同一溫度。這一類傳感器主要有電阻式、熱電偶、PN結(jié)溫度傳感器等。非接觸式溫度傳感器無需與被測介質(zhì)接觸,而是通過被測介質(zhì)的熱輻射或?qū)α鱾鞯綔囟葌鞲衅?,以達(dá)到測溫的目的。這一類傳感器主要有紅外測溫傳感器[1,3,5]。方案一的應(yīng)用電路一:利用石英晶體作溫度傳感器,石英晶體溫度傳感器和以發(fā)送模式工作的LTC-485RS485型收發(fā)器IC1組成一個Pierce晶體振蕩器。收發(fā)器的差分電路驅(qū)動器輸出端通過雙絞線電纜傳送頻率編碼的溫度信號,傳遞距離長達(dá)1000英尺[6]。顯示模塊ADC轉(zhuǎn)換電路信號變換電路溫度傳感器信號放大電路顯示模塊ADC轉(zhuǎn)換電路信號變換電路溫度傳感器信號放大電路圖2.1方案一的系統(tǒng)框圖Fig.2.1systemblockofscheme1第二只LTC-485型收發(fā)器IC2以接收模式工作,接收差分?jǐn)?shù)據(jù),并為IC3提供一個單端輸出信號。IC3是PIC-16F73型處理器,它將頻率編碼的溫度數(shù)據(jù)轉(zhuǎn)換后在LCD或者LED上顯示出攝氏溫度。其系統(tǒng)框圖如圖2.2所示[12]。LTLTC|485PIC-16F73型處理器LTC-485型收發(fā)器LTC-485型收發(fā)器石英晶體顯示電路石英晶體顯示電路圖2.2直接讀出攝氏溫度數(shù)的石英晶體遙測溫度計Fig.2.2Derected_readtemperaturedistancecrystalmeasurementthermometer方案一的應(yīng)用電路二:利用熱敏電阻做溫度傳感器,熱敏電阻利用電阻值隨溫度變化而構(gòu)成溫度傳感器。根據(jù)其溫度特性的不同,熱敏電阻大致分為三類,即負(fù)溫度系數(shù)的熱敏電阻NTC,正溫度系數(shù)的熱敏電阻PTC以及臨界溫度系數(shù)的熱敏電阻CTR,其中,NTC對于溫度的線性升高,電阻值以對數(shù)形式減小,作為各種溫度傳感器應(yīng)用廣泛。熱敏電阻的阻值與溫度之間的關(guān)系可由下式表示,即式中,T為任意溫度(絕對溫度),TO為基準(zhǔn)溫度(絕對溫度),R為T時的電阻值,R0為TO時的電阻值,B為常數(shù)。用熱敏電阻構(gòu)成溫度計,需要對輸出信號進(jìn)行線性化處理,在經(jīng)過A/D轉(zhuǎn)換為數(shù)字量,而后送入MCU處理顯示。其框圖如圖2.3所示[9]。顯示電路線性處理電路MCUA/D熱敏電阻測溫電路顯示電路線性處理電路MCUA/D熱敏電阻測溫電路圖2.3用熱敏電阻構(gòu)成溫度計Fig.2.3Thermometerbasedonheat_variableresistor方案二:利用新近研制開發(fā)的智能型溫度傳感器作為溫度檢測元件,用單片機作為主控制模塊,以LED或者LCD顯示的數(shù)字式溫度計。系統(tǒng)由3個模塊構(gòu)成,主控制器,測溫電路及顯示電路。總體設(shè)計框圖如圖2.4所示。顯示電路主控制器模塊顯示電路主控制器模塊溫度檢測模塊溫度檢測模塊掃描驅(qū)動掃描驅(qū)動圖2.4數(shù)字溫度計電路的基本模塊方框圖Fig.2.4Basicmoduleblockofdigitalthermometer由于采用分立式和模擬集成式溫度傳感器測出的信號為模擬信號,需要經(jīng)過A/D轉(zhuǎn)換成為數(shù)字信號,并且這些信號多為電壓或電流,還需要經(jīng)過變換成對應(yīng)的溫度值,因而需要較多的外部硬件(或者軟件)支持。同時這些元件的線性度較差,需要額外開銷來減小非線性,硬件設(shè)計復(fù)雜,軟件調(diào)試麻煩,制作成本高,而智能型溫度傳感器可以直接讀出被測的溫度值,減少了外部的硬件電路,具有低成本和容易使用的特點,因而本設(shè)計選用方案二。2.2.1各模塊方案選擇和論證(1)主控制器模塊根據(jù)功能要求,控制器主要用于接收來自溫度檢測模塊的溫度數(shù)據(jù)(或者是來自模數(shù)轉(zhuǎn)換器的數(shù)據(jù)),通過驅(qū)動電路來驅(qū)動LED顯示實時溫度值。對于控制器的選擇主要使用MCU,有多種實現(xiàn)方案。方案一:采用FPGA(現(xiàn)場可編程門列陣)作為系統(tǒng)的控制器。FPGA可以實現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩(wěn)定性和抗干擾性,并且可以應(yīng)用EDA軟件進(jìn)行仿真、調(diào)試,易于進(jìn)行功能擴展。FPGA采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,運行速度快,資源豐富,使用方便靈活,適合作為大規(guī)模的實時系統(tǒng)的控制核心,由溫度檢測模塊輸出的信號并行輸入FPGA,F(xiàn)PGA通過程序設(shè)計將信號變成相應(yīng)的編碼控制LED顯示,但由于本設(shè)計要求不高,F(xiàn)PGA的高速處理優(yōu)勢得不到充分的體現(xiàn),并且由于其集成度高,使其成本偏高,同時由于其芯片的引腳眾多,實物硬件電路布線復(fù)雜,加重了電路設(shè)計和實際焊接的工作[14]。方案二:采用51系列MCU作為主控制芯片。由于51系列芯片品種繁多,有40腳的,也有20腳的,因而主控芯片的選擇也有兩種。其一可以選用ATMEL公司的AT89C51作為主控芯片,ATMEL公司生產(chǎn)的AT89C51單片機采用高性能的靜態(tài)80C51設(shè)計,是一個低功耗高性能的CMOS8位單片機,40個引腳,片內(nèi)含4KFlashROM和128BRAM,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),32個外部雙向輸入輸出(I/O)接口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。支持兩種軟件可選的掉電模式:在閑置模式下,CPU停止工作,但RAM、定時器/計數(shù)器、串行接口和中斷系統(tǒng)仍在工作;在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所有其他芯片功能,直到下一個硬件復(fù)位為止。它將通用的微處理器和FlashROM結(jié)合在一起,特別是可反復(fù)擦寫的FlashROM能有效降低開發(fā)成本。其二選用AT89C2051,AT89C2051為20引腳封裝,片內(nèi)含有2KFlashROM,128字節(jié)RAM,F(xiàn)lashROM是一種可以電擦除和電寫入的閃速存儲器,使開發(fā)調(diào)試更加方便,2個端口共15個I/O接口線,2個16位的定時器/計數(shù)器,5個2級中斷源,1個模擬比較器,一個串行接口,具有以下幾個特點:=1\*GB3①與MCS-51系列產(chǎn)品兼容;=2\*GB3②2K可編程FlashROM可反復(fù)擦寫1000次;=3\*GB3③2.7V~6V的工作范圍;=4\*GB3④可以直接輸出驅(qū)動LED;=5\*GB3⑤低電壓供電和體積小。AT89C2051適合便攜手持式產(chǎn)品和控制電路板尺寸要求較小程序不大的電路環(huán)境下應(yīng)用。在本設(shè)計中只需要單片機的兩個端口,且為了節(jié)約器材和電路版體積,選用AT89C2051作為主控芯片。AT89C2051只有20個引腳,去掉了P0口和P2口,內(nèi)部的FlashROM也減小到2KB,相應(yīng)的價格便宜一些。雖然減少了一些資源,但89C2051片內(nèi)集成了一個精密比較器,為測量一些模擬信號提供了極大的方便,比如方案一中模擬信號可以不經(jīng)過A/D轉(zhuǎn)換,直接送入單片機,在外加幾個電阻和電容的情況下就可以測量電壓,溫度的等日常需要的量。同時AT89C205與AT89C51外部引腳功能和指令完全兼容。AT89C2051的引腳圖如圖2.5所示[3,5]。圖2.5AT89C2051引腳圖Fig.2.5PinsofAT89C2051(2)溫度檢測模塊本設(shè)計采用智能型溫度傳感器,省去了信號的變換與模數(shù)轉(zhuǎn)換電路,硬件設(shè)計更加簡單。本文將分別介紹美國Dallas公司生產(chǎn)的兩種功能強大的智能型溫度傳感器DS1620和DS18B20。ⅠDS1620簡介DS1620是Dallas公司推出的數(shù)字溫度測控器件,2.7V~5.5V供電電壓。測量溫度范圍為-55~+125℃,9位數(shù)字量表示溫度值,分辨率為0.5℃。在0~+70℃精確度為0.5℃,-40~0℃和+70~+85℃精確度為1℃,-55~-40℃和+85~+125℃精確度為2℃。TH和TL寄存器中的溫度報警限設(shè)定值存放在非易失性存儲器中,掉電后不會丟失。通過三線串行接口,完成溫度值的讀取和TH、TL的設(shè)定。與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,DS1620采用8腳DIP封裝或8腳SOIC封裝。引腳排列如圖2.6所示。DS1620的性能特點如下:●可獨立工作,也可方便的與PC或單片機以串行方式連接;●不需要模數(shù)轉(zhuǎn)換等外部器件完成溫度測定;●能夠在750ms內(nèi)完成被測溫度的數(shù)值轉(zhuǎn)換;●用戶可定義的非易失性溫度報警設(shè)置;●通過三線接口(CLK,DQ,/RST)完成數(shù)據(jù)的讀寫;●溫度以9位數(shù)字量讀出;●以數(shù)字量輸出溫度測量值,具有測量范圍寬,傳輸距離遠(yuǎn),可靠、穩(wěn)定;●通過高溫系數(shù)振蕩器控制低溫系數(shù)振蕩器的脈沖個數(shù),實現(xiàn)被測溫度的數(shù)字輸出;●溫度計數(shù)器和寄存器預(yù)置-55℃的基準(zhǔn)值,若溫度寄存器與技術(shù)起在脈沖周期結(jié)束前為0,則溫度寄存器增至被測溫度值;圖2.6DS1620的引腳Fig.2.6PinsofDS1620DS1620有兩種操作模式(1)單獨工作模式在這種工作模式下,DS1620作為熱繼電器使用,常用連續(xù)轉(zhuǎn)換方式,可在沒有CPU參與下工作。預(yù)先必須寫入控制寄存器操作模式和TH、TL寄存器的溫度設(shè)定值,CLK/CONV用作轉(zhuǎn)換開始控制端。要注意:這種工作模式下,控制/狀態(tài)寄存器的CPU標(biāo)志位必須設(shè)為“0”。為了使CLK/CONV作轉(zhuǎn)換控制,必須為低電平。如果要是CLK/CONV被拉低,且在10ms以內(nèi)置高,則產(chǎn)生一次轉(zhuǎn)換;如果CLK/CONV保持低,則DS1620連續(xù)進(jìn)行轉(zhuǎn)換。當(dāng)CPU為“0”時,轉(zhuǎn)換由CLK/CONV控制,而不受1SHOT控制位的限制。DS1620有三個溫度觸發(fā)控制端。當(dāng)DS1620的溫度高于或等于TH寄存器設(shè)定時,THIGH輸出為高電平,直到溫度下降到TH寄存器設(shè)定值以下時才變?yōu)榈碗娖?,THIGH輸出端可以用于表明是否達(dá)到或者超過最高可容忍溫度邊界,也可以用在閉環(huán)系統(tǒng)中啟動或關(guān)閉制冷設(shè)備;TLOW端的功能與THIGH相似,當(dāng)溫度低于或等于TL寄存器設(shè)定值時,TLOW輸出高電平,直到溫度上升到TL寄存器設(shè)定值以上時才會變?yōu)榈碗娖?,TLOW可以用于表明是否達(dá)到或超過最低可容忍溫度邊界,也可以用在閉環(huán)系統(tǒng)中啟動或關(guān)閉加熱設(shè)備;當(dāng)溫度高于TH寄存器設(shè)定值時,TCOM輸出為高電平,直到溫度下降到TL的設(shè)定值以下輸出為低電平。三個溫度觸發(fā)控制端的輸出特性如圖2.7所示。圖2.7溫度觸發(fā)端的輸出特性Fig.2.7Thermostatoutputoferation(2)三線串行通信模式三線制由三個信號線組成:/RST(復(fù)位)、CLK(時鐘)和DQ(數(shù)據(jù))。數(shù)據(jù)傳輸在由低電平變?yōu)楦唠娖胶箝_始。在數(shù)據(jù)傳輸過程中,使變?yōu)榈碗娖綍K止數(shù)據(jù)傳輸。時鐘由一序列上升沿和下降沿組成。DS1620輸入、輸出數(shù)據(jù)時,都必須是上升沿數(shù)據(jù)有效。讀寫數(shù)據(jù)時低位在前,高位在后。三線制的操作大部分是命令字在前,數(shù)據(jù)在后(部分命令后不需要數(shù)據(jù))[16]。ⅡDS18B20簡介DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的特點如下。●獨特的單線接口僅需要一個端口引腳進(jìn)行通信;●多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;●無須外部器件;●可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;●零待機功耗;●溫度以9或12位數(shù)字量讀出;●用戶可定義的非易失性溫度報警設(shè)置;●報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件;●負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。DS18B20采用3腳TO-92封裝或8腳SOIC封裝,內(nèi)部結(jié)構(gòu)框圖如圖2.8所示。存儲器與控制邏輯I/O溫度傳感器64位ROM高速和緩存高溫觸發(fā)器TH單線接口低溫觸發(fā)器TLC配置寄存器VDD8位CRC發(fā)生器圖2.8DS18B20內(nèi)部結(jié)構(gòu)圖Fig.2.8DS18B20blockdiagram64位ROM的位結(jié)構(gòu)如圖2.9所示。開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進(jìn)行通信的原因。非易失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。8位檢驗CRC48位序列號8位工廠代碼(10H)MSBLSBMSBLSBMSBLSB圖2.964位ROM結(jié)構(gòu)圖Fig.2.964_bitlaseredROMcodeDS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2.10所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)是TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時按此寄存器中的分辨率將溫度轉(zhuǎn)化為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如圖2.11所示。低5位一直為1,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即可用來設(shè)置分辨率,定義方法見表1。溫度LSB1字節(jié)溫度MSB2字節(jié)TH用戶字節(jié)13字節(jié)TL用戶字節(jié)24字節(jié)TH用戶字節(jié)1配置寄存器5字節(jié)TL用戶字節(jié)2保留6字節(jié)EERAM保留7字節(jié)保留8字節(jié)CRC9字節(jié)圖2.10高速暫存RAM結(jié)構(gòu)圖Fig2.10DS18B20memorymapTMR1R011111圖2.11配置寄存器Fig.2.11Configurationregister由表1可見,DS18B20溫度轉(zhuǎn)換的時間比較長,而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長。因此,在實際應(yīng)用中要將分別率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進(jìn)制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式如圖2.12當(dāng)符號位S=0時,表示測得的溫度值為正值,可以直接將二進(jìn)制轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時,表示測得的溫度值為負(fù)值,要先將補碼變成原碼,再計算十進(jìn)制值。表2是部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表1DS18B20分辨率的定義規(guī)定Tab.1ThermometerresolutionconfigurationR1R0分辨率/位溫度最大轉(zhuǎn)換時間/ms00993.750110187.51011375111250圖2.12溫度數(shù)據(jù)值格式Fig.2.12TemperatureregisterformatDS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中TH,TL字節(jié)內(nèi)容作比較。若T﹥TH或T﹤TL,則將該器件內(nèi)的報警標(biāo)志位置位,并對主機發(fā)出的報警搜索命令作出響應(yīng)。因此,可以用多只DS18B20同時測量溫度并進(jìn)行報警搜索。在64位ROM的最高字節(jié)中存儲有循環(huán)冗余檢測碼(CRC)。主機根據(jù)ROM的前56位來計算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機收到的ROM數(shù)據(jù)是否正確。下式是CRC多項式方程。CRC產(chǎn)生器如圖2.13所示。DS18B20的測溫原理測溫原理圖如圖2.14所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩INPUT圖2.13CRC產(chǎn)生器Fig.2.13CRCgenerator表2DS18B20溫度與測得值對應(yīng)表Tab.2Temperature/datarelationship溫度值/℃數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000001010001000A2H000000000000000000000H-10.1251111111101011110FFF8H-25.06251111111001101111FE6FH-551111110010010000FC90H頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù),進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。減法計數(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ù)值就是所測溫度值。圖2.14中的斜率累加器用于補償和修正測溫過程中的非線形性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值達(dá)到被測溫度值[17]。另外,由于DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。斜率累加器預(yù)置計數(shù)比較器低溫度系數(shù)振蕩器減法計數(shù)器1預(yù)置減到0增加溫度寄存器停止高溫度系數(shù)振蕩器減法計數(shù)器2減到0圖2.14DS18B20測溫原理圖Fig.2.14Temperature_testdiagram使用傳統(tǒng)的分立溫度傳感器和模擬集成溫度傳感器往往需要先進(jìn)行模數(shù)轉(zhuǎn)換,才能送入單片機處理,同時這些芯片給出的是電壓或者電流值不是直接的溫度值,所以需要先計算溫度—電壓(電流)之間的關(guān)系。如果傳感器的線性較差的話還需要進(jìn)行線性化處理,而最后的測試結(jié)果也要進(jìn)行相應(yīng)的標(biāo)定處理。因而,使用這類傳感器外圍處理電路復(fù)雜,測試標(biāo)定煩瑣。但是使用智能數(shù)字溫度傳感器,由于輸出量就是實際需要的溫度值,而且是數(shù)字量,就不需要模數(shù)轉(zhuǎn)換而直接送入單片機處理,系統(tǒng)電路簡單,成本較低。本文選用的DS18B20測量精度高,不需要進(jìn)行標(biāo)定而直接顯示測試溫度?;贒S18B20的優(yōu)秀特性,本設(shè)計用DS18B20作為測溫度元件,與AT89C2051搭建一個智能型溫度計。(3)顯示模塊單片機應(yīng)用系統(tǒng)中使用的顯示器件主要有發(fā)光二極管數(shù)碼顯示器(LED)和液晶顯示器(LCD)。LED價格低廉,配置靈活,與單片機接口簡單;LCD可進(jìn)行字符或圖形顯示,但成本高,與單片機接口也復(fù)雜。LED顯示器的原理簡介LED顯示器一般由8個發(fā)光二極管組成,7個發(fā)光二極管組成一個“8”,另一個為小數(shù)點??娠@示0~9及一些英文字母或特殊字符。LED有不同的大小和顏色,有共陰極與共陽極兩種。共陽極是8個發(fā)光二極管的陽極連在一起,為一個公共端。共陰極是8個發(fā)光二極管的陰極連在一起,為一個公共端。一位LED顯示器由8個發(fā)光二極管組成,當(dāng)某一段(筆劃)加上正向電流時,該段被點亮,沒有通電流的不亮。由于LED數(shù)碼管為電流型器件,LED工作電流一般在5mA~15mA,因此在LED工作時電流不應(yīng)超過手冊中給出的最大電流,一般情況下要在各段中串入限流電阻。在單片機系統(tǒng)中,如果使LED正常顯示數(shù)字與字符時,不能直接將數(shù)字送到LED顯示器,而是將要顯示的數(shù)字通過查表方式,查到相應(yīng)的顯示字模再送到LED顯示器顯示。以共陰極LED為例,公共端接低電平,當(dāng)a、b、c三段通過電流時,則該顯示器顯示“7”字型。共陰極7段LED顯示數(shù)字0~F,符號等字型如表3所示,其中a段為最低位,dp為最高位。LED顯示器的接口及顯示方式LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。1、LED的靜態(tài)顯示方式LED在顯示某一字符時,其顯示驅(qū)動電路要具有鎖存功能,由單片機送出的顯示驅(qū)動碼一經(jīng)送出后,在不改變顯示內(nèi)容的情況下,該驅(qū)動碼應(yīng)一直保持到顯示下一個字符為止。LED顯示器工作在靜態(tài)方式時,其公共端應(yīng)接到一個固定的電平(共陰極接低電平,共陽極接高電平)。由于MCS-51單片機的I/O接口輸出具有鎖存功能,所以在程序中只要向?qū)?yīng)的口寫要顯示的字模即可。2、LED的動態(tài)顯示方式在LED的位數(shù)比較多時,采用靜態(tài)顯示方式,要占用大量的I/O,硬件電路比較復(fù)雜,為了簡化電路,降低成本,可采用動態(tài)顯示方式。動態(tài)顯示的硬件接法是將所有LED顯示器的段連線并在一起,接到一個8位的I/O接口上,而位選線則分開接到各自的控制I/O線上。由于各LED的段選線是并到一起的,如果不加控制,在送顯示字模時各LED會顯示同樣的內(nèi)容,為解決這一問題,應(yīng)使LED在每一個時間段內(nèi)只顯示一位,在此期間只使一位LED的位選線有效,則在此期間內(nèi)只有一位LED顯示,而其他LED不顯示,通過程序或硬件電路控制,各LED在一個顯示周期內(nèi)分別顯示一段時間,當(dāng)一個顯示周期足夠短時(小于100ms),由于人眼的視覺暫留特性,使人感覺每個LED總在亮。這種方式稱動態(tài)掃描方式,完成這種功能可由軟件也可由硬件完成[3,5]。表37段LED數(shù)碼管顯示字型表Tab.3LEDdisplayfont顯示字符共陰極字符碼共陽極字符碼03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90H不顯示00HFFH液晶顯示器簡介與LED相比,液晶顯示器LCD是一種功耗極低的顯示器,目前應(yīng)用范圍很廣,從電子表到計算機,從袖珍式儀表到便攜式微型計算機以及一些文字處理機都廣泛利用了液晶顯示器。液晶顯示器分字段式和點陣圖形式兩大類。字段式液晶顯示器是根據(jù)各種需要,將液晶制作成各種數(shù)字字形與圖案。字段式液晶顯示器的字形與圖案有的是根據(jù)市場需要制作成通用的形式,有的是根據(jù)一些廠家訂制成專用的形式。字段式液晶顯示器一般用在小型設(shè)備儀器中,液晶顯示器的字形與圖案不能隨意改變,只能通過控制使其顯示或不顯示。本設(shè)計的顯示電路由P1口和P3口分別驅(qū)動LED的段的位,由于每段驅(qū)動電流在10mA左右,P1口完全可以勝任,而位驅(qū)動電流在80mA左右,單片機的I/O口無法勝任,故P3.0~P3.3口通過四個PNP型三極管來實現(xiàn)位驅(qū)動。采用4位共陽LED數(shù)碼管,為使LED點亮,位驅(qū)動應(yīng)是高電平,段驅(qū)動應(yīng)是低電平。采用從左到右的循環(huán)方式,如要顯示1、2、3、4,P1.0~P1.7分別對應(yīng)a~dp,段驅(qū)動與位驅(qū)動及顯示狀態(tài)如表4所示。表4段選碼、位選碼及顯示狀態(tài)表Tab.4Segmentcode、bitcodeanddisplay段選碼位選碼顯示狀態(tài)(字型)P3.3~P3.0F9H1110A4H1101B0H101199H01111234(4)電源模塊本設(shè)計采用+5V電壓驅(qū)動,國內(nèi)外個廠家生產(chǎn)的三端(電壓輸入端、電壓輸出端、公共接地端)固定式正壓穩(wěn)壓器均命名為78系列,該系列穩(wěn)壓器有過流、過熱、和調(diào)整管安全工作區(qū)保護(hù),以防過載而損壞。其中78后面的數(shù)字代表穩(wěn)壓器輸出的正電壓數(shù)值(一般有05V、06V、08V、09V、10V、12V、15V、18V、24V共9種輸出電壓),各廠家在78前面冠以不同的英文字母代號。+5V電壓可以由+9V蓄電池經(jīng)過三端固定式穩(wěn)壓器7805獲得,也可以將220V市電經(jīng)過變壓,整流,穩(wěn)壓輸出獲得,本設(shè)計為精簡片上電路,采用實驗室專用直流電壓源GPS-2303C獲得電路驅(qū)動所用的+5V電壓。2.2.2系統(tǒng)各模塊的最終方案經(jīng)過仔細(xì)分析和論證,決定了系統(tǒng)各模塊的最終方案如下。①控制模塊:采用AT89C2051構(gòu)成最小系統(tǒng);②溫度檢測模塊:采用DS18B20智能溫度傳感器;③顯示模塊:采用4個共陽的數(shù)碼管,P1口做段驅(qū)動,9012三極管做位驅(qū)動;④電源模塊:采用實驗室用直流穩(wěn)壓電源,+5V輸出。3系統(tǒng)的硬件實現(xiàn)3.1DS18B20與單片機的接口電路DS18B20可以采用兩種供電方式,一種是采用電源供電方式,此時2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,單片機端口接單線總線,為保證在有效的DS18B20的時鐘周期內(nèi)提供足夠的電流,可以使用一個MOSFET管來完成對總線的上位。當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μS。采用寄生電源供電方式時VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的[16,17]。本設(shè)計采用電源供電方式,DS18B20與AT89C2051的接口電路如圖3.1所示。圖中VCC=+5V。圖3.1DS18B20采用電源供電的電路圖Fig.3.1DS18B20basedonpowersupply3.2顯示電路顯示電路采用4位共陽LED數(shù)碼管,從P1口輸出段碼,后送顯示器的a~dp端,位掃描用P3.0~P3.3口來實現(xiàn),位驅(qū)動采用9012三極管[4,8]。具體實現(xiàn)見圖3.2。3.3控制電路單片機接收來自DS18B20的輸出溫度值,經(jīng)過二進(jìn)制-BCD碼轉(zhuǎn)換,送P1端口,由4個LED顯示讀數(shù)。單片機采用AT89C2051,上電復(fù)位,外接晶體振蕩器提供時鐘信號,晶振頻率12MHz。電路如圖3.3所示。圖中VCC=+5V。西南大學(xué)本科畢業(yè)論文(設(shè)計)圖3.2顯示電路Fig.3.2Dislaycircuit圖3.3單片機控制電路Fig.3.3Single_chipcontrolcircuit4系統(tǒng)的軟件設(shè)計系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、顯示數(shù)據(jù)刷新子程序等等。4.1主程序主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20的測量溫度值,xx大學(xué)本科畢業(yè)論文(設(shè)計)溫度測量每1s進(jìn)行一次[8,10]。其程序流程圖見圖4.1。4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫[11]。其程序流程圖見圖4.2所示。4.3溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成[10,17]。溫度轉(zhuǎn)換命令子程序流程圖如圖4.3所示。4.4計算溫度子程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖見圖4.4所示[17]。4.5顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位[3,5]。程序流程圖如圖4.5所示。初始化初始化調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令NYYN發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗9字節(jié)完?CRC校驗正確?移入溫度暫存器結(jié)束YNYN圖4.1DS18B20溫度計主程序流程圖圖4.2讀出溫度子程序流程圖Fig.4.1MainprogramFig.4.2Readtemperaturesub_program4.6DS18B20的讀寫操作對DS18B20操作時,首先要將它復(fù)位,將DQ線拉低480至960μS,再將數(shù)據(jù)線拉高15至60μS,然后,DS18B20發(fā)出一60至此40μS的低電平作為應(yīng)答信號,這時主機才能對它進(jìn)行其他操作。復(fù)位時序圖見圖4.6。發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖4.3溫度轉(zhuǎn)換子程序流程圖Fig.4.3Temperatureconvertionsub_program開始開始溫度零下溫度值取補碼置"-"標(biāo)志置"+"標(biāo)志計算小數(shù)位溫度BCD計算整數(shù)位溫度BCD結(jié)束YN溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號)結(jié)束NYNY圖4.4計算溫度子程序流程圖圖4.5顯示數(shù)據(jù)刷新子程序流程圖Fig.4.4Temperaturecaculationsub_programFig.4.5Desplaysub_program寫操作:存在兩種寫時隙“寫1”和“寫0”。主機采用寫1時序向從機寫入1,而采用寫0時序向從機寫入0。所有寫時序至少需要60μS,且在兩次獨立的寫時序之間至少需要1μS的恢復(fù)時間。兩種寫時序均起始于主機拉低總線(如圖2.17所示)。產(chǎn)生寫1時序的方式:主機在拉低總線后接著必須在15μS之內(nèi)釋放總線由4.7k上拉電阻將總線拉至高電平;而產(chǎn)生寫0時序的方式:在主機拉低總線后只需在整個時隙期間保持低電平即可(至少60μS)。在寫時序起始后15-60μS期間,DS18B20采樣總線電平狀態(tài)。如果在此期間采樣為高電平則邏輯1被寫入該器件;如果為0則寫入邏輯0[16]。讀操作:DS18B20僅在主機發(fā)出讀時序時才向主機傳輸數(shù)據(jù),所以在主機發(fā)出讀數(shù)據(jù)命令后必須馬上產(chǎn)生讀時序以便從機能夠傳輸數(shù)據(jù)。所有讀時序至少需要60μS,且在兩次獨立的讀時序之間至少需要1μS的恢復(fù)時間。每個讀時序都由主機發(fā)起,至少拉低總線1μS(如圖4.7所示)。在主機發(fā)起讀時序之后,DS18B20才開始在總線上發(fā)送0或1。若從機發(fā)送1,則保持總線為高電平;若發(fā)送0,則拉低總線。當(dāng)發(fā)送0時從機在該時序結(jié)束后釋放總線,由上拉電阻將總線拉回至空閑高電平狀態(tài)。從機發(fā)出的數(shù)據(jù)在起始時序之后保持有效時間15μS,因而,主機在讀時序期間必須釋放總線并且在時隙起始后的15μS之內(nèi)采樣總線狀態(tài)[4,16,17]。為了便于理解DS18B20片內(nèi)指令在本設(shè)計中的應(yīng)用,這里給出DS18B20的初始化,讀/寫匯編程序代碼如下:;RESETDS18B20;INITDS18B20:SETBTEMPDINNOPNOPCLRTEMPDINMOVR6,#0A0H;DELAY480usDJNZR6,$MOVR6,#0A0HDJNZR6,$SETBTEMPDINMOVR6,#32H;DELAY70usDJNZR6,$MOVR6,#3CHLOOP18B20:MOVC,TEMPDINJCINITDS18B20OUTDJNZR6,LOOP18B20MOVR6,#064H;DELAY200usDJNZR6,$SJMPINITDS18B20RETSETBTEMPDINRET;;讀DS18B20程序,從DS18B20讀出一個字節(jié)的數(shù)據(jù);READDS18B20:MOVR7,#08HSETBTEMPDINNOPNOPREADDS18B20LOOP:CLRTEMPDINNOPNOPNOPSETBTEMPDINMOVR6,#07H;DELAY15usDJNZR6,$MOVC,TEMPDINMOVR6,#3CH;DELAY120usDJNZR6,$RRCASETBTEMPDINDJNZR7,READDS18B20LOOPMOVR6,#3CH;DELAY120usDJNZR6,$RET;;寫DS18B20程序,向DS18B20寫一個字節(jié)的數(shù)據(jù);WRITEDS18B20:MOVR7,#08HSETBTEMPDINNOPNOPWRITEDS18B20LOOP:CLRTEMPDINMOVR6,#07H;DELAY15usDJNZR6,$RRCAMOVC,TEMPDINMOVR6,#34H;DELAY104usDJNZR6,$SETBTEMPDINDJNZR7,WRITEDS18B20LOOPRET圖4.6DS18B20的初始化時序Fig.4.6Initializationtiming圖4.7DS18B20的讀/寫時序Fig.4.7Read/Writetimeslottimingdigram4.7溫度數(shù)據(jù)的計算處理方法從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。因為DS18B20的轉(zhuǎn)換精度為9~12位可選的,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,溫度寄存器里的值是以0.0625為步進(jìn)的,即溫度值為溫度寄存器里的二進(jìn)制值乘以0.0625,就是實際的十進(jìn)制溫度值。通過觀察表1可以發(fā)現(xiàn)一個十進(jìn)制值和二進(jìn)制值之間有很明顯的關(guān)系,就是把二進(jìn)制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個字節(jié),這個字節(jié)的二進(jìn)制值化為十進(jìn)制值后,就是溫度值的百、十、個位值,而剩下的低字節(jié)的低半字節(jié)化成十進(jìn)制后,就是溫度值的小數(shù)部分。小數(shù)部分因為是半個字節(jié),所以二進(jìn)制值范圍是0~F,轉(zhuǎn)換成十進(jìn)制小數(shù)值就是0.0625的倍數(shù)(0~15倍)。這樣需要4位的數(shù)碼管來顯示小數(shù)部分,實際應(yīng)用不必有這么高的精度,采用1位數(shù)碼管來顯示小數(shù),可以精確到0.1℃。表1就是二進(jìn)制和十進(jìn)制的近似對應(yīng)關(guān)系表[17,18]。表1小數(shù)部分二進(jìn)制和十進(jìn)制的近似對應(yīng)關(guān)系表Tab.1Relationshipbetweenbinaryanddecimalofdecimalfraction小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值00112334556678895調(diào)試及性能分析系統(tǒng)的調(diào)試以程序為主。硬件調(diào)試比較簡單,首先檢驗電路的焊接是否正確,然后可用萬用表測試或通電檢測。軟件調(diào)試可以首先編寫顯示程序并進(jìn)行硬件的正確性檢驗,然后分別進(jìn)行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、顯示數(shù)據(jù)刷新等子程序的編程和調(diào)試,由于DS18B20與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20進(jìn)行讀寫編程時必須嚴(yán)格的保證讀寫時序,否則就無法讀取測量結(jié)果。本程序采用單片機匯編編寫,用KEIL編譯器編程調(diào)試。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(例如用手接觸)顯示溫度能改變就基本完成。性能測試用制作的溫度計與已有的水銀溫度計同時測量比較,由于DS18B20的精度很高,所以誤差指標(biāo)可以限制在0.1℃以內(nèi),其誤差數(shù)據(jù)表見表1所示.另外—55℃~+125℃的測溫范圍使得該溫度計完全適用于一般的應(yīng)用場所,其低電壓供電特性可做成用電池供電的手持電子溫度計。表1-55℃~+125Tab.1Temperatureerrorbetween-55℃~+溫度值范圍誤差值-40℃~0℃0℃~70℃℃-55℃~-40℃70℃~85℃℃85℃~125℃℃本設(shè)計溫度計讀數(shù)與恒溫源誤差曲線如圖5.1所示。6結(jié)論本設(shè)計采用智能型溫度傳感器DS18B20與AT89C2051構(gòu)成一個數(shù)字溫度計,利用四位共陽型LED顯示,其中小數(shù)位一位可以實現(xiàn)精度誤差在+/-0.1℃以內(nèi)。比較傳統(tǒng)的基于分立式或者模擬集成式的溫度傳感器構(gòu)成的溫度傳感器精度更好,測溫誤差更小,而且不需要A/D轉(zhuǎn)換,外圍電路更加簡單,加上使用單片機作為主控制器可以改變軟件實現(xiàn)更高精度的測溫效果而無須重新設(shè)計新的電路,開發(fā)周期短,更加經(jīng)濟節(jié)約,可擴展性能強,有較大的實用價值。在實際測試和使用中,-40~70℃讀數(shù)比較準(zhǔn)確,較好的達(dá)到了設(shè)計要求,但是當(dāng)溫度在-55~-40℃圖5.1DS18B20數(shù)字溫度計讀數(shù)與恒溫源誤差Fig.5.1ErrorbetweenDS18B20digitalthermometerandthermostat附錄1DS18B20數(shù)字溫度計原理圖2元件清單單片機:AT89C20511溫度傳感器:DS18B201電阻:1KΩ4;8.2KΩ1;4.7KΩ1電容:30pF2;10uf(電解電容)1晶振:12MHz1數(shù)碼管:四合一共陽極LED三極管:901243源程序清單;;DS18B20數(shù)字溫度計;TIMELEQU0E0H;20ms,定時器0時間常數(shù)TIMEHEQU0B1HTEMPHEADEQU36H;;工作內(nèi)存定義;BITSTDATA20HTIME1SOKBITBITST.1TEMPONEOKBITBITST.2TEMPLDATA26HTEMPHDATA27HTEMPHCDATA28HTEMPLCDATA29HTEMPDINBITP3.7ORG0000HLJMPSTARTORG00BHLJMPT0IT;;系統(tǒng)初始化;ORG100HSTART:MOVSP,#60HCLSMEM:MOVR0,#20HMOVR1,#60HCLSMEM1:MOV@R0,#00HINCRODJNZR1,CLSMEM1MOVTMOD,#00100001B;定時器0工作方式1(16BIT)MOVTH0,#TIMELMOVTL0,#TIMEH;20msSJMPINITERROR:NOPLJMPSTARTNOPINIT:NOPSETBET0SETBTR0SETBEAMOVP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 非洲概述課件教學(xué)課件
- 青竹湖湘一外國語學(xué)校九年級上學(xué)期語文第一次月考試卷
- 創(chuàng)意妝課件教學(xué)課件
- 三年級數(shù)學(xué)計算題專項練習(xí)匯編及答案
- 考編面試協(xié)議書(2篇)
- 《數(shù)學(xué)物理方法》第7章測試題
- 南京航空航天大學(xué)《彈性力學(xué)基礎(chǔ)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《現(xiàn)代企業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《設(shè)計史》2021-2022學(xué)年第一學(xué)期期末試卷
- 交通配套設(shè)施(標(biāo)線、標(biāo)志、交通信號燈)工程施工組織設(shè)計
- 2024年國際貿(mào)易傭金居間服務(wù)協(xié)議
- 2024年醫(yī)院食堂承包合同參考模板(五篇)
- 江蘇省南京市六校2024-2025學(xué)年高一上學(xué)期期中聯(lián)合調(diào)研考試 數(shù)學(xué) 含答案
- 老師實習(xí)報告(6篇)
- 電器集團外協(xié)、外購件檢驗作業(yè)指導(dǎo)書
- 國開學(xué)習(xí)網(wǎng)《幼兒園課程與活動設(shè)計》期末大作業(yè)答案(第7套)
- 第25課《劉姥姥進(jìn)大觀園》(導(dǎo)學(xué)案)(學(xué)生版) 2024-2025學(xué)年九年級語文上冊同步課堂(統(tǒng)編版)(學(xué)生專用)
- 美容院翻新合同協(xié)議書
- 嵌入式課程設(shè)計實訓(xùn)
- 2023-2024學(xué)年云南省昆明市五華區(qū)九年級(上)月考物理試卷(11月份)
- 職業(yè)生涯規(guī)劃書的撰寫
評論
0/150
提交評論