單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)_第1頁(yè)
單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)_第2頁(yè)
單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)_第3頁(yè)
單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)_第4頁(yè)
單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(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ù)理與信息工程學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用期末課程設(shè)計(jì) 題 目: 基于單片機(jī)的水溫控制系統(tǒng) 專 業(yè): 電子信息工程 班 級(jí): 電信041班 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 成 績(jī): ( 2007.1 )目 錄 第1節(jié) 引 言31.1 水溫控制系統(tǒng)概述31.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容3第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì)42.1 單片機(jī)控制系統(tǒng)原理42.2 溫度采樣電路42.2.1溫度傳感器的選取4 2.2.2溫度傳感器ad5905 2.2.3電路原理及參數(shù)計(jì)算52.2.4 adc0804性能描述52.3 溫度控制電路52.4 主機(jī)控制部分62.5 鍵盤及數(shù)字顯示部分6第3節(jié) 系統(tǒng)軟件設(shè)計(jì)8 3.1 主程序流圖

2、83.2 主程序83.3 鍵盤和數(shù)字顯示流程圖14 3.4 鍵盤顯示程序14第4節(jié) 結(jié)束語23參考文獻(xiàn)24基于單片機(jī)的水溫控制系統(tǒng)數(shù)理與信息工程學(xué)院 電信041班 王煒指導(dǎo)教師:余水寶 第1節(jié) 引 言 在能源日益緊張的今天,電熱水器,飲水機(jī),電飯煲之類的家用電器在保溫時(shí),由于其簡(jiǎn)單的溫控系統(tǒng),利用溫敏電阻來實(shí)現(xiàn)溫控,因而會(huì)造成很大的能源浪費(fèi)浪費(fèi)。 但是利用at89c51單片機(jī)為核心,配合溫度傳感器,信號(hào)處理電路,顯示電路,輸出控制電路,故障報(bào)警電路等組成,軟件選用匯編語言編程。單片機(jī)可將溫度傳感器檢測(cè)到的水溫模擬量轉(zhuǎn)換成數(shù)字量,顯示于led顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會(huì)有更

3、廣闊的開發(fā)前景。1.1 水溫控制系統(tǒng)概述 能源問題已經(jīng)是當(dāng)前最為熱門的話題,離開能源的日子,世界將失去一切顏色,人們將寸步難行,雖然本設(shè)計(jì)是節(jié)省電能角度出發(fā),而電能又是可再生能源,但是在今天還是有很多的電能是依靠火力,核電等一系列不可再生的自然資源所產(chǎn)生,一旦這些自然資源耗盡,我們將面臨電能資源的巨大的缺口,因而本設(shè)計(jì)從開源節(jié)流的截流角度出發(fā),節(jié)省電能,保護(hù)環(huán)境。1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容設(shè)計(jì)并制作一個(gè)水溫自動(dòng)控制系統(tǒng),控制對(duì)象為1升凈水,容器為搪瓷器皿。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)控制,以保持設(shè)定的溫度基本不變。本設(shè)計(jì)主要內(nèi)容如下: (1)溫度設(shè)定范圍為40

4、90,最小區(qū)分度為1,標(biāo)定溫度1。(2)環(huán)境溫度降低時(shí)溫度控制的靜態(tài)誤差1。(3)用十進(jìn)制數(shù)碼管顯示水的實(shí)際溫度。(4)采用適當(dāng)?shù)目刂品椒?,?dāng)設(shè)定溫度突變(由40提高到60)時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。(5)溫度控制的靜態(tài)誤差0.2。第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì) 2.1 單片機(jī)控制系統(tǒng)原理圖2-1 單片機(jī)控制系統(tǒng)原理框圖 2.2 溫度采樣電路系統(tǒng)的信號(hào)采集電路主要由溫度傳感器(ad590)、基準(zhǔn)電壓(7812)及a/d轉(zhuǎn)換電路(adc0804)三部分組成。如圖:2-2 圖2-2 信號(hào)采集電路 2.2.1 溫度傳感器的選取目前市場(chǎng)上溫度傳感器較多,有以下幾種:方案一:選用鉑電阻溫度傳感器,此

5、類溫度傳感器線性度、穩(wěn)定性等方面性能都很好,但其成本較高。方案二:采用熱敏電阻,選用此類元器件有價(jià)格便宜的優(yōu)點(diǎn),但由于熱敏電阻的非線性特性會(huì)影響系統(tǒng)的精度。方案三:選用美國(guó)analog devices 公司生產(chǎn)的二端集成電流傳感器ad590。其測(cè)量范圍在-50-+150,滿刻度范圍誤差為0.3,當(dāng)電源電壓在510v之間,穩(wěn)定度為1時(shí),誤差只有0.01。此器件具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點(diǎn)其各方面特性都滿足此系統(tǒng)的設(shè)計(jì)要求。 比較以上三種方案,方案三具有明顯的優(yōu)點(diǎn),因此選用方案三。2.2.2 溫度傳感器ad590測(cè)量范圍在-50-+150,滿刻度范圍誤差為0.3,當(dāng)電源電壓在510

6、v之間,穩(wěn)定度為1時(shí),誤差只有0.01 。ad590為電流型傳感器溫度每變化1其電流變化1ua在35和95時(shí)輸出電流分別為308.2ua 和368.2ua 。 2.2.3電路原理及參數(shù)計(jì)算溫度采樣電路的基本原理是采用電流型溫度傳感器ad590將溫度的變化量轉(zhuǎn)換成電流量,再將電流量轉(zhuǎn)換成電壓量通過a/d轉(zhuǎn)換器adc0804將其轉(zhuǎn)換成數(shù)值量交由單片機(jī)處理。2.2.4 adc0804性能描述adc0804為8bit的一路a/d轉(zhuǎn)換器,其輸入電壓范圍在05v,轉(zhuǎn)換速度小于100us,轉(zhuǎn)換精度0.39。滿足系統(tǒng)的要求。如圖2-3 a/d轉(zhuǎn)換電路 圖2-3 a/d轉(zhuǎn)換電路由于系統(tǒng)控制的水溫范圍為35-95

7、,所以當(dāng)輸出電壓為零伏時(shí)ad590的輸出電流為308.2ua,因此為了使ui的電位為零就必須使電流等于電流等于308.2ua, 三端穩(wěn)壓7812的輸出電壓為12v所以取電阻r2=30k , r1=10k的電位器。又由于adc0804的輸入電壓范圍為05v ,為了提高精度所以令水溫為95時(shí)adc0804的輸入電壓為5v(即uo=5v)。當(dāng)水溫為95時(shí)ad590的輸出電流為368.2ua。因此取r5=81k , r5=5k的電位器。2.3 溫度控制電路此部分電路主要由光電耦合器moc3041和雙向可控硅bta12組成。moc3041光電耦合器的耐壓值為400v,它的輸出級(jí)由過零觸發(fā)的雙向可控硅構(gòu)成

8、,它控制著主電路雙向可控硅的導(dǎo)通和關(guān)閉。100電阻與0.01uf電容組成雙向可控硅保護(hù)電路??刂撇糠蛛娐穲D 如圖2-4 部分控制電路。 如圖 2-4 部分控制電路2.4主機(jī)控制部分此部分是電路的核心部分,系統(tǒng)的控制采用了單片機(jī)89c52。單片機(jī)89c52內(nèi)部有8kb單元的程序存儲(chǔ)器及256字節(jié)的數(shù)據(jù)存儲(chǔ)器。因此系統(tǒng)不必?cái)U(kuò)展外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器這樣大大的減少了系統(tǒng)硬件部分。如圖2-5 主機(jī)控制部分 如圖2-5 主機(jī)控制部分2.5鍵盤及數(shù)字顯示部分在設(shè)計(jì)鍵盤/顯示電路時(shí),我們使用單片機(jī)2051做為電路控制的核心,單片機(jī)2051具有一個(gè)全雙工的串行口采用串口,利用此串行口能夠方便的實(shí)現(xiàn)系統(tǒng)的控

9、制和顯示功能。鍵盤/顯示接口電路如圖2-6。圖3-4-1中單片機(jī)2051的p1口接數(shù)碼管的8只引腳,這樣易于對(duì)數(shù)碼管的譯碼,使數(shù)碼管能顯示設(shè)計(jì)者所需的各數(shù)值、小數(shù)點(diǎn)、符號(hào)等等。單片機(jī)2051的p3.3、p3.4、p3.5接3-8譯碼器74l138,譯碼器的輸出端直接接八個(gè)數(shù)碼管的控制端和鍵盤,鍵盤掃描和顯示器掃描同用端口這樣能大大的減少單片機(jī)的i/o,減少硬件的花費(fèi)。 圖2-6 鍵盤/顯示部分電路鍵盤的接法的差別直接影響到硬件和軟件的設(shè)計(jì),考慮到單片機(jī)2051的端口資源有限,所以我們?cè)谠O(shè)計(jì)中將傳統(tǒng)的4*4的鍵盤接成8*2的形式(如圖2-7),鍵盤的掃描除了和顯示共用的8個(gè)端外,另外的兩個(gè)端直接

10、和2051的p3.2和p3.7相連。圖2-7鍵盤接線如圖2-7的接法已經(jīng)完全用完了單片機(jī)的15個(gè)i/o口,有效的利用了單片機(jī)的資源。第3節(jié) 系統(tǒng)的軟件設(shè)計(jì)3.1 系統(tǒng)主程序設(shè)計(jì) 開機(jī) 機(jī)系統(tǒng)初始化顯示清零,各記數(shù)指針清零,設(shè)定定時(shí)器及中斷否是調(diào)用相應(yīng)的中斷程序判斷是否有中斷?pid算法pwm波產(chǎn)生接收及發(fā)射串顯示數(shù)據(jù)pc機(jī)通信子程序 圖3-1主程序流程圖各類數(shù)值轉(zhuǎn)換子程序 3.2 主程序主程序如下:org 0000h ajmp start ;主程序 org 000bh ajmp tim0 ;t0中斷子程序 org 0023h ajmp rt ;串口中斷接受子程序 org 0100hstart:

11、mov 50h,#00h ;初始化設(shè)定溫度 mov 51h,#00h mov 52h,#00h mov 53h,#00h mov 54h,#0c6h ;發(fā)送第5個(gè)數(shù)碼管字形碼“c” mov tmod,#01h ;t0工作在mode1 mov th0,#0ech ;晶振12m,50ms中斷一次 mov tl0,#78h setb tr0 mov tmod,#20h ;t1工作在mode2 mov th1,#0e6h ;設(shè)波特率 mov tl1,#0e6h setb tr1 mov scon,#50h mov ie,#92h ;允許t0,ri中斷 mov r6,#04h ;初始要接收的數(shù)據(jù)個(gè)數(shù) m

12、ov r1,#50h ;初始要接收數(shù)據(jù)的起始地址 mov r4,#00h rey: mov a,53h cjne a,#00h,yes sjmp reyyes: mov r3,#00hyes1: clr p2.0 ;開始ad轉(zhuǎn)換 clr p3.6 setb p3.6 acall delayj1: movx a,r0 acall sjcl ;調(diào)用數(shù)據(jù)處理子程序 acall disp djnz r3,mm acall fs ;調(diào)用串口發(fā)送子程序 ajmp yesmm: ajmp yes1sjcl:mov b,#60 mul ab mov 61h,a mov a,b add a,#35 acall

13、l10 mov 60h,r5 ;存十進(jìn)制高八位 (個(gè)位和十位) mov a,61h mov b,#9 mul ab mov 61h,b ;存十進(jìn)制低八位 (小數(shù)點(diǎn)) retl10: clr c mov r5,#00h ;初始化十進(jìn)制轉(zhuǎn)換的地位寄存器 mov r4,#08h ;調(diào)整次數(shù)next:rlc a mov r2,a mov a,r5 addc a,r5 da a mov r5,a mov a,r2 djnz r4,next retdisp: mov a,60h anl a,#0f0h ;取d2的顯示數(shù)據(jù)存入70h swap a mov 70h,a mov a,60h anl a,#0fh

14、 ;取d1的顯示數(shù)據(jù)存入71h mov 71h,a mov 72h,61h ;取d0的顯示數(shù)據(jù)存入72h mov r0,#70h ;取相應(yīng)的字形碼分別存入55-57h mov dptr,#tab mov a,r0 movc a,a+dptr mov 55h,a inc r0 mov a,r0 movc a,a+dptr mov 56h,a inc r0 mov a,r0 movc a,a+dptr mov 57h,a mov a,56h add a,#80h ;在d1字形碼上加小數(shù)點(diǎn) mov 56h,a retfs: mov a,r0 push acc mov tmod,#20h mov th

15、1,#0e6h mov tl1,#0e6h setb tr1 mov scon,#50h mov r0,#54h ;設(shè)定發(fā)送起始地址 mov r7,#04hloop:mov sbuf,r0 jnb ti,$ clr ti inc r0 djnz r7,loop pop acc mov r0,a ret ;串口中斷接受子程序 rt: push acc push psw clr et0 clr es sj: mov r1,sbuf inc r1 cjne r4,#03h,move sjmp move1 move :inc r4 clr ri jnb ri, $move1:djnz r6,sj mo

16、v r4,#00h mov r1,#50h ;重置接收起始地址 mov r6,#04h ;重置接收個(gè)數(shù) setb et0 setb es pop psw pop acc reti;t0中斷子程序tim0: push acc push psw mov th0,#0ech ;重設(shè)中斷時(shí)間 mov tl0,#78h clr c ;acall js mov a,51h cjne a,70h,q1 ;最高位比 sjmp q2q1: jc off sjmp onq2: mov a,52h cjne a,71h,q3q3: jc offon: clr p1.4 clr p1.2re: pop psw pop

17、 acc retioff: setb p1.4 setb p1.2 sjmp redelay:mov r7,#50 djnz r7,$ rettab:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h3.3鍵盤顯示程序開機(jī) 機(jī)系統(tǒng)初始化顯示清零,各記數(shù)指針清零否是消除顫抖判斷是否有鍵按下?設(shè)定水溫顯示溫度確定單步清零取消輸出12345 圖3-2鍵盤顯示程序流圖輸出653.4 鍵盤顯示程序鍵盤顯示程序如下:flaga bit 4eh flagb bit 4fh org 00h jmp start org 23h jmp uartistart: clr

18、flaga clr flagb mov 30h,#07h ;系統(tǒng)顯示 mov 31h,#07h ;pppppppp mov 32h,#07h mov 33h,#07h mov 34h,#07h mov 35h,#07h mov 36h,#07h mov 37h,#07h mov r1,#90h mov r0,#50hpp: clr p3.3 ;p3.5p3.4p3.3=000 clr p3.4 clr p3.5 mov a,30h mov p1,a setb p3.3 ;001 mov a,31h mov p1,a setb p3.4 ;010 clr p3.3 mov a,32h mov p

19、1,a setb p3.3 ;011 mov a,33h mov p1,a setb p3.5 ;100 clr p3.4 clr p3.3 mov a,34h mov p1,a setb p3.3 ;101 mov a,35h mov p1,a setb p3.4 ;110 clr p3.3 mov a,36h mov p1,a setb p3.3 ;111 mov a,37h mov p1,a djnz r0,pp mov r0,#0ffh djnz r0,$ djnz r1,pp ;系統(tǒng)顯示 mov scon,#52h ;串行口方式2,允許接收,初態(tài)ti=1 mov 30h,#0fh ;

20、0 mov 34h,#0fh mov 33h,#93h ;c mov 37h,#93hz1: clr p3.3 ;000 clr p3.4 clr p3.5 mov a,30h mov p1,a jb p3.2,z11 acall delay ;jian chu li jnb p3.2,$ setb flaga jmp z2z11: jb p3.7,z2 acall delay ;jian chu li jnb p3.7,$ jnb flaga,z2 jb flagb,z12 mov 31h,#0c0h ; mov r0,#0 setb flagb jmp z2z12: mov 32h,#0c

21、0h ; mov r1,#0 clr flagbz2: setb p3.3 ;001 mov a,31h mov p1,a jb p3.2,z21 acall delay ;jian jnb p3.2,$ jnb flaga,z3 jb flagb,z22 mov 31h,#0f9h ; mov r0,#1 setb flagb jmp z3z22: mov 32h,#0f9h ; mov r1,#1 clr flagb jmp z3z21: jb p3.7,z3 acall delay ;jian jnb p3.7,$ jnb flaga,z3 jb flagb,z23 mov r0,#2

22、mov 31h,#0a4h ; setb flagb jmp z3z23: mov 32h,#0a4h ; mov r1,#2 clr flagbz3: setb p3.4 ;010 clr p3.3 mov a,32h mov p1,a jb p3.2,z31 acall delay ;jian jnb p3.2,$ jnb flaga,z4 jb flagb,z32 mov 31h,#0b0h ; mov r0,#3 setb flagb jmp z4z32: mov 32h,#0b0h ; mov r1,#3 clr flagb jmp z4z31: jb p3.7,z4 acall d

23、elay ;jian jnb p3.7,$ jnb flaga,z4 jb flagb,z33 mov 31h,#99h ; mov r0,#4 setb flagb jmp z4z33: mov 32h,#99h ; mov r1,#4 clr flagbz4: setb p3.3 ;011 mov a,33h mov p1,a jb p3.2,z41 acall delay ;jian jnb p3.2,$ jnb flaga,z5 jb flagb,z42 mov 31h,#92h ; mov r0,#5 setb flagb jmp z5z42: mov 32h,#92h ; mov

24、r1,#5 clr flagb jmp z5z41: jb p3.7,z5 acall delay ;jian jnb p3.7,$ jnb flaga,z5 jb flagb,z43 mov 31h,#82h ; mov r0,#6 setb flagb jmp z5z43: mov 32h,#82h ;0 mov r1,#6 clr flagbz5: clr p3.3 ;100 clr p3.4 setb p3.5 mov a,34h mov p1,a jb p3.2,z51 acall delay ;jian jnb p3.2,$ jnb flaga,z6 jb flagb,z52 mo

25、v 31h,#0f8h ; mov r0,#7 setb flagb jmp z6z52: mov 32h,#0f8h ; mov r1,#7 clr flagb jmp z6z51: jb p3.7,z6 acall delay ;jian jnb p3.7,$ jnb flaga,z6 jb flagb,z53 mov 31h,#80h mov r0,#8 setb flagb jmp z6z53: mov 32h,#80h mov r1,#8 clr flagbz6: setb p3.3 ;101 mov a,35h mov p1,a jb p3.2,z61 acall delay ;j

26、ian jnb p3.2,$ jnb flaga,z7 jb flagb,z62 mov 31h,#98h mov r0,#9 setb flagb jmp z7z62: mov 32h,#98h mov r1,#9 clr flagb jmp z7z61: jb p3.7,z7 acall delay ;jian jnb p3.7,$ jnb flaga,z7 mov a,r0 mov b,#10 mul ab mov b,r1 add a,b mov sbuf,a clr flaga clr flagbz7: setb p3.4 ;110 clr p3.3 mov a,36h mov p1

27、,az8: setb p3.3 ;111 mov a,37h mov p1,a jmp z1delay: mov r7,#0f0hdl0: mov r6,#0f0h djnz r6,$ djnz r7,dl0 retuarti: push acc push psw mov dptr,#table mov a,sbuf jnb ri,$ clr ri mov b,a anl a,#00fh movc a,a+dptr mov 36h,a mov a,b anl a,#0f0h mov b,#10h div ab movc a,a+dptr mov 35h,a mov a,r1 pop psw pop acc retitable: db 11h,7dh,23h,29h,4dh db 89h,81h,1dh,01h,09h;結(jié) 束 語首先,通過這次應(yīng)用系統(tǒng)設(shè)計(jì),在很大程度上提高了自己的獨(dú)立思考能力和單片機(jī)的專業(yè)知識(shí),也深刻了解寫一篇應(yīng)用系統(tǒng)的步驟和格式,有過這樣的一次訓(xùn)練,相信在接下來的日子我們都會(huì)了,而且會(huì)做得更好。 我所寫的系統(tǒng)主要根據(jù)目前節(jié)省能源的發(fā)展趨勢(shì)和國(guó)內(nèi)實(shí)際的應(yīng)用特點(diǎn)和要求,采用了自動(dòng)化的結(jié)構(gòu)形式,實(shí)現(xiàn)對(duì)水溫的自動(dòng)檢測(cè)和控制。 系統(tǒng)以單片機(jī)at89c52為核心部件,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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)論