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

正文內(nèi)容

基于單片機(jī)的多點(diǎn)溫度測(cè)量系統(tǒng)設(shè)計(jì)(文件)

 

【正文】 ) { for(i=0。 i=103。while(i0) i。while(i0) i。 for(j=1。 dat=dat1。 DQ=0xff。 //寫(xiě)0 i=8。i++。 Write_Byte(0x44)。 Write_Byte(0xbe)。 a=dir_temp/10。 for(j=5000。 P2=led_tab[b]。}////函數(shù)名稱(chēng):main//函數(shù)功能主程序//void main(){ uchar buf1[8],buf2[8],dat1[8],dat2[8],last[8]。 Start_convert()。m++) { DQ=0x00。i++。 } for(m=0。i++。 buf2[m]=DQ。 FormatTemp(buf2,dat2)。 b=dat2[m]。 } for(n=0。m++) { display(last[n])。本文介紹了用單片機(jī)AT89C51控制DS18B20,著重分析各單元電路的設(shè)計(jì),以及各電路與單片機(jī)的接口技術(shù)。通過(guò)這次畢業(yè)設(shè)計(jì),我更加深刻地認(rèn)識(shí)到只有將書(shū)本與具體的實(shí)踐相結(jié)合,才會(huì)有真正的收獲,才能鞏固自已的所學(xué),認(rèn)識(shí)到自己的不足。非常感謝學(xué)校的領(lǐng)導(dǎo),感謝沈保鎖老師和潘勇老師。在此,向這兩位老師致以最誠(chéng)摯的謝意。我愿在未來(lái)的學(xué)習(xí)和研究過(guò)程中,以更加豐厚的成果來(lái)答謝曾經(jīng)關(guān)心、幫助和支持過(guò)我的所有領(lǐng)導(dǎo)、老師、同學(xué)、同事和朋友,一并表示感謝!最后,再次向他們表示我最誠(chéng)摯的謝意,我將以最大的熱情投入到工作中,以報(bào)答所以幫助我過(guò)的老師和同學(xué)。我將在以后的工作中繼續(xù)努力,不斷學(xué)習(xí),努力提高自己。在兩位老師的幫助下,我的課題的設(shè)計(jì)任務(wù)得以順利完成。回顧四年學(xué)習(xí)期間的一千余個(gè)日日夜夜,自己為課題的研究,靜心鉆研,潛心研究,并取得初步研究成果而感到欣慰。本文是采用模塊化的方式進(jìn)行敘述,對(duì)各模塊的設(shè)計(jì)進(jìn)行了比較詳細(xì)地闡述。本次設(shè)計(jì)的基于DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)是一種分布式的溫度測(cè)量系統(tǒng),它可以遠(yuǎn)程對(duì)溫度實(shí)現(xiàn)測(cè)量和監(jiān)控。n++) { for(m=0。 y2=b4。m=7。while(i0) i。i++。m++) { uint i。 i=8。 DQ=0xff。 for(m=0。 uchar a,b,m,n,y1,y2。j0。j)。 P1=0x01。 uchar a,b。 Delay1ms(1)。 Delay1ms(1)。 DQ=0xff。while(i0) i。 //寫(xiě)1 i++。j++) { testb=datamp。 uchar j。 while(~DQ)。 //大約900us DQ=0xff。i++){} }}////函數(shù)名稱(chēng):Init_18B20//入口參數(shù):無(wú)//函數(shù)功能:初始化//void Init_18B20(void){ uint i。 NOP_1uS。NOP_1uS。_nop_()。 經(jīng)過(guò)上述簡(jiǎn)單的處理,8個(gè)DS18B20器件的測(cè)溫?cái)?shù)據(jù)將保存在數(shù)組uiData當(dāng)中的8個(gè)單元里,就可以根據(jù)自身程序設(shè)計(jì)的需求來(lái)對(duì)這些數(shù)據(jù)進(jìn)行具體的處理了。Mask = Mask1。if(Read_buf_8ch[i]amp。for(j=0。i=0。下面介紹簡(jiǎn)單的處理代碼片斷:char i,j。//Skip ROMDS18B20_WriteByte(0xcc)。DS18B20_Reset()。而將讀回的數(shù)據(jù)保存于一個(gè)Read_buf_8ch(簡(jiǎn)寫(xiě):Rb)的數(shù)組中,可以根據(jù)系統(tǒng)的接線(xiàn)圖對(duì)讀回的16個(gè)字節(jié)的數(shù)據(jù)進(jìn)行分析,如下圖54所示:圖54讀取DS18B20的數(shù)據(jù)時(shí),先讀高位再讀低位;所以可以從上圖看到,以TM2的DS18B20的數(shù)據(jù)為例,TM2的兩個(gè)字節(jié)的數(shù)據(jù)由Read_buf_8ch數(shù)組的16個(gè)字節(jié)數(shù)據(jù)中的每個(gè)字節(jié)的bit2位組成。for(i=0。}}調(diào)用DS18B20_WriteByte函數(shù),連在8個(gè)I/O口上的一線(xiàn)制總線(xiàn)上的8個(gè)DS18B20器件,將都會(huì)接收到同樣的一個(gè)字節(jié)的數(shù)據(jù):Com。DS18B20_Write_1()。if(Comamp。i8。寫(xiě)字節(jié)操作函數(shù)[9]:void DS18B20_WriteByte(unsigned char Com){Delay_1us(200)。P1 = 0xff。if((P1amp。Error_Counter200。P1 = 0xff。if(P1!=0x00) B20_Error = P1。Delay_1us(500)。//一次性讀取8條DQ線(xiàn)的數(shù)據(jù)狀態(tài)//延時(shí)待總線(xiàn)準(zhǔn)備好數(shù)據(jù)//端口置1,準(zhǔn)備讀取P1 = 0xff。unsigned char DQ_S=0。//延時(shí)//8個(gè)DQ 線(xiàn)全部設(shè)置為低電平//延時(shí)30us左右}總線(xiàn)寫(xiě)0時(shí)序控制函數(shù):void DS18B20_Write_0(void){P1 = 0x00。模塊介紹圖43 為單片機(jī)AT89C51仿真模塊圖 43 AT89C51仿真模塊圖 圖44 為四位數(shù)碼管的仿真模塊圖 44 數(shù)碼管仿真模塊圖圖45 為數(shù)字溫度傳感器DS18B20的仿真模塊圖 45 DS18B20仿真模塊圖在 Keil[12],Proteus[13]環(huán)境下設(shè)計(jì)多點(diǎn)測(cè)溫系統(tǒng)硬軟件,進(jìn)行驗(yàn)證,硬件電路圖46如下圖46 系統(tǒng)硬件電路圖第五章 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件設(shè)計(jì)思路[7]在接下來(lái)的軟件介紹中,會(huì)以C語(yǔ)言的例子介紹具體的編程思路,但這些代碼并非就是實(shí)際中所使用的代碼,僅作為邏輯性的參考,以便大家理解。實(shí)際在對(duì)DS18B20器件進(jìn)行操作時(shí),只需統(tǒng)一地對(duì)這一組并行端口進(jìn)行操作(每個(gè)端口在同一時(shí)間輸出相同的電平狀態(tài))即可。 此外,采用本設(shè)計(jì)實(shí)現(xiàn)的快速多點(diǎn)溫度查詢(xún)系統(tǒng),可以省掉煩瑣的總線(xiàn)上器件序列號(hào)的查詢(xún)操作,并可節(jié)省大量的存儲(chǔ)空間(原用于存儲(chǔ)總線(xiàn)上器件的序列號(hào)所用的空間)。注意:必須在讀間隙開(kāi)始的15uS內(nèi)讀取數(shù)據(jù)位才可以保證通信的正確。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在60~120uS,否則不能保證通信的正常。DS18B20的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)間隙處理位和命令字來(lái)確認(rèn)信息交換的。另外,此指令將在芯片上電復(fù)位時(shí)將被自動(dòng)執(zhí)行。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線(xiàn)將輸出“1”。Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)[48H]此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。 DS18B20芯片存儲(chǔ)器操作指令表[5]Write Scratchpad (向RAM中寫(xiě)數(shù)據(jù))[4EH]這是向RAM中寫(xiě)入數(shù)據(jù)的指令,隨后寫(xiě)入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2(報(bào)警RAM之TH)和地址3(報(bào)警RAM之TL)。如果在多芯片掛接時(shí)使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。只有當(dāng)總線(xiàn)上只存在一個(gè)DS18B20的時(shí)候才可以使用此指令,如果掛接不止一個(gè),當(dāng)通信時(shí)將會(huì)發(fā)生數(shù)據(jù)沖突。 DS18B20與單片機(jī)的接口DS18B20只需要接到控制器(單片機(jī))的一個(gè)I/O口上。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機(jī))必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時(shí)間為500uS。:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲(chǔ)器操作指令了。:雙方打完了招呼之后最要將進(jìn)行交流了,ROM指令共有條,每一個(gè)工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。當(dāng)18B20接到此復(fù)位信號(hào)后則會(huì)在15~60uS后回發(fā)一個(gè)芯片的存在脈沖。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。第2個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第4個(gè)字節(jié)是用戶(hù)EEPROM(常用于溫度報(bào)警值儲(chǔ)存)的鏡像。18B20共有三種形態(tài)的存儲(chǔ)器資源,它們分別是:ROM 只讀存儲(chǔ)器,用于存放DS18B20ID編碼,其前8位是單線(xiàn)系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號(hào),最后8位是以上56的位的CRC碼(冗余校驗(yàn))。l * 64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。C ~+125176。l * 最高12位分辨率。對(duì)于我們普通的電子愛(ài)好者來(lái)說(shuō),DS18B20的優(yōu)勢(shì)更是我們學(xué)習(xí)單片機(jī)技術(shù)和開(kāi)發(fā)溫度相關(guān)的小產(chǎn)品的不二選擇??梢灶A(yù)言,今后的單片機(jī)將是功能更強(qiáng)、集成的和可靠性更高而功耗更低,以及使用更方便。單片機(jī)應(yīng)用在檢測(cè)控制領(lǐng)域中,具有如下特點(diǎn):、成本低、易于產(chǎn)品化。取指令的任務(wù)是:根據(jù)程序計(jì)數(shù)器PC中的值從程序存儲(chǔ)器讀出現(xiàn)行指令,送到指令寄存器。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1