版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 成績: 分</p><p><b> 電氣信息學(xué)院 </b></p><p> 課程設(shè)計名稱: 實(shí)用型工程軟件的應(yīng)用</p><p> 題 目: 基于DS18B20 </p><p> 的水溫控制系統(tǒng) </p><p> 學(xué)生姓
2、名: </p><p> 專 業(yè): 測控技術(shù)與儀器 </p><p> 班 級: 2010級 </p><p> 學(xué) 號: </p><p> 教 師:
3、 </p><p> 日期:2013 年 6 月 3日 </p><p><b> 設(shè)計任務(wù)及要求</b></p><p><b> 設(shè)計題目</b></p><p> 基于DS18B20的水溫控制系統(tǒng)。</p><p><b> 設(shè)計要求與
4、目的</b></p><p> ·利用單片機(jī)AT89C51控制DS18B20溫度傳感器對誰問的控制;</p><p> ·通過水溫控制系統(tǒng)的設(shè)計要掌握好對Proteus仿真設(shè)計的熟練運(yùn)用;</p><p> ·通過水溫控制系統(tǒng)的設(shè)計要熟練掌握單片機(jī)的各個功能,并且能對單片機(jī)有一</p><p>
5、 總體的的把握,再設(shè)計的過程中能夠憑借對單片機(jī)各功能的了解,達(dá)到理想的設(shè)計效果;</p><p> ·本例使用了溫度傳感器DS18B20和74HC245,通過對單片機(jī)的學(xué)習(xí)能夠?qū)λ鼈冇|類旁通。</p><p><b> 設(shè)計任務(wù)</b></p><p><b> ·設(shè)計系統(tǒng)硬件</b></
6、p><p><b> ·設(shè)計系統(tǒng)軟件</b></p><p><b> ·編寫設(shè)計說明書</b></p><p><b> 設(shè)計背景簡介</b></p><p> 在生活中,無論是冬天還是夏天我們都離不開熱水。把水燒開很容易,但是要把水溫控制在一定的溫度
7、而且進(jìn)行自動控制就不是那么隨便。所以為了更高效和方便人們的需求。本設(shè)計就專門利用單片機(jī)和DS18B20溫度傳感器來實(shí)現(xiàn)了一個水溫自動控制系統(tǒng),希望通過本設(shè)計能夠?qū)ξ磥淼内厔萦兴盐?,從而適應(yīng)社會需要。</p><p><b> 電路設(shè)計</b></p><p> 本設(shè)計以AT89C51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計方法。溫度信號由溫度芯片DS18B2
8、0采集,并以數(shù)字信號的方式傳送給單片機(jī),再由單片機(jī)將信號通過數(shù)碼管顯示出來。當(dāng)水溫低于預(yù)設(shè)溫度值時系統(tǒng)開始加熱(點(diǎn)亮紅色發(fā)光二極管表示加熱狀態(tài)),當(dāng)溫度達(dá)到預(yù)設(shè)溫度值時自動停止加熱。預(yù)設(shè)溫度值和實(shí)測溫度值分別由兩個三位數(shù)碼管顯示,范圍為0~99℃。</p><p> 1.74HC245芯片相關(guān)知識</p><p><b> ?。?)原理說明</b></p>
9、;<p> 總線收發(fā)器(bus transceiver),典型的CMOS型三態(tài)緩沖門電路。由于單片機(jī)或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負(fù)載能力,如果負(fù)載超過其負(fù)載能力,一般應(yīng)加驅(qū)動器。另外,也可以使用74HC244等其他緩沖門電路。74HC244是單向,74HC245是雙向。</p><p><b> ?。?)引腳定義</b></p><p>
10、; 74HC245的引腳功能如圖3-1所示。</p><p> 圖3-1 74HC245的引腳圖</p><p> 第1腳DIR,為輸入輸出端口轉(zhuǎn)換用,DIR=“1”高電平時信號由“A”端輸入“B”端輸出,DIR=“0”低電平時信號由“B”端輸入“A”端輸出。</p><p> 第2~9腳“A”信號輸入輸出端,A0=B0,A7=B7,A0與B0是一組,如果
11、DIR=“1”O(jiān)E=“0”則A1輸入B1輸出,其它類同。如果DIR=“0”O(jiān)E=“0”則B1輸入A1輸出,其它類同。</p><p> 第11~18腳“B”信號輸入輸出端,功能與“A”端一樣,不再描述。</p><p> 第19腳OE,使能端,若該腳為“1”A/B端的信號將不導(dǎo)通,只有為“0”時A/B端才被啟用,該腳也就是起到開關(guān)的作用。</p><p> 第
12、10腳GND,電源地。</p><p> 第20腳VCC,電源正極。 </p><p> 表3-1 TRUTH TABLE真值表</p><p> H=高電平 L=低電平 ×=不定 </p><p> 2.DS18B20芯片相關(guān)知識</p><p> ?。?)DS18B20簡介</
13、p><p> DS18B20是由美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器芯片。與傳統(tǒng)的熱敏電阻有所不同,DS18B20可直接將被測溫度轉(zhuǎn)化為串行數(shù)字信號,以供單片機(jī)處理,它還具有微型化、低功率、高性能、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。通過編程,DS18B20可以實(shí)現(xiàn)9~12位的溫度讀數(shù)。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號線和地線。讀、寫和執(zhí)行溫度變換所需
14、的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。</p><p> ?。?)DS18B20的引腳功能</p><p> DS18B20的引腳(圖3-2),其功能如表3-2所示。</p><p> 圖3-2 DS18B20的引腳</p><p> 表3-2 DS18B20的引腳說明</p><p> (3)DS
15、18B20的主要特點(diǎn)</p><p> ·采用單線技術(shù),與單片機(jī)通信只需一個引腳;·通過識別芯片各自唯一的產(chǎn)品序列號從而實(shí)現(xiàn)單線多掛接,簡化了分布式溫度檢測的</p><p><b> 應(yīng)用;</b></p><p> ·實(shí)際應(yīng)用中不需要外部任何器件即可實(shí)現(xiàn)測溫;·可通過數(shù)據(jù)線供電,電壓的范圍在
16、3~5.5V;·不需要備份電源;</p><p> ·測量范圍為-55~+125℃,在-10~+85℃范圍內(nèi)誤差為0.5℃;</p><p> ·數(shù)字溫度計的分辨率用戶可以在9位到12位之間選擇,可配置實(shí)現(xiàn)9~12位的溫度讀數(shù);</p><p> ·將12位的溫度值轉(zhuǎn)換為數(shù)字量所需時間不超過750ms;</p&g
17、t;<p> ·用戶定義的,非易失性的溫度告警設(shè)置,用用戶可以自行設(shè)定告警的上下限溫度。</p><p> ?。?)DS18B20的ROM及控制指令</p><p> DS18B20的64位ROM的結(jié)構(gòu)如表3-3所示。開始8位是DS18B20的產(chǎn)品類型編號10H,接著是每一個器件的唯一的序號,共有48位,最后8位是前56位的CRC校驗(yàn)碼,也是多個DS18B20可
18、以用一根線進(jìn)行通信的原因。</p><p> 表3-3 DS18B20的64位ROM結(jié)構(gòu)表</p><p> 主機(jī)操作ROM的命令有五種如表3-4所示。</p><p> 表3-4 DS18B20控制指令</p><p> DS18B20的高速暫存器由便箋式RAM和非易失性電擦寫EERAM組成,后者用于存儲TH、TL值。數(shù)據(jù)先寫入
19、便箋式RAM,經(jīng)校驗(yàn)后再傳給EERAM。便箋式RAM占9個字節(jié),包括溫度信息(0、1字節(jié))、TH和TL值(2、3字節(jié))、配置寄存器數(shù)據(jù)(4字節(jié))、CRC(8字節(jié))等,5、6、7字節(jié)不用。暫存器的4字節(jié)是配置寄存器,可以通過相應(yīng)的寫命令進(jìn)行配置,其內(nèi)容如表3-5所示。</p><p> 表3-5 暫存器的配置方式</p><p> MSB
20、 LSB</p><p> 其中,R0與R1是溫度值分辨率位,配置方式如表3-6所示。 </p><p> 表3-6 DS18B20溫度值分辨率位配置方式 </p><p> DS18B20的核心功能部件是它的數(shù)字溫度傳感器,如上所述,它的分辨率可配置為9位、10位、11位或者12位,出廠默認(rèn)設(shè)置是12位分辨率,它們對應(yīng)的溫度
21、分辨率分別是0.5℃、0.25℃、0.125℃、0.0625℃。溫度信息的低位、高位字節(jié)內(nèi)容中還包括了符號位S(是正溫度還是負(fù)溫度)和二進(jìn)制小數(shù)部分,具體形式如表3-7所示。</p><p> 表3-7 溫度信息的低位、高位字節(jié)內(nèi)容形式</p><p> 這是12位分辨率的情況,如果配置為低的分辨率,則其中無意義位為0;實(shí)測溫度和數(shù)字輸出的對應(yīng)關(guān)系如表3-8所示。</p>
22、<p> 表3-8 DS18B20實(shí)測溫度和數(shù)字輸出的對應(yīng)關(guān)系 </p><p> DS18B20的存儲控制命令如表3-9所示。</p><p> 表3-9 DS18B20存儲控制命令</p><p><b> 系統(tǒng)硬件設(shè)計</b></p><p> DS18B20溫度測量電路</p&
23、gt;<p> 根據(jù)DS18B20的引腳功能說明,我們可以很快地把VCC接一個5V的電源,而GND接地。由于DS18B20采用了單總線技術(shù),我們只要把DQ與單片機(jī)的一個I/O口相連接就可以了,如圖3-3所示。</p><p> 圖3-3 DS18B20溫度測量電路</p><p><b> 顯示電路</b></p><p>
24、; 結(jié)果顯示是由兩個三位數(shù)碼管來顯示0~99℃范圍的溫度值,一個是實(shí)測水溫值;一個是預(yù)設(shè)水溫值,它們都由74HC245來驅(qū)動利用單片機(jī)的串口發(fā)送或者模擬串口發(fā)送把數(shù)據(jù)發(fā)送給74HC164來驅(qū)動數(shù)碼管顯示數(shù)據(jù)。</p><p><b> 系統(tǒng)軟件設(shè)計</b></p><p> TMPLEQU29H</p><p> TMPHEQ
25、U28H</p><p> FLAG1EQU38H</p><p> DATAINBITP3.7</p><p><b> ORG00H</b></p><p> LJMPMAIN1</p><p><b> ORG03H</b></p&g
26、t;<p> LJMPZINT0</p><p><b> ORG13H</b></p><p> LJMPZINT1</p><p><b> ORG30H</b></p><p> MAIN1:SETBIT0</p><p><
27、b> SETBEA</b></p><p><b> SETBEX0</b></p><p><b> SETBIT1</b></p><p><b> SETBEX1</b></p><p><b> SETBP3.6</
28、b></p><p><b> SETBP3.2</b></p><p> MOV74H,#0</p><p> MOV75H,#0</p><p> MOV76H,#9</p><p> MOV77H,#0</p><p> MAIN:LC
29、ALLGET_TEMPER</p><p> LCALLCVTTMP</p><p> LCALLDISP1</p><p><b> AJMPMAIN</b></p><p> INIT_1820:SETBDATAIN</p><p><b> NOP</b
30、></p><p> CLRDATAIN</p><p><b> MOVR1,#3</b></p><p> TSR1:MOVR0,#107</p><p><b> DJNZR0,$</b></p><p> DJNZR1,TSR1</
31、p><p> SETBDATAIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOVR0,#25H</p><p>
32、 TSR2:JNBDATAIN,TSR3</p><p> DJNZR0,TSR2</p><p><b> CLRFLAG1</b></p><p><b> SJMPTSR7</b></p><p> TSR3:SETBFLAG1</p><p>
33、;<b> CLRP1.7</b></p><p> MOVR0,#117</p><p> TSR6:DJNZR0,$</p><p> TSR7:SETBDATAIN</p><p><b> RET</b></p><p> GET_TEMP
34、ER:SETBDATAIN</p><p> LCALLINIT_1820</p><p> JBFLAG1,TSS2</p><p><b> NOP</b></p><p><b> RET</b></p><p> TSS2:MOVA,#0CCH
35、</p><p> LCALLWRITE_1820</p><p> MOVA,#44H</p><p> LCALLWRITE_1820</p><p> ACALLDISP1</p><p> LCALLINIT_1820</p><p> MOVA,#0CCH<
36、;/p><p> LCALLWRITE_1820</p><p> MOVA,#0BEH</p><p> LCALLWRITE_1820</p><p> LCALLREAD_1820</p><p><b> RET</b></p><p> WRITE
37、_1820:MOVR2,#8</p><p><b> CLRC</b></p><p> WR1:CLRDATAIN</p><p><b> MOVR3,#6</b></p><p><b> DJNZR3,$</b></p><
38、p><b> RRCA</b></p><p> MOVDATAIN,C</p><p> MOVR3,#23</p><p><b> DJNZR3,$</b></p><p> SETBDATAIN</p><p><b> NOP&
39、lt;/b></p><p> DJNZR2,WR1</p><p> SETBDATAIN</p><p><b> RET</b></p><p> READ_1820:MOVR4,#2</p><p> MOVR1,#29H</p><p>
40、 RE00:MOVR2,#8</p><p> RE01:CLRC</p><p> SETBDATAIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLRDATAIN</p>
41、<p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETBDATAIN</p><p><b> MOVR3,#9</b></p>
42、<p> RE10:DJNZR3,RE10</p><p> MOVC,DATAIN</p><p> MOVR3,#23</p><p> RE20:DJNZR3,RE20</p><p><b> RRCA</b></p><p> DJNZR2,
43、RE01</p><p><b> MOV@R1,A</b></p><p><b> DECR1</b></p><p> DJNZR4,RE00</p><p><b> RET</b></p><p> CVTTMP:MOVA
44、,TMPH</p><p> ANLA,#80H</p><p><b> JZTMPC1</b></p><p><b> CLRC</b></p><p> MOVA,TMPL</p><p><b> CPLA</b></
45、p><p><b> ADDA,#1</b></p><p> MOVTMPL,A</p><p> MOVA,TMPH</p><p><b> CPLA</b></p><p><b> ADDCA,#0</b></p>
46、<p> MOVTMPH,A</p><p> MOV73H,#0BH</p><p> SJMPTMPC11</p><p> TMPC1:MOV73H,#0AH</p><p> TMPC11:MOVA,TMPL</p><p> ANLA,#0FH</p>
47、<p> MOVDPTR,#TMPTAB</p><p> MOVCA,@A+DPTR</p><p><b> MOV70H,A</b></p><p> MOVA,TMPL</p><p> ANLA,#0F0H</p><p><b> SWAP
48、A</b></p><p> MOVTMPL,A</p><p> MOVA,TMPH</p><p> ANLA,#0FH</p><p><b> SWAPA</b></p><p> ORLA,TMPL</p><p> H2BCD:
49、MOVB,#100</p><p><b> DIVAB</b></p><p><b> JZB2BCD1</b></p><p><b> MOV73H,A</b></p><p> B2BCD1:MOVA,#10</p><p
50、><b> XCHA,B</b></p><p><b> DIVAB</b></p><p><b> MOV72H,A</b></p><p><b> MOV71H,B</b></p><p> TMPC12:NOP<
51、;/p><p> DISBCD:MOVA,73H</p><p> ANLA,#0FH</p><p> CJNEA,#1,DISBCD0</p><p> SJMPDISBCD1</p><p> DISBCD0:MOVA,72H</p><p> ANLA,#0FH
52、</p><p> JNZDISBCD1</p><p><b> MOVA,73H</b></p><p><b> MOV72H,A</b></p><p> MOV73H,#0AH</p><p> DISBCD1:RET</p>&l
53、t;p> TMPTAB:DB0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9</p><p> DISP1:MOVR1,#70H</p><p> MOVR0,#74H</p><p> MOVR5,#0FEH</p><p> PLAY:MOVP1,#0FFH</p><
54、;p><b> MOVA,R5</b></p><p><b> MOVP2,A</b></p><p><b> MOVA,@R1</b></p><p> MOVDPTR,#TAB</p><p> MOVCA,@A+DPTR</p>
55、<p><b> MOVP1,A</b></p><p><b> MOVA,@R0</b></p><p> MOVCA,@A+DPTR</p><p><b> MOVP0,A</b></p><p><b> MOVA,R5<
56、;/b></p><p> JBACC.1,LOOP1</p><p><b> CLRP1.7</b></p><p><b> CLRP0.7</b></p><p> LOOP1:LCALLDL1MS</p><p><b> IN
57、CR1</b></p><p><b> INCR0</b></p><p><b> MOVA,R5</b></p><p> JNBACC.3,ENDOUT</p><p><b> RLA</b></p><p>&l
58、t;b> MOVR5,A</b></p><p><b> MOVA,73H</b></p><p> CJNEA,#1,DD2</p><p><b> SJMPLEDH</b></p><p> DD2:MOVA,72H</p><p
59、> CJNEA,#0AH,DD3</p><p> MOV72H,#0</p><p> DD3:MOVA,76H</p><p> CJNEA,72H,DDH</p><p><b> SJMPDDL</b></p><p> DDH:JNCPLAY1<
60、;/p><p><b> SJMPLEDH</b></p><p> DDL:MOVA,75H</p><p> CJNEA,71H,DDL1</p><p><b> SJMPLEDH</b></p><p> DDL1:JNCPLAY1</p
61、><p> LEDH:CLRP3.6</p><p><b> SJMPPLAY</b></p><p> PLAY1:SETBP3.6</p><p><b> SJMPPLAY</b></p><p> ENDOUT:MOVP1,#0FFH&l
62、t;/p><p> MOVP2,#0FFH</p><p><b> RET</b></p><p> TAB:DB0C0H,0F9H,0A4H,0B0H,99H</p><p> DB92H,82H,0F8H,80H,90H,0FFH,0BFH</p><p> DL1MS:
63、MOVR6,#50</p><p> DL1:MOVR7,#100</p><p><b> DJNZR7,$</b></p><p> DJNZR6,DL1</p><p><b> RET</b></p><p> ZINT0:PUSHACC&
64、lt;/p><p><b> INC75H</b></p><p><b> MOVA,75H</b></p><p> CJNEA,#10,ZINT01</p><p> MOV75H,#0</p><p> ZINT01:POPACC</p>
65、;<p><b> RETI</b></p><p> ZINT1:PUSHACC</p><p><b> INC76H</b></p><p><b> MOVA,76H</b></p><p> CJNEA,#10,ZINT11<
66、/p><p> MOV76H,#0</p><p> ZINT11:POPACC</p><p><b> RETI</b></p><p> ZZZ1:MOVDPTR,#TAB</p><p> MOVCA,@A+DPTR</p><p><b
67、> MOVP0,A</b></p><p><b> RETI</b></p><p> END </p><p><b> 系統(tǒng)仿真</b></p><p> 參照5.3.3節(jié)建立程序文件,加載目標(biāo)代碼
68、文件,進(jìn)入調(diào)試環(huán)境,執(zhí)行程序,在Proteus ISIS界面中,分別調(diào)節(jié)十位設(shè)置按鍵和個位設(shè)置按鍵來預(yù)設(shè)水溫,當(dāng)DS18B20的溫度低于預(yù)設(shè)溫度值時,紅色發(fā)光二極管點(diǎn)亮表示進(jìn)入熱狀態(tài)(如圖6-1所示);調(diào)節(jié)DS18B20元件上的按鈕可人工模擬實(shí)際水溫的升高和下降。可以看到,當(dāng)實(shí)測溫度達(dá)到預(yù)設(shè)溫度后,紅色發(fā)光二極管便自動熄滅,表示停止加熱。如圖6-2所示。</p><p> 圖6-1 加熱狀態(tài)時的仿真圖<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于ds18b20的水溫控制系統(tǒng)課程設(shè)計
- 畢業(yè)設(shè)計--單片機(jī)ds18b20水溫控制系統(tǒng)設(shè)計
- 單片機(jī)ds18b20水溫控制系統(tǒng)設(shè)計程序源碼
- 課程設(shè)計---基于ds18b20的多點(diǎn)溫度測量系統(tǒng)
- 基于ds18b20的溫度控制系統(tǒng)畢業(yè)設(shè)計
- ds18b20溫度計課程設(shè)計
- 基于ds18b20的溫度控制系統(tǒng)畢業(yè)論文
- ds18b20課程設(shè)計---溫度監(jiān)控系統(tǒng)設(shè)計
- 智能儀表課程設(shè)計--基于ds18b20的溫度采集系統(tǒng)
- 課程設(shè)計---基于ds18b20的單片機(jī)溫度采集系統(tǒng)
- 課程設(shè)計--ds18b20數(shù)字溫度計
- 課程設(shè)計 ---基于ds18b20的溫度測試led顯示
- 課程設(shè)計-基于ds18b20數(shù)字溫度計的設(shè)計
- 課程設(shè)計----水溫控制系統(tǒng)設(shè)計
- ds18b20數(shù)字溫度計設(shè)計課程設(shè)計
- 基于DS18B20的定時溫控系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 基于ds18b20的溫度測量系統(tǒng)設(shè)計
- [優(yōu)秀畢業(yè)設(shè)計精品] 基于ds18b20的溫控系統(tǒng)設(shè)計與實(shí)現(xiàn)
- 基于ds18b20和1602的溫度計課程設(shè)計報告
- 基于ds18b20數(shù)字式溫度計課程設(shè)計
評論
0/150
提交評論