freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計(編輯修改稿)

2025-07-24 19:27 本頁面
 

【文章內(nèi)容簡介】 時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。DS18B20與單片機的接口電路DS18B20可以采用連種方式供電,一種是采用電源供電方式,此時DS18B20的腳接地,腳作為信號線,腳接電源。另一種是寄生電源供電方式,單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFE管來完成對總線的上拉。當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時和GNI端均接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。第四篇 系統(tǒng)程序的設(shè)計第一章 主程序主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1S進(jìn)行一次。其程序流程圖見圖12。NYYN初始化調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令 圖12 DS18B20溫度計主程序流程圖第二章 讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM 中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖13所示。YNYN發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗9字節(jié)完?CRC校驗正確?移入溫度暫存器結(jié)束 圖13 讀出溫度子程序流程圖第三章 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750us,在本程序設(shè)計中采用1s顯示程序巖石法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖14所示發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束發(fā)DS18B20復(fù)位命令圖14 溫度轉(zhuǎn)換命令子程序流程圖第四章 計算溫度子程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖15所示YYNY開始溫度零下?溫度值取補碼置“1”標(biāo)志置“+”標(biāo)志大于110oC小于50o C計算小數(shù)位溫度BCD值計算整數(shù)位溫度BCD值結(jié)束報警NN圖15計算溫度子程序流程第五章 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖16所示YNYN溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù) (不顯示符號)結(jié)束圖16顯示數(shù)據(jù)刷新子程序流程圖第六章 DS18B20的各個ROM命令1) READ ROM [33H]這個命令允許總線控制器讀到DS18B20的8位系列編碼、惟一的序列號和8位CRC碼。只有在總線上存在單只DS18B20的時候才能使用這個命令。如果總線上不止一個從機,當(dāng)所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成相“與”的效果)。2) MATCH ROM [55H]這個是匹配ROM指令,后跟64位ROM序列,讓總線控制器在多點總線上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能響應(yīng)隨后的存儲器操作。所有和64位ROM序列不匹配的從機都將等待復(fù)位脈沖。這條命令在總線上有單個或多個器件時都可以使用。3) SKIP ROM[0CCH]這條命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單線總線情況下,可以節(jié)省時間。如果總線上不止一個從機,在SKIP ROM命令之后跟著發(fā)一條讀命令,由于多個從機同時傳送信號。4) SEARCH ROM[0F0H]a) ALARM SEARCH[0ECH]b) WRITE SCRATCHPAD[4EH]c) READ SCRATCHPAD[0BEH]2) COPY SCRATCHPAD[48H]3) CONVERT T[44H]4) RECALL E2[0B8H]5) READ POWER SUPPLY[0B4H]第七章 溫度數(shù)據(jù)的計算處理方法從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。因為DS18B20的轉(zhuǎn)換精度為9~12位可選的,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,,就是實際的十進(jìn)制溫度值。通過觀察表2可以發(fā)現(xiàn)一個十進(jìn)制值和二進(jìn)制值之間有很明顯的關(guān)系,就是把二進(jìn)制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個字節(jié),這個字節(jié)的二進(jìn)制值化為十進(jìn)制值后,就是溫度值的百、十、個位值,而剩下的低字節(jié)的低半字節(jié)化成十進(jìn)制后,就是溫度值的小數(shù)部分。小數(shù)部分因為是半個字節(jié),所以二進(jìn)制值的范圍是0~F,(0~15倍)。這樣需要4位的數(shù)碼管來顯示小數(shù)部分,實際應(yīng)用不必要有這么高的精度,采用1位數(shù)碼管來現(xiàn)實小數(shù),℃。表4就是二進(jìn)制和十進(jìn)制的近似對應(yīng)關(guān)系表。表4 小數(shù)部分二進(jìn)制和十進(jìn)制的近似對應(yīng)關(guān)系表小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值0011233455667889第五篇 調(diào)試及性能分析系統(tǒng)的調(diào)試以程序為主。硬件調(diào)試比較簡單,首先檢查電路的焊接是否正確,然后可用萬用表測試或通電檢測。軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的正確性檢驗,然后分別進(jìn)行主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、顯示數(shù)據(jù)刷新等子程序的編程及調(diào)試,由于DS18B20與單片機采用串行數(shù)據(jù)傳送,因此,對DS18B20進(jìn)行讀寫編程時必須嚴(yán)格地保證讀寫程序,否則將無法讀取測量結(jié)果。本程序采用單片機匯編編寫。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(例如用手去接觸)顯示溫度能改變就基本完成。性能測試可用制作的溫度計和已有的成品溫度計來同時測量比較,由于DS18B20的精度很高,℃以內(nèi),另外55~+125℃的測溫范圍使得該溫度計完全適合一般的應(yīng)用場合,其低電壓供電特性可做成用電池供電的手持電子溫度計。DS18B20溫度計還可以在高低溫報警、遠(yuǎn)距離多點測溫控制等方面進(jìn)行應(yīng)用開發(fā),但在實際設(shè)計中應(yīng)注意以下問題:,總線上掛接點數(shù)較多且同時進(jìn)行轉(zhuǎn)換時,要考慮增加總線驅(qū)動,可用單片機端口在溫度轉(zhuǎn)換時導(dǎo)通一個MOSFET供電。連接DS18B20的總線電纜是有長度限制的,因此在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時,要充分考慮總線分布電容和阻抗匹配等問題。在DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán),這一點在進(jìn)行DS18B20硬件連接和軟件設(shè)計時要給予一定的重視。太原理工大學(xué)陽泉學(xué)院畢業(yè)設(shè)計說明書結(jié) 論數(shù)字式溫度檢測系統(tǒng)是致力于為使用者提供一個充分自動檢測的系統(tǒng),實現(xiàn)溫度檢測的系統(tǒng)化、規(guī)范化和自動化。運用集成溫度傳感器,通過本身自帶的A/D轉(zhuǎn)換功能對檢測到的數(shù)據(jù)進(jìn)行采集轉(zhuǎn)換,由AT89C2051單片機對采集到的數(shù)據(jù)信號進(jìn)行分析比較,輸出信號由LED數(shù)碼管顯示。該系統(tǒng)的硬件包含以下幾個部分:數(shù)據(jù)采集部分、主控制部分、顯示部分。由于本人設(shè)計經(jīng)驗不足,對一些知識的欠缺,本設(shè)計還存在一些問題和不足之處。本設(shè)計對實際溫度高于上限或低于下限自動報警,但對于設(shè)定溫度值的設(shè)定有所欠缺,應(yīng)加設(shè)鍵盤輸入設(shè)定值為好。這是本設(shè)計的不足之處,對于工作要求較高的場合,應(yīng)采用更高控制精度的單片機為好。本設(shè)計的軟件部分設(shè)計的不是很理想,各個子程序之間的編寫、配合仍有很大的不足,需進(jìn)一步研究和改進(jìn)。太原理工大學(xué)陽泉學(xué)院畢業(yè)設(shè)計說明書附 錄控制源程序清單常數(shù)定義 TIMEL EQU 0E0H ;20ms,定時器0時間常數(shù)TIMEH EQU 0B1HTEMPHEAD EQU 36H工作內(nèi)存定義BITST DATA 20H TIME1SOK BIT TEMPONEOK BIT TEMPL DATA 26HTEMPH DATA 27HTEMPHC DATA 28HTEMPLC DATA 29H引腳定義TEMPDIN BIT 中斷向量區(qū) ORG 0000H LJMP START ORG 00BH LJMP T0IT系統(tǒng)初始化 ORG 100HSTART: MOV SP,60HCLSMEM: MOV R0,20H MOV R1,60HCLSMEM1: MOV @R0,00H INC R0 DJNZ R1,CLSMEM1 MOV TMOD,00100001B ;定時器0方式1(16BIT) MOV TH0,TIMEL MOV TL0,TIMEH ;20ms SJMP INITERROR: NOP LJMP START NOPINIT: NOP SETB ET0SETB TR0 SETB EA MOV PSW,00H CLR TEMPONEOK LJMP MAIN定時器0中斷服務(wù)程序T0IT: PUSH PSW MOV PSW,10H MOV TH0,TIMEH MOV TH0,TIMEH MOV TL0,TIMEL INC R7 CJNE R7,32H,T0IT1 MOV R7,00H SETB TIME1SOK ;1s定時到標(biāo)志T0IT1: POP PSW RETI主程序MAIN: LCALL DISP1 ;調(diào)用顯示子程序 JNB TIME1SOK,MAIN CLR TIME1SOK ;測試每1s一次 JNB TEMPONEOK,MAIN2 ;上電時先溫度轉(zhuǎn)換一次 LCALL READTEMP1 ;讀出溫度值子程序 LCALL CONVTEMP ;溫度BCD碼計算處理子程序 LCALL DISPBCD ;顯示區(qū)BCD碼溫度值刷新子程序 LCALL DISP1 ;消閃爍,顯示一次MAIN2: LCALL READTEMP ;溫度轉(zhuǎn)換開始 SETB TEMPONEOK LJMP MAIN子程序區(qū)RESET DS18B20INITDS18B20: SETB TEMPDIN NOP NOP CLR TEMPDIN MOV R6,0A0H ;DELAY 480us DJNZ R6,$ MOV R6,0A0H
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1