

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機原理及應(yīng)用</b></p><p><b> 課程設(shè)計</b></p><p> 題 目 數(shù)字溫度計的設(shè)計 </p><p> 二級學(xué)院 電子信息與電氣工程學(xué)院</p><p> 班 級 </p>&
2、lt;p> 姓 名 </p><p> 學(xué) 號 </p><p> 指導(dǎo)教師 </p><p> 設(shè)計時間 2011.09.05~2011.9.15 </p><p><b> 目錄</b><
3、;/p><p> 一、概述………………………………………………………………………………………1</p><p> 二、系統(tǒng)設(shè)計……………………………………………………………………………… 1</p><p> ?。ㄒ唬囟扔嬙O(shè)計方案論證 ……………………………………………………………… 1 </p><p> (二)框圖設(shè)計…………………
4、………………………………………………………………1</p><p> (三)硬件設(shè)計……………………………………………………………………… 2 </p><p> ?。ㄋ模┸浖O(shè)計…………………………………………………………………………………7</p><p> 三、調(diào)試 …………………………………………………………………………………… 9 </p>
5、;<p> 四、課程設(shè)計小結(jié)……………………………………………………………………… 9</p><p> 五、參考文獻……………………………………………………………………………… 9</p><p> 六、附件………………………………………………………………………………………10</p><p> 附錄1、電路原理………………………………………
6、………………………10</p><p> 附錄2、實拍照片………………………………………………………………10</p><p> 附錄3、元件清單………………………………………………………………11</p><p> 附錄4、程序清單………………………………………………………………12</p><p><b> 一、概述&l
7、t;/b></p><p> 生活和生產(chǎn)中,經(jīng)常用到一些測溫設(shè)備,但是傳統(tǒng)的測溫設(shè)備但是傳統(tǒng)的測溫設(shè)備具有制作成本高、硬件電路和軟件設(shè)計復(fù)雜等缺點,基于AT89C52單片機的數(shù)字溫度計具有制作簡單,成本低,度數(shù)方便,測溫范圍廣和測溫準(zhǔn)確等優(yōu)點,應(yīng)用前景廣闊。</p><p><b> 設(shè)計參數(shù)規(guī)格設(shè)計:</b></p><p> 1
8、、溫度值用LED顯示 2、測量范圍為-30 ~100 3、溫差為±0.5 </p><p><b> 二、系統(tǒng)設(shè)計</b&g
9、t;</p><p> ?。ㄒ唬囟扔嬙O(shè)計方案論證 </p><p><b> 方案一</b></p><p> 由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。 </p>
10、<p><b> 方案二 </b></p><p> 進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。方法簡單制作簡便,故采用方案一來實現(xiàn)數(shù)字溫度計的控制。</p><p><b> ?。ǘ?/p>
11、框圖設(shè)計</b></p><p> 根據(jù)設(shè)計要求分析,數(shù)字溫度計由STC89C52單片機、電源、顯示電路、溫度傳感器、復(fù)位電路和時鐘電路組成、系統(tǒng)框圖如圖1所示。電源給整個電路供電。顯示電路顯示溫度值,時鐘電路為STC89C52提供時鐘頻率。</p><p> 圖1 基于STC89C52單片機的數(shù)字溫度計系統(tǒng)框圖</p><p><b>
12、?。ㄈ┯布O(shè)計</b></p><p><b> 1、最小系統(tǒng)</b></p><p><b> (1)電源</b></p><p> 本次采用的是普通USB 5V直流電源。</p><p> (2)單片機:本次設(shè)計使用單片機芯片STC89C52</p><
13、p> STC89C52的工作特性:</p><p><b> 主要特性: </b></p><p> ·與MCS-51 兼容 </p><p> ·8K字節(jié)可編程閃爍存儲器 </p><p> ·壽命:1000寫/擦循環(huán) </p><p>
14、3;數(shù)據(jù)保留時間:10年 </p><p> ·全靜態(tài)工作:0Hz-24Hz </p><p> ·三級程序存儲器鎖定 </p><p> ·512內(nèi)部RAM </p><p> ·32可編程I/O線 </p><p> ·兩個16位定時器/計數(shù)器 </
15、p><p><b> ·5個中斷源 </b></p><p><b> ·可編程串行通道 </b></p><p> ·低功耗的閑置和掉電模式 </p><p> ·片內(nèi)振蕩器和時鐘電路</p><p><b> ?。?)
16、時鐘電路</b></p><p> 本次設(shè)計采用的是12M的晶振,電路圖如下圖3,兩只電容在20pF~100pF之間取值,其取值在60pF~70pF時振蕩器頻率穩(wěn)定性較高,按照一般經(jīng)驗,外接晶體時兩個電容的取值為30pF。</p><p><b> (4)復(fù)位電路</b></p><p> 在時鐘電路工作后,只要在單片機的RS
17、T引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便可實現(xiàn)初始化狀態(tài)服務(wù)。為保證應(yīng)用系統(tǒng)可靠的復(fù)位在設(shè)計復(fù)位電路時,通常使RST引腳保持4ms以上的高電平,只要RST保持高電平,MCS-51單片機就會循環(huán)復(fù)位;當(dāng)RST從高電平變?yōu)榈碗娖綍r,MCS-51單片機就從0000H地址開始執(zhí)行程序,在單片機復(fù)位的有效期間,ALE、PSEN 引腳輸出高電平。</p><p> 本次設(shè)計采用的是手動復(fù)位,其電
18、路圖如下:</p><p><b> 2.接口</b></p><p> (1)數(shù)字溫度傳感器DS18B20</p><p> 由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距
19、離遠等特點。 </p><p> A. DS18B20性能特點 :</p><p> ①獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。</p><p> ?、跍y溫范圍為-55℃-+125℃,測量分辨率為0.0625℃。</p><p> ?、跠S18B20在使用中不需要任何外
20、圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> ?、苓m應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5,在寄生電源方式下可由數(shù)據(jù)線供電。</p><p> ?、轀y量結(jié)果直接輸出數(shù)字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。</p><p> ?、挢?fù)壓特性:電源極性接反
21、時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。</p><p> B. DS18B20內(nèi)部結(jié)構(gòu) </p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號。</p><p> (2) 雙向總線發(fā)送器/接收器74
22、LS245</p><p> 74LS245為三態(tài)輸出的八組總線收發(fā)器引出端符號: </p><p> A A總線端 </p><p> B B總線端 </p><p> /G 三態(tài)允許端(低電平有效) </p><p> DIR 方向控制端 </p><p&g
23、t;<b> 功能表:</b></p><p> (3)74LS07 六高壓輸出緩沖器/驅(qū)動器</p><p> 簡要說明 54/7407 為集電極開路輸出的六組驅(qū)動器,其主要電特性的典型值如下:</p><p> 6ns 20ns 125m W</p><p><b> 引
24、出端符號</b></p><p><b> 1A-6A 輸入端</b></p><p><b> 1Y-6Y 輸出端</b></p><p><b> 極限值</b></p><p> 電源電壓……………………7V</p><p>
25、 輸入電壓……………………5V</p><p> 輸出截至態(tài)電壓 ………30V</p><p><b> ?。?)顯示電路</b></p><p> 內(nèi)部的四個數(shù)碼管共用a~dp這8根數(shù)據(jù)線,為人們的使用提供了方便,因為里面有四個數(shù)碼管,所以它有四個公共端,加上a~dp,共有12個引腳,下面便是一個共陽結(jié)構(gòu)圖。</p>&
26、lt;p> 管腳順序:從數(shù)碼管正面看,以第一腳為起點,管腳的順序是逆時針方向排列的。12-9-8-6為公共腳,A-11,B-7,C-4,D-2,E-1,F(xiàn)-10,G-5,DP-3。</p><p><b> (四)軟件設(shè)計</b></p><p> 主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20測量的當(dāng)前溫度值,溫度測量每1s進行一次,這樣
27、就可以在1s之內(nèi)測量一次被測溫度,其程序流程圖如圖11所示。</p><p><b> N</b></p><p><b> Y</b></p><p><b> Y</b></p><p><b> N</b></p><p&
28、gt; 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需要進行CRC校驗,校驗有錯時不能進行溫度數(shù)據(jù)的改寫,其程序流程圖如圖8所示。</p><p><b> Y</b></p><p><b> N</b></p><p><b> N</b></p><p&g
29、t;<b> Y</b></p><p> 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,采用12位分辨率轉(zhuǎn)換時間為750ms.程序設(shè)計中采用1s顯示程序延時等待轉(zhuǎn)換的完成。計算溫度子程序?qū)AM 中讀取值進行BCD碼轉(zhuǎn)換運算,并進行溫度值正負(fù)的判定,顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。</p><p&
30、gt;<b> 三、調(diào)試</b></p><p> 此設(shè)計軟件部分用uvision4編寫與編譯源程序,并生成HEX文件,編譯完成后用Proteus仿真,仿真完成后將HEX文件燒制到單片機中,然后就是對硬件電路的檢查,排除硬件電路故障包括設(shè)計錯誤和工藝連接錯誤,檢查各芯片是否有短路或斷路故障。先將單片機取下,對電路板進行通電檢查,通過觀察是否有異常然后用萬用表測試個電源電壓,若這些都沒有問
31、題,則接上仿真機進行聯(lián)機調(diào)試觀察各接口線路是否正常。</p><p><b> 四、課程設(shè)計小結(jié)</b></p><p> 近兩周的單片機課程設(shè)計,終于完成了我的數(shù)字溫度計畢業(yè)設(shè)計,雖然途中還遇到不少困難,但最終還是把實物做出來,從這次的課程設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論運用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在
32、經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計中的最大收獲。通過這次對數(shù)字溫度計的設(shè)計與制作,讓我了解了設(shè)計電路的程序,也讓我了解了關(guān)于數(shù)字溫度計的原理與設(shè)計理念,要設(shè)計一個電路總要先用仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,在實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設(shè)計時應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計方法。<
33、/p><p><b> 五、參考文獻</b></p><p> [1].范力旻,單片機原理及應(yīng)用技術(shù),電子工業(yè)出版社,2010.</p><p> [2].楊居義,單片機課程設(shè)計指導(dǎo),清華大學(xué)出版社,2009.</p><p> [3].沙占友,孟志永,王彥朋,單片機外圍電路設(shè)計,電子工業(yè)出版社,2006.</
34、p><p> [6].丁元杰,單片機微機原理及應(yīng)用技[M],機械工業(yè)出版社,2001.</p><p><b> 六.附錄</b></p><p><b> 1.硬件原理圖</b></p><p><b> 2.實拍照片</b></p><p>&l
35、t;b> 3.元件清單</b></p><p><b> 4.程序清單</b></p><p> #include"reg51.h"</p><p> #include"intrins.h"</p><p> #defineDisdataP1<
36、/p><p> #definediscanP3</p><p> #defineuchar unsigned char</p><p> #define uint unsigned int</p><p> sbitDQ = P3^7;</p><p> sbitDIN = P1^7;</p>
37、;<p><b> uinth;</b></p><p> ucharcode ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};</p><p> uchar code dis_7[12] = {0xC0
38、,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};</p><p> uchar code scan_con[4] = {0xfe,0xfd,0xfb,0xf7};</p><p> uchar data temp_data[2] = {0x00,0x00};</p><p> uchar
39、data display[5] = {0x00,0x00,0x00,0x00,0x00};</p><p> void delay(uint t)</p><p><b> {</b></p><p> for(;t>0;t--);</p><p><b> }</b></p&g
40、t;<p><b> scan()</b></p><p><b> {</b></p><p><b> char k;</b></p><p> for(k=0;k<4;k++)</p><p><b> {</b><
41、;/p><p> Disdata = dis_7[display[k]];</p><p> if(k == 1) DIN = 0;</p><p> discan = ~scan_con[k];</p><p> delay(90);</p><p> discan = 0x00;</p><
42、;p><b> }</b></p><p><b> }</b></p><p> ow_reset(void)</p><p><b> {</b></p><p> char presence = 1;</p><p> while
43、(presence)</p><p><b> {</b></p><p> while(presence)</p><p><b> {</b></p><p> DQ = 1;_nop_();_nop_();</p><p><b> DQ = 0;&
44、lt;/b></p><p> delay(50);</p><p><b> DQ = 1;</b></p><p><b> delay(6);</b></p><p> presence = DQ;</p><p><b> }</b&g
45、t;</p><p> delay(45);</p><p> presence = ~DQ;</p><p><b> }</b></p><p><b> DQ = 1;</b></p><p><b> }</b></p>
46、<p> void write_byte(uchar val)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=8;i>0;i--)</p><p><b> {</b><
47、/p><p> DQ = 1;_nop_();_nop_();</p><p> DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();</p><p> DQ = val & 0x01;</p><p><b> delay(6);</b></p>&l
48、t;p> val = val>>1;</p><p><b> }</b></p><p><b> DQ = 1;</b></p><p><b> delay(1);</b></p><p><b> }</b></p
49、><p> uchar read_byte(void)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> uchar value = 0;</p><p> for(i=8;i>0;i--)</p&g
50、t;<p><b> {</b></p><p> DQ=1;_nop_();_nop_();</p><p> value >>= 1;</p><p> DQ = 0;_nop_();_nop_();_nop_();_nop_();</p><p> DQ = 1;_nop_();
51、_nop_();_nop_();_nop_();</p><p> if(DQ)value|=0x80;</p><p><b> delay(6);</b></p><p><b> }</b></p><p><b> DQ = 1;</b></p>
52、<p> return(value);</p><p><b> }</b></p><p> read_temp()</p><p><b> {</b></p><p> ow_reset();</p><p> write_byte(0xCC);
53、</p><p> write_byte(0xBE);</p><p> temp_data[0] = read_byte();</p><p> temp_data[1] = read_byte();</p><p> ow_reset();</p><p> write_byte(0xCC);</p
54、><p> write_byte(0x44);</p><p><b> }</b></p><p> work_temp()</p><p><b> {</b></p><p> uchar n = 0;</p><p> if (temp
55、_data[1]>127)</p><p><b> {</b></p><p> temp_data[1] = (255 - temp_data[1]);</p><p> temp_data[0] = (256 - temp_data[0]);</p><p><b> n=1;</b&
56、gt;</p><p><b> }</b></p><p> display[4] = temp_data[0] & 0x0f;</p><p> display[0] = ditab[display[4]];</p><p> display[4] = ((temp_data[0] & 0xf
57、0)>>4) | ((temp_data[1] & 0x0f)<<4);</p><p> display[3] = display[4]/100;</p><p> display[1] = display[4]%100;</p><p> display[2] = display[1]/10;</p><
58、p> display[1] = display[1]%10;</p><p> if(!display[3])</p><p><b> {</b></p><p> display[3] = 0x0A;</p><p> if(!display[2]) display[2] = 0x0A;</
59、p><p><b> }</b></p><p> if(n)display[3] = 0x0B;</p><p><b> }</b></p><p><b> main()</b></p><p><b> {</b>&
60、lt;/p><p> Disdata = 0xff;</p><p> discan = 0xff;</p><p> for(h=0;h<4;h++)</p><p> display[h] = 8;</p><p> ow_reset();</p><p> write_byt
61、e(0xCC);</p><p> write_byte(0x44);</p><p> for(h=0;h<250;h++)</p><p><b> scan();</b></p><p><b> while(1)</b></p><p><b>
62、; {</b></p><p> read_temp();</p><p> work_temp();</p><p> for(h=0;h<200;h++)</p><p><b> scan();</b></p><p><b> }</b>
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--數(shù)字溫度計
- 單片機課程設(shè)計-數(shù)字溫度計
- 單片機課程設(shè)計—數(shù)字溫度計
- 單片機數(shù)字溫度計課程設(shè)計
- 單片機課程設(shè)計---數(shù)字溫度計
- 單片機課程設(shè)計-數(shù)字溫度計
- 單片機課程設(shè)計—數(shù)字溫度計
- 單片機課程設(shè)計——數(shù)字溫度計
- 單片機課程設(shè)計—數(shù)字溫度計
- 單片機課程設(shè)計--數(shù)字溫度計設(shè)計
- 單片機課程設(shè)計--數(shù)字溫度計設(shè)計
- 數(shù)字溫度計課程設(shè)計---基于51單片機數(shù)字溫度計設(shè)計
- 單片機課程設(shè)計-數(shù)字溫度計
- 數(shù)字溫度計--單片機課程設(shè)計
- 溫度計課程設(shè)計---基于51單片機數(shù)字溫度計設(shè)計
- 單片機課程設(shè)計---數(shù)字溫度計的設(shè)計
- 單片機課程設(shè)計-數(shù)字溫度計的設(shè)計
- 數(shù)字溫度計課程設(shè)計---基于51單片機數(shù)字溫度計設(shè)計
- 單片機課程設(shè)計---數(shù)字溫度計的設(shè)計
- 單片機數(shù)字溫度計的設(shè)計課程設(shè)計
評論
0/150
提交評論