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

正文內(nèi)容

基于單片機(jī)的簡(jiǎn)易數(shù)字溫度計(jì)的設(shè)計(jì)-資料下載頁(yè)

2024-10-20 15:22本頁(yè)面

【導(dǎo)讀】摘要本文介紹了一種基于單片機(jī)的簡(jiǎn)易數(shù)字溫度計(jì)的設(shè)計(jì)。該設(shè)計(jì)主要由三個(gè)。溫度采集主要由溫度傳感。數(shù)據(jù)處理則由芯片STC89C52RC來(lái)完成,其負(fù)責(zé)把DS18B20傳送來(lái)的數(shù)??刂浦酒珼S18B20相互通訊。此數(shù)字溫度計(jì)可以測(cè)量得溫度范圍—55~+125℃并通過(guò)一個(gè)四位一體的。7段數(shù)碼管顯示出來(lái)。

  

【正文】 50 微秒 ,顯示溫度 55 到 +125 度 ,顯示精度 // //為 度,顯示采用 4 位 LED 共陽(yáng)顯示測(cè)溫值 // //P0 口為段碼輸入 ,P20~P23 為位選 // /***************************************************/ include include //_nop_()。延時(shí)函數(shù)用 define Disdata P0 //段碼輸出口 define discan P2 //掃描口 define uchar unsigned char define uint unsigned int sbit DQ=P3^3。 //溫度輸入口 sbit DIN=P0^7。 //LED 小數(shù)點(diǎn)控制 uint h。 uchar flag。 //**************溫度小數(shù)部分用查表法 ***********// 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 40 uchar code ditab[16]= {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 // uchar code dis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}。 //共陽(yáng) LED 段碼表 0 1 2 3 4 5 6 7 8 9 不亮 uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}。 //列掃描控制字 uchar data temp_data[2]={0x00,0x00}。 //讀出溫度暫放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //顯示單元數(shù)據(jù),共 4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用 // // // /***********11 微秒延時(shí)函數(shù) **********/ // void delay(uint t) { for(。t0。t)。 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 41 } // /***********顯示掃描函數(shù) **********/ scan() { char k。 for(k=0。k4。k++) //四位 LED 掃描控制 { Disdata=0xff。 Disdata=dis_7[display[k]]。 if(k==1){DIN=0。} discan=scan_con[k]。delay(90)。 discan=0xff。 } } // // /***********18B20 復(fù)位函數(shù) **********/ ow_reset(void) { 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 42 char presence=1。 while(presence) { while(presence) { DQ=1。_nop_()。_nop_()。 DQ=0。 // delay(50)。 // 550us DQ=1。 // delay(6)。 // 66us presence=DQ。 // presence=0 繼續(xù)下一步 } delay(45)。 //延時(shí) 500us presence = ~DQ。 } DQ=1。 } // // /**********18B20 寫命令 函數(shù) *********/ 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 43 //向 1WIRE 總線上寫一個(gè)字節(jié) void write_byte(uchar val) { uchar i。 for (i=8。 i0。 i) // { DQ=1。_nop_()。_nop_()。 DQ = 0。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。//5us DQ = valamp。0x01。 //最低位移出 delay(6)。 //66us val=val/2。 //右移一位 } DQ = 1。 delay(1)。 } // /*********18B20 讀 1 個(gè)字節(jié)函數(shù) ********/ //從總線上讀取一個(gè)字節(jié) uchar read_byte(void) { 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 44 uchar i。 uchar value = 0。 for (i=8。i0。i) { DQ=1。_nop_()。_nop_()。 value=1。 DQ = 0。 // _nop_()。_nop_()。_nop_()。_nop_()。 //4us DQ = 1。_nop_()。_nop_()。_nop_()。_nop_()。 //4us if(DQ)value|=0x80。 delay(6)。 //66us } DQ=1。 return(value)。 } // /***********讀出溫度函數(shù) **********/ // read_temp() { 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 45 ow_reset()。 //總線復(fù)位 write_byte(0xCC)。 // 發(fā) Skip ROM 命令 write_byte(0xBE)。 // 發(fā)讀命令 temp_data[0]=read_byte()。 //溫度低 8位 temp_data[1]=read_byte()。 //溫度高 8位 ow_reset()。 write_byte(0xCC)。 // Skip ROM write_byte(0x44)。 // 發(fā)轉(zhuǎn)換命令 } // /***********溫度數(shù)據(jù)處理函數(shù) **********/ void work_temp() { uchar n=0。 uchar doth,dotl。 uchar flag3=1,flag2=1。 //數(shù)字顯示修正標(biāo)記 if((temp_data[1]amp。0xf8)!=0x00) { temp_data[1]=~(temp_data[1])。 temp_data[0]=~(temp_data[0])+1。 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 46 n=1。 flag=1。 }//負(fù)溫度求補(bǔ)碼 if(temp_data[0]255) { temp_data[1]++。 } display[4]=temp_data[0]amp。0x0f。 display[0]=ditab[display[4]]。 doth=display[0]/10。 dotl=display[0]%10。 display[4]=((temp_data[0]amp。0xf0)4)|((temp_data[1]amp。0x07)4)。 display[3]=display[4]/100。 display[2]=display[4]/10%10。 display[1]=display[4]%10。 if(!display[3]) { display[3]=0x0a。 flag3=0。 if(!display[2]) 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 47 { display[2]=0x0a。 flag2=0。 } }//最高位為 0 時(shí)都不顯示 if(n) { display[3]=0x0b。//負(fù)溫度時(shí)最高位顯示 flag3=0。 } } // // /**************主函數(shù) ****************/ main() { Disdata=0xff。 //初始化端口 discan=0xff。 for(h=0。h4。h++){display[h]=8。}//開機(jī)顯示 8888 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 48 ow_reset()。 // 開機(jī)先轉(zhuǎn)換一次 write_byte(0xCC)。 // Skip ROM write_byte(0x44)。 // 發(fā)轉(zhuǎn)換命令 for(h=0。h500。h++) {scan()。} //開機(jī)顯示 88882 秒 while(1) { read_temp()。 //讀出 18B20 溫度數(shù)據(jù) work_temp()。 //處理溫度數(shù)據(jù) scan()。 //顯示溫度值 2秒 } } // //*********************結(jié)束 **************************// 基于單片機(jī)的簡(jiǎn)易 數(shù)字溫度計(jì) 設(shè)計(jì) 49 致謝 經(jīng)過(guò)一段時(shí)間的 制作 ,本次畢業(yè)設(shè)計(jì)即將接近尾聲,由于是初次嘗試設(shè)計(jì)電路 和電子制作 ,由于知識(shí)及經(jīng)驗(yàn)的匱乏,難免遇到很多困難,如果沒有 老 師的督促指導(dǎo)以及同學(xué)們的支持,很難順利的完成此次畢業(yè)設(shè)計(jì)。 從開始選題到論文的順利完成,都離不開 付 老師、同學(xué)、 網(wǎng)上 朋友給 予 的幫助,在這里 我想對(duì)你們說(shuō)聲謝謝 ! 首選, 在本次畢業(yè)設(shè)計(jì)過(guò)程中,從選題、構(gòu)思、資料收集到最后定稿的各個(gè)環(huán)節(jié)給予細(xì)心指引與教導(dǎo),使我對(duì)課程的多方面的知識(shí)有了深刻的認(rèn)識(shí),使我得以最終完成畢業(yè)設(shè)計(jì),在此表示衷心感謝。 其次,感謝一起做畢業(yè)設(shè)計(jì)的同學(xué)們,感謝你們給我的幫助和鼓勵(lì),感謝你們?cè)谖矣龅嚼щy時(shí)所給的幫助,正是有了你們的幫助和鼓勵(lì),此次畢業(yè)設(shè)計(jì)才得以順利的完成 。 本次設(shè)計(jì)得以順利完成,也與 學(xué)院其 他老師的幫助分不開的,雖然他們沒有直接參與我的論文指導(dǎo),但在論文的形成過(guò)程中也給我提供了不少的意見,提出一些可行 的建議, 在此向他們表示感謝! 最后,對(duì)大學(xué) 三 年以來(lái)曾經(jīng)關(guān)心支持過(guò)我的老師、同學(xué),還有 我的室友們送上最真誠(chéng)的謝意。 我知道在老師的印象中我不是一個(gè)好學(xué)生經(jīng)常逃課,不上早操,給你們帶來(lái)的麻煩我表示深深地歉意,為了表示我的 誠(chéng)意 , 在未來(lái)我會(huì)讓你們用上我設(shè)計(jì)的電子產(chǎn)品 。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1