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

正文內(nèi)容

基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)課程設(shè)計(jì)-資料下載頁

2025-02-26 12:09本頁面

【導(dǎo)讀】溫度信號(hào)由溫度芯片DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測電路、數(shù)碼管掃描電路,顯示電路。機(jī)通過對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度的采集,量化,輸出,顯示的目的。重介紹了軟、硬件設(shè)計(jì)及C語言實(shí)現(xiàn)部分,在這里采用模塊化編程結(jié)構(gòu)。通過本次課程設(shè)計(jì),更加深對(duì)51單片機(jī)的了解,進(jìn)一步加深我們對(duì)51單片機(jī)。解決實(shí)際問題的工作能力。DS18B20測量溫度信號(hào),計(jì)算后在LED數(shù)碼管上顯示相應(yīng)的溫度值。根據(jù)設(shè)計(jì)任務(wù)要求給出實(shí)現(xiàn)原理及具體實(shí)現(xiàn)方案;通過相應(yīng)軟件進(jìn)行調(diào)試,給出調(diào)試結(jié)果,并進(jìn)行相應(yīng)分析;設(shè)計(jì)一個(gè)具有基于DS1820數(shù)字溫度傳感器的溫度檢測及顯示的系統(tǒng)。脈沖信號(hào)送給計(jì)數(shù)器1。該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。來模擬單總線的協(xié)議時(shí)序來完成對(duì)DS18B20芯片的訪問。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。傳輸都是低位在先。

  

【正文】 mpL=TempL*6/10。//小數(shù)近似處理 flag_get=0。 } 第 14 頁 } } /******************************************************************/ /* 定時(shí)器中斷 */ /******************************************************************/ void tim(void) interrupt 1 using 1//中斷,用 于數(shù)碼管掃描和溫度檢測間隔 { TH0=0xef。//定時(shí)器重裝值 或 //TH0=(655364000)/256。 TL0=0xf0。 //TL0=(655364000)%256。 num++。 if (num==50) {num=0。 flag_get=1。//標(biāo)志位有效 second++。 if(second=60) {second=0。 minute++。 } } count++。 if(count==1) {P2=0。 P0=str[0]。}//數(shù)碼管掃描 if(count==2) {P2=1。 P0=str[1]。} if(count==3) { P2=2。 P0=str[2]。 } if(count==4) { P2=3。 P0=str[3]。 } if(count==5) { P2=4。 P0=str[4]。 } if(count==6) 第 15 頁 { P2=5。 P0=str[5]。 count=0。} } /******************************************************************/ /* 延時(shí)函數(shù) */ /******************************************************************/ void delay(unsigned int i)//延時(shí)函數(shù) { while(i)。 } /******************************************************************/ /* 初始化 */ /******************************************************************/ void Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ 復(fù)位 delay(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將 DQ 拉低 delay(80)。 //精確延時(shí) 大于 480us DQ = 1。 //拉高總線 delay(10)。 x=DQ。 //稍做延時(shí)后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay(5)。 } /******************************************************************/ /* 讀一個(gè)字節(jié) */ /******************************************************************/ unsigned char ReadOneChar(void) { unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號(hào) dat=1。 DQ = 1。 // 給脈沖信號(hào) if(DQ) 第 16 頁 dat|=0x80。 delay(5)。 } return(dat)。 } /******************************************************************/ /* 寫一個(gè)字節(jié) */ /******************************************************************/ void WriteOneChar(unsigned char dat) { unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 } delay(5)。 } /******************************************************************/ /* 讀取溫度 */ /******************************************************************/ unsigned int ReadTemperature(void) { unsigned char a=0。 unsigned int b=0。 unsigned int t=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 // 啟動(dòng)溫度轉(zhuǎn)換 delay(200)。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是溫度 a=ReadOneChar()。 //低位 b=ReadOneChar()。 //高位 b=8。 第 17 頁 t=a+b。 return(t)。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1