單片機(jī)實(shí)訓(xùn)溫度控制器的設(shè)計(jì)與制作_第1頁(yè)
單片機(jī)實(shí)訓(xùn)溫度控制器的設(shè)計(jì)與制作_第2頁(yè)
單片機(jī)實(shí)訓(xùn)溫度控制器的設(shè)計(jì)與制作_第3頁(yè)
單片機(jī)實(shí)訓(xùn)溫度控制器的設(shè)計(jì)與制作_第4頁(yè)
單片機(jī)實(shí)訓(xùn)溫度控制器的設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)接通或斷開(kāi)室內(nèi)的電加熱設(shè)備,從而使室內(nèi)溫度達(dá)到設(shè)定溫度要求,并能實(shí)時(shí)顯示室內(nèi)溫度。當(dāng)室內(nèi)溫度大于等于設(shè)定溫度時(shí),控制器斷開(kāi)電加熱設(shè)備;當(dāng)室內(nèi)溫度比設(shè)定溫度小2時(shí),控制器接通電加熱設(shè)備。 控溫范圍:051 控溫精度: 1二、硬件系統(tǒng)設(shè)計(jì)1硬件系統(tǒng)由七部分組成,即單片機(jī)及看門(mén)狗電路、溫度檢測(cè)電路、控制輸出電路、鍵盤(pán)電路、顯示電路、設(shè)置溫度儲(chǔ)存電路及電源電路。 (1)單片機(jī)及看門(mén)狗電路 根據(jù)設(shè)計(jì)所需的單片機(jī)的內(nèi)部資源(程序存儲(chǔ)器的容量、數(shù)據(jù)存儲(chǔ)器的容量及I/O口數(shù)量),選擇AT89C51-24PC較合適。為了防止程序跑飛,導(dǎo)致溫度失

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

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

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

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

6、#177;12V,給JRC4558、AD590供電。當(dāng)然這里還可以選擇現(xiàn)成的開(kāi)關(guān)型穩(wěn)壓電源,但它的價(jià)格相對(duì)來(lái)說(shuō)要高一些。2硬件系統(tǒng)電路原理圖: 3材料表型號(hào)數(shù)量對(duì)應(yīng)元件序號(hào)種類(lèi)3301R26電阻47019R1R17、R28、R298202R20、R251K2R22、R232K1R273K2R21、R2410K2R18、R192K2RP3、RP4電位器5K2RP1、RP210P1C9瓷片電容30P2C17、C18100/25V4C1、C2、C3、C4電解電容470/16V2C5、C61N41482D2、D3整流二極管3.9V/1W1D1穩(wěn)定二極管紅色、32D4、D5發(fā)光二極管DB1071ZLQ1

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

8、初值、堆棧設(shè)定、讀設(shè)置溫度、定時(shí)器T0工作方式及初值的設(shè)定并啟動(dòng)、開(kāi)中斷。 (2)循環(huán)模塊:完成A/D轉(zhuǎn)換及溫度值的換算、溫度值顯示、溫度比較、看門(mén)狗的觸發(fā)。 (3)定時(shí)器T0中斷模塊:完成1秒的定時(shí)。 (4)外部中斷INT1中斷模塊:完成鍵盤(pán)對(duì)溫度值的設(shè)定。 2軟件流程框圖: 3參考程序:;-;溫度控制器源程序;-s1 bit p1.0 ;s1按鍵控制口位s2 bit p1.1 ;s2按鍵控制口位 s3 bit p1.2 ;s3按鍵控制口位s4 bit p1.3 ;s4按鍵控制口位wdkz bit p1.4 ;溫度控制口位wdi bit p1.5 ;看門(mén)狗觸發(fā)端sda bit p1.7 ;A

9、T24C01的數(shù)據(jù)線scl bit p1.6 ;AT24C01的時(shí)鐘線drxd bit p3.0 ;74LS164數(shù)據(jù)dtxd bit p3.1 ;74ls164時(shí)鐘intr bit p3.2 ;A/D轉(zhuǎn)換結(jié)束信號(hào)控制口位szled bit p3.5 ;設(shè)置LEDsbz bit 00h ;秒標(biāo)志位swwd equ 30h ;十位溫度的BCD碼存儲(chǔ)單元gwwd equ 31h ;個(gè)位溫度的BCD碼存儲(chǔ)單元adpj equ 32h ;A/D轉(zhuǎn)換后的平滑濾波值存儲(chǔ)單元szwd equ 33h ;設(shè)置溫度值存儲(chǔ)單元adwz equ 34h ;5次A/D值的初始位置,即34h38hmjsz equ 39

10、h ;1秒記數(shù)值(50ms次數(shù))smjsz equ 3ah ;3秒記數(shù)值(200ms次數(shù))shmjsz equ 3bh ;10秒記數(shù)值(200ms次數(shù)) org 0000h ljmp start org 000bh ljmp timezd ;T0中斷 org 0013h ljmp temszzd ;INT1中斷 org 0030hstart: clr sbz mov mjsz,#20 mov smjsz,#15 mov shmjsz,#50 mov sp,#60h ;-賦初值 ;lcall durom mov szwd,a ;-讀設(shè)置溫度 mov tmod,#01h mov th0,#3ch

11、mov tl0,#0b0h setb tr0 ;-定時(shí)器T0的設(shè)定及啟動(dòng) setb it1 setb ex1 setb et0 setb ea ;-開(kāi)中斷(INT1和T0中斷)cyc: lcall adzh mov a,adpj lcall bcdzh lcall disp lcall tembj jnb sbz,$ clr sbz lcall wdog sjmp cyc;-;模數(shù)轉(zhuǎn)換子程序名:adzh;入口參數(shù):無(wú);出口參數(shù):adpj;-adzh: push psw push acc mov r1,#adwz mov r2,#5adzh1: movx r0,a jb intr,$ movx

12、a,r0 mov r1,a inc r1 djnz r2,adzh1 ;-5次A/D值完成 mov r0,#adwz mov r2,#5 lcall paix ;-5次A/D值排序 mov r5,#00h mov r6,#00h mov r7,#3 mov a,#adwz add a,#1 mov r1,ajiafa: mov a,r1 add a,r5 mov r5,a mov a,r6 addc a,#0 mov r6,a inc r1 djnz r7,jiafa ;-去極值后,余下的3個(gè)值求和(和在r6r5中)chufa: mov r3,#16 mov r4,#30 mov r7,#0

13、mov a,r5 add a,r5 mov r5,a mov a,r6 addc a,r6 mov r6,a mov a,r5 add a,#15 mov r5,a mov a,r6 addc a,#0 mov r6,a ;-為"四舍五入"作準(zhǔn)備即和值乘以2加上15除以30chufa1: clr c mov a,r5 rlc a mov r5,a mov a,r6 rlc a mov r6,a mov a,r7 rlc a subb a,r4 jnc chufa2 add a,r4 sjmp chufa3chufa2: inc r5chufa3: mov r7,a djnz

14、 r3,chufa1 mov adpj,r5 ;-完成溫度平均值 pop acc pop psw ret;-;排序子程序名:paix(從大到小);入口參數(shù):R0指向數(shù)據(jù)存儲(chǔ)區(qū)的首地址,R2存放數(shù)據(jù)長(zhǎng)度;-paix: push psw push accpaix0: mov a,r0 mov r1,a mov a,r2 mov r5,a dec r5 clr f0paix1: mov a,r1 inc r1 clr c subb a,r1 jnc paix2 setb f0 add a,r1 xch a,r1 dec r1 mov r1,a inc r1paix2: djnz r5,paix1 j

15、nb f0,paix3 clr f0 dec r2 cjne r2,#01h,paix0paix3: pop acc pop psw ret;-;T0中斷程序名:timezd;出口參數(shù):sbit;-timezd: mov th0,#3ch mov tl0,#0b0h djnz mjsz,timezd1 mov mjsz,#20 setb sbztimezd1: reti;-;溫度設(shè)置中斷程序名:temszzd;入口參數(shù):szwd;出口參數(shù):szwd;-temszzd: push psw push acc clr rs1 setb rs0 clr tr0 mov a,szwd lcall bcd

16、zh lcall disptemsz0: lcall wdog lcall delay200ms jb s1,temsz0a ljmp temsz0btemsz0a: ljmp ret0temsz0b: djnz smjsz,temsz0 mov smjsz,#15 clr szledwdog1: lcall wdog lcall delay200ms jnb s1,wdog1 ljmp temsz2temsz1: lcall delay200ms djnz shmjsz,temsz2 mov shmjsz,#50 ljmp ret0temsz2: jb s2,temsz3 lcall del

17、ay20ms jb s2,temsz3wdog2: lcall wdog lcall delay200ms jnb s2,wdog2 inc szwd mov a,szwd cjne a,#52,temsz2a mov a,#51 mov szwd,atemsz2a: lcall bcdzh lcall disp mov shmjsz,#50 sjmp temsz2temsz3: jb s3,temsz4 lcall delay20ms jb s3,temsz4wdog3: lcall wdog lcall delay200ms jnb s3,wdog3 dec szwd mov a,szwd

18、 cjne a,#255,temsz3a mov a,#0 mov szwd,atemsz3a: lcall bcdzh lcall disp mov shmjsz,#50 sjmp temsz2temsz4: jb s4,temsz1 lcall delay20ms jb s4,temsz1wdog4: lcall wdog lcall delay200ms jnb s4,wdog4 lcall xieromret0: setb szled mov a,adpj lcall bcdzh lcall disp lcall wdog setb tr0 pop acc pop psw reti;-

19、;bcd碼轉(zhuǎn)換子程序名:bcdzh;入口參數(shù):a;出口參數(shù):swwd、gwwd;-bcdzh: push psw push b mov b,#10 div ab mov swwd,a mov gwwd,b pop b pop psw ret;-;溫度比較子程序名:tembj;入口參數(shù):adpj、szwd;出口參數(shù):wdkz;-tembj: push psw push acc mov a,adpj cjne a,szwd,tembj0tembj0: jc tembj1 setb wdkz sjmp tembj3tembj1: add a,#2 cjne a,szwd,tembj2tembj2:

20、jnc tembj3 clr wdkztembj3: pop acc pop psw ret;-;讀ROM子程序名:durom;出口參數(shù):a;-durom: push psw clr sda ;啟動(dòng)AT24C01 mov a,#0a0h lcall a_send mov a,#08h lcall a_send setb scl setb sda clr sda mov a,#0a1h lcall a_send lcall a_receive clr sda nop nop setb scl nop nop setb sda pop psw ret;-;字節(jié)發(fā)送子程序名:a_send;入口參數(shù):

21、a;-a_send: push psw mov r0,#08ha_send1: clr scl rlc a mov sda,c nop setb scl nop nop nop djnz r0,a_send1 clr scl nop nop nop setb scla_loop: mov c,sda jc a_loop clr scl pop psw ret;-;字節(jié)接收子程序名:a_receive;出口參數(shù):a;-a_receive: push psw mov r0,#08ha_rec: setb scl nop nop mov c,sda rlc a clr scl nop nop djn

22、z r0,a_rec setb sda nop nop setb scl nop nop clr scl pop psw ret;-;寫(xiě)ROM子程序名:xierom;入口參數(shù):szwd;-xierom: push psw push acc setb scl setb sda clr sda mov a,#0a0h lcall a_send mov a,#08h lcall a_send mov a,szwd lcall a_send clr sda nop nop setb scl nop nop setb sda lcall delay50ms pop acc pop psw ret;-;延

23、時(shí)200mS子程序名:delay200ms;-delay200ms: mov r7,#4del1: mov r6,#200del2: mov r5,#123 nop djnz r5,$ djnz r6,del2 djnz r7,del1 ret;-;延時(shí)50ms子程序名:delay50ms;-delay50ms:mov r7,#200dela1: mov r6,#123 nop djnz r6,$ djnz r7,dela1 ret;-;延時(shí)20ms子程序名:delay20ms;-delay20ms:mov r7,#80delay1: mov r6,#123 nop djnz r6,$ djn

24、z r7,delay1 ret;-;看門(mén)狗子程序名:wdog;-wdog: clr wdi setb wdi clr wdi ret;-;顯示子程序disp;入口參數(shù):swwd、gwwd;-disp: push psw push acc push b mov dptr,#tab mov a,swwd cjne a,#00h,n0 mov a,#0ffh ajmp n1n0: movc a,a+dptrn1: lcall zjfs mov a,gwwd movc a,a+dptr lcall zjfs pop b pop acc pop psw retzjfs: mov r0,#08h clr czjfs1: rrc a mov drxd,c setb dtxd nop nop nop nop nop nop clr dtxd nop nop nop nop nop nop djnz r0,zjfs1 rettab: db 0c0h,0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論