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

正文內(nèi)容

汪海波-基于ds18b20智能溫度控制器設(shè)計-資料下載頁

2025-06-04 05:04本頁面
  

【正文】 ************************************ 函數(shù)功能:顯示沒有檢 測到 DS18B20 ***************************************************/ void display_error(void) { unsigned char i。 WriteAddress(0x00)。 i = 0。 while(Error[i] != 39。\039。) { WriteData(Error[i])。 i++。 delaynms(100)。 } while(1) ; } /***************************************************** 函數(shù)功能:顯示說明信息 23 //將 dat 中的各二進制位數(shù)據(jù)右移 1 位 //寫顯示地址,將在第 1 行第 1 列開始顯示 //從第一個字符開始顯示 //只要沒有寫到結(jié)束標志,就繼續(xù)寫 //將字符常量寫入 LCD //指向下一個字符 //延時 100ms 較長時間,以看清關(guān)于顯示的說明 //進入死循環(huán),等待查明原因 ***************************************************/ void display_explain(void) { unsigned char i。 WriteAddress(0x00)。 i = 0。 while(Str[i] != 39。\039。) { WriteData(Str[i])。 i++。 delaynms(100)。 } } /***************************************************** 函數(shù)功能:顯示溫度符號 ***************************************************/ void display_symbol(void) { unsigned char i。 WriteAddress(0x40)。 i = 0。 while(Temp[i] != 39。\039。) { WriteData(Temp[i])。 i++。 delaynms(50)。 } } /***************************************************** 函數(shù)功能:顯示溫度的小數(shù)點 24 //寫顯示地址,將在第 1 行第 1 列開始顯示 //從第一個字符開始 顯示 //只要沒有寫到結(jié)束標志,就繼續(xù)寫 //將字符常量寫入 LCD //指向下一個字符 //延時 100ms 較長時間,以看清關(guān)于顯示的說明 //寫顯示地址,將在第 2 行第 1 列開始顯示 //從第一個字符開始顯示 //只要沒有寫到結(jié)束標志,就繼續(xù)寫 //將字符常量寫入 LCD //指向下一個字符 //延時 1ms 給硬件一點反應(yīng)時間 ***************************************************/ void display_dot(void) { WriteAddress(0x49)。 WriteData(39。.39。)。 delaynms(50)。 } /***************************************************** 函數(shù)功能:顯示溫度的單位(Cent) ***************************************************/ void display_cent(void) { unsigned char i。 WriteAddress(0x4b)。 i = 0。 while(Cent[i] != 39。\039。) { WriteData(Cent[i])。 i++。 delaynms(50)。 } } /***************************************************** 函數(shù)功能:顯示溫度的整數(shù)部分 入 口 參 數(shù) : x ***************************************************/ void display_temp1(unsigned char x) { unsigned char j,k,l。 j=x/100。 //j,k,l 分別儲存溫度的百位、十位和個位 //取百位 25 //寫顯示地址,將在第 2 行第 10 列開始顯示 //將小數(shù)點的字符常量寫入 LCD //延時 1ms 給硬件一點反應(yīng)時間 //寫顯示地址,將在第 2 行第 12 列開始顯示 //從第一個字符開始顯示 //只要沒有寫到結(jié)束標志,就繼續(xù)寫 //將字符常量寫入 LCD //指向下一個字符 //延時 1ms 給硬件一點反應(yīng)時間 k=(x%100)/10。 l=x%10。 //取十位 //取個位 //寫顯示地址 ,將在第 2 行第 7 列開始顯示 //將百位數(shù)字的字符常量寫入 LCD //將十位數(shù)字的字符常量寫入 LCD //將個位數(shù)字的字符常量寫入 LCD //延時 1ms 給硬件一點反應(yīng)時間 WriteAddress(0x46)。 WriteData(digit[j])。 WriteData(digit[k])。 WriteData(digit[l])。 delaynms(50)。 } /***************************************************** 函數(shù)功能:顯示溫度的小數(shù)數(shù)部分 入口參數(shù): x ***************************************************/ void display_temP3(unsigned char x) { WriteAddress(0x4a)。 //寫顯示地址 ,將在第 2 行第 11 列開始顯示 WriteData(digit[x])。//小數(shù)部分的第一位數(shù)字字符常量寫入 LCD delaynms(50)。 } /***************************************************** 函數(shù)功能:做 好 讀 溫 度的 準 備 ***************************************************/ void ReadyReadTemp(void) { Init_DS18B20()。 //將 DS18B20 初始化 //延時 1ms 給硬件一點反應(yīng)時間 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 for(time=0。time100。time++)。 Init_DS18B20()。 //溫度轉(zhuǎn)換需要一點時間 //將 DS18B20 初始化 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 ,前兩個分別是溫度的低位和高位 26 } /***************************************************** 函數(shù)功能:主函數(shù) ***************************************************/ void main(void) { unsigned char TL。 unsigned char TH。 unsigned char TN。 unsigned char TD。 LcdInitiate()。 delaynms(5)。 if(Init_DS18B20()==1) display_error()。 display_explain()。 display_symbol()。 display_dot()。 display_cent()。 while(1) { ReadyReadTemp()。 TL=ReadOneChar()。 TH=ReadOneChar()。 //讀溫度準備 //先讀的是溫度值低位 //接著讀的是溫度值高位 //顯示溫度說明 //顯示溫度的小數(shù)點 //顯示溫度的單位 //不斷檢測并顯示溫度 //儲存暫存器的溫度低位 //儲存暫存器的溫度高位 //儲存溫度的整數(shù)部分 //儲存溫度的小數(shù)部分 //將液晶初始化 //延時 5ms 給硬件一點反應(yīng)時間 TN=TH*16+TL/16。 //實際溫度值 =(TH*256+TL)/16,即 TH*16+TL/16 //這樣得出的是溫度的整數(shù)部分 ,小數(shù)部分被丟棄 TD=(TL%16)*10/16。 //計算溫度的小數(shù)部分 ,將余數(shù)乘以 10 再除以 16 取整, 這樣得到的是溫度小數(shù)部分的第一位數(shù)字 (保留 1 位小數(shù) ) display_temp1(TN)。 display_temP3(TD)。 delaynms(10)。 //顯示溫度的整數(shù)部分 //顯示溫度的小數(shù)部分 //延時 10ms 27 if(TN80) { //初始化時防止初始溫度 度干擾 if(TNLtemp||TN=Htemp) 語句 { RELAY=0。 Beep()。 } else RELAY=1。 } } } //當溫度小于 26 度或大于等于 30 時執(zhí)行 IF // 繼電器閉合 //調(diào)用蜂鳴器函數(shù)發(fā)聲 //如果不在 IF 條件內(nèi)執(zhí)行繼電器斷開 28 6 小結(jié) 要完整的設(shè)計一個智能溫度控制器,并且能有效的應(yīng)用在工業(yè)化溫度控制或 置于某一環(huán)境溫度控制中,還都需要提供電源、系統(tǒng)組裝與調(diào)試等諸多方面的協(xié) 調(diào)和配合。本文只是初步的設(shè) 計了智能溫度控制器的核心部件,如溫度采集、處 理、顯示、蜂鳴器的報警以及繼電器的控制等。 然而,對于如何運用外部按鍵來設(shè)定需要穩(wěn)定的溫度值、針對加熱和制冷設(shè) 備的如何實現(xiàn),以及擴展到對濕度等其它環(huán)境要素的測量和控制,如何使它們同 時集成在一個電路系統(tǒng)中,這些都還未得到有效的解決,值得進一步研究和探討。 29 致謝 時光飛逝,四年的大學學習生活即將過去。在這令人難忘的四年里,我得到 了學院老師及同學們的熱心幫助,支持和鼓勵,使我能夠在以優(yōu)異的成績完成學 業(yè) ,同時自身綜合素質(zhì)也得到了很大 提高。在此謹向他們表示我最衷心的感謝! 特別要感謝我的導(dǎo)師戴潤梁老師,由于我已參加工作,遠在東莞,在學校停 留時間較少,但戴老師常常通過電話,通過郵件指導(dǎo)我如何寫好論文,循循善誘 的教導(dǎo)我,他嚴謹治學、認真負責的作風是我今后工作和學習的榜樣! 本次畢業(yè)設(shè)計是自己人生歷程上的又一升華,從選題到定稿,再走向答辯, 既是一次知識技能上的挑戰(zhàn),又是一次加快我理解知識,運用知識的成功實踐, 更重要的是看見自己設(shè)計的溫度智能控制器能測出環(huán)境溫度,能報警,能控制繼 電器時覺得非常有成就感。 最后再次感謝畢設(shè)期間支持過我的 上司、老師和同學們! 30 參考文獻 [1] 李朝青 . 單片機原理及接口技術(shù) . 第 3 版 . 北京航空航天大學出版社, 2021 [2] 鄢景華 . 自動控制原理 . 第 2 版 . 哈爾濱工業(yè)大學出版社, 2021 [3] 李華 . MCS51 系統(tǒng)單片機實用接口技術(shù) . 北京航空航天大學出版社, 2021 [4] 求是科技 . 單片機典型模塊設(shè)計導(dǎo)航 . 第 1 版 . 人民郵電出版社, 2021 31
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1