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

正文內(nèi)容

基于ds18b20的溫度采集顯示系統(tǒng)的設(shè)計(參考版)

2024-09-02 10:23本頁面
  

【正文】 課程設(shè)計用紙 第 29 頁 [1].陳躍東 .DS18B20集成溫度傳感器原理與應(yīng)用 [J].安徽機(jī)電學(xué)院學(xué)報 ,2020 [2].李廣弟 .單片機(jī)基礎(chǔ) [M]. 北京 :北京航空航天大學(xué)出版社, 1994 [3].何立民 .單片機(jī)高級教程 .北京航空航天大學(xué)出版社 ,2020 [4].黨峰 ,王敬農(nóng) ,高國旺 .基于 DS18B20的數(shù)字式溫度計的實現(xiàn) [J]. 山西電子技術(shù) , 2020 。 這次的課程設(shè)計讓我學(xué)到了許多書本上沒有的知識,學(xué)會了更加全面的思考問題,而不是片面的只看眼前,同時也學(xué) 到了自我學(xué)習(xí)的方法,在查找資料自我分析及跟同學(xué)的討論,與老師的指導(dǎo)這些過程都讓我受益匪淺。 在學(xué)習(xí)的過程中我也多 DS18B20 有了一個系統(tǒng)的了解。 此次課程設(shè)計用到了 DS18B20 這一數(shù)字溫度傳感器,這是我們之前沒有遇到過的一種新型的器件,所以 通過 上網(wǎng) 和查閱相關(guān)書籍來 查找這一器件的資料,從它的基本結(jié)構(gòu),到元件特性及工作原理之類的等等。這這個過程中也 積累了硬件設(shè)計的經(jīng)驗。 掌握了從 設(shè)計方案 的 要 求 來進(jìn)行主程序流程圖的設(shè)計,然后落實到每一個子程序,依次實現(xiàn)每一個功能要求。在這一過程中,我不斷的上網(wǎng)查找相關(guān)資料,翻閱相關(guān)書籍,也一步步了解了設(shè)計中各個模塊所要實現(xiàn)的功能,對 這次的設(shè)計方案有了具象的認(rèn)識。因為已經(jīng)一個學(xué)期沒有學(xué)習(xí)單片機(jī)這門課程,很多知識不太清楚,加上以前的基礎(chǔ)知識也不是很 牢固,對于 Proteus 和 Keil 軟件的使用也生疏了,所以剛開始拿到課題時感到很有難度,不禁對此次的課程設(shè)計感到非常緊張。之后運行過程中又發(fā)現(xiàn)按下報警溫度的設(shè)置鍵 K1,K2,K3 都不是很靈敏,有時按下的時間太短甚至?xí)]有反應(yīng),經(jīng)過與小組成員討論,發(fā)現(xiàn)是由于按鍵沒有進(jìn)行消抖, 在顯示掃描子程序中加入了延時函數(shù)進(jìn)行按鍵的消抖,這一問題也得到了解決。 discan=0xFF。} //當(dāng) K=1 時, P0^7 為低電平顯示小數(shù)點 discan=scan_con[k]。k++) //4位 LED 掃描控制 { disdata=dis_7[display[k]]。 for(k=0。}} //最高位為 0時不顯示 if(n){display[3]=0x0b。 if(!display[3]){display[3]=0x0a。 display[2]=display[1]/10。 display[3]=display[4]/100。0xf0)4)|((temp_data[1]amp。display[0]=ditab[display[4]]。 } //負(fù)溫度求補(bǔ)碼 display[4]=temp_data[0]amp。 temp_data[0]=(255temp_data[0])。 } 流程圖如 圖 45所示: 圖 45 計算溫度子程序 開始 溫度零下? 溫度值取補(bǔ)碼置“ — ”標(biāo)志 計算小數(shù)位溫度 BCD 值 計算整數(shù)位溫度 BCD 值 結(jié)束 N Y 課程設(shè)計用紙 第 24 頁 計算溫度的 C 語言程序 如下: work_temp() { uchar n=0。 write_byte(0xcc)。 temp_data[1]=read_byte()。 DS18B20 復(fù)位、應(yīng)答子程序 跳過 ROM 匹配命令 寫入子程序 溫度轉(zhuǎn)換命令 寫入子程序 顯示子程序(延時) DS18B20 復(fù)位、應(yīng)答子程序 跳過 ROM 匹配命令 寫入子程序 讀溫度命令子程序 結(jié)束 課程設(shè)計用紙 第 23 頁 write_byte(0xbe)。 課程設(shè)計用紙 第 22 頁 圖 44 讀溫度子程序 讀 溫度的 C語言程序 如下: read_temp() { ow_reset()。 } 讀 溫度子程序 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時需進(jìn)行 CRC 校驗,驗有錯時 , 不進(jìn)行溫度數(shù)據(jù)的改寫。 //右移 1 位 } DQ=1。 //最低位移出 delay(6)。 DQ 置 0 循環(huán)次數(shù) i=8 寫入數(shù)據(jù)的最低一位 短延時 DQ 置 1 寫入數(shù)據(jù)右移一位 i =i1 i=0? 短延時 返回 Y N 課程設(shè)計用紙 第 21 頁 DQ=valamp。_nop_()。_nop_()。 DQ=0。_nop_()。i0。 } 寫 DS18B20 命令 子程序 流程圖如 圖 43所示: 課程設(shè)計用紙 第 20 頁 圖 43 寫 DS18B20命令子程序 寫 DS18B20 命令的 C語言程序 如下: void write_byte(uchar val) //向 1WIRE 總線上寫一字節(jié) { uchar i。 presence=~DQ。 presence=DQ。 //延時 550 毫秒 DQ=1。 DQ=0。_nop_()。 } } } 子程序 DS18B20 復(fù)位 子程序 流程圖如 圖 42所示: DQ 置 1 DQ 置 0 延時最少 573us DQ 置 1 短延時,等待 DS18B20回應(yīng) DQ=0? FLAG1 置 1 延時 DQ 置 1 返回 FLAG1 置 0 Y N 課程設(shè)計用紙 第 19 頁 圖 42 DS18B20復(fù)位子程序 DS18B20 復(fù)位 子 的 C語言程序 如下: ow_reset(void) { char presence=1。h500。 // 個位設(shè)定好的溫度用于顯示 display[2] =shi。 key_delay(20)。 if(shi0) shi=9。 if(ge0) { ge=9。 key_delay(20)。 if(shi9) shi=0。 if(ge9) { ge=0。 //十位 } } if(flag==1) { LED1=1。 // display[0]= ge。 ge=0。 key_delay(20)。 else if(flag==1) flag=0。 //flag
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1