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

正文內(nèi)容

基于單片機的多點溫度測量系統(tǒng)設(shè)計(參考版)

2025-06-30 19:56本頁面
  

【正文】 我愿在未來的學(xué)習(xí)和研究過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有領(lǐng)導(dǎo)、老師、同學(xué)、同事和朋友,一并表示感謝!最后,再次向他們表示我最誠摯的謝意,我將以最大的熱情投入到工作中,以報答所以幫助我過的老師和同學(xué)。我將在以后的工作中繼續(xù)努力,不斷學(xué)習(xí),努力提高自己。在此,向這兩位老師致以最誠摯的謝意。在兩位老師的幫助下,我的課題的設(shè)計任務(wù)得以順利完成。非常感謝學(xué)校的領(lǐng)導(dǎo),感謝沈保鎖老師和潘勇老師?;仡櫵哪陮W(xué)習(xí)期間的一千余個日日夜夜,自己為課題的研究,靜心鉆研,潛心研究,并取得初步研究成果而感到欣慰。通過這次畢業(yè)設(shè)計,我更加深刻地認識到只有將書本與具體的實踐相結(jié)合,才會有真正的收獲,才能鞏固自已的所學(xué),認識到自己的不足。本文是采用模塊化的方式進行敘述,對各模塊的設(shè)計進行了比較詳細地闡述。本文介紹了用單片機AT89C51控制DS18B20,著重分析各單元電路的設(shè)計,以及各電路與單片機的接口技術(shù)。本次設(shè)計的基于DS18B20的多點溫度測量系統(tǒng)是一種分布式的溫度測量系統(tǒng),它可以遠程對溫度實現(xiàn)測量和監(jiān)控。m++) { display(last[n])。n++) { for(m=0。 } for(n=0。 y2=b4。 b=dat2[m]。m=7。 FormatTemp(buf2,dat2)。while(i0) i。 buf2[m]=DQ。i++。i++。m++) { uint i。 } for(m=0。 i=8。i++。 DQ=0xff。m++) { DQ=0x00。 for(m=0。 Start_convert()。 uchar a,b,m,n,y1,y2。}////函數(shù)名稱:main//函數(shù)功能主程序//void main(){ uchar buf1[8],buf2[8],dat1[8],dat2[8],last[8]。j0。 P2=led_tab[b]。j)。 for(j=5000。 P1=0x01。 a=dir_temp/10。 uchar a,b。 Write_Byte(0xbe)。 Delay1ms(1)。 Write_Byte(0x44)。 Delay1ms(1)。i++。 DQ=0xff。 //寫0 i=8。while(i0) i。 DQ=0xff。 //寫1 i++。 dat=dat1。j++) { testb=datamp。 for(j=1。 uchar j。while(i0) i。 while(~DQ)。while(i0) i。 //大約900us DQ=0xff。 i=103。i++){} }}////函數(shù)名稱:Init_18B20//入口參數(shù):無//函數(shù)功能:初始化//void Init_18B20(void){ uint i。 while(count) { for(i=0。 NOP_1uS。NOP_1uS。NOP_1uS。_nop_()define DQ P3 //P3口用8個DS18B20/*////函數(shù)名稱:Delay10us//入口參數(shù):n//函數(shù)功能:延時子程序//void Delay10us(uchar n){ while(n) { NOP_1uS。_nop_()。_nop_()。 經(jīng)過上述簡單的處理,8個DS18B20器件的測溫數(shù)據(jù)將保存在數(shù)組uiData當(dāng)中的8個單元里,就可以根據(jù)自身程序設(shè)計的需求來對這些數(shù)據(jù)進行具體的處理了。}}Mask = Mask1。if(Read_buf_8ch[i]amp。j++)for(j=0。Mask = 0x01。i=0。unsigned char Mask。下面介紹簡單的處理代碼片斷:char i,j。DS18B20_Read2Byte()。//Skip ROMDS18B20_WriteByte(0xcc)。DS18B20_Reset()。DS18B20_WriteByte(0x44)。DS18B20_WriteByte(0xcc)。DS18B20_Reset()。而將讀回的數(shù)據(jù)保存于一個Read_buf_8ch(簡寫:Rb)的數(shù)組中,可以根據(jù)系統(tǒng)的接線圖對讀回的16個字節(jié)的數(shù)據(jù)進行分析,如下圖54所示:圖54讀取DS18B20的數(shù)據(jù)時,先讀高位再讀低位;所以可以從上圖看到,以TM2的DS18B20的數(shù)據(jù)為例,TM2的兩個字節(jié)的數(shù)據(jù)由Read_buf_8ch數(shù)組的16個字節(jié)數(shù)據(jù)中的每個字節(jié)的bit2位組成。i++)for(i=0。unsigned int i。}}調(diào)用DS18B20_WriteByte函數(shù),連在8個I/O口上的一線制總線上的8個DS18B20器件,將都會接收到同樣的一個字節(jié)的數(shù)據(jù):Com。DS18B20_Write_0()。DS18B20_Write_1()。if(Comamp。{i8。寫字節(jié)操作函數(shù)[9]:void DS18B20_WriteByte(unsigned char Com){分析DS18B20的一線制總線控制命令,可以提煉出兩個最基本的操作函數(shù),一個是寫一個byte數(shù)據(jù)至DS18B20器件,另一為讀取DS18B20器件的數(shù)據(jù)。Delay_1us(200)。P1 = 0xff。if((P1amp。{Error_Counter200。P1 = 0xff。Delay_1us(50)。if(P1!=0x00) B20_Error = P1。P1 = 0xff。Delay_1us(500)。圖52總線復(fù)位時序控制函數(shù):void DS18B20_Reset(void){return DQ_S。Delay_1us(30)。//一次性讀取8條DQ線的數(shù)據(jù)狀態(tài)//延時待總線準(zhǔn)備好數(shù)據(jù)//端口置1,準(zhǔn)備讀取P1 = 0xff。Delay_1us(10)。P1 = 0x00。unsigned char DQ_S=0。Delay_1us(1)。//延時//8個DQ 線全部設(shè)置為低電平//延時30us左右}總線寫0時序控制函數(shù):void DS18B20_Write_0(void){Delay_1us(30)。P1 = 0xff。//8個DQ 線全部設(shè)置為低電平P1 = 0x00。 下面詳細介紹一下以MCS51系列單片機的應(yīng)用為例的范例程序,其中約定與8個DS18B20器件進行連接的是P1端口。模塊介紹圖43 為單片機AT89C51仿真模塊圖 43 AT89C51仿真模塊圖 圖44 為四位數(shù)碼管的仿真模塊圖 44 數(shù)碼管仿真模塊圖圖45 為數(shù)字溫度傳感器DS18B20的仿真模塊圖 45 DS18B20仿真模塊圖在 Keil[12],Proteus[13]環(huán)境下設(shè)計多點測溫系統(tǒng)硬軟件,進行驗證,硬件電路圖46如下圖46 系統(tǒng)硬件電路圖第五章 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件設(shè)計思路[7]在接下來的軟件介紹中,會以C語言的例子介紹具體的編程思路,但這些代碼并非就是實際中所使用的代碼,僅作為邏輯性的參考,以便大家理解??芍?,在對DS18B20器件進行操作時,可以使用skip ROM命令來跳過ROM序列號匹配的操作,也即在所有的DS18B20器件的ROM操作時可以使用相同的端口輸出時序。實際在對DS18B20器件進行操作時,只需統(tǒng)一地對這一組并行端口進行操作(每個端口在同一時間輸出相同的電平狀態(tài))即可。本系統(tǒng)方案8個DS18B20器件連接在MCU的一組端口的8個I/O口上,連線示意圖41所示:圖41 系統(tǒng)連線示意圖當(dāng)然,上圖中的示意圖并沒有考慮諸如端口驅(qū)動能力、抗干擾處理等,僅表明一個邏輯的連接示意,具體在產(chǎn)品級的設(shè)計時會根據(jù)產(chǎn)品的應(yīng)用做必要的處理,比如增加一些必要的電路等,此處不作為討論的重點。 此外,采用本設(shè)計實現(xiàn)的快速多點溫度查詢系統(tǒng),可以省掉煩瑣的總線上器件序列號的查詢操作,并可節(jié)省大量的存儲
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1