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

正文內(nèi)容

基于單片機的雞雛孵化室恒溫控制器設(shè)計(編輯修改稿)

2025-07-19 22:50 本頁面
 

【文章內(nèi)容簡介】 溫原理1. DS18B20的測溫原理:每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM 中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出。程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。DS18B20的測溫原理如圖54所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55 ℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在55 ℃所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖54中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達到被測溫度值. 另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。減法計數(shù)器斜坡累加器減到0減法計數(shù)器預(yù) 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計數(shù)比較器預(yù) 置溫度寄存器減到0圖5-4 測溫原理內(nèi)部裝置2. DS18B20的測溫流程初始化DS18B20跳過ROM匹配溫度變換延時1S跳過ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示圖5-5 DS18B20測溫流程六、硬件設(shè)計(一)溫度采集電路 溫度采集電路的核心采用DS18B20,DS18B20采集的溫度直接送至單片機進行處理。(二)顯示電路顯示部分采用數(shù)碼管顯示方式。數(shù)碼管用四位一體的共陽數(shù)碼管。段選直接由單片機控制,位選通過單片機P1口接上8850進行驅(qū)動數(shù)碼管。(三)時鐘電路晶振為12M,選取合適的電容和晶振,電路圖如下:(四)復(fù)位電路,電路圖如下:(五)報警電路報警電路圖如下:如果需要蜂鳴器的蜂鳴效果更好的話,建議將電阻R11的阻值減小。(六)按鍵電路按鍵電路主要是可作為其設(shè)計輔助功能,例如:設(shè)置風(fēng)扇檔位等?,F(xiàn)將按鍵電路接在單片機第39腳P00上,電路圖如下:(七)總電路(8腳)進行處理。顯示部分采用數(shù)碼管顯示方式。數(shù)碼管用四位一體的共陽數(shù)碼管。段選直接由單片機P2口控制,(14腳)接上8850進行驅(qū)動數(shù)碼管。、(6腳)分別控制燈泡、風(fēng)扇電路的通斷。 (7腳)控制蜂鳴器報警。以上各I/O口管腳都是低電平有效。時鐘電路接在單片機第119腳,晶振為12M。復(fù)位電路接在單片機第9腳。單片機第31腳(/VP)接高電平VCC,讀取內(nèi)部程序存儲器指令數(shù)據(jù)(程序地址小于4KB)。按鍵電路接在單片機第39腳,按下按鍵。5V直流電源串聯(lián)LED發(fā)光二極管,工作時LED放光。(八)PCB板電路七、軟件設(shè)計(一)主程序流程圖完成主程序的一系列功能:雞雛孵化室溫度調(diào)控。對超過或低于80度的水溫進行加熱或散熱,并于數(shù)碼管顯示。圖71所示高于125℃顯示“+”溫度顯示“E2”是開始檢測室溫顯示“E0”低于55℃顯示“E1”顯示“”溫度低于37℃高于39℃3739℃加熱并報警散熱并報警正常工作,停止加熱散熱報警否是否是否是否DS18B20不存在?溫度低于0℃圖71(二)本設(shè)計源碼//文件名: //功能:實現(xiàn)溫度顯示 //硬件連接:外部電源供電,且只有1個DS18B20 //原理:單總線協(xié)議(讀取溫度七步驟,如程序注釋) //注意:此程序晶振為12M,其他晶振需跟據(jù)DS18B20資料修改 //////////////////////////////////////////////////////////////////////////// include include // 聲明_nop_() 便于實現(xiàn)延時 sbit DS18B20=P1^7。 sbit c0=P1^0。//位控sbit c1=P1^1。sbit c2=P1^2。sbit c3=P1^3。sbit dp=P2^7。 //小數(shù)點sbit ming=P1^6。 //蜂鳴器sbit re=P1^4 。 //加熱器sbit fang=P1^5 。 // 風(fēng)扇unsigned char code LEDMAP[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xFF,0x86,0xb9,0xbf //滅 E + }。 bit DS18B20_FLG = 0。 //“1”:DS18B20存在 ;“0”:DS18B20不存在bit TEMP_FLG = 0。 //“1”:溫度為負 bit T1S_FLG = 0。 //“1”:1秒鐘到 unsigned int t1s。 unsigned char LEDBuf[6]。 //定時中斷 Timer0() interrupt 1 { t1s++。 if(4000 == t1s) { t1s =0。 T1S_FLG = 1。 } } void delay(unsigned int i) { while(i)。 } //顯示子函數(shù) display() { c0=1。 c1=1。 c2=1。 c3=1。 // 關(guān)所有LED P2 = LEDMAP[LEDBuf[0]]。 c0=0。 delay(80)。 c0=1。 c1=1。 c2=1。 c3=1。 // 關(guān)所有LED P2 = LEDMAP[LEDBuf[1]]。 dp=0。 //小數(shù)點 c1=0。 delay(80)。 c0=1。 c1=1。 c2=1。 c3=1。 // 關(guān)所有LED P2 = LEDMAP[LEDBuf[2]]。 c2=0。 delay(80)。 c0=1。 c1=1。 c2=1。 c3=1。 // 關(guān)所有LED P2 = LEDMAP[LEDBuf[3]]。 c3=0。 delay(80)。 } ///////////////////////////////////////////////////////////////////////////// //DS18B20驅(qū)動 //初始化DS18B20步驟:
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1