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

正文內(nèi)容

溫度計(jì)的設(shè)計(jì)報(bào)告(編輯修改稿)

2025-09-01 09:34 本頁面
 

【文章內(nèi)容簡介】 OM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。①初始化:單片機(jī)將數(shù)據(jù)線拉低480960us后釋放,等待1560us,單總線器件即可輸出一個(gè)持續(xù)時(shí)間為60240us的低電平(應(yīng)答信號(hào)),單片機(jī)收到此應(yīng)答后即可進(jìn)行后續(xù)操作;②寫時(shí)序:當(dāng)主機(jī)將數(shù)據(jù)線的電平從高拉到低時(shí),形成寫時(shí)序,有寫0和寫1兩種時(shí)序。寫時(shí)序開始后,DS18B20在1560us期間從數(shù)據(jù)線上采樣,如果采樣到低電平,則向DS18B20寫0,否則寫1,兩個(gè)獨(dú)立的時(shí)序之間至少需要1us的回復(fù)時(shí)間按(拉高總線電平);③讀時(shí)序:當(dāng)主機(jī)從DS18B20讀取數(shù)據(jù)時(shí),產(chǎn)生讀時(shí)序,此時(shí),主機(jī)將數(shù)據(jù)線的電平從高拉到低使讀時(shí)序被初始化。如果此后15us內(nèi),主機(jī)在總線上采樣到低電平,則從DS18B20讀0,否則讀1。2 、各部分程序設(shè)計(jì)及其程序流程圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,報(bào)警子程序和顯示數(shù)據(jù)刷新子程序等。(1)主程序:主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示,讀出并處理DS18B20的測量溫度值。溫度測量每1s進(jìn)行一次。主程序流程圖如圖9所示。(2)讀出溫度子程序:讀出溫度子程的主要功能是讀出RAM中的9字節(jié)。在讀出時(shí)須進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不能進(jìn)行溫度數(shù)據(jù)的改寫。讀出溫度子程序流程圖如圖10所示。(3)溫度轉(zhuǎn)換命令子程序:溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令。當(dāng)采用12位分辨率時(shí),轉(zhuǎn)換時(shí)間約為750 ms。在本程序設(shè)計(jì)中,采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖11所示。(4)計(jì)算溫度子程序:計(jì)算溫度子程序?qū)AM中讀取的值進(jìn)行十進(jìn)制的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判斷。其流程圖如圖12所示。(5)顯示數(shù)據(jù)刷新子程序:顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為0時(shí),將符號(hào)顯示位移入下一位。顯示數(shù)據(jù)刷新子程序流程圖如圖13所示。圖10 讀溫度子程序 圖9 主程序流程圖圖11 溫度轉(zhuǎn)換命令子程序流程圖 圖12 計(jì)算溫度子程序圖13 顯示數(shù)據(jù)刷新子程序流程圖源程序設(shè)計(jì):includeinclude define DataPort P1 sbit LATCH1=P2^2。 sbit LATCH2=P2^3。 sbit LABA=P2^0。 bit ReadTempFlag。unsigned char codedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。 unsigned char TempData[8]。 void Display(unsigned char FirstBit,unsigned char Num)。 void Init_Timer0(void)。 void lab(){ unsigned char i = 100。 unsigned char j = 100。 while(j) while(i) LABA = ~LABA。}void main (void){ unsigned int TempH,TempL,temp。LABA=0。Init_Timer0()。while (1) {if(ReadTempFlag==1){ ReadTempFlag=0。 temp=ReadTemperature(); if(tempamp。0x8000)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1