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

正文內(nèi)容

簡易數(shù)字式溫度計的設(shè)計-資料下載頁

2025-07-04 21:27本頁面
  

【正文】 **************************************************函數(shù)功能:主函數(shù)***************************************************/ void main(void) { uchar num,tem。 char displaytemp[7],displaytem[7]。 int tempH=50,tempL=1。 uchar i,j。 uchar TL。 //儲存暫存器的溫度低位 uchar TH。 //儲存暫存器的溫度高位 uchar TN。 //儲存溫度的整數(shù)部分 uchar TD。 //儲存溫度的小數(shù)部分 LcdInitiate()。 //將液晶初始化 delaynms(5)。 //延時5ms給硬件一點反應(yīng)時間 WriteAddress(0x02)。 i=0。 while(str1[i]!=39。\039。) { WriteData(str1[i])。 i++。 delaynms(100)。 } WriteAddress(0x40)。 j=0。 while(str2[j]!=39。\039。) { WriteData(str2[j])。 j++。 delaynms(100)。 } delaynms(3000)。 WriteInstruction(0x01)。 delaynms(5)。 if(Init_DS18B20()==1) display_error()。 display_symbol()。 //顯示溫度說明 display_dot()。 //顯示溫度的小數(shù)點 display_cent()。 //顯示溫度的單位 while(1) //不斷檢測并顯示溫度 { beep=0。 flag=0。 ReadyReadTemp()。 //讀溫度準(zhǔn)備 TL=ReadOneChar()。 //先讀的是溫度值低位 TH=ReadOneChar()。 //接著讀的是溫度值高位 if((THamp。0xf8)!=0x00)//判斷高五位 得到溫度正負(fù)標(biāo)志 { flag=1。 TL=~TL。 //取反 TH=~TH。 //取反 tltemp=TL+1。 //低位加1 TL=tltemp。 if(tltemp255) TH++。 //如果低8位大于255,向高8位進(jìn)1 TN=TH*16+TL/16。 //實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16 //這樣得出的是溫度的整數(shù)部分,小數(shù)部分被丟棄了 TD=(TL%16)*10/16。 //計算溫度的小數(shù)部分,將余數(shù)乘以10再除以16取整, } 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)。 //顯示溫度的整數(shù)部分 display_temp2(TD)。 //顯示溫度的小數(shù)部分 delaynms(10)。 num=keyscan()。 switch(num) { case 1:if(tempH127)tempH++。break。 case 2:if(tempH55)tempH。break。 case 3:if(tempL127)tempL++。break。 case 5:if(tempL55)tempL。break。 default:break。 } sprintf(displaytemp,MAX:%3d,tempH)。 LCD_Write_String(0x00,0,displaytemp)。 sprintf(displaytem,MIN:%3d,tempL)。 LCD_Write_String(0x09,0,displaytem)。 tem=TN+(TD*)。 if(temtempH) { BEEP()。 } else if(temtempL) { BEEP( )。 } } }5 系統(tǒng)的軟件設(shè)計 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序 主程序主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度。讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖, 計算溫度子程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定。 Y發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗9字節(jié)完?CRC校驗正?確?移入溫度暫存器結(jié)束 NNY初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令NYNY 開始溫度零下?溫度值取補碼置“—”標(biāo)志計算小數(shù)位溫度值 計算整數(shù)位溫度值 結(jié)束置“+”標(biāo)志NY 主程序流程圖發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束  計算溫度流程圖 6 心理體會這次課程設(shè)計,我們的組員都很用心的去完成。從這次課程設(shè)計中,而我真正學(xué)到了很多有用的知識。拿到課題后,我首先將《單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)》中有關(guān)本次設(shè)計的內(nèi)容復(fù)習(xí)了一遍。然后根據(jù)設(shè)計要求,我去圖書館查閱了相關(guān)的資料,對整體框架做了一個初步的了解。做完準(zhǔn)備工作后就正式開始設(shè)計與繪圖。先要將沒每一功能模塊設(shè)計出來,再整體排版、連接。通過近兩個星期的單片機課程設(shè)計,我終于完成了“基于單片機的數(shù)字溫度計設(shè)計”,心中不免有些高興,但高興之余也有我值得深思的。雖然以前做過類似的實驗,但這次的課程設(shè)計還是讓我學(xué)到了很多東西,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法。有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。通過這次的單片機課程設(shè)計我認(rèn)識到了,學(xué)習(xí)要理論聯(lián)系實際,把學(xué)到的理論知識同實際運用相結(jié)合,才能是我們的知識融匯貫通,才能真正的學(xué)到知識,真正的做到學(xué)以致用。課程設(shè)計是一個學(xué)習(xí)新知識、鞏固加深所學(xué)課本理論知識的過程,它培養(yǎng)了我們綜合運用知識的能力,獨立思考和解決問題的能力。它不僅加深了我對電子技術(shù)課程的理解,還讓我感受到了設(shè)計程序的樂趣。在這次設(shè)計中,我一點也不怕麻煩,反復(fù)設(shè)計、繪圖與修改,就是希望能把這次課程設(shè)計做好。因此對我來說,這次課程設(shè)計是非常有意義的。7 參考文獻(xiàn)單片機應(yīng)用系統(tǒng)設(shè)計技術(shù),51系列單片機開發(fā)寶典,微機原理及應(yīng)用,
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1