溫度控制器的設(shè)計(jì)與制作_第1頁
溫度控制器的設(shè)計(jì)與制作_第2頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、溫度控制器的設(shè)計(jì)與制作一、功能要求設(shè)計(jì)并制作一個(gè)溫度控制器,用于自動(dòng)接通或斷開室內(nèi)的電加熱設(shè)備,從而使室內(nèi)溫度達(dá)到設(shè)定溫度要求,并能實(shí)時(shí)顯示室內(nèi)溫度。當(dāng)室內(nèi)溫度大于等于設(shè)定溫度時(shí),控制器斷開電加熱設(shè)備;當(dāng)室內(nèi)溫度比設(shè)定溫度小2時(shí),控制器接通電加熱設(shè)備??販胤秶?51控溫精度:W1二、硬件系統(tǒng)設(shè)計(jì)1硬件系統(tǒng)由七部分組成,即單片機(jī)及看門狗電路、溫度檢測(cè)電路、控制輸出電路、鍵盤電路、顯示電路、設(shè)置溫度儲(chǔ)存電路及電源電路。(1)單片機(jī)及看門狗電路根據(jù)設(shè)計(jì)所需的單片機(jī)的內(nèi)部資源(程序存儲(chǔ)器的容量、數(shù)據(jù)存儲(chǔ)器的容量及I/O口數(shù)量),選擇AT89C51-24PC較合適。為了防止程序跑飛,導(dǎo)致溫度失控,進(jìn)而

2、引起可怕的后果,本設(shè)計(jì)加入了硬件看門狗電路IMP813L,如果它的WDI腳不處于浮空狀態(tài),在1.6秒內(nèi)WDI不被觸發(fā)(即沒有檢測(cè)到上什沿或下降沿),就說明程序已經(jīng)跑飛,看門狗輸出端WD將輸出低電平到手動(dòng)復(fù)位端,使復(fù)位輸出端RST發(fā)出復(fù)位信號(hào),使單片機(jī)可靠復(fù)位,即程序重新開始執(zhí)行。(注:如果選用AT89S51,由于其內(nèi)部已具有看門狗電路,就不需外加IMP813L)(2)溫度檢測(cè)電路溫度傳感器采用AD590,它實(shí)際上是一個(gè)與絕對(duì)溫度成正比的電流源,它的工作電壓為430V,感測(cè)的溫度范圍為-55oC+15OoC,具有良好的線性輸出,其輸出電流與溫度成正比,即1UA/K。因此在OoC時(shí)的輸出電流為27

3、3.2uA,在100oC時(shí)輸出電流為373.2uA。溫度傳感器將溫度的變化轉(zhuǎn)變?yōu)殡娏餍盘?hào),通過電阻后轉(zhuǎn)變電壓信號(hào),經(jīng)過運(yùn)算放大器JRC4558運(yùn)算處理,處理后得到的模擬電壓信號(hào)傳輸給A/D轉(zhuǎn)換部分。A/D轉(zhuǎn)換器選用ADCO8O4,它是用CMOS集成工藝制成的逐次逼近型模數(shù)轉(zhuǎn)換芯片,分辨率8位,轉(zhuǎn)換時(shí)間100“s基準(zhǔn)電壓O5V,輸入模擬電壓O5V。(3)控制輸出電路控制信號(hào)由單片機(jī)的P1.4引腳輸出,經(jīng)過光耦TLP521-1隔離后,經(jīng)三極管C855O直接驅(qū)動(dòng)繼電器WJ1O8-1C-O5VDC,如果所接的電加熱設(shè)備的功率W2KW,則可利用繼電器的常開觸點(diǎn)直接控制加熱設(shè)備,如果加熱設(shè)備的功率2KW,

4、可以繼電器控制接觸器,由接觸器直接控制加熱設(shè)備。(4)鍵盤電路鍵盤共有四個(gè)按鍵,分別是S1(設(shè)置)、S2(+)、S3(-)、S4(儲(chǔ)存)。通過鍵盤來設(shè)置室內(nèi)應(yīng)達(dá)到的溫度,鍵盤采用中斷方式控制。(5)顯示電路顯示電路由兩位E1O5O1_AR數(shù)碼管組成,由兩片74LS164驅(qū)動(dòng),實(shí)現(xiàn)靜態(tài)顯示,74LS164所需的串行數(shù)據(jù)和時(shí)鐘由單片機(jī)的P3.O和P3.1提供。對(duì)于學(xué)過“串行口”知識(shí)的班級(jí),實(shí)習(xí)時(shí),可以采用串行口工作于方式O,即同步移位寄存器的輸出方式,通過串行口輸出顯示數(shù)據(jù)(實(shí)時(shí)溫度值或設(shè)置溫度值);對(duì)于沒學(xué)過“串行口”知識(shí)的班級(jí),實(shí)習(xí)時(shí),可以采用模擬串行口的輸出方式,實(shí)現(xiàn)顯示數(shù)據(jù)的串行輸出。(6

5、)設(shè)置溫度存儲(chǔ)電路為了防止設(shè)定溫度在電源斷電后丟失,此設(shè)計(jì)加入了儲(chǔ)存電路,儲(chǔ)存器選用具有I2C總線功能的AT24CO1或FM24CO1均可。每次通過鍵盤設(shè)置的室內(nèi)設(shè)定溫度都通過儲(chǔ)存器儲(chǔ)存起來,即使是電源斷電,儲(chǔ)存器存儲(chǔ)的設(shè)定溫度也不丟失,在電源來電后,單片機(jī)自動(dòng)將設(shè)定溫度從儲(chǔ)存器中讀出,一方面避免了斷電后的更新設(shè)置工作;另一方面也保護(hù)了控制器控制的安全性,可靠性。(7)電源電路電源采用了串聯(lián)型集成穩(wěn)壓器電路,電源有兩路輸出,一路由L7805CV穩(wěn)壓輸出+5V,除JRC4558、AD590外,電路的其它部分均由+5V供電;一路由MC78L12和LM79L12穩(wěn)壓輸出土12V,給JRC4558、A

6、D590供電。當(dāng)然這里還可以選擇現(xiàn)成的開關(guān)型穩(wěn)壓電源,但它的價(jià)格相對(duì)來說要高一些。2硬件系統(tǒng)電路原理溫度控制器電路原理圖/=s=/00/0/3材料表型號(hào)數(shù)量對(duì)應(yīng)元件序號(hào)種類330Q1R26電阻470Q19R1R17、R28、R29820Q2R20、R251K2R22、R232K1R273K2R21、R2410K2R18、R192K2RP3、RP4電位器5K2RP1、RP210P1C9瓷片電容30P2C17、C18100U/25V4C1、C2、C3、C4電解電容470U/16V2C5、C61N41482D2、D3整流二極管3.9V/1W1D1穩(wěn)定二極管紅色、©32D4、D5發(fā)光二極管D

7、B1071ZLQ1整流橋KBP2061ZLQ2C85501Q1三極管12M1Y1晶振74LS1642U11、U12ICAD5901U9ADC08041U5AT24C011U6AT89C511U4IMP813L1U7JRC45581U8L7805CV1U3LM79L121U2MC78L121U1TLP521-11U10E10501-AR2DS1、DS2數(shù)碼管WJ108-1C-05VDC1K1繼電器220V/8V/2X15V/2.5W1T1電源變壓器VH-22CN1、CN2連接座三、軟件系統(tǒng)設(shè)計(jì)341.溫控系統(tǒng)采用模塊化程序結(jié)構(gòu),可分為四大模塊:(1)系統(tǒng)初始化模塊:完成變量的設(shè)定、中斷入口的設(shè)定

8、、各變量賦初值、堆棧設(shè)定、讀設(shè)置溫度、定時(shí)器TO工作方式及初值的設(shè)定并啟動(dòng)、開中斷。(2)循環(huán)模塊:完成A/D轉(zhuǎn)換及溫度值的換算、溫度值顯示、溫度比較、看門狗的觸發(fā)。定時(shí)器T0中斷模塊:完成1秒的定時(shí)。(4)外部中斷INT1中斷模塊:完成鍵盤對(duì)溫度值的設(shè)定。SizeNumberRe2.軟件流程框圖:程序初始化A/D轉(zhuǎn)換及溫度換算4BCD碼轉(zhuǎn)換溫度比較溫度顯示秒標(biāo)志位清零調(diào)用看門狗(50ms到(S1TH0、TL0賦值嗎?NY-秒記數(shù)返回恢復(fù)現(xiàn)場(chǎng)溫度設(shè)置值加1TO中斷程序流程圖INT1中斷程序流程圖秒標(biāo)志位置11秒記數(shù)單元重新賦值4置燈a顯示測(cè)量溫度B|設(shè)置燈點(diǎn)亮等待S1釋放主程序流程圖3參考程序

9、:溫度設(shè)置值減1并顯示1保存溫度設(shè)置值Title;溫度控制器源程序s1s2s3s4wdkzwdisdascldrxddtxdintrszledsbzswwdgwwdadpjszwdadwzmjszsmjszshmjszbitpl.O;sl按鍵控制口位bitpl.l;s2按鍵控制口位bitpl.2;s3按鍵控制口位bitpl.3;s4按鍵控制口位bitp1.4;溫度控制口位bitp1.5;看門狗觸發(fā)端bitpl.7;AT24C01的數(shù)據(jù)線bitpl.6;AT24C01的時(shí)鐘線bitp3.0;74LS164數(shù)據(jù)bitp3.1;74ls164時(shí)鐘bitp3.2;A/D轉(zhuǎn)換結(jié)束信號(hào)控制口位bitp3.

10、5;設(shè)置LEDbit00h;秒標(biāo)志位equ30h;十位溫度的BCD碼存儲(chǔ)單元equ31h;個(gè)位溫度的BCD碼存儲(chǔ)單元equ32h;A/D轉(zhuǎn)換后的平滑濾波值存儲(chǔ)單元equ33h;設(shè)置溫度值存儲(chǔ)單元equ34h;5次A/D值的初始位置,即34h38hequ39h;1秒記數(shù)值(50ms次數(shù))equ3ah;3秒記數(shù)值(200ms次數(shù))equ3bh;10秒記數(shù)值(200ms次數(shù))org0000hljmpstartorg000bhljmptimezd;T0中斷org0013hljmptemszzd;INT1中斷org0030hstart:clrsbzmovmjsz,#20movsmjsz,#15movsh

11、mjsz,#50movsp,#60h;賦初值;lcalldurommovszwd,a;讀設(shè)置溫度movtmod,#01hmovth0,#3chmovtl0,#0b0hsetbtr0定時(shí)器TO的設(shè)定及啟動(dòng)setbit1setbex1setbetOsetbea;中斷(INT1和T0中斷)cyc:lcalladzhmova,adpjlcallbcdzhlcalldisplcalltembjjnbsbz,$clrsbzlcallwdogsjmpcyc;模數(shù)轉(zhuǎn)換子程序名:adzh;入口參數(shù):無;出口參數(shù):adpjadzh:pushpswpushaccmovr1,#adwzmovr2,#5adzh1:mo

12、vxrO,ajbintr,$movxa,rOmovr1,aincr1djnzr2,adzh1;5次A/D值完成movrO,#adwzmovr2,#5lcallpaix;5次A/D值排序movr5,#00hmovr6,#OOhmovr7,#3mova,#adwzadda,#1movr1,ajiafa:mova,r1adda,r5movr5,amova,r6addca,#0movr6,aincr1djnzr7,jiafa;去極值后,余下的3個(gè)值求和(和在r6r5中)chufa:movr3,#16movr4,#30movr7,#0mova,r5adda,r5movr5,amova,r6addca,r

13、6movr6,amova,r5adda,#15movr5,amova,r6addca,#0movr6,a;為"四舍五入"作準(zhǔn)備即和值乘以2加上15除以30chufa1:clrcmova,r5rlcamovr5,amova,r6rlcamovr6,amova,r7rlcasubba,r4jncchufa2adda,r4sjmpchufa3chufa2:incr5chufa3:movr7,adjnzr3,chufa1movadpj,r5;完成溫度平均值popaccpoppswret;排序子程序名:paix(從大到?。?入口參數(shù):R0指向數(shù)據(jù)存儲(chǔ)區(qū)的首地址,R2存放數(shù)據(jù)長(zhǎng)度pai

14、x:pushpswpushaccpaix0:mova,r0movr1,amova,r2movr5,adecr5clrf0paix1:mova,r1incr1clrcsubba,r1jncpaix2setbf0adda,r1xcha,r1decr1movr1,aincr1paix2:djnzr5,paix1jnbf0,paix3clrf0decr2cjner2,#01h,paix0paix3:popaccpoppswret;T0中斷程序名:timezd;出口參數(shù):sbittimezd:movth0,#3chmovtl0,#0b0hdjnzmjsz,timezd1movmjsz,#20setbsb

15、ztimezd1:reti;溫度設(shè)置中斷程序名:temszzd;入口參數(shù):szwd;出口參數(shù):szwdtemszzd:pushpswpushaccclrrs1setbrs0clrtr0mova,szwdlcallbcdzhlcalldisptemsz0:lcallwdoglcalldelay200msjbs1,temsz0aljmptemsz0btemsz0a:ljmpret0temsz0b:djnzsmjsz,temsz0movsmjsz,#15clrszledwdog1:lcallwdoglcalldelay200msjnbs1,wdog1ljmptemsz2temsz1:lcalldel

16、ay200msdjnzshmjsz,temsz2movshmjsz,#50ljmpret0temsz2:jbs2,temsz3lcalldelay20msjbs2,temsz3wdog2:lcallwdoglcalldelay200msjnbs2,wdog2incszwdmova,szwdcjnea,#52,temsz2amova,#51movszwd,atemsz2a:lcallbcdzhlcalldispmovshmjsz,#50sjmptemsz2temsz3:jbs3,temsz4lcalldelay20msjbs3,temsz4wdog3:lcallwdoglcalldelay200

17、msjnbs3,wdog3decszwdmova,szwdcjnea,#255,temsz3amova,#0movszwd,atemsz3a:lcallbcdzhlcalldispmovshmjsz,#50sjmptemsz2temsz4:jbs4,temsz1lcalldelay20msjbs4,temsz1wdog4:lcallwdoglcalldelay200msjnbs4,wdog4lcallxieromret0:setbszledmova,adpjlcallbcdzhlcalldisplcallwdogsetbtr0popaccpoppswreti;bcd碼轉(zhuǎn)換子程序名:bcdzh;

18、入口參數(shù):a;出口參數(shù):swwd、gwwdbcdzh:pushpswpushbmovb,#10divabmovswwd,amovgwwd,bpopbpoppswret;溫度比較子程序名:tembj;入口參數(shù):adpj、szwd;出口參數(shù):wdkztembj:pushpswpushaccmova,adpjcjnea,szwd,tembj0tembj0:jctembj1setbwdkzsjmptembj3tembj1:adda,#2cjnea,szwd,tembj2tembj2:jnctembj3clrwdkztembj3:popaccpoppswret;讀ROM子程序名:durom;出口參數(shù):a

19、durom:pushpswclrsda;啟動(dòng)AT24C01mova,#0a0hlcalla_sendmova,#08hlcalla_sendsetbsclsetbsdaclrsdamova,#0a1hlcalla_sendlcalla_receiveclrsdanopnopsetbsclnopnopsetbsdapoppswret;字節(jié)發(fā)送子程序名:a_send;入口參數(shù):aa_send:pushpswmovr0,#08ha_send1:clrsclrlcamovsda,cnopsetbsclnopnopnopdjnzr0,a_send1clrsclnopnopnopsetbscla_loop

20、:movc,sdajca_loopclrsclpoppswret;字節(jié)接收子程序名:a_receive;出口參數(shù):aa_receive:pushpswmovr0,#08ha_rec:setbsclnopnopmovc,sdarlcaclrsclnopnopdjnzr0,a_recsetbsdanopnopsetbsclnopnopclrsclpoppswret;寫ROM子程序名:xierom;入口參數(shù):szwdxierom:pushpswpushaccsetbsclsetbsdaclrsdamova,#0a0hlcalla_sendmova,#08hlcalla_sendmova,szwdlc

21、alla_sendclrsdanopnopsetbsclnopnopsetbsdalcalldelay50mspopaccpoppswret;延時(shí)200mS子程序名:delay200msdelay200ms:movr7,#4del1:movr6,#200del2:movr5,#123nopdjnzr5,$djnzr6,del2djnzr7,del1ret;延時(shí)50ms子程序名:delay50msdelay50ms:dela1:movr7,#200movr6,#123nopdjnzr6,$djnzr7,dela1ret;延時(shí)20ms子程序名:delay20msdelay20ms:delay1:m

22、ovr7,#80movr6,#123nopdjnzr6,$djnzr7,delay1ret;看門狗子程序名:wdogwdog:clrwdisetbwdiclrwdiret;顯示子程序disp;入口參數(shù):swwd、gwwddisp:pushpswpushaccpushbmovdptr,#tabmova,swwdcjnea,#00h,n0mova,#0ffhajmpn1n0:movca,a+dptrn1:lcallzjfsmova,gwwdmovca,a+dptrlcallzjfspopbpopaccpoppswretzjfs:movr0,#08hclrczjfs1:rrcamovdrxd,csetbdtxdnopnopnopnopnopnopclrdtxdnopnopnopnopnopnopdjnzr0,zjfs1rettab:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hend四、系統(tǒng)調(diào)試1硬件系統(tǒng)的調(diào)試i1i2R23)(R21+RP3)Vi2(1)看溫度檢測(cè)電路部分,圖中標(biāo)有v.,、V.2、V,由運(yùn)放構(gòu)成的差分比例運(yùn)算電路可得:V=(1+R21+RP3)V-(1+oR22i1R24+RP4R22R21+RP3

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論