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