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

正文內(nèi)容

ds18b20溫度檢測(cè)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-07-15 16:07本頁(yè)面

【導(dǎo)讀】指導(dǎo)下進(jìn)行研究工作所取得的成果。除論文中已經(jīng)注明引用的內(nèi)容。外,本論文沒(méi)有抄襲、剽竊他人已經(jīng)發(fā)表的研究成果。結(jié)果由本人承擔(dān)。摘要:本次畢業(yè)設(shè)計(jì)是基于80C51單片機(jī)與DS18B20的溫度檢測(cè)軟件設(shè)計(jì)。單總線溫度轉(zhuǎn)換芯片DS18B20實(shí)現(xiàn)溫度采集。我們的設(shè)計(jì)實(shí)驗(yàn)?zāi)康氖菍?duì)DS18B20進(jìn)行編程,了解其性能。特點(diǎn),通過(guò)所學(xué)的C語(yǔ)言知識(shí)和相關(guān)資料提供的指令代碼完成單片機(jī)與DS18B20的溫度檢測(cè)。是一種智能溫度傳感器。它能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)。使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以連接很多。這樣設(shè)備實(shí)現(xiàn)多路溫度測(cè)量和溫度報(bào)警。由于DS18B20是在一根I/O線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。所有時(shí)序都是將80C51單片機(jī)作為主??梢哉f(shuō)對(duì)DS18B20的編譯即是一個(gè)寫(xiě)讀時(shí)隙的過(guò)程。DS18B20的溫度檢測(cè)軟件設(shè)計(jì)。

  

【正文】 [7] DS18B20 手冊(cè) [M]. [9] DS18B20 手冊(cè) [M]. [10] DS18B20 手冊(cè) [M]. [11] DS18B20 手冊(cè) [M]. [12]百度文庫(kù) . DS18B20 中文資料 DS18B20 中文資料 . [13]百度文庫(kù) . DS18B20 中文資料 DS18B20 中文資料 . [14]百度文庫(kù) . DS18B20 中文資料 DS18B20 中文資料 . 23 附錄 實(shí)驗(yàn)設(shè)計(jì)程序: include define SYSCLK 184320xx // SYSCLK frequency in Hz void Delay(long int milliseconds) { long int i。 long int j。 j =milliseconds。 for(i = 0。 i j。 i ++) { } return。 } void SYSCLK_Init (void) { int i。 // Delay counter OSCXCN = 0x27。 // start external oscillator with crystal for (i=0。 i 256。 i++) 。 // XTLVLD blanking interval (1ms) OSCICN = 0x88。 // select external oscillator as SYSCLK source and enable missing clock detector return。 } void WATCH_Dog () { WDTCN = 0xde。 WDTCN = 0xad。 return。 } void PORT_Init () { XBR0 = 0x04。 //TX0 和 RX0 連到 和 XBR1 = 0x00。 XBR2 = 0x40。 P0MDOUT|=0xff。 P1MDOUT|=0xfd。 //設(shè)置 為輸入 P2MDOUT|=0xff。 P3MDOUT|=0xff。 P74OUT|=0xff。 return。 24 } // //ACC 位定義 // sbit ACC_0 =ACC^0。 //數(shù)據(jù)位 sbit ACC_1 =ACC^1。 //數(shù)據(jù)位 sbit ACC_2 =ACC^2。 //數(shù)據(jù)位 sbit ACC_3 =ACC^3。 //數(shù)據(jù)位 sbit ACC_4 =ACC^4。 //數(shù)據(jù)位 sbit ACC_5 =ACC^5。 //數(shù)據(jù)位 sbit ACC_6 =ACC^6。 //數(shù)據(jù)位 sbit ACC_7 =ACC^7。 void NOP(void) { } void DS18B20_RESET(void) { DQ=0。 Delay(1000)。 //拉低保持 500us DQ=1。 //發(fā)送完 RESET 脈沖后,主機(jī)等待 15us 至 60us 的時(shí)間以等待 DS18B20 回復(fù) PRESENCE信號(hào)。 Delay(40)。//等待約 20us return。 } void DS18B20_PRESENCE(void) { while(DQ==1)//DS18B20 仍然沒(méi)回應(yīng) PRESENCE 信號(hào) { NOP()。 } while(DQ==0)//DS18B20 發(fā)送了 PRESENCE 信號(hào),該信號(hào)持續(xù) 60us~240us { NOP()。 } return。 } void write_0(void) { 25 DQ=0。 //寫(xiě) 0 時(shí)隙,必須拉低持續(xù)至少 60us Delay(120)。 //維持 60us DQ=1。//發(fā)送結(jié)束,單總線復(fù)位 39。139。 NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 return。 } void write_1(void) { DQ=0。 //寫(xiě) 1 時(shí)隙,拉低至少一個(gè) 1us,然后必須于 15us 內(nèi)釋放 Delay(2)。 //維持至少 1us NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 NOP()。 DQ=1。//釋放總線為 39。139。 Delay(120)。 //每個(gè) wirte/read 時(shí)隙至少維持 60us,寫(xiě) 1 時(shí)隙中釋放總線后時(shí)間應(yīng)延遲 (60 1)uS 以上 return。 } void write_DS18B20(unsigned char Command) //該程序判斷發(fā)送每位時(shí),寫(xiě) 0 還是寫(xiě) 1,然后調(diào)用相應(yīng)子程序 { bit Write_Lsb=0。 unsigned int i=0。 //寫(xiě)字節(jié)時(shí),從 LSB 位開(kāi)始寫(xiě) for(i=0。i8。i++) { Write_Lsb=Command^i。 if(Write_Lsb==0) { write_0()。 } else { write_1()。 } 26 } return。 } read_DS18B20_bit(void) { bit value。 DQ=0。 //讀時(shí)隙由主機(jī)拉低總線開(kāi)始,持續(xù)至少 1us 并釋放,然后在在之后的 (151)us內(nèi)讀 DS18B20 的值( P15) Delay(2)。//維持 1us DQ=1。 Delay(18)。//延時(shí) 9us,最佳讀數(shù)時(shí)間為 10~13uS左右 value=DQ。 Delay(120)。//延時(shí) 60us。每讀一位數(shù),需要延時(shí)一段時(shí)間,使整個(gè) read slot 保證維持至少 60us 才能開(kāi)始讀下一位信息 return(value)。 } // //讀 DS18B20,每調(diào)用一次,讀出一個(gè)字節(jié)內(nèi)容 //讀 scratchpad 時(shí),讀出的順序從字節(jié) 0 的 LSB 位開(kāi)始 (P6) // read_DS18B20(void) { bit Read_Bit=0。 unsigned int i=0。 unsigned char Read_Byte=0。 unsigned char Temp_Byte=0。 for(i=0。i8。i++) { Read_Bit=read_DS18B20_bit()。 Temp_Byte=Temp_Byte|Read_Bit。 Temp_Byte=Temp_Bytei。 //右移 Read_Byte=Read_Byte|Temp_Byte。//實(shí)現(xiàn) lsb 到 msb 位順序讀出到一個(gè)字節(jié) } return(Read_Byte)。 } unsigned char Command。//指令( ROM 指令或功能指令) unsigned char TH。 //預(yù)設(shè)高溫報(bào)警點(diǎn) unsigned char TL。 //預(yù)設(shè)低溫報(bào)警點(diǎn) unsigned char Config。//預(yù)設(shè)配置數(shù)據(jù) 27 unsigned char Temperature_Low。 //數(shù)字溫度的低字節(jié) unsigned char Temperature_High。//數(shù)字溫度的高字節(jié) bit sign=0。//溫度的正負(fù)符號(hào) unsigned int Absolute_Temperature=0x00。//十進(jìn)制溫度的絕對(duì)值(不含溫度符號(hào)位) main() { Delay(1)。 SYSCLK_Init()。 WATCH_Dog()。 PORT_Init()。 Delay(1)。 for(。) { DS18B20_RESET()。 DS18B20_PRESENCE()。 Command=0xcc。 write_DS18B20(Command)。 Command=0x44。 write_DS18B20(Command)。 while(DQ==0) { NOP()。//等待 DS18B20 轉(zhuǎn)換結(jié)束 } DS18B20_RESET()。 DS18B20_PRESENCE()。 Command=0xcc。 write_DS18B20(Command)。 Command=0xbe。 write_DS18B20(Command)。 sign=Temperature_High^3。 if(sign==0) { ACC_0=Temperature_Low^4。 ACC_1=Temperature_Low^5。 ACC_2=Temperature_Low^6。 ACC_3=Temperature_Low^7。 ACC_4=Temperature_High^0。 ACC_5=Temperature_High^1。 ACC_6=Temperature_High^2。 ACC_7=0。 //符號(hào)位為 0 28 Absolute_Temperature=ACC。 } else if(sign==1) { ACC_0=Temperature_Low^4。 ACC_1=Temperature_Low^5。 ACC_2=Temperature_Low^6。 ACC_3=Temperature_Low^7。 ACC_4=Temperature_High^0。 ACC_5=Temperature_High^1。 ACC_6=Temperature_High^2。 ACC_7=0。 //符號(hào)位為 0 Absolute_Temperature=ACC。 Absolute_Temperature=127Absolute_Temperature。 } } } 29 致 謝 在民族大學(xué)的四年生活即將畫(huà)上句號(hào),而對(duì)于我來(lái)說(shuō)卻是人生 的起航,我將面對(duì)全新的生活環(huán)境,有挑戰(zhàn)也有機(jī)遇。四年的大學(xué)生活充滿了激情和收獲。感謝一直以來(lái)支持,鼓勵(lì)我們的學(xué)長(zhǎng),還有一直關(guān)心我們學(xué)習(xí)生活的各位老師。在論文快要付梓之際,感慨萬(wàn)千。 今年 2 月,我就開(kāi)始了我的畢業(yè)設(shè)計(jì)任務(wù),時(shí)至今日,歷時(shí)將近四個(gè)月,畢業(yè)設(shè)計(jì)基本完成。想想這段難忘的歲月,從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,整個(gè)寫(xiě)作過(guò)程難以用語(yǔ)言來(lái)表達(dá)。遇到困難,我會(huì)覺(jué)得無(wú)從下手,不知從何寫(xiě)起 , 當(dāng)困難解決了,我會(huì)覺(jué)得豁然開(kāi)朗,思路打開(kāi)了 , 當(dāng)畢業(yè)設(shè)計(jì)經(jīng)過(guò)一次次的修改后,基本成形的時(shí)候,我覺(jué)得很有成 就感。畢業(yè)設(shè)計(jì)的寫(xiě)作是一個(gè)長(zhǎng)期的過(guò)程,需要不斷的進(jìn)行精心的修改,不斷地去整理各方面的資料,不斷的想出新的創(chuàng)意,認(rèn)真總結(jié)。歷經(jīng)了這么久的努力,緊張而又充實(shí)的畢業(yè)設(shè)計(jì)終要落下帷幕。在這次畢業(yè)設(shè)計(jì)的寫(xiě)作的過(guò)程中,我擁有了無(wú)數(shù)難忘的感動(dòng)和收獲。 在沒(méi)有做畢業(yè)設(shè)計(jì)以前覺(jué)得畢業(yè)設(shè)計(jì)只是對(duì)這幾年來(lái)所學(xué)知識(shí)的單純總結(jié),但是通過(guò)這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過(guò)這次畢業(yè)設(shè)計(jì)使我明白了自己原來(lái)知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是 覺(jué)得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過(guò)這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。 這次論文我得到了很多老師和同學(xué)的幫助,其中我的論文指導(dǎo)老師曾玉對(duì)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1