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

正文內(nèi)容

基于單片機(jī)的測(cè)溫系統(tǒng)-在線(xiàn)瀏覽

2025-08-14 20:29本頁(yè)面
  

【正文】 TL配置寄存器8位CRC發(fā)生器Vdd I/O圖3 DS18B20內(nèi)部結(jié)構(gòu)64位ROM的結(jié)構(gòu)開(kāi)始8位是產(chǎn)品類(lèi)型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線(xiàn)進(jìn)行通信的原因。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠(chǎng)時(shí)該位被設(shè)置為0,用戶(hù)要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表1 DS18B20溫度轉(zhuǎn)換時(shí)間表 DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。器件中還有一個(gè)計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。表2 一部分溫度對(duì)應(yīng)值表溫度/℃二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+0000 0001 1001 00000191H+0000 0000 1010 000100A2H+0000 0000 0000 00100008H00000 0000 0000 10000000H1111 1111 1111 0000FFF8H1111 1111 0101 1110FF5EH1111 1110 0110 1111FE6FH551111 1100 1001 0000FC90H另外,由于DS18B20單線(xiàn)通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。  由于DS18B20是在一根I/O線(xiàn)上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線(xiàn)器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。DS18B20的復(fù)位時(shí)序  對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線(xiàn)拉低之后,在15秒之內(nèi)就得釋放單總線(xiàn),以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上。  對(duì)于DS18B20寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求不同,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線(xiàn)要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線(xiàn)上的“0”電平,當(dāng)要寫(xiě)1時(shí)序時(shí),單總線(xiàn)被拉低之后,在15us之內(nèi)就得釋放單總線(xiàn)。4 系統(tǒng)整體硬件電路 主板電路系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上限報(bào)警調(diào)整電路,單片機(jī)主板電路等,如圖5 所示。 報(bào)警電路圖5中蜂鳴器可以在被測(cè)溫度超過(guò)報(bào)警溫度時(shí),發(fā)出報(bào)警鳴叫聲音,同時(shí)LED數(shù)碼管將顯示錯(cuò)誤信息8888,這時(shí)可以調(diào)整報(bào)警溫度,從而測(cè)出被測(cè)的溫度值。按鍵S2和S3分別為“加1”和“減1”鍵,可調(diào)節(jié)報(bào)警溫度 圖5 單片機(jī)主板電路 顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點(diǎn)就是使用口資源比較少,四只數(shù)碼管采用74LS164右移寄存器驅(qū)動(dòng),顯示比較清晰。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線(xiàn)上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。由于單線(xiàn)制只有一根線(xiàn),因此發(fā)送接口必須是三態(tài)的。本設(shè)計(jì)就采用這種方式.圖7 DS18B20與單片機(jī)的接口電路圖8 DS18B20與單片機(jī)的接口電路5系統(tǒng)軟件流程圖系統(tǒng)軟件流程圖主要包括以下幾個(gè)流程圖:主程序的主要功能是初始化并調(diào)用相關(guān)模塊,完成相應(yīng)的處理,其程序流程見(jiàn)下圖所示。程序流程圖如圖11。 在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題和困難,但經(jīng)過(guò)自己的不斷努力和嘗試并在老師的指導(dǎo)幫助下,基本完成了設(shè)計(jì)要求。從這次的設(shè)計(jì)中,我意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫(xiě)與讀的過(guò)程中才能提高,這就是我在這次設(shè)計(jì)中的最大收獲。采集溫度 LCALL SEPERATE 。二進(jìn)制數(shù)轉(zhuǎn)換為BCD的形式 LCALL QINGLING 。掃描鍵盤(pán)模塊 LCALL BAOJING 。顯示數(shù)據(jù)到數(shù)碼管 SJMP MAIN1。使用DS18B20一定要禁止任何中斷產(chǎn)生 LCALL INT 。 LCALL WRITE 。送入溫度轉(zhuǎn)換命令 LCALL INT 。送入跳過(guò)ROM命令 MOV A,0BEH LCALL WRITE 。讀出溫度值低字節(jié)存入R7 LCALL READ MOV R6,A 。******************************************************************INT: 。復(fù)位 MOV R2,149L1:DJNZ R2,L1 。釋放DS18B20總線(xiàn) MOV R2,15 。60US CLR C 。取DS18B20存在信號(hào) JC L0 。存在則拉高 SETB L3:DJNZ R2,L3 。******************************************************************WRITE: MOV R1,08H 。把寫(xiě)的位放到C ACALL WRBIT 。8位全寫(xiě)完? RET WRBIT: MOV R2,14 。寫(xiě)開(kāi)始 NOP 。C內(nèi)容存到總線(xiàn) WDLT:DJNZ R2,WDLT 。釋放總線(xiàn) RET。設(shè)置讀位數(shù) RLOP:ACALL RDBIT 。把讀到的位在C中的依次送給A DJNZ R1,RLOP 。設(shè)置時(shí)間常數(shù) CLR NOP 。釋放總線(xiàn) NOP 。把總線(xiàn)上的內(nèi)容讀到C RDDLT: DJNZ R2,RD
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1