版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 電子綜合設(shè)計(jì)與制作(論文)</p><p> 題目:多點(diǎn)溫度檢測(cè)系統(tǒng)</p><p> 院(系):電子與信息工程學(xué)院</p><p> 專業(yè)班級(jí): 電子091班 </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名:
2、 </p><p> 指導(dǎo)教師: </p><p> 教師職稱: </p><p> 起止時(shí)間: </p><p> 課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ)</p><p> 院(系):電子與信息工程學(xué)院
3、 教研室:電子信息教研室</p><p><b> 摘 要</b></p><p> 在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對(duì)溫度的測(cè)量及控制占據(jù)著極其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測(cè)系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備之過(guò)熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類運(yùn)輸工具之組件的過(guò)熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用
4、,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械等設(shè)備溫度過(guò)熱檢測(cè)。溫度檢測(cè)系統(tǒng)應(yīng)用十分廣闊。</p><p> DS18B20是一種高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。</p><p> 關(guān)鍵字:溫度測(cè)量
5、;單總線;數(shù)字溫度傳感器;單片機(jī)</p><p><b> 目錄</b></p><p><b> 第1章 緒論1</b></p><p><b> 1.1系統(tǒng)背景1</b></p><p><b> 1.2系統(tǒng)概述1</b></p&g
6、t;<p> 1.3系統(tǒng)設(shè)計(jì)方案1</p><p> 第2章 硬件設(shè)計(jì)3</p><p> 2.1單片機(jī)系統(tǒng)設(shè)計(jì)3</p><p> 2.2顯示電路設(shè)計(jì)4</p><p> 2.3鍵盤(pán)電路設(shè)計(jì)4</p><p> 2.4報(bào)警電路設(shè)計(jì)5</p><p> 2
7、.5通信模塊設(shè)計(jì)6</p><p> 第3章 軟件設(shè)計(jì)7</p><p><b> 3.1軟件實(shí)現(xiàn)7</b></p><p> 3.1.1溫度測(cè)量程序流程圖:7</p><p> 3.1.2鍵盤(pán)程序設(shè)計(jì)8</p><p> 第4章 系統(tǒng)設(shè)計(jì)與分析9</p>&l
8、t;p> 4.1 系統(tǒng)原理圖9</p><p> 4.2 系統(tǒng)原理綜述9</p><p> 第5章 設(shè)計(jì)總結(jié)10</p><p><b> 參考文獻(xiàn)11</b></p><p> 附錄Ⅰ:整體電路圖12</p><p> 附錄Ⅱ:器件清單13</p>&
9、lt;p> 附錄Ⅲ:程序清單14</p><p><b> 緒論</b></p><p><b> 1.1系統(tǒng)背景</b></p><p> 在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對(duì)溫度的測(cè)量及控制占據(jù)著極其重要地位。首先讓我們了解一下多點(diǎn)溫度檢測(cè)系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備之
10、過(guò)熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類運(yùn)輸工具之組件的過(guò)熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械…等設(shè)備溫度過(guò)熱檢測(cè)。溫度檢測(cè)系統(tǒng)應(yīng)用十分廣闊。</p><p><b> 1.2系統(tǒng)概述</b></p><p> 本設(shè)計(jì)運(yùn)用主從分布式思想,由一臺(tái)PC微型計(jì)算機(jī),單片機(jī)多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng)。該系統(tǒng)采用
11、RS-232串行通訊標(biāo)準(zhǔn),通過(guò)PC機(jī)控制單片機(jī)進(jìn)行現(xiàn)場(chǎng)溫度采集。溫度值既可以送回主控PC進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由單片機(jī)單獨(dú)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對(duì)各點(diǎn)進(jìn)行控制。</p><p> 單片機(jī)采用的是基于數(shù)字溫度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量,輕松的組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。
12、本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測(cè)場(chǎng)合。如糧食倉(cāng)儲(chǔ)系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、醫(yī)療與健診的溫度測(cè)試、空調(diào)系統(tǒng)的溫度檢測(cè)、石化、機(jī)械等。</p><p><b> 1.3系統(tǒng)設(shè)計(jì)方案</b></p><p> 本設(shè)計(jì)方案以DS18B20為傳感器、AT89C51單片機(jī)為控制核心組成多點(diǎn)溫度測(cè)試系統(tǒng),該系統(tǒng)包括傳感器電路、鍵盤(pán)與顯示電路、串口通信電路組成。采用美國(guó)Da
13、llas半導(dǎo)體公司推出的數(shù)字溫度傳感器DS18B20,屬于新一代適配微處理器的智能溫度傳感器。它具有獨(dú)特的單總線接口,僅需要占用一個(gè)通用I/O端口即可完成與微處理器的通信。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> 實(shí)際采用電路方案如下圖1.1</p><p> 圖1.1 總體電路方案</p><p> 采用的是單片機(jī)基于數(shù)字溫
14、度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量,輕松地組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。</p><p><b> 它有如下特點(diǎn):</b></p><p> ?。?)獨(dú)特的單線接口,既可通過(guò)串行口線,也可通過(guò)其它I/O口線與微機(jī)接口,無(wú)需變換其他電路,直接輸出被測(cè)溫度
15、值;</p><p> (2)多點(diǎn)能力使分布式溫度檢測(cè)應(yīng)用得以簡(jiǎn)化;</p><p> (3)不需要外部元件;</p><p> ?。?)既可用數(shù)據(jù)線供電,也可采用外部電源供電;</p><p> ?。?)不需備份電源;</p><p> (6)測(cè)量范圍為-20~125,固有測(cè)溫分辨率為0.5;</p>
16、;<p> ?。?)通過(guò)編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式;</p><p> ?。?)用戶可定義非易失性的溫度告警設(shè)置;</p><p> (9)警告搜索命令能識(shí)別和尋址溫度在編定的極限之外的器件(溫度警告情況);</p><p> (10)應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費(fèi)類產(chǎn)品、溫度計(jì)或任何熱敏系統(tǒng)。</p><p>
17、; 以上特性使得DS18B20非常適用于構(gòu)建高精度、多點(diǎn)溫度測(cè)量系統(tǒng)。</p><p> 根據(jù)DS18B20以上特點(diǎn),此方案實(shí)現(xiàn)本課題較好。</p><p><b> 硬件設(shè)計(jì)</b></p><p> 2.1單片機(jī)系統(tǒng)設(shè)計(jì)</p><p> 本課題運(yùn)用Intel公司的8051進(jìn)行系統(tǒng)控制,運(yùn)用到了復(fù)位電路、時(shí)
18、鐘電路、串口、I/O口。89C51單片機(jī)串口主要有兩個(gè)數(shù)據(jù)緩沖寄存器SBUF和一個(gè)輸入移位寄存器組成,其內(nèi)部還有一個(gè)串行控制寄存器SCON和一個(gè)波特率發(fā)生器。接收緩沖器與發(fā)送緩沖器占用同一個(gè)地址99H,其名稱亦同樣為SBUF。</p><p> 單片機(jī)最小系統(tǒng)電路如圖2.1 </p><p> 圖2.1 單片機(jī)最小系統(tǒng)</p><p><b> 2
19、.2顯示電路設(shè)計(jì)</b></p><p> 顯示電路采用的是共陰極七段數(shù)碼管。顯示方式有動(dòng)態(tài)掃描和靜態(tài)顯示,兩種方法在本設(shè)計(jì)中皆可。由于靜態(tài)掃描要用到多片串入并出芯片,考慮到電路板成本計(jì)算。本人采用是節(jié)約硬件資源的動(dòng)態(tài)掃描方式。即用兩塊芯片就可以完成顯示功能。顯示數(shù)據(jù)由4511譯碼器輸出,ULN2003為位驅(qū)動(dòng)掃描信號(hào)。顯示電路如圖2.2</p><p><b>
20、 圖2.2 顯示電路</b></p><p><b> 2.3鍵盤(pán)電路設(shè)計(jì)</b></p><p> 本課題使用行列掃描方式,在單片機(jī)的P1口上連接上4*4的鍵盤(pán),單片機(jī)掃描鍵盤(pán),如果有鍵按下,單片機(jī)會(huì)根據(jù)鍵碼執(zhí)行相應(yīng)的程序,使整個(gè)系統(tǒng)的功能更加完善。鍵盤(pán)電路如圖2.3</p><p><b> 圖2.3 鍵盤(pán)電路&
21、lt;/b></p><p><b> 2.4報(bào)警電路設(shè)計(jì)</b></p><p> 為了實(shí)現(xiàn)多點(diǎn)溫度檢測(cè)報(bào)警系統(tǒng),本課題采用AT89C51單片機(jī)作為主控制器,采用掃描的方式對(duì)多點(diǎn)DS18B20溫度傳感器獲取對(duì)應(yīng)該位置的溫度值,經(jīng)處理后通過(guò)串口可以立即發(fā)送到上位機(jī),如溫度不在設(shè)定的范圍內(nèi),給出報(bào)警信號(hào)。電路如圖2.4</p><p>
22、<b> 圖2.4 報(bào)警電路</b></p><p><b> 2.5通信模塊設(shè)計(jì)</b></p><p> AT89C51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片M
23、AX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡(jiǎn)單可靠。</p><p> PC機(jī)與單片機(jī)的串行通信接口電路如圖2.5</p><p> 圖2.5串行通信接口電路</p><p><b> 軟件設(shè)計(jì)</b></p><p><b> 3.1軟件實(shí)現(xiàn)</b><
24、;/p><p> 系統(tǒng)軟件設(shè)計(jì)主要包括系統(tǒng)程序和流程圖,根據(jù)整個(gè)系統(tǒng)的要求,完成溫度的測(cè)量與控制必須經(jīng)過(guò)以下幾個(gè)步驟:?jiǎn)纹瑱C(jī)接受傳感器的溫度信號(hào),并通過(guò)MAX7219驅(qū)動(dòng)顯示出來(lái),單片機(jī)掃描鍵盤(pán),接受控制信號(hào),并將溫度顯示出來(lái),若溫度不在范圍內(nèi)則發(fā)出報(bào)警。程序流程如圖3.1</p><p> 圖3.1 總體程序流程圖</p><p> 3.2溫度測(cè)量程序流程圖:&
25、lt;/p><p> 溫度測(cè)量程序首先復(fù)位DS18B20溫度傳感器,跳過(guò)ROM指令并發(fā)出溫度轉(zhuǎn)換指令。換完畢后復(fù)位DS18B20再發(fā)出匹配DS18B20命令,發(fā)一個(gè)DS18B20序號(hào)然后讀取溫度值,當(dāng)所有DS18B20全部訪問(wèn)完畢后,復(fù)位DS18B20,發(fā)出報(bào)警命令,如果有溫度超出范圍則報(bào)警,否則復(fù)位DS18B20。</p><p> 電路程序流程圖如圖3.2</p><
26、;p> 圖3.2 溫度測(cè)量程序流程圖</p><p><b> 3.3鍵盤(pán)程序設(shè)計(jì)</b></p><p> 根據(jù)本課題的系統(tǒng)要求,采用4*4的鍵盤(pán)電路結(jié)構(gòu),P1.0- P1.3接四條行線,P1.4-P1.7接四條列線,整個(gè)系統(tǒng)的功能可以利用16個(gè)按鍵將系統(tǒng)完善化、系統(tǒng)化,對(duì)于鍵盤(pán)各鍵的功能如圖3.3</p><p> 圖3.3
27、鍵盤(pán)功能圖</p><p><b> 系統(tǒng)設(shè)計(jì)與分析</b></p><p><b> 系統(tǒng)原理圖</b></p><p> 系統(tǒng)原理電路圖如附錄Ⅰ圖4.1。</p><p><b> 系統(tǒng)原理綜述</b></p><p> 系統(tǒng)采用以DS18
28、B20為傳感器、AT89C51單片機(jī)為控制核心組成多點(diǎn)溫度測(cè)試系統(tǒng),該系統(tǒng)包括傳感器電路、鍵盤(pán)與顯示電路、串口通信電路組成。采用數(shù)字溫度傳感器DS18B20,它具有獨(dú)特的單總線接口,僅需要占用一個(gè)通用I/O端口即可完成與微處理器的通信。通過(guò)七段數(shù)碼管顯示出來(lái),并通過(guò)報(bào)警裝置判斷是否超出測(cè)溫范圍。經(jīng)過(guò)分析測(cè)量,本系統(tǒng)測(cè)量精度0.5℃,測(cè)溫范圍在-20℃~+125℃,實(shí)現(xiàn)了設(shè)計(jì)基本要求。</p><p><b&
29、gt; 設(shè)計(jì)總結(jié)</b></p><p> 本次課程設(shè)計(jì)主要是實(shí)現(xiàn)對(duì)溫度進(jìn)行多點(diǎn)同時(shí)測(cè)量并準(zhǔn)確顯示。整個(gè)系統(tǒng)由單片機(jī)控制,要能夠接受傳感器的數(shù)據(jù)并顯示出來(lái),可以從鍵盤(pán)輸入命令,系統(tǒng)根據(jù)命令選擇對(duì)應(yīng)的傳感器,并由驅(qū)動(dòng)電路驅(qū)動(dòng)溫度顯示,對(duì)異常情況進(jìn)行報(bào)警。</p><p> 本次課程設(shè)計(jì)基本實(shí)現(xiàn)了設(shè)計(jì)要求,有多個(gè)溫度檢測(cè)器,測(cè)量精度0.5℃,測(cè)溫范圍在-20℃~+125℃。并
30、通過(guò)串行通信接口與外部PC機(jī)相連,并通過(guò)數(shù)碼管及4511譯碼器顯示出來(lái)。</p><p> 通過(guò)這次課程的設(shè)計(jì),將課本的知識(shí)實(shí)際應(yīng)用,擺脫考試的局限,鍛煉自己的解決問(wèn)題的能力,獨(dú)立思考能力。本可設(shè)使我熟悉了單片機(jī)設(shè)計(jì)原則,對(duì)51系列單片機(jī)內(nèi)部構(gòu)造、與其它芯片的接口技術(shù)及其工作情況有了更進(jìn)一步了解,雖然是很簡(jiǎn)單的運(yùn)用,但比為了考試而瞬時(shí)記憶的知識(shí)牢固多了,工作需要獨(dú)立解決問(wèn)題的能力,還是希望多一些這樣的機(jī)會(huì)。&l
31、t;/p><p><b> 參考文獻(xiàn)</b></p><p> [1]周慈航 《單片機(jī)程序設(shè)計(jì)基礎(chǔ)》 北京:北京航空航天大學(xué)出版社,2003</p><p> [2]方佩敏 《智能化集成溫度傳感器原理與應(yīng)用》 北京:電子工業(yè)出版社,2002</p><p> [3]張毅剛 《單片機(jī)原理及應(yīng)用》 北京:高等教育出版社,
32、2008</p><p> [4]李道玲,李玲,朱艷 《傳感器電路分析與設(shè)計(jì)》 武漢:武漢大學(xué)出版社,2003</p><p> [5]劉篤人,韓保軍 《傳感器及應(yīng)用技術(shù)》 西安:西安電子科技大學(xué)出版社,2003</p><p> [6]陳小忠等 《單片機(jī)接口技術(shù)實(shí)用子程序》 北京:人民郵電出版社,2005</p><p> [7]李
33、群芳 《單片機(jī)原理、接口及應(yīng)用—嵌入式系統(tǒng)計(jì)數(shù)基礎(chǔ)》 北京:清華大學(xué)出版社</p><p><b> 附錄Ⅰ:整體電路圖</b></p><p><b> 圖4.1總體電路圖</b></p><p><b> 附錄Ⅱ:器件清單</b></p><p><b>
34、 附錄Ⅲ:程序清單</b></p><p> ;*************************************************************</p><p><b> ;常數(shù)定義</b></p><p> ;*********************************************
35、****************</p><p> TMEL EQU 0E0H ;20ms,定時(shí)器0時(shí)間常數(shù)</p><p> TMEH EQU 0B1H</p><p> TMEPHEAD EQU 36H</p><p>
36、 ;*************************************************************</p><p><b> ;工作內(nèi)存定義</b></p><p> ;*************************************************************</p><p>
37、 BITST DATA 20H</p><p> TIMEISOK BIT BITST.1</p><p> TEMPONEOK BIT BITST.2</p><p> TEMPL DATA 26H</p><p
38、> TEMPH DATA 27H</p><p> TEMPHC DATA 28H</p><p> TEMPLC DATA 29H</p><p> ;***************************************************
39、**********</p><p><b> ; 引腳定義</b></p><p> ;*************************************************************</p><p> TEMPDIN BIT P3.7</p><p> ;***
40、**********************************************************</p><p><b> ; 中斷向量區(qū)</b></p><p> ;*************************************************************</p><p> ORG
41、 000H</p><p> LJMP START</p><p> ORG 00BH</p><p> LJMP T0IT</p><p> ;***********************************************************
42、*****</p><p><b> ;系統(tǒng)初始化</b></p><p> ;****************************************************************</p><p> ORG 100H</p><p> START:
43、 MOV SP,#60H</p><p> CLSMEM: MOV R0,#20H</p><p> MOV R1,#60H</p><p> CLSMEM1: MOV @R0,#00H</p&
44、gt;<p> INC R0</p><p> DJNZ R1,CLSMEM1</p><p> MOV TMOD,#00100001B</p><p> MOV TH0,#TIMEL</p><p>
45、MOV TL0,#TIMEH</p><p> SJMP INIT</p><p> ERROR: NOP</p><p> LJMP START</p><p><b> NOP</b></p><
46、p> INIT: NOP</p><p> SETB ET0</p><p> SETB TR0</p><p> SETB EA</p><p> MOV PSW,#00H</p><p> CLR
47、 TEMPONEOK</p><p> LJMP MAIN</p><p> ;****************************************************************</p><p> ; 定時(shí)器0中斷服務(wù)程序</p><p> ;******************
48、**********************************************</p><p> T0IT: PUSH PSW</p><p> MOV PSW,#10H</p><p> MOV TH0,#TIMEH</p><p> MOV
49、 TL0,#TIMEL</p><p> INC R7</p><p> CJNE R7,#32H,T0ITI</p><p> MOV R7,#00H</p><p> SETB TIMEISOK</p><p> TOIT1:
50、 POP PSW</p><p><b> RETI</b></p><p> ;****************************************************************</p><p><b> ; 主程序</b></p&g
51、t;<p> ;****************************************************************</p><p> MAIN: LCALL DISP1</p><p> JNB TIME1SOK,MAIN</p><p> CLR
52、 TIME1SOK</p><p> JNB TEMPONEOK,MAIN2</p><p> LCALL READTEMP1</p><p> LCALL CONVTEMP</p><p> LCALL DISPBCD</p><p> LC
53、ALL DISP1</p><p> MAIN2: LCALL READTEMP</p><p> SETB TEMPONEOK</p><p> LJMP MAIN</p><p> ;********************************
54、********************************</p><p> ;****************************************************************</p><p><b> ;子程序區(qū)</b></p><p> ;*****************************
55、***********************************</p><p> ; RESET DS18B20</p><p> ;****************************************************************</p><p> INITDS1820: SETB TE
56、MPDIN</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR TEMPDIN</p><p> MOV R6,#0A0H</p><p> DJNZ R6,
57、$</p><p> MOV R6,#0A0H</p><p> DJNZ R6,$</p><p> SETB TEMPDIN</p><p> MOV R6,#32H</p><p> DJNZ R6,$</p>
58、;<p> MOV R6,#3CH</p><p> LOOP1820: MOV C,TEMPDIN</p><p> JC INITDS1820OUT</p><p> DJNZ R6,LOOP1820</p><p> M
59、OV R6,#064H</p><p> DJNZ R6,$</p><p> SJMP INITDS1820</p><p><b> RET</b></p><p><b> ;</b></p><p> INIT
60、DS1820OUT: SETB TEMPDIN</p><p><b> RET</b></p><p> ; ****************************************************************</p><p> ; 讀DS18B20的程序,從DS18B2
61、0中讀出一個(gè)字節(jié)的數(shù)據(jù)</p><p> ; ****************************************************************</p><p> READDS1820: MOV R7,#08H</p><p> SETB TEMPDIN</p><p>
62、;<b> NOP</b></p><p><b> NOP</b></p><p> READDS1820LOOP: CLR TEMPDIN</p><p><b> NOP</b></p><p><b> NOP</b>&l
63、t;/p><p><b> NOP</b></p><p> SETB TEMPDIN</p><p> MOV R6,#07H</p><p> DJNZ R6,$</p><p> MOV C,TEMPDIN</p><
64、p> MOV R6,#3CH</p><p> DJNZ R6,$</p><p> RRC A</p><p> SETB TEMPDIN</p><p> DJNZ R7,READDS1820LOOP</p><p> MOV
65、 R6,#3CH</p><p> DJNZ R6,$</p><p><b> RET</b></p><p> ; ****************************************************************</p><p> ; 寫(xiě)DS18B20的程序
66、,從DS18B20中寫(xiě)一個(gè)字節(jié)的數(shù)據(jù)</p><p> ; ****************************************************************</p><p> WRITEDS1820: MOV R7,#08H</p><p> SETB TEMPDIN</p>
67、<p><b> NOP</b></p><p><b> NOP</b></p><p> WRITEDS1820LOP: CLR TEMPDIN</p><p> MOV R6,#07H</p><p> DJNZ R6
68、,$</p><p> RRC A</p><p> MOV TEMPDIN,C</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> SETB TENPDIN</p>
69、<p> DJNZ R7,WRITEDS1820LOP</p><p><b> RET</b></p><p> ; ****************************************************************</p><p> ; READ TEMP</
70、p><p> ; ****************************************************************</p><p> READTEMP: LCALL INITEDS1820</p><p> MOV A,#0CCH</p><p> LCALL
71、 WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV A,#44H</p><p> LCALL WRITEDS1820</p><p> MOV R6,#3
72、4H</p><p> DJNZ R6,$</p><p><b> RET</b></p><p> READTEMP1: LCALL INITDS1820</p><p> MOV A,#0CCH</p><p> LCAL
73、L WRITEDS1820</p><p> MOV R6,#34H</p><p> DJNZ R6,$</p><p> MOV A,#0BEH</p><p> LCALL WRITEDS1820</p><p> MOV
74、 R6,#34H</p><p> DJNZ R6,$</p><p> MOV R5,#09H</p><p> MOV R0,#TEMPHEAD</p><p> MOV B,#00H</p><p> READTEMP2:
75、 LCALL READDS1820</p><p> MOV @R0,A</p><p> INC R0</p><p> READTEMP21: LCALL CRC8CAL</p><p> DJNZ R5,READTEMP2</p&g
76、t;<p> MOV A,B</p><p> JNZ READTEMPOUT</p><p> MOV A,TEMPHEAD+0</p><p> MOV TEMPL,A</p><p> MOV A,TEMPHEAD+1&l
77、t;/p><p> MOV TEMPH,A</p><p> READTEMPOUT: RET</p><p> ; ****************************************************************</p><p> ; 處理溫度BCD碼子程序</p&
78、gt;<p> ; ****************************************************************</p><p> CONVTEAMP: MOV A,TEMPH</p><p> ANL A,#80H</p><p> JZ
79、 TEMPC1</p><p> CLR C</p><p> MOV A,TEMPL</p><p> CPL A</p><p> ADD A,#01H</p><p> MOV TEMPL
80、,A</p><p> MOV A,TEMPH</p><p> CPL A</p><p> ADDC A,#00H</p><p> MOV TEMPH,A</p><p> MOV TEMPHC,#0BH
81、</p><p> SJMP TEMPCH</p><p> TEMPC1: MOV TEMPHC,#0AH</p><p> TEMPC11: MOV A,TEMPHC</p><p> SWAP A<
82、;/p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p> ANL A,#0FH</p><p> MOV DPTR,#TEMPDOTTAB</p><p> MOVC
83、 A,@A+DPTR</p><p> MOV TEMPLC,A</p><p> MOV A,TEMPL</p><p> ANL A,#0F0H</p><p> SWAP A</p><p>
84、 MOV TEMPL,A</p><p> MOV A,TEMPH</p><p> ANL A,#0FH</p><p> SWAP A</p><p> ORL A,TEMPL</p>
85、<p> LCALL HEX2BCD1</p><p> MOV TEMPL,A</p><p> ANL A,#0F0H</p><p> SWAP A</p><p> ORL A,
86、TEMPHC</p><p> MOV TEMPHC,A</p><p> MOV A,TEMPL</p><p> ANL A,#0FH</p><p> SWAP A</p><p> ORL
87、 A,TEMPLC</p><p> MOV TEMPLC,A</p><p> MOV A,R7</p><p> JZ TEMPC12</p><p> ANL A,#0FH</p><
88、p> SWAP A</p><p> MOV R7,A</p><p> MOV A,TEMPHC</p><p> ANL A,#0FH</p><p> ORL A,R7</p><
89、;p> MOV TEMPHC,A</p><p> TEMPC12: RET</p><p> ; ****************************************************************</p><p> ; 小數(shù)部分碼表</p>&l
90、t;p> ; ****************************************************************</p><p> TEMPDOTTAB: DB 00H, 01H, 01H, 02H, 03H, 03H, 04H,04H,05H,06H</p><p> DB 06H,07H,08H,09H,09H</p><
91、;p> ; ****************************************************************</p><p> ; 顯示區(qū)BCD碼溫度值刷新子程序</p><p> ; ****************************************************************</p>&
92、lt;p> DISPBCD: MOV A,TEMPLC</p><p> ANL A,#0FH</p><p> MOV 70H,A</p><p> MOV A,TEMPLC</p><p> SWAP A<
93、/p><p> ANL A,#0FH</p><p> MOV 71H,A</p><p> MOV A,TEMPHC</p><p> ANL A,#0FH</p><p> MOV 72H,A</p>
94、<p> MOV A,TEMPHC</p><p> SWAP A</p><p> ANL A,#0FH</p><p> MOV 73H,A</p><p> MOV A,TEMPHC</p><p>
95、; ANL A,#0F0H</p><p> CJNZ A,#010H,DISPBCD0</p><p> SJMP DISPBCD2</p><p> DISPBCD0: MOV A,TEMPHC</p><p> ANL
96、 A,#0FH</p><p> JNZ DISPBCD2</p><p> MOV A,TEMPHC</p><p> SWAP A</p><p> ANL A,#0FH</p><p> MOV
97、 73H,#0AH</p><p> MOV 72H,A</p><p> DISPBCD2: RET</p><p> ; ***************************************************************</p><p> ;
98、 顯示子程序</p><p> ; ****************************************************************</p><p> ; 顯示數(shù)據(jù)在70H—73H單元內(nèi),用4位LED共陽(yáng)數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),;P3口作掃描控制,每個(gè)LED數(shù)碼管亮1ms時(shí)間再逐位循環(huán)。</p><p> DISP1:
99、 MOV R1,#70H</p><p> MOV R5,#0FEH</p><p> PLAY: MOV P1,#0FFH</p><p> MOV A,R5</p><p> MOV
100、 P3,A</p><p> MOV A,@R1</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV P1,A</p><p> MOV
101、 A,R5</p><p> JB ACC.1,LOOP5</p><p> CLR P1.7</p><p> LOOP5: LCALL DLIMS</p><p> INC R1</p><
102、;p> MOV A,R5</p><p> JNB ACC.3,ENDOUT</p><p> RL A</p><p> MOV R5,A</p><p> AJMP PLAY</p>
103、<p> ENDOUT: MOV P1,#0FEH</p><p> MOV P3,#0FEH</p><p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H
104、,90H,0FFH,0BFH</p><p> ;共陽(yáng)段碼表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “—”</p><p> DL1MS: MOV R6,#14H</p><p> DL1: MOV R7,#
105、19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p> ; ***********************************
106、*****************************</p><p> ; 單字節(jié)十六進(jìn)制轉(zhuǎn)BCD</p><p> ; ****************************************************************</p><p> HEX2BCD1: MOV B,#064H</p&g
107、t;<p> DIV AB</p><p> MOV R7,A</p><p> MOV A,#0AH</p><p> XCH A,B</p><p> DIV AB</p><p> SWAP A<
108、/p><p> ORL A,B</p><p><b> RET</b></p><p> ; ****************************************************************</p><p> ; Calculate CRC—8 Values.
109、 Uses The CCITT—8 Polynomial,Expressed As</p><p> ; X^8+X^5+X^4+1</p><p> ; ****************************************************************</p><p> CRC8CAL: PUSH
110、 ACC</p><p> MOV R7,#08H</p><p> CRC8LOOP1: XRL A,B</p><p> RRC A</p><p> MOV A,B</p><p> JN
111、C CRC8LOOP2</p><p> XRL A,#18H</p><p> CRC8LOOP2: RRC A</p><p> MOV B,A</p><p> POP ACC</p><
112、;p> RR A</p><p> PUSH ACC</p><p> DJNZ R7,CRC8LOOP1</p><p> POP ACC</p><p><b> RET</b></p><p&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)報(bào)告---多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì)
- 多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--多點(diǎn)溫度計(jì)設(shè)計(jì)
- 多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì).doc
- 溫度檢測(cè)課程設(shè)計(jì)
- 多點(diǎn)溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 單片及課程設(shè)計(jì)---多點(diǎn)溫度采集電路設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)報(bào)告--溫度巡回檢測(cè)系統(tǒng)
- 畢業(yè)設(shè)計(jì)--多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 多點(diǎn)溫度巡回檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文——多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì)
- gsm技術(shù)多點(diǎn)溫度巡回檢測(cè)系統(tǒng)設(shè)計(jì)
- 溫度檢測(cè)課程設(shè)計(jì)--工廠自動(dòng)溫度檢測(cè)控制系統(tǒng)
- 電子裝置課程設(shè)計(jì)報(bào)告---溫度檢測(cè)系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文——多點(diǎn)溫度檢測(cè)系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 畢業(yè)設(shè)計(jì)論文多點(diǎn)溫度巡回檢測(cè)系統(tǒng)
- 多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 課程設(shè)計(jì)---基于ds18b20的多點(diǎn)溫度測(cè)量系統(tǒng)
- 多機(jī)溫度檢測(cè)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論