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

正文內(nèi)容

基于51單片機(jī)的家用電熱水器的設(shè)計畢業(yè)設(shè)計(參考版)

2025-06-23 12:49本頁面
  

【正文】 在這里我表示衷心的感謝。希望隨著科技的進(jìn)步,數(shù)字化家電能能更加完善,更好的造福人類。希望在以后的學(xué)習(xí)中找到解決此問題的方法。(3)本文闡述了通過種中斷子函數(shù)完成 30ms 一次的加熱檢測的方法 (4)本文詳細(xì)闡述了溫度采集芯片的詳細(xì)參數(shù)、操作方法,與單片機(jī)的硬件連接、軟件如何進(jìn)行操控等設(shè)計細(xì)節(jié)。 29第 5 章 總結(jié)本文對使用 89C51 單片機(jī)完成數(shù)字化熱水器的設(shè)計進(jìn)行完整的闡述。溫度輸入完成并判定加熱。單片機(jī) P1^1 接口會出現(xiàn)低電平,從而使用第二個發(fā)光二極管點亮。輸入完成后,每過 30ms 會將輸入溫度與單片機(jī)采集到的環(huán)境溫度進(jìn)行對比,如果輸入溫度高于或等于采集到得溫度則單片機(jī)觸發(fā) MOC3041開始加熱,如果輸入溫度低于采集到得溫度則不加熱或停止加熱。(3)按設(shè)定溫度加熱到相應(yīng)水溫,并具有保溫功能。 28第 4 章 功能簡介 智能熱水器具的功能(1)使用高清晰度數(shù)碼管實時顯示水溫,范圍 0 ~ 102 ℃ 。如果后者大于前者,則 P2^2 還是高電平并不引起加熱。jiar=0。}else{jiar=1。P1=0xfd。amp。amp。amp。a=num1*100+num2*10+num3。zd++。TH0=(6553646000)/256。這樣是防止前一個數(shù)字的輸入完成以后,后一個數(shù)字還未輸入時,顯示后一個數(shù)字的數(shù)碼管默認(rèn)不在顯示下劃線而是前一個確認(rèn)的數(shù)字,為了防止這種情況才有了 aaa 的以上操作。這里基本上就是完成給定了數(shù)字,通過數(shù)字值為多少來設(shè)定數(shù)碼管顯示的數(shù)字,在第三章中已經(jīng)提到。ccc 的功能才會解除。第二種情況是正常使用的情況,直接將 dis[1] 、dis[2] 、 dis[3]寫出來即可。else{if(dis[0]!=0)//超過 100 前面加小數(shù)點 dis[1]=dis[1]+10。//如果百位和十位都為 0 不顯示上面這一句話,就是地三種情況。amp。第四溫度為負(fù)值。第二:正常的十幾度或者幾十度。dis[4]是用來方便 for 語句的賦值操作。在這里用到了 abs(a)和_crol_所以要在再頭文件中寫到include 和include ,dda用于防止 a 為負(fù)值的時候后面的操作不好完成。break。break。}aaa=0。P0=0x00。delay(1)。P0=table[dis[i]]。 26P0=0x00。//wein 打開后 是低電平亮wei=0。wei=1。i4。srtemp=0xfe。if(dis[2]==21)dis[2]++。dis[2]=num2。break。duan=0。duan=1。duan=0。duan=1。//srtemp=_crol_(srtemp,1)。P0=srtemp。i++){P0=0xff。for(i=1。elsedis[2]+=10。num3=b。 25dis[2]=num2。break。duan=0。duan=1。duan=0。duan=1。//srtemp=_crol_(srtemp,1)。P0=srtemp。i++){P0=0xff。for(i=1。elsedis[2]+=10。dis[3]=num3。dis[2]=b。}break。P0=0x00。delay(1)。P0=table[dis[i]]。P0=0x00。//wein 打開后 是低電平亮 24wei=0。wei=1。i4。srtemp=0xfe。if(dis[2]==21)dis[2]++。dis[2]=num2。switch(bbb){case 0:dis[1]=b。amp。duan=0。}duan=1。duan=0。duan=1。wei=0。temp=_crol_(temp,1)。i++){P0=0xff。for(i=1。else{if(dis[0]!=0)//超過 100 前面加小數(shù)點 dis[1]=dis[1]+10。(dis[1]==0)) 23dis[1]=20。//num5 小數(shù)點if((dis[0]==0)amp。dis[3]=num6。dis[1]=num4。num6=dda%10。num4=dda%1000/100。dda=abs(a)。void display(uint a,uchar b){uchar i,temp,srtemp,dis[4]。主函數(shù)首先將所用到的全局變量賦值,然后進(jìn)入大循環(huán)首先進(jìn)入溫度轉(zhuǎn)換函數(shù),使 DS18B20 啟動溫度轉(zhuǎn)換,然后獲取溫度將兩個字節(jié)的數(shù)值賦給 a,而將輸入的溫度賦予 b ,再由 display(a,b)子函數(shù)輸出所有的值。display(a,b)。b=scanff()。changetemp()。while(1){ uint a。num2=21。bbb=0。num=21。TR0=1。EA=1。 22TH0=(6553646000)/256。直接將 temp 值乘 就是需要的溫度,temp 乘以 后的值賦予 tt ,temp=tt*10+(temp 0 ? : )這句話是先將 tt 由一個最高位為十位保留小數(shù)點后一位的數(shù)擴(kuò)大了十倍,變?yōu)榱艘粋€最高位為百位的三位數(shù),而后面加上的十一個四舍五入的賦值語句,也就相當(dāng)是一個 if 語句,C 語言是任何精度高的變量變?yōu)榫鹊偷淖兞繒r,都會失去一定的精度,而且是向下取整,例如在這里,如果 tt 是正溫度的話變大 10 倍以后,小數(shù)點后一位是無論是 1 還是 9,都默認(rèn)舍去,如果要對正數(shù)的 tt 進(jìn)行四舍五入應(yīng)該先給 tt 加上 ,再將它賦給精度較低的 temp,這樣就可以有四舍五入的功能,而這里沒有這么簡單,這個 if 語句的還要考慮 tt 為負(fù)值的情況下的操作,如果temp 為負(fù)值,tt 變大 10 倍以后還要減去 ,這樣就能夠完成 tt 為負(fù)值情況下的四舍五入。temp=8 的意義是 temp=temp8,所以 temp 的低 8 位將變成temp 中的高 8 位,而 C 語言規(guī)定低 8 移位操作后不足的位數(shù)由 0 補(bǔ)上,這時的目的就是要將 geta 中的數(shù)據(jù)賦予 temp 中的低 8 位,只需要將 temp 按位與上 geta,geta 中位為 1 與上 temp 中低 8 位中的 0就是 1,而 geta 中位為 0 與 temp 中低 8 位的 0 相與就是 0,這樣就將 geta 中的值賦給了 temp 的低 8位。在 gettemp()子函數(shù)中首先也是初始化 DS18B等待應(yīng)答,寫入命令0xcc 跳過讀序號列號的操作和 0xbe 讀取溫度命令。}以上兩個程序流程為,changetemp()子函數(shù)中先初始化 DS18B20,芯片應(yīng)答以后寫入兩個以字節(jié)為一個單位的命令,0xcc 與 0x44 它們的作用分別為跳過讀序號列號的操作和啟動溫度轉(zhuǎn)換。//將 temp 中的數(shù)轉(zhuǎn)化成實際的溫度值temp=tt*10+(temp 0 ? : )。//左移 8 位temp=temp|geta。temp=getb。geta=readbyte()。writeor(0xbe)。delay(1)。dsstart()。int temp。// 啟動溫度轉(zhuǎn)換 delay(1)。writeor(0xcc)。dswait()?,F(xiàn)在只要調(diào)用這些函數(shù),來操控 DS18B20 使其能夠按協(xié)議規(guī)定將溫度數(shù)據(jù)傳送給單片機(jī)。b++。ds=1。b8。}else//0{ds=0。b8。ds=1。if(bit2)//寫入 1{ds=0。0x01。a8。b=0。uchar a。用于操控 DS18B20。}return date。date=(a7)|(date1)。date=0。uchar date,a。 //延時約 64us, 符合讀時隙不低于 60us 要求 return b。 i=8。i++。 //延時約 8us, 符合協(xié)議要求至少保持 1usds=1。ds=0。bit readbit()//讀取一個 bit{unsigned int i。}以下兩個子函數(shù)為讀取的數(shù)據(jù)時用到的。 //檢測到應(yīng)答脈沖 i=4。while(ds)。如以下子函數(shù)。while(i0) i。 ds=1。 i=100。void dsstart(){ unsigned int i。 DS18B20 溫度傳感器設(shè)計連接好電路以后,就可以開始設(shè)計 DS18B20 的軟件環(huán)節(jié)。//****0000}}在這里使用了_crol_函數(shù),所以頭文件中要增加include,這里包括去抖和松手檢測。temp=tempamp。break。break。break。break。while(temp!=0xf0){temp=P3。temp=tempamp。P3=0xfd。 在 外 接 電 源 方 式 下 , 可 以 充 分 發(fā) 揮 DS18B20 寬 電 源 電 壓 范 圍 的 優(yōu) 點 , 即 使 電 源 電 壓VCC 降 到 3V 時 , 依 然 能 夠 保 證 溫 度 量 精 度 。 DS18B20 寄生電源供電方式外 部 供 電 方 式 的 多 點 測 溫 電 路 圖 見 圖 所 示 , 外 部 電 源 供 電 方 式 是 DS18B20 最 佳 的 工作 方 式 , 工 作 穩(wěn) 定 可 靠 , 抗 干 擾 能 力 強(qiáng) , 而 且 電 路 也 比 較 簡 單 , 可 以 開 發(fā) 出 穩(wěn) 定 可 靠 的 多 點 溫 度監(jiān) 控 系 統(tǒng) 。     16 圖 外 部 供 電 方 式 單 點 測 溫 電 路 在 本 次 設(shè) 計 中 采 用 外 部 電 源 供 電 方 式 , 連 接 方 法 見 圖 所 示 。 DS18B20 傳 感 器 , 組 成 多 點 測 溫 系 統(tǒng) 。 圖 改 進(jìn) 的 寄 生 電 源 供 電 方 式    注 意 : 在 見 圖 所 示 、 見 圖 所 示 寄 生 電 源 供 電 方 式 中 , DS18B20 的 VDD 引 腳 必 須接 地 。     圖 DS18B20 寄 生 電 源 供 電 方 式  DS18B20 改進(jìn)的寄生電源供電方式DS18B20 寄 生 電 源 強(qiáng) 上 拉 供 電 方 式 電 路 圖 , 改 進(jìn) 的 寄 生 電 源 供 電 方 式 見 圖 所 示 , 為了 使 DS18B20 在 動 態(tài) 轉(zhuǎn) 換 周 期 中 獲 得 足 夠 的 電 流 供 應(yīng) , 當(dāng) 進(jìn) 行 溫 度 轉(zhuǎn) 換 或 拷 貝 到 E2 存 儲 器 操作 時 , 用 MOSFET 把 I/O 線 直 接 拉 到 VCC 就 可 提 供 足 夠 的 電 流 , 在 發(fā) 出 任 何 涉 及 到 拷 貝 到 E2 15存 儲 器 或 啟 動 溫 度 轉(zhuǎn) 換 的 指 令 后 , 必 須 在 最 多 10μS 內(nèi) 把 I/O 線 轉(zhuǎn) 換 到 強(qiáng) 上 拉 狀 態(tài) 。     因 此 , 這 種 電 路 只 適 應(yīng) 于 單 一 溫 度 傳 感 器 測 溫 情 況 下 使 用 , 不 適 宜 采 用 供 電 系 統(tǒng) 中 。     獨(dú) 特 的 寄 生 電 源 方 式 有 三 個 好 處 :     1. 進(jìn) 行 遠(yuǎn) 距 離 測 溫 時 , 無 需 本 地 電 源 ;    2. 可 以 在 沒 有 常 規(guī) 電 源 的 條 件 下 讀 取 ROM;    3. 電 路 更 加 簡 潔 , 僅 用 一 根 I/O 口 實
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1