版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p> 院 (系): 電氣與控制工程學(xué)院 </p><p> 專業(yè)班級:測控技術(shù)與儀器</p><p><b> 設(shè)計(jì)者:</b></p><p><b> 設(shè)計(jì)者</b></p>
2、<p><b> 指導(dǎo)教師:</b></p><p> 2013年7月 17日</p><p><b> 目錄</b></p><p><b> 1基本要求1</b></p><p><b> 1.1設(shè)計(jì)題目1</b></p
3、><p><b> 1.2設(shè)計(jì)任務(wù)1</b></p><p> 1.3本設(shè)計(jì)應(yīng)達(dá)到要求1</p><p><b> 1.4擴(kuò)展功能1</b></p><p> 1.5設(shè)計(jì)說明書(論文)1</p><p><b> 2課程設(shè)計(jì)內(nèi)容2</b>
4、</p><p> 2.1設(shè)計(jì)任務(wù)目的2</p><p> 2.2設(shè)計(jì)任務(wù)要求2</p><p><b> 2.3方案設(shè)計(jì)2</b></p><p> 2.3.1溫度采集電路的選擇2</p><p> 2.3.2單片機(jī)的選擇2</p><p> 2.3
5、.3顯示電路的取決3</p><p> 2.3.4報(bào)警部分電路分析3</p><p> 3重要器件及其相關(guān)參數(shù)4</p><p> 3.1單片機(jī)STC89C524</p><p> 3.2溫度傳感器DS18B204</p><p><b> 4硬件電路設(shè)計(jì)7</b></
6、p><p><b> 4.1主板電路7</b></p><p><b> 4.2顯示電路7</b></p><p> 4.3報(bào)警參數(shù)調(diào)節(jié)電路7</p><p> 4.4蜂鳴器報(bào)警電路7</p><p> 4.5溫度采集電路7</p><p&
7、gt;<b> 5系統(tǒng)軟件設(shè)計(jì)8</b></p><p><b> 5.1主程序8</b></p><p> 5.2讀取數(shù)據(jù)的流程圖8</p><p> 5.3溫度轉(zhuǎn)換命令子程序9</p><p> 5.4 計(jì)算溫度子程序10</p><p> 5.5模
8、式切換流程圖10</p><p> 6實(shí)際連接與最終結(jié)果11</p><p><b> 設(shè)計(jì)心得體會13</b></p><p><b> 參考文獻(xiàn)15</b></p><p> 附錄1:元件清單16</p><p> 附錄2:程序清單16</p&
9、gt;<p><b> 數(shù)字溫度計(jì)設(shè)計(jì)</b></p><p> 【摘 要】:隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以通過鍵盤設(shè)置上下報(bào)警溫度當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。 </p><p> 【關(guān)鍵字】:DS
10、18B20;STC89C52;四位一體數(shù)碼管;報(bào)警;</p><p> 【引 言】:隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p> 本設(shè)計(jì)所
11、介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單片機(jī)STC89C52RC,測溫傳感器使用DS18B20,用4位一體共陰數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。</p><p><b> 1基本要求</b></p><p><b>
12、; 1.1設(shè)計(jì)題目</b></p><p><b> 數(shù)字溫度計(jì)設(shè)計(jì)</b></p><p><b> 1.2設(shè)計(jì)任務(wù)</b></p><p> 利用單片機(jī)和集成溫度傳感器設(shè)計(jì)一個(gè)可以直接顯示溫度值的數(shù)字溫度計(jì)并要求達(dá)到一定的測量精度。</p><p> 1.3本設(shè)計(jì)應(yīng)達(dá)到要求
13、</p><p> ?、?硬件設(shè)計(jì):根據(jù)任務(wù)要求,完成單片機(jī)最小系統(tǒng)及其擴(kuò)展設(shè)計(jì),焊接電路板,組成功能完整的樣機(jī)。</p><p> ⑵ 軟件設(shè)計(jì):根據(jù)溫度測量及顯示功能要求,完成控制軟件的編寫與調(diào)試;</p><p> ?、?功能要求:至少利用3位數(shù)碼管進(jìn)行測量值的顯示(也可用液晶顯示器相應(yīng)內(nèi)容),溫度測量范圍:-20℃~100℃;</p><
14、;p><b> 1.4擴(kuò)展功能</b></p><p> 根據(jù)實(shí)際情況自由添加附加功能,如設(shè)置溫度的上下限報(bào)警功能,利用語音或聲光報(bào)警等。</p><p> 1.5設(shè)計(jì)說明書(論文)</p><p> 設(shè)計(jì)說明書應(yīng)表明設(shè)計(jì)思想和所使用的設(shè)計(jì)方法,主要內(nèi)容包括:</p><p> ① 系統(tǒng)簡介、整體功能說明
15、、各功能模塊說明(附圖)及系統(tǒng)使用說明;</p><p> ② 設(shè)計(jì)還需要改進(jìn)的地方及設(shè)計(jì)的心得體會;</p><p> ③ 參考文獻(xiàn):包括參考書、資料、網(wǎng)站等,按標(biāo)準(zhǔn)格式列出(可參考教材最后的參考文獻(xiàn)引用格式);</p><p> ?、?附錄:系統(tǒng)總體原理圖及源程序。</p><p><b> 2課程設(shè)計(jì)內(nèi)容</b&g
16、t;</p><p><b> 2.1設(shè)計(jì)任務(wù)目的</b></p><p> 隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本次課程設(shè)計(jì)的
17、目的就是通過本次課程設(shè)計(jì)使我們更加熟練單片機(jī)技術(shù)的使用,將單片機(jī)理論知識融入于生產(chǎn)應(yīng)用。使我們學(xué)有所用,學(xué)以致用!</p><p><b> 2.2設(shè)計(jì)任務(wù)要求</b></p><p> 根據(jù)設(shè)計(jì)要求,確定設(shè)計(jì)任務(wù)的總綱領(lǐng):利用單片機(jī)和集成溫度傳感器設(shè)計(jì)一個(gè)可以直接顯示溫度值的數(shù)字溫度計(jì)。設(shè)計(jì)要求:</p><p> ?。?)硬件設(shè)計(jì):根據(jù)
18、任務(wù)要求,完成單片機(jī)最小系統(tǒng)及其擴(kuò)展設(shè)計(jì),焊接電路板,組成功能完整的樣機(jī)。</p><p> ?。?)軟件設(shè)計(jì):根據(jù)溫度測量及顯示功能要求,完成控制軟件的編寫與調(diào)試;</p><p> (3)功能要求:至少利用3位數(shù)碼管進(jìn)行測量值的顯示(也可用液晶顯示器相應(yīng)內(nèi)容),溫度測量范圍:-20℃~100℃;</p><p><b> (4)擴(kuò)展功能:</
19、b></p><p> 根據(jù)實(shí)際情況自由添加附加功能,如設(shè)置溫度的上下限報(bào)警功能,利用語音或聲光報(bào)警等。</p><p><b> 2.3方案設(shè)計(jì)</b></p><p> 因?yàn)楸驹O(shè)計(jì)的核心就是溫度的采集,故而首先考慮溫度的采集方案即溫度采集電路的選擇。</p><p> 2.3.1溫度采集電路的選擇<
20、;/p><p> ?。?)溫度采集電路方案一</p><p> 由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p> ?。?)溫度采集電路方案二 </p&g
21、t;<p> 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。</p><p> 從以上兩種方案,很容易看出,采用方案二,電路與軟件設(shè)計(jì)都比較簡單,傳感精度也明顯更高。故采用了方案二為本次數(shù)字溫度計(jì)設(shè)計(jì)的大致方案。</p><
22、p> 2.3.2單片機(jī)的選擇</p><p> 選擇完溫度采集電路的設(shè)計(jì),則考慮此次設(shè)計(jì)電路的核心單片機(jī)。單片機(jī)的選擇主要是AT系列和STC系列的選擇。依照的原則是:滿足所需功能的前提下,盡量選擇低成本單片機(jī)。</p><p> 由于AT系列51單片機(jī)是USA的產(chǎn)品,功能少,速度慢,RAM/ROM小,性能不夠穩(wěn)定。而且一些AT系列的單片機(jī)已經(jīng)停產(chǎn)。相比STC系列單片機(jī)高性能,功
23、能齊全,速度高,RAM/ROM大,價(jià)格低廉、下載程序方便等優(yōu)點(diǎn)。毫無疑問。我們選擇了STC系列常用的且價(jià)格較低的單片機(jī)STC89C52RC。</p><p> 2.3.3顯示電路的取決</p><p> 單片機(jī)確定后。主要僅剩下顯示電路的設(shè)計(jì)。關(guān)于顯示電路。我們采用了四位一體八段共陰數(shù)碼管。符合課程設(shè)計(jì)的要求。</p><p> 2.3.4報(bào)警部分電路分析&l
24、t;/p><p> 在測溫場所我們往往需要對高、低溫進(jìn)行報(bào)警,而且需要根據(jù)不同情況隨時(shí)調(diào)節(jié)報(bào)警溫限,這就需要設(shè)計(jì)鍵盤電路來進(jìn)行報(bào)警參數(shù)設(shè)置。根據(jù)分析需要設(shè)計(jì)三個(gè)按鍵的鍵盤,即模式切換、加鍵,減鍵。</p><p><b> 2.4系統(tǒng)框圖</b></p><p> 該系統(tǒng)可分為以下七個(gè)模塊:</p><p> ?。?)
25、控制器:采用單片機(jī)STC89C52對采集的溫度數(shù)據(jù)進(jìn)行處理;</p><p> ?。?)溫度采集:采用DS18B20直接向控制器傳輸12位二進(jìn)制數(shù)據(jù);</p><p> (3)溫度顯示:采用了4個(gè)LED共陰極七段數(shù)碼管顯示實(shí)際溫度值;</p><p> ?。?)門限設(shè)置:主要實(shí)現(xiàn)模式切換及上下門限溫度的調(diào)節(jié);</p><p> ?。?)報(bào)警
26、裝置:采用發(fā)光二極管和嗡鳴器進(jìn)行報(bào)警,低于低門限或高于高門限均使其二極管發(fā)光嗡鳴器發(fā)出報(bào)警聲音;</p><p> ?。?)復(fù)位電路:對整個(gè)系統(tǒng)進(jìn)行復(fù)位;</p><p> (7)時(shí)鐘振蕩模塊:為整個(gè)系統(tǒng)提供統(tǒng)一的時(shí)鐘周期。</p><p> 圖2.1總體設(shè)計(jì)方框圖</p><p> 3重要器件及其相關(guān)參數(shù)</p><
27、;p> 3.1單片機(jī)STC89C52</p><p> P0.0~P0.7:通用I/O引腳或數(shù)據(jù)低8位地址總線復(fù)用地址;</p><p> P1.0~P1.7:通用I/O引腳;</p><p> P2.0~P2.7:通用I/O引腳或高8位地址總線復(fù)用地址;</p><p> P3.0~P3.7:通用I/O引腳或第二功能引腳(R
28、xD、TxD、</p><p> INT0、INT1、T0、T1、WR、RD);</p><p> XTAL1、XTAL2:外接晶振輸入端;</p><p> RST/Vpd:復(fù)位信號輸入引腳/備用電源輸入引腳;</p><p> Vcc:接+5V電源;</p><p><b> Vss:地端。&l
29、t;/b></p><p> 3.2溫度傳感器DS18B20</p><p> ?。?)DS18B20內(nèi)部結(jié)構(gòu)框圖如圖3.1所示:</p><p> 圖3.1DS18B20內(nèi)部結(jié)構(gòu)框圖</p><p> ?。?)DS18B20溫度傳感器內(nèi)部高速RAM結(jié)構(gòu)如圖3.2所示。用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。&
30、lt;/p><p><b> 圖3.2</b></p><p> ?。?)由表1可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 表1 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> ?。?)DS18B20的測溫原理
31、:器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在-
32、55℃所對應(yīng)的一個(gè)基數(shù)值。</p><p> 減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直
33、到溫度寄存器值大致被測溫度值。</p><p> ?。?)通過單線總線端口訪問 DS1820 的協(xié)議如下:</p><p><b> ? 初始化</b></p><p> ? ROM 操作命令</p><p><b> ? 存儲器操作命令</b></p><p><
34、;b> ? 執(zhí)行/數(shù)據(jù)</b></p><p> DS1820 需要嚴(yán)格的協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議包括幾種單線信號類型:復(fù)位脈沖、存在脈沖、寫0、寫1、讀0 和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。和 DS1820 間的任何通訊都需要以初始化序列開始,一個(gè)復(fù)位脈沖跟著一個(gè)存在脈沖,表明DS1820 已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)(適當(dāng)?shù)腞OM 命令和存儲器操作命令)。<
35、;/p><p> 當(dāng)總線上只有一個(gè)器件時(shí),DS18B20讀溫度的流程為:</p><p> 復(fù)位→發(fā)0CCH SKIP ROM命令→發(fā)44H開始轉(zhuǎn)換命令→延時(shí)→復(fù)位→發(fā)0CCHSKIP ROM命令→發(fā)0BEH讀存儲器命令→連續(xù)讀出兩個(gè)字節(jié)數(shù)據(jù)(即溫度)→ 結(jié)束。</p><p> ?。?)DS18B20溫度傳感器與單片機(jī)的接口電路</p><
36、;p> DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號線,3腳接電源,其接電源與單片機(jī)連接方式如圖4。另一種是寄生電源供電方式。</p><p> 當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。</p
37、><p><b> 4硬件電路設(shè)計(jì)</b></p><p><b> 4.1主板電路</b></p><p> 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等,如圖4.1所示。</p><p> 圖4.1中有三個(gè)獨(dú)立式按鍵可以分別調(diào)整溫度計(jì)的上下限報(bào)
38、警設(shè)置,圖中蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時(shí),發(fā)出報(bào)警鳴叫聲音。</p><p> 圖4.1中的按健復(fù)位電路是上電復(fù)位加手動(dòng)復(fù)位,使用比較方便,在程序跑飛時(shí),可以手動(dòng)復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位。</p><p><b> 圖4.1系統(tǒng)電路圖</b></p><p><b> 4.2顯示電路</b
39、></p><p> 顯示電路采用的是四位一體八段共陰數(shù)碼管。四位一體八段數(shù)碼管最大的有點(diǎn)是免去了各個(gè)數(shù)碼管間的復(fù)雜的連接電路。本設(shè)計(jì)中,將八段數(shù)碼管的A-DP,8個(gè)段選端分別接到單片機(jī)的P0~0-P0~7管腳。1-4,4個(gè)位選端分別連接到單片機(jī)的P2~0-P2~3管腳。</p><p> 4.3報(bào)警參數(shù)調(diào)節(jié)電路</p><p> 門限中的三個(gè)按鍵,分別
40、為模式切換按鍵、加按鍵、減按鍵;模式切換按鍵接P1~0,加按鍵接P1~1,減按鍵接P1~2。</p><p> 4.4蜂鳴器報(bào)警電路</p><p> 報(bào)警電路中,超過高門限或者低于低門限時(shí)發(fā)光二極管被點(diǎn)亮蜂鳴器,其余時(shí)刻光二極管均熄滅、蜂鳴器不響;蜂鳴器報(bào)警接P1~4。</p><p><b> 4.5溫度采集電路</b></p&
41、gt;<p> DS18B20溫度采集電路中,需要注意的是DQ上需要一個(gè)上拉電阻,一般為4.7KΩ左右。DQ接P2~6。</p><p><b> 5系統(tǒng)軟件設(shè)計(jì)</b></p><p> 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等</p><p><b>
42、5.1主程序</b></p><p> 主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖5.1所示。</p><p> 圖5.1主程序流程圖</p><p> 5.2讀取數(shù)據(jù)的流程圖</p><p> DSl8820
43、的主要數(shù)據(jù)元件有:64位激光Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器TH和TL。DSBl820可以從單總線獲取電源,當(dāng)信號線為高電平時(shí),將能量貯存在內(nèi)部電容器中;當(dāng)單信號線為低電平時(shí),將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。此外,還可外接5 V電源,給DSl8820供電。DSl8820的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。圖5.2為讀取數(shù)據(jù)流程圖。</p>&
44、lt;p> 圖5.2 讀取數(shù)據(jù)的流程圖</p><p> 5.3溫度轉(zhuǎn)換命令子程序</p><p> 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖5.3所示。</p><p> 圖5.3溫度轉(zhuǎn)換命令子程序流程圖</p&
45、gt;<p> 5.4 計(jì)算溫度子程序</p><p> 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖5.4所示。</p><p> 圖5.4計(jì)算溫度子程序流程圖</p><p> 5.5模式切換流程圖</p><p> 圖5.5模式切換流程圖</p>&
46、lt;p> 使用模式值st來標(biāo)記不同模式,st=1時(shí),表示在正常溫度模式,st=2,表示在高門限模式,st=3表示在低門限模式,每次按下一次模式切換鍵,st+1,待其加至4時(shí),將該值返回至1。從而形成了模式鍵不斷按下,三種模式循環(huán)切換的情況。防抖在這里是十分關(guān)鍵的。因?yàn)榇颂幍陌存I是按下然后又返回為按了一次。所以按下時(shí),則進(jìn)入程序,為了防止機(jī)械抖動(dòng)等不確定情況,延時(shí)恰當(dāng)?shù)囊欢螘r(shí)間后再次檢測是否確實(shí)按下。若確實(shí)按下,則對模式進(jìn)行切換
47、。切換后,延時(shí)等待按鍵返回高位,返回高位后,再次延時(shí)消除抖動(dòng),再次檢驗(yàn),確定按鍵返回高位后,退出程序。</p><p> 6實(shí)際連接與最終結(jié)果</p><p><b> (1)正常范圍顯示</b></p><p> 圖6.1正常顯示實(shí)物連接圖</p><p><b> 溫度報(bào)警上限顯示</b>
48、;</p><p> 圖6.2溫度報(bào)警上限顯示實(shí)物連接圖</p><p><b> 溫度報(bào)警下限顯示</b></p><p> 圖6.3溫度報(bào)警下限顯示實(shí)物連接圖</p><p><b> 設(shè)計(jì)心得體會</b></p><p> [硬件焊接]xx:通過本次課程設(shè)計(jì)我
49、學(xué)到了好多東西,原來我的單片機(jī)知識并不扎實(shí),不論軟件還是硬件都不好,不過在這次實(shí)習(xí)中,通過親自動(dòng)手,發(fā)現(xiàn)了很多不會的問題,也加深了對這些知識的認(rèn)識。在課程設(shè)計(jì)之前,我們在書上網(wǎng)上查找了許多資料,最終確定了此次課設(shè)的電路圖。在調(diào)試過程中,我們的板子出現(xiàn)了許多問題,舉例如下:</p><p> 問題1:連接好線路,數(shù)碼管不亮</p><p> 解決辦法:我們猜測可能線路板有虛焊,就將線路板
50、檢查了一遍,最后是將數(shù)碼管給拆了,重新焊接了一遍。</p><p> 問題2:蜂鳴器響,數(shù)碼管不亮</p><p> 解決辦法:通過同學(xué)的幫助,我們最后發(fā)現(xiàn)是單片機(jī)的問題,換了一新的52芯片。</p><p> 問題3:連接好線路,數(shù)碼管亂碼。</p><p> 解決辦法:本次課程設(shè)計(jì)的電路圖是參考網(wǎng)上的,不知道是否正確,就用仿真試做
51、了一下,發(fā)現(xiàn)仿真結(jié)果是正確的,就照圖焊接了。連好線路,發(fā)現(xiàn)數(shù)碼管出現(xiàn)亂碼現(xiàn)象,通過詢問同學(xué),在網(wǎng)上查找資料,知道了是數(shù)碼關(guān)沒有驅(qū)動(dòng),就給4個(gè)位選線路分別焊接了三極管(9014),因?yàn)閿?shù)碼管是共陰的。</p><p> 問題4:數(shù)碼管顯示2559</p><p> 解決辦法:分析得知,這個(gè)可能是由于溫度傳感器沒有采集到數(shù)據(jù),即可能是因?yàn)檐浖幊逃袉栴}也可能是硬件焊接,我們找來同學(xué)的板子,
52、將我們的52單片機(jī)與同學(xué)焊接的板子相連接,發(fā)現(xiàn)數(shù)碼管有顯示,明白了是板子的問題,之后將與溫度串關(guān)起相連的線路仔細(xì)檢查,部分線路重新焊接。</p><p> 在課設(shè)中,我深深感受到團(tuán)隊(duì)合作的重要性。這次課設(shè)對于我們來說是比較困難的,但是俗話說三個(gè)臭皮匠頂個(gè)諸葛亮,雖說我們只有兩人,但我們分工明確,互相討論互相學(xué)習(xí)互相幫組,遇到不會的問題積極解決,請教同學(xué),終于成功完成了此次設(shè)計(jì)。我們收獲不小,這為我們大四的畢業(yè)設(shè)
53、計(jì)打下了基礎(chǔ)。</p><p><b> [軟件調(diào)試]xx:</b></p><p> 經(jīng)過一周的努力我們終于完成了本次設(shè)計(jì)任務(wù),作品實(shí)現(xiàn)了預(yù)期的功能要求。但在本次設(shè)計(jì)與調(diào)試的過程中,我也遇到了很多的問題。</p><p> (1)在仿真中,我將數(shù)碼管段碼a~dp連接在了P0口,仿真不成功。后查閱P0、P1、P2以及P3口的內(nèi)部結(jié)構(gòu)后發(fā)現(xiàn)
54、,除P0外另外三口均接有上拉電阻,而P0則無。所以P0在作為通用I/O接口使用時(shí),必須外接上拉電阻,其余端口則不需要。加入排阻后仿真成功。</p><p><b> ?。?)關(guān)于位選</b></p><p> 在最開始的測試數(shù)碼管類型中,我只測試了一位數(shù)碼管,使其顯示數(shù)值1,但測試成功后,4位數(shù)碼管均顯示為1。在測試過程中,我并未注意這個(gè)問題。</p>
55、<p> 測試結(jié)束后,進(jìn)行整體聯(lián)調(diào)。但數(shù)碼管始終無正確顯示。當(dāng)時(shí),我首先著手于尋找軟件程序中是否有錯(cuò)誤。所以人為將temp設(shè)定為一個(gè)固定值,先確定數(shù)據(jù)處理程序和數(shù)據(jù)顯示程序無誤。然而數(shù)碼管無法正常顯示我預(yù)先設(shè)定的值,后經(jīng)過反復(fù)改動(dòng),發(fā)現(xiàn),在位選過程中,必須在選中一位數(shù)碼管的過程中同時(shí)將其余所有的數(shù)碼管關(guān)閉,否則將產(chǎn)生混亂。若逐一設(shè)定S1=1;S2=0;S3=0;S4=0未免太過麻煩,所以設(shè)定一個(gè)數(shù)組,分別賦值0x08,0x
56、04,0x02,0x01。片選時(shí)按照規(guī)則將上值賦給,則一舉多得。</p><p><b> ?。?)DQ數(shù)據(jù)采集</b></p><p> 上述問題均解決后,再次進(jìn)行調(diào)試,數(shù)碼管顯示2559。顯然采集的數(shù)據(jù)是有很大問題的,這就說明電路并沒有采集到溫度數(shù)據(jù),我不斷的對程序中DS18B20的初始化時(shí)等部分的時(shí)序進(jìn)行調(diào)整。在經(jīng)歷了無法顯示正常溫度的挫敗后,我仔細(xì)查閱了DS
57、18B20的數(shù)據(jù)手冊,確定了在其初始化過程中,DQ電平應(yīng)該如何變化且應(yīng)當(dāng)延時(shí)多少。同時(shí)也確定了DS8B20的在12位分辨率情況下數(shù)據(jù)A/D轉(zhuǎn)換所需時(shí)間為500ms~750ms,所以在發(fā)出轉(zhuǎn)換命令后需要給其充分的時(shí)間來進(jìn)行A/D轉(zhuǎn)換。經(jīng)過對程序的調(diào)整,問題得到解決。</p><p> ?。?)數(shù)碼管大部分時(shí)間顯示的是正常溫度,但是仍然會在某些時(shí)候跳變?yōu)?559,1279等數(shù)值還不時(shí)的錯(cuò)誤報(bào)警。猜測可能是接觸不良造成
58、的,主要是排線,+5V電壓線,地線等諸多因素的影響,稍作調(diào)整后即可消除。</p><p> 總之,在這次單片機(jī)課程設(shè)計(jì)過程中我對溫度集成芯片有了進(jìn)一步了解。DS1820 雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中由于 DS1820 與微處理器間采用串行數(shù)據(jù)傳送,因此,在對 DS1820 進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測溫結(jié)果。在 DS1820 測溫程序設(shè)
59、計(jì)中,向 DS1820 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS1820 的返回信號,一旦某個(gè) DS1820 接觸不好或斷線,當(dāng)程序讀該 DS1820 時(shí),將沒有返回信號,程序進(jìn)入死循環(huán)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 柴鈺.單片機(jī)原理及應(yīng)用[M].西安電子科技大學(xué)出版社,2009</p><p>
60、 [2] 李朝青.單片機(jī)原理及接口技術(shù)[M].北京航空航天大學(xué)出版社,1998</p><p> [3] 李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994</p><p> [4] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,1989</p><p><b> 附錄1:元件清單</b></p>
61、<p> 1、STC89C52單片機(jī)最小系統(tǒng) 1個(gè)</p><p> 2、DS18B20溫度傳感器 1個(gè)</p><p> 3、4位一體共陰數(shù)碼管 1個(gè)</p><p> 4、9014三極管 5個(gè)</p><p> 5、蜂鳴器
62、 1個(gè)</p><p> 6、按鍵 3個(gè)</p><p> 7、電阻220 16個(gè)</p><p> 8、發(fā)光二極管 2個(gè)</p><p> 9、電阻470K 3個(gè)</p><
63、p><b> 10、導(dǎo)線若干</b></p><p> 14、萬用板10*15 1片</p><p> 15、4.7K 9腳排阻 1個(gè)</p><p><b> 附錄2:程序清單</b></p><p> /***************
64、*****************************************************</p><p> * 文件名 : 溫度采集DS18B20.c</p><p> * 描述 : 該文件實(shí)現(xiàn)了用溫度傳感器件DS18B20對溫度的采集,并在數(shù)碼管上顯示出來。</p><p> ***************************
65、********************************************/</p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define
66、 disdata P0 //段碼輸出口</p><p> #define discan P2 //掃描口</p><p> #define jump_ROM 0xCC</p><p> #define start 0x44</p><p> #define read_EER
67、OM 0xBE</p><p> sbit DQ = P2^6; //DS18B20數(shù)據(jù)口</p><p> uchar st=1;</p><p> uint temp;</p><p><b> uint i;</b></p><p><b>
68、float tt;</b></p><p> uint h; </p><p> uint temp;</p><p> uchar r;</p><p> char high=40,low=15;</p><p> sbit beep=P1^3;//LED報(bào)警
69、</p><p> sbit beep1=P1^4;//LED報(bào)警</p><p> uchar pp;</p><p> sbit key1=P1^0; //模式切換鍵</p><p> sbit key02=P1^1; //加鍵</p><p> sbit key03
70、=P1^2; //減鍵</p><p> unsigned char TMPH,TMPL; </p><p> uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> uchar code ditab[16]={0x00,0x01,0x01,0
71、x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};</p><p> //溫度小數(shù)部分用查表法</p><p> uchar code dis_7[15]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x00,0x40,0x76,0x38,0x39}
72、;</p><p> //共陰LED段碼表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" "-"
73、"H" "L" "C" </p><p> uchar code scan_con[4]={0x08,0x04,0x02,0x01}; //列掃描控制字</p><p> uchar data temp_data[2]={0x00,0x00}; //讀出溫度暫放</p&g
74、t;<p> uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用</p><p> /********************************************************************</p><p> * 名稱 : delay()&
75、lt;/p><p> * 功能 : 延時(shí),延時(shí)時(shí)間大概為140US。</p><p><b> * 輸入 : 無</b></p><p><b> * 輸出 : 無</b></p><p> ****************************************************
76、*******************/</p><p> void delay_1()</p><p><b> {</b></p><p><b> int i,j;</b></p><p> for(i=0; i<=10; i++)</p><p> f
77、or(j=0; j<=2; j++)</p><p><b> ;</b></p><p><b> }</b></p><p> /********************************************************************</p><p>
78、 * 名稱 : delay()</p><p> * 功能 : 延時(shí)函數(shù)</p><p><b> * 輸入 : 無</b></p><p><b> * 輸出 : 無</b></p><p> ***********************************************
79、************************/</p><p> void delay(uint N)</p><p><b> {</b></p><p><b> int i;</b></p><p> for(i=0; i<N; i++)</p><p&g
80、t;<b> ;</b></p><p><b> }</b></p><p> /********************************************************************</p><p> * 名稱 : Delay_1ms()</p><p>
81、; * 功能 : 延時(shí)子程序,延時(shí)時(shí)間為 1ms * x</p><p> * 輸入 : x (延時(shí)一毫秒的個(gè)數(shù))</p><p><b> * 輸出 : 無</b></p><p> ***********************************************************************/<
82、/p><p> void Delay_1ms(uint i)//1ms延時(shí)</p><p><b> {</b></p><p> uchar x,j;</p><p> for(j=0;j<i;j++)</p><p> for(x=0;x<=148;x++);</p&
83、gt;<p><b> }</b></p><p> /********************************************************************</p><p> * 名稱 : Reset()</p><p> * 功能 : 復(fù)位DS18B20</p><
84、p><b> * 輸入 : 無</b></p><p><b> * 輸出 : 無</b></p><p> ***********************************************************************/</p><p> uchar Reset(void)&
85、lt;/p><p><b> {</b></p><p> uchar deceive_ready;</p><p><b> DQ = 0;</b></p><p> delay(29);</p><p><b> DQ = 1;</b><
86、/p><p><b> delay(3);</b></p><p> deceive_ready = DQ;</p><p> delay(25);</p><p> return(deceive_ready);</p><p><b> }</b></p>
87、<p> /********************************************************************</p><p> * 名稱 : read_bit()</p><p> * 功能 : 從DS18B20讀一個(gè)位值</p><p><b> * 輸入 : 無</b></
88、p><p> * 輸出 : 從DS18B20讀出的一個(gè)位值</p><p> ***********************************************************************/</p><p> uchar read_bit(void)</p><p><b> {</b>
89、;</p><p><b> uchar i;</b></p><p><b> DQ = 0;</b></p><p><b> DQ = 1;</b></p><p> for(i=0; i<3; i++);</p><p> ret
90、urn(DQ);</p><p><b> }</b></p><p> /********************************************************************</p><p> * 名稱 : write_bit()</p><p> * 功能 : 向DS18B
91、20寫一位</p><p> * 輸入 : bitval(要對DS18B20寫入的位值)</p><p><b> * 輸出 : 無</b></p><p> ***********************************************************************/</p><p&
92、gt; void write_bit(uchar bitval)</p><p><b> {</b></p><p> DQ=0;if(bitval==1)</p><p><b> DQ=1;</b></p><p><b> delay(5);</b></
93、p><p><b> DQ=1;</b></p><p><b> }</b></p><p> /********************************************************************</p><p> * 名稱 : read_byte()&l
94、t;/p><p> * 功能 : 從DS18B20讀一個(gè)字節(jié)</p><p><b> * 輸入 : 無</b></p><p> * 輸出 : 從DS18B20讀到的值</p><p> ****************************************************************
95、*******/</p><p> uchar read_byte(void)</p><p><b> {</b></p><p> uchar i,m,receive_data;</p><p><b> m = 1;</b></p><p> receive_
96、data = 0;</p><p> for(i=0; i<8; i++)</p><p><b> {</b></p><p> if(read_bit())</p><p><b> {</b></p><p> receive_data = receiv
97、e_data + (m << i);</p><p><b> }</b></p><p><b> delay(6);</b></p><p><b> }</b></p><p> return(receive_data);</p><
98、;p><b> }</b></p><p> void key11()</p><p><b> {</b></p><p> while(key1==0) //當(dāng)模式切換鍵按下則進(jìn)入循環(huán)體</p><p><b> {</b></p><p
99、> delay(300);//延時(shí)消除抖動(dòng)</p><p> if(key1==0)</p><p><b> {</b></p><p> st++;//模式循環(huán)切換</p><p><b> if(st==4)</b></p><p><b&g
100、t; st=1;</b></p><p><b> }</b></p><p> while(!key1);//延時(shí)等待按鍵回到高電平</p><p> delay(300);</p><p> while(!key1);//延時(shí)消除抖動(dòng)</p><p><b>
101、 }</b></p><p><b> }</b></p><p> /******************門限值加1**************************/</p><p> void key2() </p><p><b> {</b></p>&
102、lt;p> while(key02==0)</p><p><b> {</b></p><p> delay(400);</p><p> if(key02==0)</p><p><b> {</b></p><p><b> if(st==3
103、)</b></p><p><b> {</b></p><p> low=low+1;}</p><p><b> if(st==2)</b></p><p> {high=high+1;}</p><p> if(low>high)</p
104、><p> {pp=low;low=high;high=pp;}</p><p><b> }</b></p><p> while(!key02);</p><p> delay(400);</p><p> while(!key02);</p><p><
105、b> }</b></p><p><b> }</b></p><p> /******************門限值減1**************************/</p><p> void key3() </p><p><b> {</b></p&
106、gt;<p> while(key03==0)</p><p><b> {</b></p><p> delay(400);</p><p> if(key03==0)</p><p><b> { </b></p><p><b>
107、 if(st==3)</b></p><p> {low=low-1;}</p><p><b> if(st==2)</b></p><p> {high=high-1;}</p><p> if(low>high)</p><p> {pp=low;low
108、=high;high=pp;}</p><p><b> }</b></p><p> while(!key03);</p><p> delay(400);</p><p> while(!key03);</p><p><b> } </b></p&
109、gt;<p><b> }</b></p><p> /******************上限溫度顯示**************************/</p><p> void high1()</p><p><b> {</b></p><p><b>
110、 uchar k;</b></p><p> display[0]=high%10;</p><p> display[1]=high/10;</p><p> display[2]=10; //個(gè)位熄滅</p><p> display[3]=12; //百位顯示H</p><p>
111、 for(k=0;k<4;k++) </p><p><b> {</b></p><p> discan=scan_con[k]; </p><p> disdata=dis_7[display[k]]; </p><p>
112、delay(300);</p><p> disdata=0x00;</p><p> delay(100);</p><p><b> }</b></p><p><b> } </b></p><p> /*uchar code table[10] = {
113、0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};</p><p> //溫度小數(shù)部分用查表法</p&g
114、t;<p> uchar code dis_7[15]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x00,0x40,0x76,0x38,0x39};</p><p> //共陰LED段碼表 "0" "1" "2" "3" "
115、4" "5" "6" "7" "8" "9" "不亮" "-" "H" "L" "C" </p><p> uchar code scan_con[4]={0x08,0x04
116、,0x02,0x01}; //列掃描控制字</p><p> uchar data temp_data[2]={0x00,0x00}; //讀出溫度暫放</p><p> uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用</p><p&
117、gt; /******************下限溫度顯示**************************/</p><p> void low1()</p><p><b> {</b></p><p><b> uchar ki;</b></p><p> display[0]=l
118、ow%10;</p><p> display[1]=low/10;</p><p> display[2]=10; //個(gè)位熄滅</p><p> display[3]=13; //百位顯示L</p><p> for(ki=0;ki<4;ki++) </p><p
119、><b> {</b></p><p> discan=scan_con[ki]; </p><p> disdata=dis_7[display[ki]]; </p><p> delay(100);</p><p> disdata=0x00;</p>
120、;<p> delay(100);</p><p><b> }</b></p><p><b> }</b></p><p> void BEEP()</p><p><b> {</b></p><p> if(temp&g
121、t;=high||temp<=low)</p><p><b> { beep=1;</b></p><p><b> beep1=1;}</b></p><p><b> else </b></p><p><b> {beep=0;</b>
122、;</p><p><b> beep1=0;}</b></p><p><b> }</b></p><p> /********************************************************************</p><p> * 名稱 : wri
123、te_byte()</p><p> * 功能 : 向DS18B20寫一個(gè)字節(jié)</p><p> * 輸入 : val(要對DS18B20寫入的命令值)</p><p><b> * 輸出 : 無</b></p><p> *********************************************
124、**************************/</p><p> void write_byte(uchar val)</p><p><b> {</b></p><p> uchar i,temp;</p><p> for(i=0; i<8; i++)</p><p>
125、<b> {</b></p><p> temp = val >> i;</p><p> temp = temp & 0x01;</p><p> write_bit(temp);</p><p><b> delay(5);</b></p><p
126、><b> }</b></p><p><b> }</b></p><p> void work_temp()</p><p> { Reset();</p><p> write_byte(jump_ROM);</p><p> write_
127、byte(start);</p><p><b> Reset();</b></p><p> write_byte(jump_ROM);</p><p> write_byte(read_EEROM);</p><p> TMPL = read_byte();</p><p> TMP
128、H = read_byte();</p><p> temp = TMPL / 16 + TMPH * 16;</p><p> P0 = table[temp/10%10];</p><p> P2 = 0x01;</p><p> Delay_1ms(5);</p><p> P0 = table[tem
129、p%10];</p><p> P2 = 0x02;</p><p> Delay_1ms(5); }</p><p> /********************************************************************</p><p> * 名稱 : Main()</p><
130、;p> * 功能 : 主函數(shù)</p><p><b> * 輸入 : 無</b></p><p><b> * 輸出 : 無</b></p><p> ***********************************************************************/</p&
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)——數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 數(shù)字溫度計(jì)--單片機(jī)課程設(shè)計(jì)
- 溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字顯示溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字溫度計(jì)的設(shè)計(jì)
評論
0/150
提交評論