《單片機原理及應用》課程設計 八路溫度巡回檢測系統(tǒng)
《《單片機原理及應用》課程設計 八路溫度巡回檢測系統(tǒng)》由會員分享,可在線閱讀,更多相關《《單片機原理及應用》課程設計 八路溫度巡回檢測系統(tǒng)(34頁珍藏版)》請在裝配圖網上搜索。
1、單片機原理及應用課程設計 八路溫度巡回檢測系統(tǒng) 摘要:本文介紹一種采用 STC 公司的 STC89C52RC 單片機控制 DS18B20 數(shù)字溫度 傳感器采集溫度,最后在共陰極的 LED 燈上實時顯示溫度值的溫度檢測系統(tǒng) (由于實驗及成本原因本文只做一路傳輸系統(tǒng)) 。該系統(tǒng)從實際應用工程出發(fā), 主要對硬件電路設計、電子元件選擇、系統(tǒng)應用軟件設計等方面進行具體探討 和研究。系統(tǒng)具有性能穩(wěn)定可靠、功耗低、成本低、測量準確、傳輸距離遠、 維護簡單等優(yōu)點,系統(tǒng)設計在實際工作中具有一定的借鑒意義。 關鍵詞: 溫度檢測; STC89C52RC; DS18B20 第 1 頁 共 34 頁 目 錄 第一節(jié) 引
2、 言 .3 1.1系統(tǒng)原理及基本框圖 .3 1.2設計任務 .3 第二節(jié) 硬件設計介紹 .4 2.1 STC89C52RC.4 2.2 DS18B20.6 2.3 三極管 9012 .8 2.4 共陰極數(shù)碼管 .8 2.5 硬件部分電路圖 .9 第三節(jié) 軟件設計介紹 .14 3.1 程序流程圖和實際圖 .14 3.2調試 .18 第 四 節(jié) 個 人 心 得 體 會 .21 第 2 頁 共 34 頁 參考文獻 .24 附錄 .25 附 1:電路圖 附 2:元件清單 附 3:程序 第 1節(jié) 引言 隨著計算機技術和傳感器技術的飛速發(fā)展, 在科研、生產和日常活動中, 人們對溫度、壓力、流量等模擬物理量
3、的測量要求越來越高。而這些物量中溫 度的應用是最為廣泛的。如何將溫度通過傳感器變成電信號, 再經過處理轉換 成計算機能夠識別的數(shù)字量, 輸入到計算機中, 由計算機將采集到的數(shù)字量 進行不同的處理, 然后在顯示器顯示出來,并進行實時監(jiān)控。這已經為當前計 算機測量與控制領域的一個重要研究方向。鑒于此, 本文提出一種基于89C52 和DS18B20的低成本、遠距離傳輸?shù)臏囟葯z測系統(tǒng)設計方案。 1.1系統(tǒng)原理及基本框圖 如圖 1.1 所示,為系統(tǒng)的基本框圖。 該系統(tǒng)由六部分組成:STC89C52RC 核心單片機,溫度采集電路,LED 顯示 圖 1.1 系統(tǒng)基本方框圖 第 3 頁 共 34 頁 電路,報
4、警警電路,復位電路,晶振等,其中溫度采集主要由 DS18B20 組成, 在短時間內把熱力學溫度信號數(shù)字,送入單片機,由單片機控制顯示電路顯示, 并且判斷是否達到設定溫度,若達到設定溫度,由單片機啟動報警電路,報警。 1.2 設計任務 利用單片機與 AD 轉換器設計一個八路溫度巡回檢測系統(tǒng),對某糧庫或冷 凍廠八點(八個冷凍室或八個糧倉)進行溫度巡回檢測。能夠測量-30+50 oC 的溫度范圍,檢測精度要求不大于1 oC。采用數(shù)碼管顯示測量值; 單片機和 AD 轉換器型號自選(如單片機可選 AT89S51 或 AT89C51 等;AD 轉換器可選 ADC0809 或 ADC0804 等) 。 (本
5、文均基于一路溫度檢測系統(tǒng)設計) 。 第二節(jié) 硬件設計介紹 2.1 STC89C52RC 2.1.2 STC89C52RC介紹 單片機自問世以來,以其極高的性價比受到人們的重視和關注,應用 很廣,發(fā)展很快。單片機的體積小,重量輕,抗干擾能力強,環(huán)境要求不高, 價格低,可靠性強,靈活性好,開發(fā)較為容易?;谝陨系膬?yōu)點,單片機已經 廣泛的應用在工業(yè)自動化控制,自動檢測,智能儀器儀表,機電一體化等各個 方面,所以本系統(tǒng)采用單片機做為控制器。單片機中 51/52 系列最具有代表性。 本設計核心采用了 STC89C52RC 單片機。STC89C51/52 單片機系列是在 MCS51/52 系列的基礎上發(fā)展
6、起來的,STC89C52RC 完全兼容 MCS-51 系列單片 機的所有功能,并且本身帶有 2K 的內存儲器,可以在編程器上實現(xiàn)閃爍式的 電擦寫達幾萬次以上,比以往慣用的 8031CPU 外加 EPROM 為核心的單片機系統(tǒng) 在硬件上具有更加簡單方便等優(yōu)點,其外形如圖 2.1 所示。 第 4 頁 共 34 頁 圖 2.1 STC89C52RC 芯片 2.1.3 STC89C52引腳介紹 STC89C52RC 的引腳圖如圖 2.2 所示. 圖2.2 STC89C52引腳圖 單片機的引腳功能說明: 電源引腳 VCC(40 腳):電源端,工作電壓為5V。 GND(20腳): 接地端。 第 5 頁 共
7、 34 頁 時鐘電路引腳XTAL1(19 腳)和XTAL2(18 腳) 復位 RST(9 腳) .輸入輸出(I/O)引腳 P0.0-P0.7(39腳-32腳):輸入輸出腳,稱為P0 口,是一個8 位漏極開路 型雙向I/O 口,內部不帶上拉電阻。 P1.0-P1.7(1腳 - 8腳):輸入輸出腳,稱為P1 口,是一個帶內部上拉電 阻 的8 位雙向I/0 口。 P2.0-P2.7(21腳28腳): 輸入輸出腳,稱為P2 口,是一個帶內部上拉 電 阻的8 位雙向I/O 口, P3.0-P3.7 (10腳17腳):輸入輸出腳,稱為P3 口,是一個帶內部上拉電 阻的8 位雙向I/O 口。P3 端口具有復
8、用功能。 表2.1 P3口端口引腳與復用功能表 P3 引腳 兼用功能 P3.0 串行通訊輸入(RXD) P3.1 串行通訊輸出(TXD) P3.2 外部中斷0( INT0) P3.3 外部中斷1(INT1) P3.4 定時器0 輸入(T0) P3.5 定時器1 輸入(T1) P3.6 外部數(shù)據(jù)存儲器寫選通(WR) P3.7 外部數(shù)據(jù)存儲器讀選通(RD) 2.2 DS18B20 2.2.1 DS18B20性能 第 6 頁 共 34 頁 DS18B20 是 Dallas 公司推出的單線集成數(shù)字溫度采集系統(tǒng),與傳統(tǒng)的熱敏 電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單 的編程實
9、現(xiàn) 912 位的數(shù)字值讀數(shù)方式。其實物如圖 2.3 所示。 圖 2.3 DS18B20 DS18b20 內部主要有三個數(shù)字部件:64 位激光 ROM、溫度傳感器、非易 失性溫度報警觸發(fā)器 TH 和 TL。 DS18B20 的性能特點如下: 獨特的單線接口方式,DS18B20 在與微處理器連接時僅需要一條口線即可實現(xiàn)微 處理器與 DS18B20 的雙向通訊 ; 多個 DS18B20 可以并聯(lián)在唯一的三線上,實現(xiàn)多點組網功能; 無需外部器件; 可通過數(shù)據(jù)線供電,電壓范圍:3.05.5V; 測溫范圍55125,在-10+85時精度為0.5 零待機功耗 溫度以 9 或 12 位數(shù)字量讀出; 用戶可定義
10、的非易失性溫度報警設置; 具有非易失性上、下限報警設定的功能,用戶可方便地通過編程修改上、 下限的數(shù)值; 負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常 工作; 適用于 DN1525, DN40DN250 各種介質工業(yè)管道和狹小空間設備測溫。 8PVC 電纜直接出線或德式球型接線盒出線,便于與其它電器設備連接。 數(shù)字量的轉換精度及轉換時間可通過簡單的編程來控制:9位精度的轉換 時間為9375 ms:10位精度的轉換時間187.5ms:12位精度的轉換時間750ms。 第 7 頁 共 34 頁 2.2.2 DS18B20引腳圖 本文用的DS18B20的常用封裝為3腳,如圖2.4所
11、示。: 圖2.4 DS18B20引腳圖 各腳功能描述如下: DQ:數(shù)字信號輸入輸出端。 GND:電源地端。 VDD:外接供電電源輸入端(在寄生電源接線時此腳應接地)。 2.3 三極管 9012 三極管的工作原理 三極管是一種控制元件,主要用來控制電流的大小,以共發(fā)射極接法為例 (信號從基極輸入,從集電極輸出,發(fā)射極接地) ,當基極電壓 UB 有一個微小 的變化時,基極電流 IB 也會隨之有一小的變化,受基極電流 IB 的控制,集電 極電流 IC 會有一個很大的變化,基極電流 IB 越大,集電極電流 IC 也越大,反 之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。 但是集電
12、極電流的變化比基極電流的變化大得多,這就是三極管的放大作用。 IC 的變化量與 IB 變化量之比叫做三極管的放大倍數(shù) (=IC/IB, 表 示變化量。 ) ,三極管的放大倍數(shù) 一般在幾十到幾百倍。 三極管在放大信號時,首先要進入導通狀態(tài),即要先建立合適的靜態(tài)工作點, 也叫建立偏置,否則會放大失真。 9012 是一種最常用的普通三極管。它是一種低電壓,大電流,小信號的 PNP 型硅三極管: 第 8 頁 共 34 頁 集電極電流 Ic:Max -500mA 集電極-基極電壓 Vcbo: -40V 工作溫度:-55 to +150 和 9013(NPN)相對 主要用途: o 開關應用 o 射頻放大
13、2.4 共陰極數(shù)碼管 數(shù)碼管由 8 個發(fā)光二極管(以下簡稱字段)構成,通過不同的組合可用來 顯示數(shù)字 0 9、字符 A F、H、L、P、R、 U、Y、符號“”及小數(shù)點“”。 數(shù)碼管的外形結構如下圖 2.5 所示。數(shù)碼管又分為共陰極和共陽極兩種結構。 圖 2.5 共陰極四位一體數(shù)碼管 共陰極數(shù)碼管的 8 個發(fā)光二極管的陰極(二極管負端)連接在一起。通常, 公共陰極接低電平(一般接地),其它管腳接段驅動電路輸出端。當某段驅動 電路的輸出端為高電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的 不同組合可顯示出各種數(shù)字或字符。此時,要求段驅動電路能提供額定的段導 第 9 頁 共 34 頁 通電流,
14、還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。 使用時,既可以用半導體三極管驅動,也可以直接用 TTL 與非門驅動。需 要加限流電阻。數(shù)碼管的工作電壓一般為 1.5 至 3 伏,工作電流只需幾到十幾 毫安。且壽命長,響應速度快。 2.5 硬件部分電路圖 2.5.1復位電路 在振蕩器運行時,有兩個機器周期(24 個振蕩周期)以上的高電平出現(xiàn)在 此引腳時,將使單片機復位,只要這個腳保持高電平,52 芯片便循環(huán)復位。復 位后P0P3 口均置1 引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR 全 部清零。當復位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM 的0000H 處開始運行程 序。該芯片的復
15、位腳為9腳,所以復位電路接STC89C52RC的9腳,具體電路如下 圖2.6所示。當采用的晶體頻率是6 MHZ時,可取 C=22UF,R=1K;當采用的晶體 頻率為12MHZ時,可取C=10UF,R=8.2K。不過這都是最佳的組合,也可以有其它 大小的電容電阻,只要符合電路要求就可以,如本文就采用22UF的電容和10K的 電阻,經試驗也滿足要求。 圖 2.6 復位電路 2.5.2 晶振 為了產生時鐘信號,在 8052 內部設置了一個反相放大器,XTAL1 是片內 振蕩器反相放大器的輸入端,XTAL2 是片內振蕩器反相放大器的輸出端,也是 內部時鐘發(fā)生器的輸入端。當使用自激振蕩方式時,XTAL1
16、 和 XTAL2 外接石英 第 10 頁 共 34 頁 晶振,使內部振蕩器按照石英晶振的頻率振蕩,就產生時鐘信號。晶振一般使用 石英晶體,其頻率由系統(tǒng)需要和器件決定,在頻率穩(wěn)定度要求不高時也可以使用陶瓷濾波 器。使用石英晶體時 C1、C2 為 C1=C2=30(10)pF,使用陶瓷濾波器時, C1=C2=40(10)pF。本系統(tǒng)用 12MHZ 的石英晶振,接 STC89C52RC 的 18 和 19 腳, 具體電路如圖 2.7 所示。 圖 2.7 時鐘信號電路(晶振) 2.5.3 一路傳輸電路 在傳統(tǒng)的模擬信號遠距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補償 問題、多點測量切換誤差問題和放大電
17、路零點漂移誤差問題等技術問題,才能 夠達到較高的測量精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都非常惡劣,各種干擾 信號較強,模擬溫度信號容易受到干擾而產生測量誤差,影響測量精度。因此, 在溫度測量系統(tǒng)中,本文采用抗干擾能力強的新型數(shù)字溫度傳感器是解決這些 問題的最有效方案,新型數(shù)字溫度傳感器 DS18B20 具有體積更小、精度更高、 適用電壓更寬、采用一線總線、可組網等優(yōu)點,在實際應用中取得了良好的測 溫效果。 DS18B20 有三個引腳。VDD 管腳接 5V 電壓給傳感器供電。DQ 管腳為數(shù)據(jù)線 ,與 STC89C51RC 的 P1.0 連接的同時,還要接一個 4 7K 的上拉電阻,并接到 5V 的
18、電源上,使數(shù)據(jù)線在空閑狀態(tài)下能自動上拉為高電平。GND 管腳接地。具 體電路如圖 2.8 所示。之所以接 P1 口,是因為 P1 口的驅動力最強,完全可以 驅 DS18B20 的正常運行。 第 11 頁 共 34 頁 圖 2.8 一路傳輸電路 2.5.4 LED顯示電路 顯示電路采用靜態(tài)顯示,4 位 LED 數(shù)碼管。所謂靜態(tài)顯示,就是每一個顯 示器都要占用單獨的具有鎖存功能的 I/O 接口用于比劃段字形代碼。這樣單片 機只要把顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示顯示新 的數(shù)據(jù)時,再發(fā)送心的字形碼,因此,使用這種方法,單片機中的 CPU 的開銷 小。本文的顯示電路如圖 2.9
19、所示。其中 P0 口作為 7 斷碼和小數(shù)點的選擇,P2 口作為位碼的選擇,在斷碼和 P0 口之間還需加上 1K 的上拉電阻,以保證 LED 燈的正常顯示。 . 圖 2.9 LED顯示電路 2.5.5 報警電路 本文中當某一通道的溫度測量值超出預先設定的上、下限報警值或系統(tǒng)運 第 12 頁 共 34 頁 行出現(xiàn)故障時, 系統(tǒng)發(fā)出聲光報警以提醒用戶注意。報警電路中光報警采用發(fā) 光二極管, 聲報警采用蜂鳴器來設計,蜂鳴器電路中, 9012晶體管起開關作 用, P2.6輸出低電平時, 管腳輸出電壓經過lK限流電阻分壓后, 到達9012基 極的電壓為使得晶體管發(fā)射結正偏,集電結反偏, 晶體管導通, 蜂鳴
20、器上電 而產生聲響。發(fā)光二極管電路中, 主要是限流電阻的設計,由于發(fā)光二極管工 作電流是3 mA-30 mA, 導通壓降為1.8 V; 而單片機工作在 5 V電壓時, I/O 口輸出低電平的最大灌入電流是16 mA, 輸出的低電平是Vss+0.6 V 這樣在限 流電阻上的壓降就是5-1.8-0.6=2.6 V, 而電流要限定在8 mA左右, 所以電阻 阻值為2.6 V/8 mA=325歐姆, 在實際電路中選用330歐姆的電阻即能滿足要求。 具體電路如圖2.10所示。 圖 2.10 報警電路 2.5.6下載程序電路 本文中將 PC 機上的程序拷貝到單片機中是通過如圖 2.11 所示的,連接單 片
21、機的 10 和 11 腳串行接口到插件上,再和 PC 機之間進行通訊。 第 13 頁 共 34 頁 . 圖 2.11 下載程序電路 2.5.7 完整電路 圖 2.12 完整電路 第三節(jié) 軟件設計介紹 3.1 程序流程圖和實物 圖 第 14 頁 共 34 頁 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉換命了子程序,計算 溫度子程序,顯示刷新溫度子程序等。 3.1.1 主程序 主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的 當前溫度值。溫度測量每 1S 進行一次,這樣可以在 1S 之內測量一次被測溫度, 其程序流程見圖 3.1 所示。 第 15 頁 共 34 頁 圖
22、 3.1 系統(tǒng)主程序流程 3.1.2 顯示電路框圖 顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操 作,當最高位顯示為 0 時將符號顯示位移入下一位。程序流程圖如圖 3.2 所示。 圖 3.2 顯示電路框圖 3.1.3 讀出溫度子程序 溫度轉換命令子程序主要是發(fā)溫度轉換開始命令,當采用 12 位分辨率時轉 換時間約為 750ms,在本程序設計中采用 1S 顯示程序延時法等待轉換的完成。 溫度轉換命令子程序流程圖如圖 3.3 所示。 第 16 頁 共 34 頁 圖 3.3 溫度轉換流程圖 3.1.4 計算溫度子程序 計算溫度子程序將 RAM 中讀取值進行 BCD 碼的轉換運算,并進行
23、溫度值正 負的判定,其程序流程圖如圖 3.4 所示。 第 17 頁 共 34 頁 圖 3.4 計算溫度流程圖 3.2 調試 3.2.1 硬件調試 硬件調試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、顯示器)等,檢查系 統(tǒng)硬件中存在的故障。 靜態(tài)調試 靜態(tài)調試是在系統(tǒng)未工作時的一種調試。步驟如下: 第一步:目測。檢查外部的各種原器件或者是電路是否有斷點。 第二步:用萬用表檢測。先用萬用表復核目測中有疑問的連接點,在檢測各種 電源線與接地線之間是否有短路現(xiàn)象。 第 18 頁 共 34 頁 第三步:加電檢測。給電路板加電,檢測所有的插座或者是硬件的電源是否符 合要求的值。 第四步:聯(lián)機檢查。因為只有單片機
24、開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調試。 動態(tài)調試 動態(tài)調試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除系統(tǒng)硬件中存 在的器件內部故障、器件連接邏輯錯誤等的一種硬件檢查,動態(tài)調試的一般方 法是由近及遠、由分到合。 由近及遠 是將信號流經的各器件按照距離單片機的邏輯距離進行由近及遠 的分層,然后分層調試。調試時,仞采用去掉無關元件的方法,逐層調試下去, 就會定位故障元件了。 由分到合 是指首先按照邏輯功能將系統(tǒng)硬件電路分為若干塊,當調試電路 時,與該元件無關的器件全部從系統(tǒng)中去掉,這樣可以將故障范圍限定在某個 局部的電路上。當各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,再對各塊電 路功能及各電路之間可能存在的相互
25、聯(lián)系進行調試, 3.2.2 軟件調試 軟件調試是通過對程序的匯編(或者 C 語言) 、連接、執(zhí)行來發(fā)現(xiàn)程序中存 在的語法錯誤與邏輯錯誤并加以排除糾正的過程,查看程序是否有邏輯的錯誤。 在對硬件調試后再對軟件進行,因為先對硬件檢查沒問題的情況下再對軟 件進行調試,編譯軟件可以通過編譯去檢查程序上的語法錯誤,然后可以在它 的基礎上在對它進行一些修改達到沒有錯誤為止,然后將軟件拿到硬件上去運 行。 通過仿真后,如無誤,方可將程序灌輸如單片機中。 3.2.3 實物 第 19 頁 共 34 頁 圖 3.5 調試前電路板 圖 3.6 調試時電路板 第 20 頁 共 34 頁 圖 3.7 調試后溫度顯示 第
26、五節(jié) 個人心得體會 做本課程設計,讓我清楚的了解了電子設計大體分三個階段:設計與計算 階段(預設計階段)、安裝與調試階段、撰寫總結報告階段。 在拿到一個課題時首先要做的事就是對課題的任務,要求和條件進行仔細 的分析和研究,找出關鍵問題,根據(jù)關鍵問題提出實現(xiàn)的原理和方法,并畫出 原理框圖。 提出原理方案是一個關系到設計全局的問題,應廣泛收集與查閱有關資料, 廣開思路,利用已有的各種理論知識,提出盡可能多的方案,以便作出更合理 的選擇。所提出的方案中,對關鍵部分的可行性,一般應通過試驗加以確認。 根據(jù)整個課題的技術要求,明確該功能框對單元電路的技術要求,必要時應詳 細擬定單元電路的性能指標,然后進
27、行單元電路結構形式的選擇或設計,但滿 足功能框圖要求的單元電路可能不止一個,因此必須進行分析比較,擇優(yōu)選擇。 就如我們這個課題當初我就提出了三種方案,最后基于簡單,可實行選擇了如 第 21 頁 共 34 頁 今這種方案。 然后是元器件的選擇,元器件的品種規(guī)格繁多,性能、價格和體積各異, 選擇器件需進行分析比較。首先考慮滿足單元電路對元器件性能指標的要求, 其次考慮價格、貨源和元器件體積等,最好是使用實驗室已有的元器件。 元器件選好了就是參數(shù)的計算了,值得指出的是,滿足性能指標要求的參 數(shù)值通常不是唯一的,這就要求對各組參數(shù)進行綜合性的分析,仔細考慮元器 件之間的參數(shù)配合、元器件價格、體積和貨源
28、等因素,恰當?shù)剡x取一組適合的 參數(shù)。 在各單元電路確定后,還要認真考慮它們之間的級聯(lián)問題,如:電氣特性 的相互匹配、信號耦合方式、時序配合,以及相互干擾等問題,保證整個電路 能正常工作。 這些都做好后,總體實驗電路就出來了,接下來的事情就是焊接工作,實施焊 接的主要工具是電烙鐵,其次還有松香、焊錫、吸水棉、連接線等,焊接的主 要步驟為準備施焊加熱被焊件加焊錫絲移開焊錫絲移開電烙 鐵。在焊接電路時一定做到認真仔細、一絲不茍。注意連線正確,焊接規(guī)范, 盡量做到整齊美觀并保證接觸良好;集成塊插牢并注意方向;電源和地線不要 短路,以避免人為故障。 最后就是對電路進行調試。一個組裝好的電子電路不可能不經
29、調試即可滿 足設計要求。調試中出現(xiàn)的各種現(xiàn)象和問題,需要我們提出解決的辦法。只有 這樣,才能順利做好調試工作,才能通過此次設計得到實際訓練。在調試當中 一般常見故障源為:接觸不良(特別是當電源線接觸不良時可能工作不穩(wěn)定)、 焊接錯誤(錯焊、漏焊或虛焊)、接線錯誤(錯接、漏接或短路)、器件本身 損壞(需單獨測試其功能方能確定確實損壞)、集成塊插錯位置或方向插反、 多余控制輸入端未正確處理(一般若懸空會有較大干擾,應接固定電平)、設 計上有缺陷(出現(xiàn)預先估計不到的現(xiàn)象,這就需要改變某些元件的參數(shù)或更換 元器件,甚至需要修改方案)。在此次設計當中,由于電路設計和焊接工作都 非常仔細認真的完成,所以在
30、調試當中幾乎很少出現(xiàn)電路的問題,因此本設計 才順利的完成了。 我通過實踐課的綜合練習,課程設計的實際操作,將課堂理論學習貫穿其 第 22 頁 共 34 頁 中,全面系統(tǒng)的把單片機課程的知識聯(lián)系在一起,做到融會貫通,使我真正感 受到理論應用于實踐的樂趣。這次設計是一次鍛煉的好機會,使我在學習和鞏 固新、老知識的同時,訓練了自己綜合運用知識的能力、分析解決新問題的能 力,同時也提高了自己工程實踐能力;在設計的過程中,我與同學一同學習、 一同討論,大家集思廣益,發(fā)揚了團隊協(xié)作精神。在課程設計過程中,我發(fā)現(xiàn) 了自己的不足,今后應加強學習,并且加強理論與實踐的相結合,把所學的知識 應用于實際當中。 第
31、23 頁 共 34 頁 參考文獻 1 李朝青.單片機原理及接口技術(第 3 版) M.北京:航空航天大學出版社,2005 2 陳世和.電工電子實習教程 M. 北京:航空航天大學出版社,2007 3 孫進生等.電子產品設計實例教程 M. 北京:冶金工業(yè)出版社,2004 4 張偉等.Protel 99SE 實用教程 M.北京:人民電郵出版社,2008 5 白瑞青,金功偉.單片機溫度巡回監(jiān)測系統(tǒng)J.測試技術學報,98年第12卷第3期 6 李紅剛,方佳,王強,錢雙艷.基于At89C51的八路溫度巡回檢測系統(tǒng)設計J. 熱帶農業(yè)工程,2010年第34卷第1期 第 24 頁 共 34 頁 附錄 附1 表 1
32、 元件清單 序號 型號 個數(shù) 1 STC89C51(52)RC 1 2 DS18B20 1 3 排阻(1K) 1 4 排針(4) 1 5 .排針(2) 1 6 按鍵 1 7 LED 顯示燈( 84) 1 8 蜂鳴器 1 9 12晶振 10 1K 電阻 11 4.7K 電阻 1 12 10K 電阻 13 0.47K 電阻 1 14 30PF 電容 2 15 22UF 電容 1 16 S9012 三極管 1 17 發(fā)光二極管 1 注:封裝都為標準封裝 第 25 頁 共 34 頁 附2 第 26 頁 共 34 頁 圖 1 一路傳輸溫度測量系統(tǒng)完整電路圖 附 3 第 27 頁 共 34 頁 源程序 #
33、include reg52.h #include intrins.h /_nop_();延時函數(shù)用 #define Disdata P0 /段碼輸出口 #define discan P2 /掃描口 #define uchar unsigned char #define uint unsigned int sbit DQ=P10; /溫度輸入口 sbit DIN=P07; /LED 小數(shù)點控制 uint h; uint temp; /*溫度小數(shù)部分用查表法*/ uchar code ditab16= 0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,
34、0 x05,0 x06,0 x06,0 x07,0 x08,0 x0 8,0 x09,0 x09; / uchar code dis_712=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xb f; uchar code scan_con4=0 xFE,0 xFD,0 xFB,0 xF7; /列掃描控制字 uchar data temp_data2=0 x00,0 x00; /讀出溫度暫放 uchar data display5=0 x00,0 x00,0 x00,0 x00,0 x00; /顯示單元數(shù)據(jù)
35、, 共 4 個數(shù)據(jù)和一個運算暫用 /*11us 延時函數(shù)*/ void delay(uint t) 第 28 頁 共 34 頁 for (;t0;t-); /*顯示掃描函數(shù)*/ scan() char k; for(k=0;k0;i-) DQ=1;_nop_();_nop_(); /從高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val /最低位移出 delay(6); /66 us val=val/2; /右移 1 位 DQ=1; delay(1); /*DS18B20 讀 1 字節(jié)函數(shù)*/ /從總線上取 1 個字節(jié) uchar re
36、ad_byte(void) 第 30 頁 共 34 頁 uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0 x80; delay(6); /66 us DQ=1; return(value); / /*讀出溫度函數(shù)*/ / read_temp() ow_reset(); /總線復位 delay(200);
37、 write_byte(0 xcc); /發(fā)命令 write_byte(0 x44); /發(fā)轉換命令 ow_reset(); delay(1); write_byte(0 xcc); /發(fā)命令 write_byte(0 xbe); temp_data0=read_byte(); /讀溫度值的低字節(jié) temp_data1=read_byte(); /讀溫度值的高字節(jié) 第 31 頁 共 34 頁 temp=temp_data1; temp6348) / 溫度值正負判斷 tem=65536-tem;n=1; / 負溫度求補碼,標志位置 1 display4=tem / 取小數(shù)部分的值 display
38、0=ditabdisplay4; / 存入小數(shù)部分顯示值 display4=tem4; / 取中間八位,即整數(shù)部分的值 display3=display4/100; / 取百位數(shù)據(jù)暫存 display1=display4%100; / 取后兩位數(shù)據(jù)暫存 display2=display1/10; / 取十位數(shù)據(jù)暫存 display1=display1%10; /*符號位顯示判斷*/ if(!display3) display3=0 x0a; /最高位為 0 時不顯示 第 32 頁 共 34 頁 if(!display2) display2=0 x0a; /次高位為 0 時不顯示 if(n)di
39、splay3=0 x0b; /負溫度時最高位顯示- /*主函數(shù)*/ main() Disdata=0 xff; /初始化端口 discan=0 xff; for(h=0;h4;h+) /開機顯示0000 displayh=0; ow_reset(); /開機先轉換一次 write_byte(0 xcc); /Skip ROM write_byte(0 x44); /發(fā)轉換命令 for(h=0;h100;h+) /開機顯示0000 scan(); while(1) work_temp(read_temp(); /處理溫度數(shù)據(jù) scan(); /顯示溫度值 /*結束*/ ut2ApOdfXXc02
40、GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932t
41、bz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxN
42、WI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjq CTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPP
43、dtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98
44、eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6
45、NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjq CTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ 第 33 頁 共 34 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。