版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2 系統(tǒng)方案設(shè)計(jì)現(xiàn)在的電子產(chǎn)品朝著密集型發(fā)展,而電子產(chǎn)品的溫度特性普遍比較差,這就對(duì)溫度的自動(dòng)控制提出了新的要求。如果采用國(guó)外進(jìn)口的溫度檢測(cè)與自控系統(tǒng),雖然性能較好,但是結(jié)合國(guó)情,其價(jià)格相當(dāng)昂貴,又全是英文,推廣起來比較困難2?;谝陨蠁栴},本論文設(shè)計(jì)出一個(gè)溫度傳感器,配合單片機(jī)計(jì)算機(jī)系統(tǒng),從軟件的編制上實(shí)現(xiàn)對(duì)各外圍硬件的控制,最終實(shí)現(xiàn)對(duì)水溫的自動(dòng)控制。在硬件的設(shè)計(jì)上,所有的元器件都采用了通用型產(chǎn)品,使得設(shè)計(jì)出來的產(chǎn)品及維修都相當(dāng)方便,可以有效地降低成本,同時(shí)另外一點(diǎn)就是能用軟件實(shí)現(xiàn)的功能盡量選用軟件進(jìn)行操作,更加突出了產(chǎn)品的簡(jiǎn)單性和高可靠性。2.1系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo) 本設(shè)計(jì)水溫設(shè)定由人工設(shè)定,
2、溫度設(shè)定范圍為40-90,最小區(qū)分度為1,標(biāo)定溫差1;環(huán)境溫度降低時(shí),溫度控制的靜態(tài)誤差1;用十進(jìn)制數(shù)碼管顯示水的實(shí)際溫度;采用適當(dāng)?shù)目刂品椒?,?dāng)設(shè)定溫度突變(由40提高到90)時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。2.2方案的選擇與論證根據(jù)任務(wù)和測(cè)量控制現(xiàn)象以及現(xiàn)有的條件,現(xiàn)提出了以下兩個(gè)方案。方案一:采用傳統(tǒng)的二位模擬控制方法,選用模擬電路,用電位器設(shè)定給定值,采用上下限比較電路將反饋的溫度值與給定的溫度值比較后,決定加熱或者不加熱。由于采用模擬控制方式,系統(tǒng)受環(huán)境的影響大,不能實(shí)現(xiàn)復(fù)雜的控制算法使控制精度做得較高,而且不能用數(shù)碼顯示和鍵盤設(shè)定3。方案二:此方案采用了at89c51單片機(jī)為核心,
3、采用溫度傳感器ds18b20進(jìn)行溫度采集,用繼電器控制加熱,使其達(dá)到電路簡(jiǎn)單、可靠的目的。使用單片機(jī)具有編程靈活,控制簡(jiǎn)單的優(yōu)點(diǎn),使系統(tǒng)能簡(jiǎn)單的實(shí)現(xiàn)溫度的控制及顯示,并且通過軟件編程能實(shí)現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點(diǎn)。 將兩個(gè)方案比較便可以得出一個(gè)結(jié)論,方案二明顯的改善了方案一得不足及缺點(diǎn),并具有控制簡(jiǎn)單,控制溫度精度高的特點(diǎn)。因此本設(shè)計(jì)電路采用方案二。2.3系統(tǒng)總體方案設(shè)計(jì)本系統(tǒng)的電路設(shè)計(jì)方框圖如圖2-1所示,它由七部分組成:控制部分主芯片采用單片機(jī)at89c51;顯示部分采用3位led數(shù)碼管以動(dòng)態(tài)掃描方式實(shí)現(xiàn)溫度顯示;溫度采集部分采用ds18b20溫度傳感器;加熱控制部分采用繼
4、電器電路;時(shí)鐘電路;復(fù)位電路;單列3按鍵鍵盤輸入設(shè)定溫度值。 圖2-1 系統(tǒng)設(shè)計(jì)方框圖 2.3.1 溫度傳感器ds18b20簡(jiǎn)介溫度傳感器是整個(gè)控制系統(tǒng)獲取被控對(duì)象特征的重要部件,它的特性直接影響系統(tǒng)的精度。美國(guó)dallas公司生產(chǎn)的單線數(shù)字溫度傳感器ds1820,可把溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字信號(hào)供微機(jī)處理,是最新的“一線器件”4。它具有體積小、適用電壓寬、經(jīng)濟(jì)、實(shí)用、線性度很好,精度較高且其本身已經(jīng)進(jìn)行了校正,使用時(shí)不需再進(jìn)行調(diào)整等特點(diǎn)。本設(shè)計(jì)采用ds18b20作為智能溫度傳感器,采集的數(shù)據(jù)以“一線總線”的數(shù)字方式傳輸直接送到單片機(jī)中,同時(shí)可傳送crc校驗(yàn)碼,大大提高了系統(tǒng)的抗干擾性,適合
5、于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。ds18b20的特性有:溫度測(cè)量范圍為55125,可編程為9位12位a/d轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625,用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)ds18b20可以并聯(lián)到3根或2根線上,cpu只需一根端口線就能與諸多ds18b20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路;電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作等。以上特點(diǎn)使ds18b20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng),性能價(jià)格比也非常出色5!因此選擇ds18b20作為本電路的溫度傳感器。其外部結(jié)構(gòu)如圖2-2所示6。 圖2-2 d
6、s18b20外部結(jié)構(gòu)ds18b20的引腳及特性:gnd:接地;dq:數(shù)據(jù)輸入輸出腳(單線接口,可作寄生供電);vdd:為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。ds18b20的內(nèi)部結(jié)構(gòu):1、64位光刻rom。開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的唯一的序號(hào),共有48位,最后8位是前56位的crc校驗(yàn)碼。光刻rom的作用是使每一個(gè)ds18b20都各不相同,實(shí)現(xiàn)一線進(jìn)行通信的目的。64位閃速rom的結(jié)構(gòu)如圖2-3所示。圖2-3 64位閃速rom結(jié)構(gòu)圖2、非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl,可通過軟件寫入用戶報(bào)警上下限值;3、高速緩存存儲(chǔ),可以設(shè)置ds18b20溫度轉(zhuǎn)換精度。ds18b20
7、溫度傳感器內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存ram和一個(gè)非易失性的可電擦除的e2pram。高速暫存ram的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器。前兩個(gè)字節(jié)包含測(cè)得的溫度信息,第三和第四字節(jié)是th和tl的易失性拷貝,每次上電復(fù)位被刷新。第五個(gè)字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。ds18b20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值,低五位一直為1,tm是工作模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式。 2.3.2 控制芯片 at89c51單片機(jī)簡(jiǎn)介at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperom-f
8、lash programmable and erasable read only memory)的低電壓,高性能cmos8位處理器,俗稱單片機(jī)。單片機(jī)的可擦除存儲(chǔ)器可以反復(fù)擦除100次7。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案,其結(jié)構(gòu)圖及各管腳如圖2-4所示。圖2-4 at89c51結(jié)構(gòu)圖管腳說明:vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8
9、ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入“1”后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收、輸出4個(gè)ttl門電流。當(dāng)p2口被寫
10、“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。當(dāng)因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。當(dāng)p2口用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣
11、故。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位期間時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平。當(dāng)51芯片通電,時(shí)鐘電路開始工作,在rst引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)行程序。然而,初始復(fù)位不改變r(jià)am的狀態(tài)。各特殊功能寄存器初始狀態(tài)如表2-1所示。 表2-1 各特殊功能寄存器初始狀態(tài)表特殊功能寄存器初始態(tài)特殊功能寄存器初始態(tài)acc00hb00hpsw00hsp00hdph00hth000hdpl00htl000
12、hipxxx00000bth100hie0xx00000btl100htmod00htcon00hsconxxxxxxxxbsbuf00hp0-p311111111bpcon0xxxxxxxbale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如果想禁止ale的輸出,可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc
13、指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的psen信號(hào)將不出現(xiàn)。ea/vpp:當(dāng)ea保持低電平時(shí),只允許外部程序存儲(chǔ)器(0000h-ffffh)使用,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式為“1”時(shí),ea將內(nèi)部鎖定為reset;當(dāng)ea端保持高電平時(shí),只允許內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:反向振蕩放
14、大器的輸出及內(nèi)部時(shí)鐘工作電路的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,
15、支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 2.3.3 鍵盤與led數(shù)碼顯示電路簡(jiǎn)介數(shù)碼管由7個(gè)發(fā)光二極管組成,行成一個(gè)日字形,它們可以共陰極,也可以共陽極。通過解碼電路得到的數(shù)碼接通相應(yīng)的發(fā)光二極而形成相應(yīng)的字。數(shù)碼管具有:低耗能、低損耗、低壓、壽命長(zhǎng)耐老化,對(duì)外界環(huán)境要求低。同時(shí)數(shù)碼管采用bcd編碼顯示數(shù)字,程序編譯容易、資源占用少。說到七段數(shù)碼管,它在家電及工業(yè)控制中有著很廣泛的應(yīng)用,例如用來顯示溫度、數(shù)量、重量、日期、時(shí)間等等,具
16、有顯示醒目、直觀的優(yōu)點(diǎn),七段數(shù)碼管是由7個(gè)獨(dú)立的二極管采用共陰或共陽的方法連接而成。通常將這7個(gè)獨(dú)立的二極管做成a、b、c、d、e、f、g這7個(gè)筆劃,數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字。本電路采用三位led 7段共陰數(shù)碼管分別顯示溫度的十位、個(gè)位和小數(shù)位,用單列3按鍵進(jìn)行溫度設(shè)定。掃描電路,節(jié)約了單片機(jī)的輸出端口,便于程序的編寫8。其顯示數(shù)字對(duì)應(yīng)的二進(jìn)制電平信號(hào)如表2-2所示。表2-2 顯示數(shù)字對(duì)應(yīng)的二進(jìn)制電平信號(hào)顯示數(shù)字abcdefg0111111010110000211011013111100140110011510110116001111171
17、1100008111111190001101數(shù)碼管使用條件: 段及小數(shù)點(diǎn)上加限流電阻; 使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定; 使用電流:靜態(tài):總電流 80ma(每段 10ma);動(dòng)態(tài):平均電流 4-5ma峰值電流 100ma;數(shù)碼管使用注意事項(xiàng)說明: 數(shù)碼管表面不要用手觸摸,不要用手去弄引角; 焊接溫度:260;焊接時(shí)間:5s 表面有保護(hù)膜的產(chǎn)品,可以在使用前撕下來 2.3.4 加熱控制電路簡(jiǎn)介根據(jù)設(shè)計(jì)要求,可以使用電熱絲進(jìn)行加熱,控制電熱絲的功率即可以控制加熱的速度。當(dāng)水溫過高時(shí),關(guān)掉電熱絲進(jìn)行降溫處理,讓其自然冷卻。在設(shè)計(jì)中,裝設(shè)一個(gè)小電風(fēng)扇,當(dāng)水溫超高時(shí)關(guān)閉電熱絲
18、打開風(fēng)扇散熱,當(dāng)需要加熱時(shí),開啟電熱絲關(guān)閉風(fēng)扇。由于加熱的功率較大,考慮到簡(jiǎn)化電路的設(shè)計(jì),本設(shè)計(jì)直接采用220v的電源,采用繼電器控制。使用繼電器可以很容易實(shí)現(xiàn)通過低電壓、低電流控制高電壓、高電流,在正常條件下,工作十分可靠。繼電器無需外加光耦,自身即可實(shí)現(xiàn)電氣隔離,這種電路無法精確實(shí)現(xiàn)電熱絲功率控制,電熱絲只能工作在最大功率或零功率,但可以由多路加熱絲組成功率控制,由單片機(jī)對(duì)溫差的處理實(shí)現(xiàn)分級(jí)功率控制提高系統(tǒng)動(dòng)態(tài)性能9。因此,采用繼電器控制省去光耦和交流過零檢測(cè)電路,在軟件上選用適當(dāng)?shù)目刂扑惴ǎ梢赃_(dá)到更好的效果。 2.3.5 復(fù)位電路簡(jiǎn)介單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可
19、靠性。只有一個(gè)可靠的復(fù)位電路才能使系統(tǒng)避免出現(xiàn)“死機(jī)”、“程序走飛”等現(xiàn)象10。為此本系統(tǒng)設(shè)置了既可以通電后自動(dòng)復(fù)位,也可以手動(dòng)強(qiáng)制復(fù)位的復(fù)位電路。 2.3.6 時(shí)鐘電路簡(jiǎn)介時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。cpu就是通過復(fù)雜的時(shí)序電路完成不同的指令功能的。時(shí)鐘信號(hào)可以由兩種方式產(chǎn)生:一種是內(nèi)部方式,利用芯片內(nèi)部的振蕩電路,產(chǎn)生時(shí)鐘信號(hào);另一種為外部方式,時(shí)鐘信號(hào)由外部引入。時(shí)鐘電路頻率范圍為1.212mhz。單片機(jī)雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,外接晶振以及電容,構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中,這種方式稱為內(nèi)部時(shí)鐘方式。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大
20、小多少會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度穩(wěn)定性。當(dāng)時(shí)鐘頻率為12mhz時(shí)典型值為30pf11。本控制器采用的是內(nèi)部振蕩方式,振蕩頻率為12mhz,因?yàn)檫@種方式得到的時(shí)鐘信號(hào)比較穩(wěn)定。3 系統(tǒng)硬件電路設(shè)計(jì)本系統(tǒng)的執(zhí)行方法是循環(huán)查詢執(zhí)行的,鍵盤掃描也是循環(huán)查詢的辦法,由于本系統(tǒng)對(duì)實(shí)時(shí)性要求不是很高,所以沒有用到中斷方式來處理。各電路的關(guān)系圖如圖3-1所示。單片機(jī)初始化ds18b20測(cè)得溫度值,存放到buffer中處理溫度值,轉(zhuǎn)換成bcd碼溫度顯示電路鍵盤掃描(有無enter按下)繼電器電路 圖3-1 系統(tǒng)硬件電路關(guān)系3.1 溫度采集電路的設(shè)計(jì)本系統(tǒng)采用半導(dǎo)體智能溫度傳感器d
21、s18b20作為敏感元件,來實(shí)現(xiàn)對(duì)溫度的采集和轉(zhuǎn)換,直接輸出數(shù)字量,可以直接和單片機(jī)進(jìn)行通訊,大大簡(jiǎn)化了電路的復(fù)雜度。ds18b20應(yīng)用廣泛,性能可以滿足題目的設(shè)計(jì)要求。ds18b20的測(cè)溫電路如圖3-2所示。圖3-2 ds18b20測(cè)溫電路(1) ds18b20的測(cè)溫功能的實(shí)現(xiàn):內(nèi)部計(jì)數(shù)器對(duì)一個(gè)受溫度影響的振蕩器的脈沖計(jì)數(shù),低溫時(shí)振蕩器的脈沖可以通過門電路,而當(dāng)?shù)竭_(dá)某一設(shè)置高溫時(shí)振蕩器的脈沖無法通過門電路。計(jì)數(shù)器設(shè)置為-55時(shí)的值,如果計(jì)數(shù)器到達(dá)0之前,門電路未關(guān)閉,則溫度寄存器的值將增加,這表示當(dāng)前溫度高于-55。同時(shí),計(jì)數(shù)器復(fù)位在當(dāng)前溫度值上,電路對(duì)振蕩器的溫度系數(shù)進(jìn)行補(bǔ)償,計(jì)數(shù)器重新開
22、始計(jì)數(shù)直到回零。如果門電路仍然未關(guān)閉,則重復(fù)以上過程。其具體的實(shí)現(xiàn)主要依靠單片機(jī)軟件的編程上。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存器的0、1字節(jié)上。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.0625/lsb形式表示。溫度值格式如表3.1所示,其中“s”為標(biāo)志位,對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。ds18b20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與th、tl做比較,若tth或ttl,則將該器件內(nèi)的告警標(biāo)志置位,并
23、對(duì)主機(jī)發(fā)出的告警搜索命令做出響應(yīng)12。表3-1 ds18b20溫度值格式表ls byte22222222ms bytesssss222(2)ds1820單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對(duì)ds1820的各種操作必須按協(xié)議進(jìn)行。ds18b20工作過程中的協(xié)議13: 初始化ds18b20發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù) 初始化 單總線上的所有處理均從初始化開始 rom操作命令 總線主機(jī)檢測(cè)到ds18b20的存在便可以發(fā)出rom操作命令之一。3.2 加熱控制電路的設(shè)計(jì) 由于本系統(tǒng)要控制電熱絲加熱,功率較大,因此要借助功率電路。在器件選擇上留足余量,增加安全性。加熱部分采用
24、繼電器控制,電路簡(jiǎn)單可靠14。電路如圖3-3所示。圖3-3 繼電器控制當(dāng)實(shí)際溫度低于設(shè)定值時(shí),由單片機(jī)輸出高電平信號(hào)。三極管9014導(dǎo)通,繼電器開始對(duì)水加溫,為了防止繼電器頻繁動(dòng)作,在軟件中對(duì)水溫測(cè)量精確到0.1,而在溫度設(shè)定時(shí)只取整數(shù),可以有1的余量。當(dāng)實(shí)際溫度高于設(shè)定值時(shí),為了加快系統(tǒng)動(dòng)態(tài)響應(yīng)速度,設(shè)置一個(gè)小功率電扇,加速水溫的降低,使系統(tǒng)整體性能得到提高。原理圖如圖3-4所示。圖3-4 風(fēng)扇控制電路3.3 鍵盤、顯示電路的設(shè)計(jì)本設(shè)計(jì)中以動(dòng)態(tài)顯示方式采用共陰極連接來驅(qū)動(dòng)三個(gè)七段數(shù)碼管,分別顯示溫度的十位、個(gè)位和小數(shù)位。數(shù)碼管采用共陰極,由于at89c51單片機(jī)每個(gè)i/o的電流只有1-2ma
25、,所以在位碼和段碼上加了相同驅(qū)動(dòng)器15。其編碼方法如表3-2所示。表3-2 編碼方法表dpgfedcba顯示的字符編碼p0.7p0.6p0.5p0.4p0.3p0.2p0.1p0.0110000000c0h111100111f3h101001002a4h101100003b0h10011011499h10010000592h10000000682h111110007f8h10000000880h10010000990h10001000a88h10001100f8eh鍵盤采用按鍵開關(guān)經(jīng)上拉電阻分別接p1.0、p1.1、p1.2口上,起到控制、上調(diào)和下調(diào)作用。每按上調(diào)和下調(diào)鍵,設(shè)定溫度值增1減1。
26、原理圖如圖3-5所示。 圖3-5 鍵盤按鍵電路3.4 復(fù)位電路的設(shè)計(jì)單片機(jī)的復(fù)位引腳rst出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。本系統(tǒng)采用的復(fù)位方式為上電復(fù)位或開關(guān)復(fù)位,電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在系統(tǒng)運(yùn)行期間,用按鍵s5操作也能使單片機(jī)復(fù)位16。上電后16v的電解電容充電,使rst持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位按鍵后松開,也能使rst為一段時(shí)間的高電平,從而實(shí)現(xiàn)了上電復(fù)位或開關(guān)復(fù)位的操作。具體電路圖如圖3-6所示。 圖3-6 復(fù)位電路3.5 時(shí)鐘電路的設(shè)計(jì)在引腳xtali和xtal2外接12mhz晶體振蕩器,由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,
27、當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖,兩個(gè)電容器起穩(wěn)定振蕩頻率、快速起振的作用,具體電路如圖3-7所示。圖3-7 單片機(jī)時(shí)鐘電路4 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì)采用匯編語言,對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。主程序?qū)δK進(jìn)行初始化,而后調(diào)用讀溫度、處理溫度、顯示、鍵盤和繼電器電路,用的是循環(huán)查詢方式來顯示和控制溫度。 4.1 讀取ds18b20溫度模塊子程序 每次對(duì)ds18b20操作時(shí)多要按照ds18b20中的協(xié)議進(jìn)行。初始化ds18b20發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。程序流程圖如圖4-1所示。圖4-1 讀取ds18b20溫度子程序流程圖4.2 數(shù)據(jù)處理子程序由于ds18
28、b20轉(zhuǎn)換后的代碼并不是實(shí)際的溫度值,所以要進(jìn)行數(shù)據(jù)處理。由于本程序采用的是0.0625的精度,小數(shù)部分的值可以用后四位代表的實(shí)際數(shù)值乘以0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個(gè)小數(shù)位,所以采取四舍五入,保留一位小數(shù)即可17。也就是說,本系統(tǒng)的溫度精確到了0.1。首先程序判斷溫度是否是零下,如果是,則ds18b20保存的是溫度的補(bǔ)碼,需要對(duì)其低八位取反加一變成原碼。處理過后把ds18b20的溫度復(fù)制到單片機(jī)的ram中,里面已經(jīng)是溫度值的hex碼了,然后轉(zhuǎn)換hex碼到bcd碼,分別把小數(shù)位,個(gè)位,十位的bcd碼存入ram中18。數(shù)據(jù)處理子程序流程圖如圖4-2所示。 圖4-2 數(shù)據(jù)處理子程序流
29、程圖4.3 鍵盤掃描子程序按鍵功能:1、enter p1.0(k2) 控制鍵 2、up p1.1(k3) 加1鍵 3、down p1.2(k4) 減1鍵鍵盤子程序流程圖如圖4-3所示19。 圖4-3鍵盤掃描子程序4.4 系統(tǒng)主程序流程圖總模塊流程圖如圖4-4所示。本軟件設(shè)計(jì)采用循環(huán)查詢來處理各個(gè)模塊,溫度是緩慢變化量,所以可以滿足性能要求。 初始化開始數(shù)據(jù)處理子程序顯示子程序調(diào)用a/d轉(zhuǎn)換子程序ds188b20?鍵盤掃描子程序繼電器控制子程序錯(cuò)誤顯示888否是圖4.4 主程序流程圖5 結(jié)論本論文設(shè)計(jì)了一種用at89c51單片機(jī)為核心的水溫控制。通過用一塊51芯片外加擴(kuò)展系統(tǒng)及一些相應(yīng)的功能部件
30、,經(jīng)過預(yù)研、硬件設(shè)計(jì)、繪制原理圖、系統(tǒng)軟件的設(shè)計(jì)等一系列操作,最后組成一個(gè)水溫的設(shè)定、檢測(cè)、顯示和控制的自動(dòng)調(diào)節(jié)系統(tǒng),使系統(tǒng)達(dá)到要求的性能指標(biāo),實(shí)現(xiàn)預(yù)期目的。本文給出了該設(shè)計(jì)方法的原理說明和具體的設(shè)計(jì)電路,敘述了系統(tǒng)硬件線路的設(shè)計(jì)要點(diǎn)和結(jié)構(gòu)以及軟件的設(shè)計(jì)要點(diǎn),同時(shí)給出了各個(gè)重要子程序的流程圖。本設(shè)計(jì)的不足之處還有待進(jìn)一步完善,使其更好的服務(wù)于控制應(yīng)用中。本設(shè)計(jì)的主要特點(diǎn)有:(1)模塊化設(shè)計(jì),擴(kuò)展性強(qiáng)。模塊化設(shè)計(jì),使控制器具有一定的通用性,而且運(yùn)行安全可靠。只要對(duì)控制器稍加改變就可以實(shí)現(xiàn)別的控制功能。(2)成本低,易于推廣。所有的元器件都采用了通用型產(chǎn)品,使得設(shè)計(jì)出來的產(chǎn)品及維修都相當(dāng)方便,可以
31、有效地降低成本。(3)操作簡(jiǎn)單,控制器正面只有一排數(shù)碼管和3個(gè)按鍵,人們只要通過3個(gè)按鍵設(shè)定好水溫后,就不需做其他操作了。(4)體積小,安裝方便,反應(yīng)靈敏,控制精度高。本控制器還不夠完善,有許多值得改進(jìn)的地方,以下幾個(gè)方面有待進(jìn)一步提高:(1)目前本控制器采用的是動(dòng)態(tài)顯示,當(dāng)單片機(jī)執(zhí)行其他程序,沒執(zhí)行顯示程序時(shí),數(shù)碼管就會(huì)熄滅,不能穩(wěn)定地顯示數(shù)值。采用靜態(tài)顯示,使溫度數(shù)值顯示更加穩(wěn)定連續(xù)。(2)進(jìn)一步提高測(cè)量測(cè)度,提高系統(tǒng)集成度和可靠性??刂扑惴ǖ姆N類有很多,不斷試驗(yàn)找出控制精度更高,更加有效的控制算法。參考文獻(xiàn)1 張毅坤.單片微型計(jì)算機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2006:17
32、-182 涂序彥.智能控制理論方法與技術(shù).北京:清華大學(xué)出版社,2008:56-583 高吉祥.全國(guó)大學(xué)生電子設(shè)計(jì)大賽培訓(xùn)系列教程.北京:電子工業(yè)出版社,2007:45-464 ds18b20官方英文站點(diǎn)下載.ds18b20官方英文文檔.5 黃賢武.傳感器實(shí)際應(yīng)用電路設(shè)計(jì).成都:電子科技大學(xué)出版社,2005:54-686 肖亮,陶學(xué)恒.新型的智能化液位溫度測(cè)量系統(tǒng).儀表技術(shù)與傳感器,2005(3):34-377 余錫存等.單片機(jī)原理及接口技術(shù).西安:西安電子科技大學(xué)出版社,2008:56-578 付家才.單片機(jī)控制工程實(shí)踐技術(shù).武漢:化學(xué)工業(yè)出版社,2009:67-689 翟玉文等.電子設(shè)計(jì)與
33、實(shí)踐.北京:中國(guó)電力出版社,2005:98-11010 andy szatkowski,william pruehsner, john d.enderle, water temperature control system .proceedings of the ieee 25th annual northeast bioengineering conference,piscataway,nj,2007:61-7511 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2007:34-4012 上海半導(dǎo)體器件研究所.美國(guó)國(guó)家半導(dǎo)體公司線性集成電路特性與應(yīng)用.上海:上海出版社,2008:
34、76-8813 王振紅,張常年.綜合電子設(shè)計(jì)與實(shí)踐.北京:清華大學(xué)出版社,2005:63-7014 noriaki sakamoto,masami masubuchi, seiichi kawata,variable-structurecontrol using the ideal of a fictitious set point temperature tracking control of a batch reactorprocess. control engineering practice,2006:28-4015 沙占友.智能化溫度測(cè)試系統(tǒng)的優(yōu)化設(shè)計(jì).電子測(cè)量與儀器學(xué)報(bào),2008(
35、3):57-7016 邊春元等編著.單片機(jī)應(yīng)用開發(fā)實(shí)用子程序.北京:人民郵電出版社,2007:89-11217 雷思孝.單片機(jī)原理及實(shí)用技術(shù)-凌陽16位單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2005:76-8018 江力.單片機(jī)原理與應(yīng)用技術(shù).北京:清華大學(xué)出版社,2006:88-9019 szatkowski a, pruehsnerw, enderle j d.water temperature control system. proceedings of the ieee 25thannualnortheast bioengineering conference. piscat
36、away nj, 2009:66-72the design of water temperature control system based on microcontrollerxxxxxx(department of physics ,xxx university,xxx,)abstract at present, most of the temperature control system used by the analog temperature sensor,multi-channel analog switches,a/d converter and single-chip,su
37、ch as the transmission system components. this system requires a large number of temperature measurement arrangement of cables,to the scene to the sensor signal acquisition card,the installation and removal of complex,high cost. at the same time,the transmission lines is the analog signal,and are pr
38、one to interference and loss,relatively large measurement error is also not conducive to control of temperature change in accordance with a decision in time. in the paper,a kind of at89c51 microcontroller as the core of the use of high-precision data acquisition systems ds18b20 given details the har
39、dware circuit design and soft elements and structure. the design features,all important routines are given a flow chart. the temperature control system of small size, easy installation,rapid response,high control precision,and low cost,simple,easy to spread. keywords at89c51; ds18b20; temperature co
40、ntrol致 謝大學(xué)四年的學(xué)習(xí)和生活就要隨著這篇設(shè)計(jì)的答辯而結(jié)束了.有許多許多的舍不得,也有許多許多的感謝要說。畢業(yè)設(shè)計(jì),事實(shí)上就是綜合地運(yùn)用四年所學(xué)知識(shí)去分析、解決一個(gè)問題,在做畢業(yè)設(shè)計(jì)的過程中,把所學(xué)知識(shí)得梳理一遍,它既是一次檢閱,又是一次鍛煉。在xx老師的指導(dǎo)下我學(xué)會(huì)和懂得了很多,逐漸完成了對(duì)硬件電路與軟件編程兩方面的設(shè)計(jì),掌握了硬件調(diào)試、軟件調(diào)試的基本方法,掌握了從子程序到總程序、從基本功能到復(fù)雜功能等程序編寫的基本思路及方法。首先要衷心感謝的是xx老師!在我學(xué)習(xí)期間不僅傳授了做學(xué)問的秘訣,還傳授了做人的準(zhǔn)則,這些都將使我終生受益。無論是在理論學(xué)習(xí)階段,還是在論文的選題、資料查詢、開題
41、、研究和撰寫的每一個(gè)環(huán)節(jié),無不得到xx老師的悉心指導(dǎo)和幫助,我愿借此機(jī)會(huì)向xx老師表示衷心的感謝!其次要感謝所有教育過我的老師!你們傳授給我的專業(yè)知識(shí)是我不斷成長(zhǎng)的源泉,也是完成本設(shè)計(jì)的基礎(chǔ)。我還要向關(guān)心和支持我學(xué)習(xí)的朋友們表示真摯的謝意!感謝他們對(duì)我的關(guān)心、關(guān)注和支持!最后感謝我的母校xx學(xué)院四年來對(duì)我的大力栽培。我還要感謝含辛茹苦培養(yǎng)我長(zhǎng)大的父母。謝謝你們! 大學(xué)的生活讓我有了堅(jiān)強(qiáng)的性格、冷靜的頭腦和永遠(yuǎn)樂觀的態(tài)度,最重要的是讓我有了責(zé)任感,對(duì)自己、對(duì)家人和對(duì)社會(huì)。附錄1:系統(tǒng)硬件原理圖附錄2:軟件程序清單temperature_l data 31h; ds18b20低八位bufftemp
42、erature_h data 30h; ds18b20高八位buffertemperature_hc data 32h; 計(jì)算后的十位bcd碼存放buffertemperature_lc data 33h; 計(jì)算后的個(gè)位和小數(shù)位的bcd碼temperature_zh data 34h; 計(jì)算后的十位和個(gè)位的hex碼dis_buf_x data 35h; 數(shù)碼管小數(shù)位bufferdis_buf_g data 36h; 數(shù)碼管個(gè)位bufferdis_buf_s data 37h; 數(shù)碼管十位bufferkey_buf_g data 39h; 鍵盤輸入后的個(gè)位值key_buf_s data 49h;
43、 鍵盤輸入后的十位值k_enter equ p1.0; 輸入數(shù)據(jù)確認(rèn)按鈕k_up equ p1.1; 上調(diào)按鈕k_down equ p1.2; 下調(diào)按鈕p_ds18b20 equ p3.0; 讀取ds18b20的輸入端口p_switch equ p1.7; 繼電器控制端口1-加熱,0-斷開p_fan equ p1.5; 風(fēng)扇端口1-降溫,0-斷開flag equ 20h.0; 標(biāo)志位確定是否存在ds18b20,1-存在, 0-不存在enter_flag equ 20h.1; 鍵盤輸入標(biāo)志位0-輸入,1-退出,程序開始執(zhí)行 org 0000h ljmp main org 0100hmain: m
44、ov sp,#60h; 初始化 mov key_buf_g,#00h;由于key_buf是由用戶輸入的, 所以先賦值初始化 mov key_buf_s, #00h;next: lcall read_temp; 調(diào)用讀溫度子程序 jb flag,normal; 判斷是否有ds18b20的存在 call err; 不存在時(shí)顯示錯(cuò)誤信息ajmp next;normal: lcall data_deal; 處理從ds18b20得到的數(shù)據(jù) lcall set_dis_buf; 賦值給dis_buf_x,g,s lcall display; 調(diào)用數(shù)碼管顯示子程序 lcall scan_key; 掃描鍵盤
45、lcall switch; 處理繼電器 ajmp next;err: (程序出錯(cuò)處理,顯示888) mov dis_buf_x, #08h; 若沒有找到ds18b20,則錯(cuò)誤顯示888 mov dis_buf_g, #08h; mov dis_buf_s, #08h; lcall display; ret;data_deal:(處理采集后的數(shù)據(jù)) mov a,temperature_h; 判斷溫度是否為零下 anl a, #80h; jz tempc1; a為0,說明是正數(shù),跳往tempc1,若是 負(fù)數(shù),則對(duì)低8位進(jìn)行補(bǔ)碼處理 clr c; mov a, temperature_l; cpl
46、a; add a,#01h; 取反加1 mov temperature_l,a; 求補(bǔ)后存回temperature_l,此時(shí)temperature_l里面的值就可以表示溫度了,繼續(xù)處理 mov a, temperature_h; cpl a; 高位temperature_h取反 addc a,#00h;, 加上從temperature_l進(jìn)來的位 mov temperature_h,a; 寫回temperature_h mov temperature_hc, #0bh; sjmp tempc11;tempc1: mov temperature_hc, #0ah;tempc11: mov a,
47、temperature_hc swap a; mov temperature_hc, a; mov a, terature_l; anl a,#0fh; 取a的低4位,得出來的數(shù)乘以 0.0625,通過查表來算出值 mov dptr, #tempdottab; movc a,a+dptr; 查表 mov temperature_lc, a temperature_lc low= 小數(shù)部分bcd mov dis_buf_x,a; 小數(shù)部分的bcd碼送入a mov a,temperatyre_l; 整數(shù)部分 anl a,#0fh; 得到個(gè)位單個(gè)數(shù)值 swap a; swap后就得到個(gè)位真正的個(gè)位mov temerature_l, a;mov a, temperature_h;anl a, #0fh;swap a;orl a, temperature_l;mov temperature_zh,a; 組合后的值存入 temperature_zhlcall htob; 轉(zhuǎn)換hex值成為bcd碼mov temperature_l,a; 十位和個(gè)位的bcd編碼 anl a, #0f0h;swap a;orl a, temperatur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公共設(shè)施建設(shè)捐贈(zèng)合同協(xié)議書3篇
- 助學(xué)貸款申請(qǐng)書五篇
- 《浮選尾煤中高嶺石的浮選規(guī)律研究》
- 《利川市養(yǎng)老旅游發(fā)展研究》
- 《我國(guó)公務(wù)員心理契約問題的研究》
- 《ACQ-D與CCA-C中山杉防腐膠合板性能比較研究》
- 二零二五年度互聯(lián)網(wǎng)金融平臺(tái)風(fēng)險(xiǎn)控制協(xié)議3篇
- 2025版鋼鐵企業(yè)專用廢鋼回收及銷售合同3篇
- 竹子舞蹈課程設(shè)計(jì)
- 公交線路課程設(shè)計(jì)
- 人工智能技術(shù)在康復(fù)醫(yī)學(xué)領(lǐng)域中的發(fā)展與應(yīng)用
- 施工進(jìn)度計(jì)劃保證措施(智能化工程)
- JB-T 4088.1-2022 日用管狀電熱元件 第1部分:通用要求
- JGJT341-2014 泡沫混凝土應(yīng)用技術(shù)規(guī)程
- 鋼結(jié)構(gòu)安裝工程旁站監(jiān)理記錄表
- 人教版英語五年級(jí)上冊(cè) Unit 2 Part A
- 常見中藥價(jià)格表
- IDC云數(shù)據(jù)中心機(jī)房運(yùn)維服務(wù)解決方案
- 維西縣城市生活垃圾熱解處理工程環(huán)評(píng)報(bào)告
- 網(wǎng)絡(luò)經(jīng)濟(jì)學(xué)PPT完整全套教學(xué)課件
- 2023年主治醫(yī)師(中級(jí))-臨床醫(yī)學(xué)檢驗(yàn)學(xué)(中級(jí))代碼:352考試參考題庫附帶答案
評(píng)論
0/150
提交評(píng)論